In the Linux kernel, the following vulnerability has been resolved:
idpf: fix null-ptr-deref in idpffeaturescheck
idpffeaturescheck is used to validate the TX packet. skb header length is compared with the hardware supported value received from the device control plane. The value is stored in the adapter structure and to access it, vport pointer is used. During reset all the vports are released and the vport pointer that the netdev private structure points to is NULL.
To avoid null-ptr-deref, store the max header length value in netdev private structure. This also helps to cache the value and avoid accessing adapter pointer in hot path.
BUG: kernel NULL pointer dereference, address: 0000000000000068 ... RIP: 0010:idpffeaturescheck+0x6d/0xe0 [idpf] Call Trace: <TASK> ? _die+0x23/0x70 ? pagefaultoops+0x154/0x520 ? excpagefault+0x76/0x190 ? asmexcpagefault+0x26/0x30 ? idpffeaturescheck+0x6d/0xe0 [idpf] netifskbfeatures+0x88/0x310 validatexmitskb+0x2a/0x2b0 validatexmitskblist+0x4c/0x70 schdirectxmit+0x19d/0x3a0 _devqueuexmit+0xb74/0xe70 ...