lkml.org 
[lkml]   [2002]   [Nov]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    Subjectv2.4.19-rmk4 slab.c: /proc/slabinfo uses broken instead of slab labels
    In the 2.4.18-2.4.19 timeframe:

    http://linux.bkbits.net:8080/linux-2.4/cset@1.536

    brcl (Ben LaHaise, I think) pushed in a change to mm/slab.c which
    (amongst other things) adds the following code:

    ...
    name = cachep->name;
    ===> {
    ===> char tmp;
    ===> if (__get_user(tmp, name))
    ===> name = "broken";
    ===> }

    seq_printf(m, "%-17s %6lu %6lu %6u %4lu %4lu %4u",
    name, active_objs, num_objs, cachep->objsize,
    active_slabs, num_slabs, (1<<cachep->gfporder));
    ...

    to s_show() (the stuff that gets called when somebody cat's /proc/slabinfo)

    Trouble is that on my ARM platform, the __get_user() call always fails
    and all the slabinfo entries are labelled "broken".

    For my purposes, ifdef'ing the offending block out will likely be
    sufficient (and safe?) but I'd like to know:

    1. Is the ARM __get_user() broken?
    2. Could I be doing something else broken that is confusing __get_user()?
    3. What was/is the intent of the test? Or stated differently, why on earth
    would cachep->name be a user address?

    -g
    [unhandled content-type:application/pgp-signature]
    \
     
     \ /
      Last update: 2005-03-22 13:31    [W:0.032 / U:60.772 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site