]> git.baikalelectronics.ru Git - kernel.git/commit
bnxt_en: fix memory leaks in bnxt_dcbnl_ieee_getets()
authorEdwin Peer <edwin.peer@broadcom.com>
Sun, 22 Mar 2020 20:40:02 +0000 (16:40 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Mar 2020 04:42:48 +0000 (21:42 -0700)
commitfb9c6b6c60697986945c14d2a3f68c9997698ff2
tree575225b576777e853067e709cadfd8adf8008043
parent1e495a23413d5fbd2b21464157af6ad2ec94312c
bnxt_en: fix memory leaks in bnxt_dcbnl_ieee_getets()

The allocated ieee_ets structure goes out of scope without being freed,
leaking memory. Appropriate result codes should be returned so that
callers do not rely on invalid data passed by reference.

Also cache the ETS config retrieved from the device so that it doesn't
need to be freed. The balance of the code was clearly written with the
intent of having the results of querying the hardware cached in the
device structure. The commensurate store was evidently missed though.

Fixes: f91e0d9c0ee6 ("bnxt_en: Implement DCBNL to support host-based DCBX.")
Signed-off-by: Edwin Peer <edwin.peer@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c