lkml.org 
[lkml]   [2013]   [Dec]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.12 187/212] media: mxl111sf: Dont use dynamic static allocation
    Date
    3.12-stable review patch.  If anyone has any objections, please let me know.

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

    From: Mauro Carvalho Chehab <m.chehab@samsung.com>

    commit c98300a0e8cf160aaea60bc05d2cd156a7666173 upstream.

    Dynamic static allocation is evil, as Kernel stack is too low, and
    compilation complains about it on some archs:
    drivers/media/usb/dvb-usb-v2/mxl111sf.c:74:1: warning: 'mxl111sf_ctrl_msg' uses dynamic stack allocation [enabled by default]
    Instead, let's enforce a limit for the buffer to be the max size of
    a control URB payload data (64 bytes).

    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com>
    Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/media/usb/dvb-usb-v2/mxl111sf.c | 10 +++++++++-
    1 file changed, 9 insertions(+), 1 deletion(-)

    --- a/drivers/media/usb/dvb-usb-v2/mxl111sf.c
    +++ b/drivers/media/usb/dvb-usb-v2/mxl111sf.c
    @@ -23,6 +23,9 @@
    #include "lgdt3305.h"
    #include "lg2160.h"

    +/* Max transfer size done by I2C transfer functions */
    +#define MAX_XFER_SIZE 64
    +
    int dvb_usb_mxl111sf_debug;
    module_param_named(debug, dvb_usb_mxl111sf_debug, int, 0644);
    MODULE_PARM_DESC(debug, "set debugging level "
    @@ -57,7 +60,12 @@ int mxl111sf_ctrl_msg(struct dvb_usb_dev
    {
    int wo = (rbuf == NULL || rlen == 0); /* write-only */
    int ret;
    - u8 sndbuf[1+wlen];
    + u8 sndbuf[MAX_XFER_SIZE];
    +
    + if (1 + wlen > sizeof(sndbuf)) {
    + pr_warn("%s: len=%d is too big!\n", __func__, wlen);
    + return -EOPNOTSUPP;
    + }

    pr_debug("%s(wlen = %d, rlen = %d)\n", __func__, wlen, rlen);




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