CVE-2022-50486
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
04/10/2025
Last modified:
27/01/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
net: ethernet: ti: Fix return type of netcp_ndo_start_xmit()<br />
<br />
With clang&#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/net/ethernet/ti/netcp_core.c:1944:21: error: incompatible function pointer types initializing &#39;netdev_tx_t (*)(struct sk_buff *, struct net_device *)&#39; (aka &#39;enum netdev_tx (*)(struct sk_buff *, struct net_device *)&#39;) with an expression of type &#39;int (struct sk_buff *, struct net_device *)&#39; [-Werror,-Wincompatible-function-pointer-types-strict]<br />
.ndo_start_xmit = netcp_ndo_start_xmit,<br />
^~~~~~~~~~~~~~~~~~~~<br />
1 error generated.<br />
<br />
->ndo_start_xmit() in &#39;struct net_device_ops&#39; expects a return type of<br />
&#39;netdev_tx_t&#39;, not &#39;int&#39;. Adjust the return type of<br />
netcp_ndo_start_xmit() to match the prototype&#39;s to resolve the warning<br />
and CFI failure.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.0 (including) | 4.9.337 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.10 (including) | 4.14.303 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.15 (including) | 4.19.270 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.20 (including) | 5.4.229 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.163 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.86 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 6.0.16 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1 (including) | 6.1.2 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/17bb9bdf701f3e811a9f4820b08b9538ade2641c
- https://git.kernel.org/stable/c/1e4953b826e12b31995564a459dbd4e9e4604a35
- https://git.kernel.org/stable/c/5b0b6553bf4ad3a435a57e02c68d6075f384e1be
- https://git.kernel.org/stable/c/63fe6ff674a96cfcfc0fa8df1051a27aa31c70b4
- https://git.kernel.org/stable/c/765636e58ba505cfe4927eda7ee83791b1c6402a
- https://git.kernel.org/stable/c/a413ebb6049edd881c6427cfa25a7efddd6a4f74
- https://git.kernel.org/stable/c/a447479ea2cf35603b5739ea947885024b901222
- https://git.kernel.org/stable/c/d837d74eae077cc3ef9e191ba8535b5f602d4673
- https://git.kernel.org/stable/c/dbe1a6b930ae9647e8ce0b684c903ac67d4398eb



