{"id":"CVE-2021-4454","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ncan: j1939: fix errant WARN_ON_ONCE in j1939_session_deactivate\n\nThe conclusion \"j1939_session_deactivate() should be called with a\nsession ref-count of at least 2\" is incorrect. In some concurrent\nscenarios, j1939_session_deactivate can be called with the session\nref-count less than 2. But there is not any problem because it\nwill check the session active state before session putting in\nj1939_session_deactivate_locked().\n\nHere is the concurrent scenario of the problem reported by syzbot\nand my reproduction log.\n\n        cpu0                            cpu1\n                                j1939_xtp_rx_eoma\nj1939_xtp_rx_abort_one\n                                j1939_session_get_by_addr [kref == 2]\nj1939_session_get_by_addr [kref == 3]\nj1939_session_deactivate [kref == 2]\nj1939_session_put [kref == 1]\n\t\t\t\tj1939_session_completed\n\t\t\t\tj1939_session_deactivate\n\t\t\t\tWARN_ON_ONCE(kref \u003c 2)\n\n=====================================================\nWARNING: CPU: 1 PID: 21 at net/can/j1939/transport.c:1088 j1939_session_deactivate+0x5f/0x70\nCPU: 1 PID: 21 Comm: ksoftirqd/1 Not tainted 5.14.0-rc7+ #32\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.13.0-1ubuntu1 04/01/2014\nRIP: 0010:j1939_session_deactivate+0x5f/0x70\nCall Trace:\n j1939_session_deactivate_activate_next+0x11/0x28\n j1939_xtp_rx_eoma+0x12a/0x180\n j1939_tp_recv+0x4a2/0x510\n j1939_can_recv+0x226/0x380\n can_rcv_filter+0xf8/0x220\n can_receive+0x102/0x220\n ? process_backlog+0xf0/0x2c0\n can_rcv+0x53/0xf0\n __netif_receive_skb_one_core+0x67/0x90\n ? process_backlog+0x97/0x2c0\n __netif_receive_skb+0x22/0x80","modified":"2026-03-15T22:42:25.145514Z","published":"2025-03-27T17:15:35.820Z","related":["SUSE-SU-2025:1176-1","SUSE-SU-2025:1183-1","SUSE-SU-2025:1195-1","SUSE-SU-2025:1241-1"],"references":[{"type":"FIX","url":"https://git.kernel.org/stable/c/d0553680f94c49bbe0e39eb50d033ba563b4212d"},{"type":"FIX","url":"https://git.kernel.org/stable/c/1740a1e45eee65099a92fb502e1e67e63aad277d"},{"type":"FIX","url":"https://git.kernel.org/stable/c/6950df42a03c9ac9290503ced3f371199cb68fa9"},{"type":"FIX","url":"https://git.kernel.org/stable/c/9ab896775f98ff54b68512f345eed178bf961084"},{"type":"FIX","url":"https://git.kernel.org/stable/c/b6d44072117bba057d50f7a2f96e5d070c65926d"}],"affected":[{"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-4454.json","unresolved_ranges":[{"events":[{"introduced":"5.4.138"},{"fixed":"5.4.232"}]},{"events":[{"introduced":"5.10.56"},{"fixed":"5.10.168"}]},{"events":[{"introduced":"5.13.8"},{"fixed":"5.14"}]},{"events":[{"introduced":"5.14.1"},{"fixed":"5.15.93"}]},{"events":[{"introduced":"5.16"},{"fixed":"6.1.11"}]},{"events":[{"introduced":"0"},{"last_affected":"5.14-NA"}]},{"events":[{"introduced":"0"},{"last_affected":"5.14-rc4"}]},{"events":[{"introduced":"0"},{"last_affected":"5.14-rc5"}]},{"events":[{"introduced":"0"},{"last_affected":"5.14-rc6"}]},{"events":[{"introduced":"0"},{"last_affected":"5.14-rc7"}]},{"events":[{"introduced":"0"},{"last_affected":"6.2-rc1"}]},{"events":[{"introduced":"0"},{"last_affected":"6.2-rc2"}]},{"events":[{"introduced":"0"},{"last_affected":"6.2-rc3"}]},{"events":[{"introduced":"0"},{"last_affected":"6.2-rc4"}]},{"events":[{"introduced":"0"},{"last_affected":"6.2-rc5"}]},{"events":[{"introduced":"0"},{"last_affected":"6.2-rc6"}]}]}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H"}]}