CDC-NCM: avoid overflow in sanity checking
authorOliver Neukum <oneukum@suse.com>
Tue, 15 Feb 2022 10:35:47 +0000 (11:35 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Feb 2022 14:56:10 +0000 (14:56 +0000)
commit8d2b1a1ec9f559d30b724877da4ce592edc41fdc
tree2b5bad2d091e5bf2cb4f403ffb9305250a394594
parent7e5b6a5c8c44310784c88c1c198dde79f6402f7b
CDC-NCM: avoid overflow in sanity checking

A broken device may give an extreme offset like 0xFFF0
and a reasonable length for a fragment. In the sanity
check as formulated now, this will create an integer
overflow, defeating the sanity check. Both offset
and offset + len need to be checked in such a manner
that no overflow can occur.
And those quantities should be unsigned.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/cdc_ncm.c