]> git.baikalelectronics.ru Git - kernel.git/commit
net: bnx2x: fix improper return value
authorPan Bian <bianpan2016@163.com>
Sun, 4 Dec 2016 10:46:03 +0000 (18:46 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 5 Dec 2016 20:03:34 +0000 (15:03 -0500)
commitce7259356d194f3b02d52ebd5edd45a5219812cb
tree0a3991f85dcb5dd1adac1fbf4f09c2ea1dd3e996
parent70a0a745eabb38bad93d2ab832011ed8d83d5d26
net: bnx2x: fix improper return value

Macro BNX2X_ALLOC_AND_SET(arr, lbl, func) calls kmalloc() to allocate
memory, and jumps to label "lbl" if the allocation fails. Label "lbl"
first cleans memory and then returns variable rc. Before calling the
macro, the value of variable rc is 0. Because 0 means no error, the
callers of bnx2x_init_firmware() may be misled. This patch fixes the bug,
assigning "-ENOMEM" to rc before calling macro NX2X_ALLOC_AND_SET().

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=189141

Signed-off-by: Pan Bian <bianpan2016@163.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c