• Arnd Bergmann's avatar
    HID: intel_ish-hid: fix potential uninitialized data usage · 1260662f
    Arnd Bergmann authored
    gcc points out an uninialized pointer dereference that could happen
    if we ever get to recv_ishtp_cl_msg_dma() or recv_ishtp_cl_msg()
    with an empty &dev->read_list:
    
    drivers/hid/intel-ish-hid/ishtp/client.c: In function 'recv_ishtp_cl_msg_dma':
    drivers/hid/intel-ish-hid/ishtp/client.c:1049:3: error: 'cl' may be used uninitialized in this function [-Werror=maybe-uninitialized]
    
    The warning only appeared in very few randconfig builds, as the
    spinlocks tend to prevent gcc from tracing the variables. I only
    saw it in configurations that had neither SMP nor LOCKDEP enabled.
    
    As we can see, we only enter the case if 'complete_rb' is non-NULL,
    and then 'cl' is known to point to complete_rb->cl. Adding another
    initialization to the same pointer is harmless here and makes it
    clear to the compiler that the behavior is well-defined.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Acked-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    1260662f
client.c 27.3 KB