CVE-2022-50564

s390/netiucv: Fix return type of netiucv_tx()

State
Published
Severity
Not scored
Published
Oct 22, 2025
Updated
May 11, 2026
Reserved
Oct 22, 2025

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

s390/netiucv: Fix return type of netiucv_tx()

With clang's kernel control flow integrity (kCFI, CONFIG_CFI_CLANG), indirect call targets are validated against the expected function pointer prototype to make sure the call target is valid to help mitigate ROP attacks. If they are not identical, there is a failure at run time, which manifests as either a kernel panic or thread getting killed. A proposed warning in clang aims to catch these at compile time, which reveals:

drivers/s390/net/netiucv.c:1854:21: error: incompatible function pointer types initializing 'netdev_tx_t (*)(struct sk_buff *, struct net_device *)' (aka 'enum netdev_tx (*)(struct sk_buff *, struct net_device *)') with an expression of type 'int (struct sk_buff *, struct net_device *)' [-Werror,-Wincompatible-function-pointer-types-strict] .ndo_start_xmit = netiucv_tx, ^~~~~~~~~~

->ndo_start_xmit() in 'struct net_device_ops' expects a return type of 'netdev_tx_t', not 'int'. Adjust the return type of netiucv_tx() to match the prototype's to resolve the warning and potential CFI failure, should s390 select ARCH_SUPPORTS_CFI_CLANG in the future.

Additionally, while in the area, remove a comment block that is no longer relevant.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • dc1f8bf68b311b1537cb65893430b6796118498a to before f13d870fce90f01cf930bfaffecc8185ae0be21cAffected
  • dc1f8bf68b311b1537cb65893430b6796118498a to before eccc88c0efe407e579291792ad07a7dedc0f63f0Affected
  • dc1f8bf68b311b1537cb65893430b6796118498a to before 85d392710275355425df8618ccbebbc336f5acc5Affected
  • dc1f8bf68b311b1537cb65893430b6796118498a to before 4bee3c75d5bf7c2b5dc0b520410eb40449e5da31Affected
  • dc1f8bf68b311b1537cb65893430b6796118498a to before 3ac0217ca9186c2f9af9a0113a331a42aa847894Affected
  • dc1f8bf68b311b1537cb65893430b6796118498a to before dfbf0122ea1b9b3e73fa22c8ff6bd888935c54fcAffected
  • dc1f8bf68b311b1537cb65893430b6796118498a to before e7a849f740e3576e79cba403697e916f4c3a6f12Affected
  • dc1f8bf68b311b1537cb65893430b6796118498a to before d034fa43af92fc46a81d882f46d9cc3e4ffdbbccAffected
  • dc1f8bf68b311b1537cb65893430b6796118498a to before 88d86d18d7cf7e9137c95f9d212bb9fff8a1b4beAffected
LinuxLinux
  • 2.6.32Affected
  • before 2.6.32Not affected
  • 4.9.337 through 4.9.*Not affected
  • 4.14.303 through 4.14.*Not affected
  • 4.19.270 through 4.19.*Not affected
  • 5.4.229 through 5.4.*Not affected
  • 5.10.163 through 5.10.*Not affected
  • 5.15.86 through 5.15.*Not affected
  • 6.0.16 through 6.0.*Not affected
  • 6.1.2 through 6.1.*Not affected
  • 6.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.