lkml.org 
[lkml]   [2013]   [Apr]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[66/75] block: avoid using uninitialized value in from queue_var_store
    3.2.44-rc1 review patch.  If anyone has any objections, please let me know.

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

    From: Arnd Bergmann <arnd@arndb.de>

    commit c678ef5286ddb5cf70384ad5af286b0afc9b73e1 upstream.

    As found by gcc-4.8, the QUEUE_SYSFS_BIT_FNS macro creates functions
    that use a value generated by queue_var_store independent of whether
    that value was set or not.

    block/blk-sysfs.c: In function 'queue_store_nonrot':
    block/blk-sysfs.c:244:385: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]

    Unlike most other such warnings, this one is not a false positive,
    writing any non-number string into the sysfs files indeed has
    an undefined result, rather than returning an error.

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    block/blk-sysfs.c | 2 ++
    1 file changed, 2 insertions(+)

    --- a/block/blk-sysfs.c
    +++ b/block/blk-sysfs.c
    @@ -200,6 +200,8 @@ queue_store_##name(struct request_queue
    unsigned long val; \
    ssize_t ret; \
    ret = queue_var_store(&val, page, count); \
    + if (ret < 0) \
    + return ret; \
    if (neg) \
    val = !val; \
    \


    \
     
     \ /
      Last update: 2013-04-22 17:01    [W:3.622 / U:0.112 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site