mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
staging: rtl8712: 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. Signed-off-by: GUO Zihua <guozihua@huawei.com> Link: https://lore.kernel.org/r/20220905130230.11230-1-guozihua@huawei.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b863ce8cf6
commit
307d343620
@ -140,7 +140,7 @@ void r8712_xmit_complete(struct _adapter *padapter, struct xmit_frame *pxframe)
|
||||
pxframe->pkt = NULL;
|
||||
}
|
||||
|
||||
int r8712_xmit_entry(_pkt *pkt, struct net_device *netdev)
|
||||
netdev_tx_t r8712_xmit_entry(_pkt *pkt, struct net_device *netdev)
|
||||
{
|
||||
struct xmit_frame *xmitframe = NULL;
|
||||
struct _adapter *adapter = netdev_priv(netdev);
|
||||
@ -165,11 +165,11 @@ int r8712_xmit_entry(_pkt *pkt, struct net_device *netdev)
|
||||
}
|
||||
xmitpriv->tx_pkts++;
|
||||
xmitpriv->tx_bytes += xmitframe->attrib.last_txcmdsz;
|
||||
return 0;
|
||||
return NETDEV_TX_OK;
|
||||
_xmit_entry_drop:
|
||||
if (xmitframe)
|
||||
r8712_free_xmitframe(xmitpriv, xmitframe);
|
||||
xmitpriv->tx_drop++;
|
||||
dev_kfree_skb_any(pkt);
|
||||
return 0;
|
||||
return NETDEV_TX_OK;
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ struct sta_xmit_priv;
|
||||
struct xmit_frame;
|
||||
struct xmit_buf;
|
||||
|
||||
int r8712_xmit_entry(_pkt *pkt, struct net_device *pnetdev);
|
||||
netdev_tx_t r8712_xmit_entry(_pkt *pkt, struct net_device *pnetdev);
|
||||
void r8712_SetFilter(struct work_struct *work);
|
||||
int r8712_xmit_resource_alloc(struct _adapter *padapter,
|
||||
struct xmit_buf *pxmitbuf);
|
||||
|
Loading…
Reference in New Issue
Block a user