CyberRota Analysis
AI-GeneratedThe vulnerability affects the Linux kernel's NVMe over TCP implementation, where the page_frag_cache is used in a non-thread-safe manner during parallel block device creation. This can lead to incorrect reference counting of backstore pages, resulting in premature memory deallocation and potential system panics. Organizations utilizing Linux systems with NVMe over TCP should prioritize this issue to prevent instability and ensure reliable performance in their environments.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: nvme-tcp: fix usage of page_frag_cache nvme uses page_frag_cache to preallocate PDU for each preallocated request of block device. Block devices are created in parallel threads, consequently page_frag_cache is used in not thread-safe manner. That leads to incorrect refcounting of backstore pages and premature free. That can be catched by !sendpage_ok inside network stack: WARNING: CPU: 7 PID: 467 at ../net/core/skbuff.c:6931 skb_splice_from_iter+0xfa/0x310. tcp_sendmsg_locked+0x782/0xce0 tcp_sendmsg+0x27/0x40 sock_sendmsg+0x8b/0xa0 nvme_tcp_try_send_cmd_pdu+0x149/0x2a0 Then random panic may occur. Fix that by serializing the usage of page_frag_cache.