• Kees Cook's avatar
    iio: stmpe-adc: Use correctly sized arguments for bit field · 3511989c
    Kees Cook authored
    The find.h APIs are designed to be used only on unsigned long arguments.
    This can technically result in a over-read, but it is harmless in this
    case. Regardless, fix it to avoid the warning seen under -Warray-bounds,
    which we'd like to enable globally:
    
    In file included from ./include/linux/bitmap.h:9,
                     from ./include/linux/cpumask.h:12,
                     from ./arch/x86/include/asm/cpumask.h:5,
                     from ./arch/x86/include/asm/msr.h:11,
                     from ./arch/x86/include/asm/processor.h:22,
                     from ./arch/x86/include/asm/cpufeature.h:5,
                     from ./arch/x86/include/asm/thread_info.h:53,
                     from ./include/linux/thread_info.h:60,
                     from ./arch/x86/include/asm/preempt.h:7,
                     from ./include/linux/preempt.h:78,
                     from ./include/linux/spinlock.h:55,
                     from ./include/linux/swait.h:7,
                     from ./include/linux/completion.h:12,
                     from drivers/iio/adc/stmpe-adc.c:10:
    drivers/iio/adc/stmpe-adc.c: In function 'stmpe_adc_probe':
    ./include/linux/find.h:98:23: warning: array subscript 'long unsigned int[0]' is partly outside array bounds of 'u32[1]' {aka 'unsigned int[1]'} [-Warray-bounds]
       98 |                 val = *addr | ~GENMASK(size - 1, offset);
          |                       ^~~~~
    drivers/iio/adc/stmpe-adc.c:258:13: note: while referencing 'norequest_mask'
      258 |         u32 norequest_mask = 0;
          |             ^~~~~~~~~~~~~~
    Signed-off-by: default avatarKees Cook <keescook@chromium.org>
    Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    3511989c
stmpe-adc.c 8.23 KB