lkml.org 
[lkml]   [2011]   [Jun]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 11/12] MISC: IOC4: Fix section mismatch / race condition.
    WARNING: drivers/misc/ioc4.o(.data+0x144): Section mismatch in reference from the variable ioc4_load_modules_work to the function .devinit.text:ioc4_load_modules()
    The variable ioc4_load_modules_work references
    the function __devinit ioc4_load_modules()
    If the reference is valid then annotate the
    variable with __init* or __refdata (see linux/init.h) or name the variable:
    *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

    This one is potencially fatal; by the time ioc4_load_modules is invoked
    it may already have been freed. For that reason ioc4_load_modules_work
    can't be turned to __devinitdata but also because it's referenced in
    ioc4_exit.

    Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
    To: Brent Casavant <bcasavan@sgi.com>
    To: Andrew Morton <akpm@linux-foundation.org>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: linux-kernel@vger.kernel.org
    Cc: linux-mips@linux-mips.org
    ---
    drivers/misc/ioc4.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/drivers/misc/ioc4.c b/drivers/misc/ioc4.c
    index 668d41e..df03dd3 100644
    --- a/drivers/misc/ioc4.c
    +++ b/drivers/misc/ioc4.c
    @@ -270,7 +270,7 @@ ioc4_variant(struct ioc4_driver_data *idd)
    return IOC4_VARIANT_PCI_RT;
    }

    -static void __devinit
    +static void
    ioc4_load_modules(struct work_struct *work)
    {
    request_module("sgiioc4");
    --
    1.7.4.4


    \
     
     \ /
      Last update: 2011-06-27 17:47    [W:0.022 / U:0.252 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site