Bugzilla – Attachment 429488 Details for
Bug 693382
unable to handle kernel paging request
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Forgot Password
[patch]
backport for openSUSE-11.4
proc-fix-oops-on-invalid-proc-pid-maps-access.patch (text/plain), 1.69 KB, created by
Michal Hocko
on 2011-05-13 08:30:55 UTC
(
hide
)
Description:
backport for openSUSE-11.4
Filename:
MIME Type:
Creator:
Michal Hocko
Created:
2011-05-13 08:30:55 UTC
Size:
1.69 KB
patch
obsolete
>From 76597cd31470fa130784c78fadb4dab2e624a723 Mon Sep 17 00:00:00 2001 >From: Linus Torvalds <torvalds@linux-foundation.org> >Date: Sun, 27 Mar 2011 19:09:29 -0700 >Subject: [PATCH] proc: fix oops on invalid /proc/<pid>/maps access >Mime-version: 1.0 >Content-type: text/plain; charset=UTF-8 >Content-transfer-encoding: 8bit >Patch-mainline: 76597cd31470fa130784c78fadb4dab2e624a723 >References: bnc#693382 > >When m_start returns an error, the seq_file logic will still call m_stop >with that error entry, so we'd better make sure that we check it before >using it as a vma. > >Introduced by commit ec6fd8a4355c ("report errors in /proc/*/*map* >sanely"), which replaced NULL with various ERR_PTR() cases. > >(On ia64, you happen to get a unaligned fault instead of a page fault, >since the address used is generally some random error code like -EPERM) > >Reported-by: Anca Emanuel <anca.emanuel@gmail.com> >Reported-by: Tony Luck <tony.luck@intel.com> >Cc: Al Viro <viro@zeniv.linux.org.uk> >Cc: Américo Wang <xiyou.wangcong@gmail.com> >Cc: Stephen Wilson <wilsons@start.ca> >Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> >Acked-by: Michal Hocko <mhocko@suse.cz> > >--- > fs/proc/task_mmu.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > >Index: linux-2.6.37-openSUSE-11.4/fs/proc/task_mmu.c >=================================================================== >--- linux-2.6.37-openSUSE-11.4.orig/fs/proc/task_mmu.c >+++ linux-2.6.37-openSUSE-11.4/fs/proc/task_mmu.c >@@ -179,7 +179,8 @@ static void m_stop(struct seq_file *m, v > struct proc_maps_private *priv = m->private; > struct vm_area_struct *vma = v; > >- vma_stop(priv, vma); >+ if (!IS_ERR(vma)) >+ vma_stop(priv, vma); > if (priv->task) > put_task_struct(priv->task); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
|
Diff
Attachments on
bug 693382
: 429488