• Dmitry Antipov's avatar
    usb: gadget: f_fs: fix fortify warning · 61fbf203
    Dmitry Antipov authored
    When compiling with gcc version 14.0.0 20231206 (experimental)
    and CONFIG_FORTIFY_SOURCE=y, I've noticed the following warning:
    
    ...
    In function 'fortify_memcpy_chk',
        inlined from '__ffs_func_bind_do_os_desc' at drivers/usb/gadget/function/f_fs.c:2934:3:
    ./include/linux/fortify-string.h:588:25: warning: call to '__read_overflow2_field'
    declared with attribute warning: detected read beyond size of field (2nd parameter);
    maybe use struct_group()? [-Wattribute-warning]
      588 |                         __read_overflow2_field(q_size_field, size);
          |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    This call to 'memcpy()' is interpreted as an attempt to copy both
    'CompatibleID' and 'SubCompatibleID' of 'struct usb_ext_compat_desc'
    from an address of the first one, which causes an overread warning.
    Since we actually want to copy both of them at once, use the
    convenient 'struct_group()' and 'sizeof_field()' here.
    Signed-off-by: default avatarDmitry Antipov <dmantipov@yandex.ru>
    Link: https://lore.kernel.org/r/20231214090428.27292-1-dmantipov@yandex.ruSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    61fbf203
f_fs.c 90.3 KB