lkml.org 
[lkml]   [2013]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[ 030/123] USB: chipidea: fix use after free bug
    Date
    3.7-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Lothar Waßmann <LW@KARO-electronics.de>

    commit 98c35534420d3147553bd3071a5fc63cd56de5b1 upstream.

    The pointer to a platform_device struct must not be dereferenced after
    the device has been unregistered.

    This bug produces a crash when unloading the ci13xxx kernel module
    compiled with CONFIG_PAGE_POISONING enabled.

    Signed-off-by: Lothar Waßmann <LW@KARO-electronics.de>
    Acked-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/usb/chipidea/core.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/usb/chipidea/core.c
    +++ b/drivers/usb/chipidea/core.c
    @@ -385,8 +385,9 @@ EXPORT_SYMBOL_GPL(ci13xxx_add_device);

    void ci13xxx_remove_device(struct platform_device *pdev)
    {
    + int id = pdev->id;
    platform_device_unregister(pdev);
    - ida_simple_remove(&ci_ida, pdev->id);
    + ida_simple_remove(&ci_ida, id);
    }
    EXPORT_SYMBOL_GPL(ci13xxx_remove_device);


    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2013-01-09 23:21    [W:4.134 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site