lkml.org 
[lkml]   [2012]   [Oct]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[ 114/180] USB: kaweth.c: use GFP_ATOMIC under spin_lock
    2.6.32-longterm review patch.  If anyone has any objections, please let me know.

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

    From: Dan Carpenter <dan.carpenter@oracle.com>

    [ Upstream commit e4c7f259c5be99dcfc3d98f913590663b0305bf8 ]

    The problem is that we call this with a spin lock held. The call tree
    is:
    kaweth_start_xmit() holds kaweth->device_lock.
    -> kaweth_async_set_rx_mode()
    -> kaweth_control()
    -> kaweth_internal_control_msg()

    The kaweth_internal_control_msg() function is only called from
    kaweth_control() which used GFP_ATOMIC for its allocations.

    Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Willy Tarreau <w@1wt.eu>
    ---
    drivers/net/usb/kaweth.c | 2 +-
    1 files changed, 1 insertions(+), 1 deletions(-)

    diff --git a/drivers/net/usb/kaweth.c b/drivers/net/usb/kaweth.c
    index e391ef9..fd8e335 100644
    --- a/drivers/net/usb/kaweth.c
    +++ b/drivers/net/usb/kaweth.c
    @@ -1325,7 +1325,7 @@ static int kaweth_internal_control_msg(struct usb_device *usb_dev,
    int retv;
    int length = 0; /* shut up GCC */

    - urb = usb_alloc_urb(0, GFP_NOIO);
    + urb = usb_alloc_urb(0, GFP_ATOMIC);
    if (!urb)
    return -ENOMEM;

    --
    1.7.2.1.45.g54fbc




    \
     
     \ /
      Last update: 2012-10-02 10:41    [W:3.770 / U:1.676 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site