lkml.org 
[lkml]   [2008]   [Aug]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] fix verify_dynamic_kobject_allocation()
    The warn-when-statically-allocated-kobjects-are-used patch crashes my
    machine during boot when it calls kzalloc(), presumably because the
    call occurs too early. This patch (as1126) fixes it by using a static
    string instead of a dynamically-allocated string.

    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>

    ---

    Index: usb-2.6/lib/kobject.c
    ===================================================================
    --- usb-2.6.orig/lib/kobject.c
    +++ usb-2.6/lib/kobject.c
    @@ -38,10 +38,9 @@ static int ptr_in_range(void *ptr, void

    static void verify_dynamic_kobject_allocation(struct kobject *kobj)
    {
    - char *namebuf;
    + static char namebuf[KSYM_NAME_LEN];
    const char *ret;

    - namebuf = kzalloc(KSYM_NAME_LEN, GFP_KERNEL);
    ret = kallsyms_lookup((unsigned long)kobj, NULL, NULL, NULL,
    namebuf);
    /*
    @@ -52,9 +51,9 @@ static void verify_dynamic_kobject_alloc
    */
    if (!initmem_now_dynamic &&
    ptr_in_range(kobj, __init_begin, __init_end))
    - goto out;
    + return;
    if (!ret || !strlen(ret))
    - goto out;
    + return;
    pr_debug("---- begin silly warning ----\n");
    pr_debug("This is a janitorial warning, not a kernel bug.\n");
    pr_debug("The kobject '%s', at, or inside '%s'@(0x%p) is not "
    @@ -62,8 +61,6 @@ static void verify_dynamic_kobject_alloc
    pr_debug("kobjects must be dynamically allocated, not static\n");
    /* dump_stack(); */
    pr_debug("---- end silly warning ----\n");
    -out:
    - kfree(namebuf);
    }
    #else
    static void verify_dynamic_kobject_allocation(struct kobject *kobj) { }


    \
     
     \ /
      Last update: 2008-08-06 22:07    [W:0.049 / U:30.256 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site