1
0
Fork 0
alistair23-linux/drivers/net/vmxnet3
Arnd Bergmann efc21d9506 vmxnet3: fix lock imbalance in vmxnet3_tq_xmit()
A recent bug fix rearranged the code in vmxnet3_tq_xmit() in a
way that left the error handling for oversized headers unlock
a lock that had not been taken yet. Gcc warns about the incorrect
use of the 'flags' variable because of that:

drivers/net/vmxnet3/vmxnet3_drv.c: In function 'vmxnet3_tq_xmit.constprop':
include/linux/spinlock.h:246:3: error: 'flags' may be used uninitialized in this function [-Werror=maybe-uninitialized]

This changes the error handling path to 'goto' the end of the function
beyond the lock/unlock pair.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: cec05562fb ("vmxnet3: avoid calling pskb_may_pull with interrupts disabled")
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-03-14 13:10:29 -04:00
..
Makefile
upt1_defs.h vmxnet3: remove set_flag_le{16,64} helpers 2010-10-24 15:52:31 -07:00
vmxnet3_defs.h Driver: Vmxnet3: Update Rx ring 2 max size 2016-02-21 22:04:15 -05:00
vmxnet3_drv.c vmxnet3: fix lock imbalance in vmxnet3_tq_xmit() 2016-03-14 13:10:29 -04:00
vmxnet3_ethtool.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
vmxnet3_int.h Driver: Vmxnet3: Update Rx ring 2 max size 2016-02-21 22:04:15 -05:00