diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2017-10-17 15:33:01 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-19 13:04:32 +0100 |
commit | fa31f0c98d64212b2b2b4a1e6d887208b6acb2d9 (patch) | |
tree | c859f811605bde3ceb13e06885d12845b0f39b9e /drivers/net/thunderbolt.c | |
parent | 9a03c3d398c17eadfc5bc470c1084beb71c088f1 (diff) |
thunderbolt: Right shifting to zero bug in tbnet_handle_packet()
There is a problem when we do:
sequence = pkg->hdr.length_sn & TBIP_HDR_SN_MASK;
sequence >>= TBIP_HDR_SN_SHIFT;
TBIP_HDR_SN_SHIFT is 27, and right shifting a u8 27 bits is always
going to result in zero. The fix is to declare these variables as u32.
Fixes: e69b6c02b4c3 ("net: Add support for networking over Thunderbolt cable")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Yehezkel Bernat <yehezkel.bernat@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/thunderbolt.c')
-rw-r--r-- | drivers/net/thunderbolt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/thunderbolt.c b/drivers/net/thunderbolt.c index 1a7bc0bf4598..435854688a7a 100644 --- a/drivers/net/thunderbolt.c +++ b/drivers/net/thunderbolt.c @@ -394,7 +394,7 @@ static int tbnet_handle_packet(const void *buf, size_t size, void *data) struct tbnet *net = data; u32 command_id; int ret = 0; - u8 sequence; + u32 sequence; u64 route; /* Make sure the packet is for us */ |