{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50564","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-10-22T13:20:23.759Z","datePublished":"2025-10-22T13:23:22.703Z","dateUpdated":"2026-05-11T19:21:51.788Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-05-11T19:21:51.788Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ns390/netiucv: Fix return type of netiucv_tx()\n\nWith clang's kernel control flow integrity (kCFI, CONFIG_CFI_CLANG),\nindirect call targets are validated against the expected function\npointer prototype to make sure the call target is valid to help mitigate\nROP attacks. If they are not identical, there is a failure at run time,\nwhich manifests as either a kernel panic or thread getting killed. A\nproposed warning in clang aims to catch these at compile time, which\nreveals:\n\n  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]\n          .ndo_start_xmit         = netiucv_tx,\n                                    ^~~~~~~~~~\n\n->ndo_start_xmit() in 'struct net_device_ops' expects a return type of\n'netdev_tx_t', not 'int'. Adjust the return type of netiucv_tx() to\nmatch the prototype's to resolve the warning and potential CFI failure,\nshould s390 select ARCH_SUPPORTS_CFI_CLANG in the future.\n\nAdditionally, while in the area, remove a comment block that is no\nlonger relevant."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/s390/net/netiucv.c"],"versions":[{"version":"dc1f8bf68b311b1537cb65893430b6796118498a","lessThan":"f13d870fce90f01cf930bfaffecc8185ae0be21c","status":"affected","versionType":"git"},{"version":"dc1f8bf68b311b1537cb65893430b6796118498a","lessThan":"eccc88c0efe407e579291792ad07a7dedc0f63f0","status":"affected","versionType":"git"},{"version":"dc1f8bf68b311b1537cb65893430b6796118498a","lessThan":"85d392710275355425df8618ccbebbc336f5acc5","status":"affected","versionType":"git"},{"version":"dc1f8bf68b311b1537cb65893430b6796118498a","lessThan":"4bee3c75d5bf7c2b5dc0b520410eb40449e5da31","status":"affected","versionType":"git"},{"version":"dc1f8bf68b311b1537cb65893430b6796118498a","lessThan":"3ac0217ca9186c2f9af9a0113a331a42aa847894","status":"affected","versionType":"git"},{"version":"dc1f8bf68b311b1537cb65893430b6796118498a","lessThan":"dfbf0122ea1b9b3e73fa22c8ff6bd888935c54fc","status":"affected","versionType":"git"},{"version":"dc1f8bf68b311b1537cb65893430b6796118498a","lessThan":"e7a849f740e3576e79cba403697e916f4c3a6f12","status":"affected","versionType":"git"},{"version":"dc1f8bf68b311b1537cb65893430b6796118498a","lessThan":"d034fa43af92fc46a81d882f46d9cc3e4ffdbbcc","status":"affected","versionType":"git"},{"version":"dc1f8bf68b311b1537cb65893430b6796118498a","lessThan":"88d86d18d7cf7e9137c95f9d212bb9fff8a1b4be","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/s390/net/netiucv.c"],"versions":[{"version":"2.6.32","status":"affected"},{"version":"0","lessThan":"2.6.32","status":"unaffected","versionType":"semver"},{"version":"4.9.337","lessThanOrEqual":"4.9.*","status":"unaffected","versionType":"semver"},{"version":"4.14.303","lessThanOrEqual":"4.14.*","status":"unaffected","versionType":"semver"},{"version":"4.19.270","lessThanOrEqual":"4.19.*","status":"unaffected","versionType":"semver"},{"version":"5.4.229","lessThanOrEqual":"5.4.*","status":"unaffected","versionType":"semver"},{"version":"5.10.163","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.86","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.0.16","lessThanOrEqual":"6.0.*","status":"unaffected","versionType":"semver"},{"version":"6.1.2","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.32","versionEndExcluding":"4.9.337"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.32","versionEndExcluding":"4.14.303"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.32","versionEndExcluding":"4.19.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.32","versionEndExcluding":"5.4.229"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.32","versionEndExcluding":"5.10.163"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.32","versionEndExcluding":"5.15.86"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.32","versionEndExcluding":"6.0.16"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.32","versionEndExcluding":"6.1.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.32","versionEndExcluding":"6.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/f13d870fce90f01cf930bfaffecc8185ae0be21c"},{"url":"https://git.kernel.org/stable/c/eccc88c0efe407e579291792ad07a7dedc0f63f0"},{"url":"https://git.kernel.org/stable/c/85d392710275355425df8618ccbebbc336f5acc5"},{"url":"https://git.kernel.org/stable/c/4bee3c75d5bf7c2b5dc0b520410eb40449e5da31"},{"url":"https://git.kernel.org/stable/c/3ac0217ca9186c2f9af9a0113a331a42aa847894"},{"url":"https://git.kernel.org/stable/c/dfbf0122ea1b9b3e73fa22c8ff6bd888935c54fc"},{"url":"https://git.kernel.org/stable/c/e7a849f740e3576e79cba403697e916f4c3a6f12"},{"url":"https://git.kernel.org/stable/c/d034fa43af92fc46a81d882f46d9cc3e4ffdbbcc"},{"url":"https://git.kernel.org/stable/c/88d86d18d7cf7e9137c95f9d212bb9fff8a1b4be"}],"title":"s390/netiucv: Fix return type of netiucv_tx()","x_generator":{"engine":"bippy-1.2.0"}}}}