CVE-2022-50728

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
24/12/2025
Last modified:
29/12/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> s390/lcs: Fix return type of lcs_start_xmit()<br /> <br /> With clang&amp;#39;s kernel control flow integrity (kCFI, CONFIG_CFI_CLANG),<br /> indirect call targets are validated against the expected function<br /> pointer prototype to make sure the call target is valid to help mitigate<br /> ROP attacks. If they are not identical, there is a failure at run time,<br /> which manifests as either a kernel panic or thread getting killed. A<br /> proposed warning in clang aims to catch these at compile time, which<br /> reveals:<br /> <br /> drivers/s390/net/lcs.c:2090:21: error: incompatible function pointer types initializing &amp;#39;netdev_tx_t (*)(struct sk_buff *, struct net_device *)&amp;#39; (aka &amp;#39;enum netdev_tx (*)(struct sk_buff *, struct net_device *)&amp;#39;) with an expression of type &amp;#39;int (struct sk_buff *, struct net_device *)&amp;#39; [-Werror,-Wincompatible-function-pointer-types-strict]<br /> .ndo_start_xmit = lcs_start_xmit,<br /> ^~~~~~~~~~~~~~<br /> drivers/s390/net/lcs.c:2097:21: error: incompatible function pointer types initializing &amp;#39;netdev_tx_t (*)(struct sk_buff *, struct net_device *)&amp;#39; (aka &amp;#39;enum netdev_tx (*)(struct sk_buff *, struct net_device *)&amp;#39;) with an expression of type &amp;#39;int (struct sk_buff *, struct net_device *)&amp;#39; [-Werror,-Wincompatible-function-pointer-types-strict]<br /> .ndo_start_xmit = lcs_start_xmit,<br /> ^~~~~~~~~~~~~~<br /> <br /> -&gt;ndo_start_xmit() in &amp;#39;struct net_device_ops&amp;#39; expects a return type of<br /> &amp;#39;netdev_tx_t&amp;#39;, not &amp;#39;int&amp;#39;. Adjust the return type of lcs_start_xmit() to<br /> match the prototype&amp;#39;s to resolve the warning and potential CFI failure,<br /> should s390 select ARCH_SUPPORTS_CFI_CLANG in the future.

Impact