]> git.baikalelectronics.ru Git - kernel.git/commit
staging: rtl8192e: Fix return type for implementation of ndo_start_xmit
authorGUO Zihua <guozihua@huawei.com>
Mon, 5 Sep 2022 13:00:53 +0000 (21:00 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 9 Sep 2022 07:57:50 +0000 (09:57 +0200)
commit4c41b9d58b47e88eeb36050991bf2f9c9cece0df
tree9e7079d012973dd1e5cc7f02df79d2bde4d4c69c
parenta709bfc727f8cdbd54640c23f790066c329a05a9
staging: rtl8192e: Fix return type for implementation of ndo_start_xmit

CFI (Control Flow Integrity) is a safety feature allowing the system to
detect and react should a potential control flow hijacking occurs. In
particular, the Forward-Edge CFI protects indirect function calls by
ensuring the prototype of function that is actually called matches the
definition of the function hook.

Since Linux now supports CFI, it will be a good idea to fix mismatched
return type for implementation of hooks. Otherwise this would get
cought out by CFI and cause a panic.

Use enums from netdev_tx_t as return value instead, then change return
type to netdev_tx_t. Note that rtllib_xmit_inter() would return 1 only
on allocation failure and the queue is stopped if that happens, meeting
the documented requirement if NETDEV_TX_BUSY should be returned by
ndo_start_xmit.

Signed-off-by: GUO Zihua <guozihua@huawei.com>
Link: https://lore.kernel.org/r/20220905130053.10731-1-guozihua@huawei.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/rtl8192e/rtllib.h
drivers/staging/rtl8192e/rtllib_tx.c