In the Linux kernel, the following vulnerability has been resolved:
ethernet:enic: Fix a use after free bug in enichardstart_xmit
In enichardstartxmit, it calls enicqueuewqskb(). Inside enicqueuewqskb, if some error happens, the skb will be freed by devkfreeskb(skb). But the freed skb is still used in skbtx_timestamp(skb).
My patch makes enicqueuewqskb() return error and goto spinunlock() incase of error. The solution is provided by Govind. See https://lkml.org/lkml/2021/4/30/961.