lkml.org 
[lkml]   [2009]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: Reading /proc/kcore causes a BUG()
    On Fri, 4 Sep 2009 10:31:56 -0700
    Andrew Morton <akpm@linux-foundation.org> wrote:

    > On Fri, 4 Sep 2009 18:16:45 +0900 KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> wrote:
    >
    > > On Fri, 4 Sep 2009 10:00:39 +0100
    > > Nick Craig-Wood <nick@craig-wood.com> wrote:
    > >
    > > > On Fri, Sep 04, 2009 at 09:06:42AM +0900, KAMEZAWA Hiroyuki wrote:
    > > > > On Thu, 3 Sep 2009 15:14:55 +0300
    > > > > Pekka Enberg <penberg@cs.helsinki.fi> wrote:
    > > > > > On Thu, Sep 3, 2009 at 2:34 PM, Nick Craig-Wood<nick@craig-wood.com> wrote:
    > > > > > > Is a fix for this going to make 2.6.31?
    > > > > > >
    > > > > > > To replicate
    > > > > > >
    > > > > > > __cat /proc/kcore >/dev/null
    > > > > > >
    > > > > > > See also
    > > > > > >
    > > > > > > __http://bugzilla.kernel.org/show_bug.cgi?id=13850
    > > > [snip]
    > > > > > > I tried this on the latest git checkout (as of 2009-09-03 11:00 GMT)
    > > > > > > under Xen as a domU. __The bugzilla report states it happens on non xen
    > > > > > > machines also.
    >
    > Is this a regression? I've lost track..
    >
    regression. (this comes from new per-cpu area implemantation, which uses
    vmalloc area with memory holes.)


    > > > > > > I know reading /proc/kcore isn't such a good idea, but badly written
    > > > > > > backup scripts are triggering this on our customer's servers :-(
    > > > > >
    > > > > > AFAICT the bug was fixed but I can't seem to find the patches in
    > > > > > Linus' git either. Lets CC Andrew and Hiroyuki-san.
    > > > >
    > > > > Ah, it's now tested under mmotm. please wait.
    > > >
    > > > I tried mmotm but I couldn't get it to boot under Xen :-(
    > > >
    > > > If you send me a patch against latest git I'm willing to test it (I
    > > > tried to extract the relevant patch from mmotm but failed dismally)
    > > >
    > > > Thanks
    > > >
    > >
    > > If you already downloaded mmotm, use these patches.
    > >
    > > vmalloc-unmap-vmalloc-area-after-hiding-it.patch
    > > kcore-fix-vread-vwrite-to-be-aware-of-holes.patch
    > > kcore-fix-vread-vwrite-to-be-aware-of-holes-update.patch
    > > kcore-proc-kcore-should-use-vread.patch
    > >
    > > All I tested was x86-32/x86-64. then more tests are welcomed.
    >
    > That's a lot of stuff for 2.6.31. Is there some simple quickfix we can do?
    >
    I don't like this patch. But here, my 1st version which wasn't sent out.
    -Kame
    ==
    /proc/kcore may access in memory holes in vmalloc area. skip it
    by using copy_from_user().

    Signed-off-by: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
    ---
    fs/proc/kcore.c | 4 +++-
    1 file changed, 3 insertions(+), 1 deletion(-)

    Index: linux-2.6.31-rc8/fs/proc/kcore.c
    ===================================================================
    --- linux-2.6.31-rc8.orig/fs/proc/kcore.c
    +++ linux-2.6.31-rc8/fs/proc/kcore.c
    @@ -361,7 +361,9 @@ read_kcore(struct file *file, char __use
    /* don't dump ioremap'd stuff! (TA) */
    if (m->flags & VM_IOREMAP)
    continue;
    - memcpy(elf_buf + (vmstart - start),
    + /* we may access memory holes */
    + __copy_from_user_inatomic(
    + elf_buf + (vmstart - start),
    (char *)vmstart, vmsize);
    }
    read_unlock(&vmlist_lock);







    \
     
     \ /
      Last update: 2009-09-07 02:45    [W:0.090 / U:59.860 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site