This is a note to let you know that I've just added the patch titled sock: set sk_err to ee_errno on dequeue from errq to the 5.9-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: sock-set-sk_err-to-ee_errno-on-dequeue-from-errq.patch and it can be found in the queue-5.9 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From foo@baz Wed Dec 2 10:40:54 AM CET 2020 From: Willem de Bruijn <willemb@xxxxxxxxxx> Date: Thu, 26 Nov 2020 10:12:20 -0500 Subject: sock: set sk_err to ee_errno on dequeue from errq From: Willem de Bruijn <willemb@xxxxxxxxxx> [ Upstream commit 985f7337421a811cb354ca93882f943c8335a6f5 ] When setting sk_err, set it to ee_errno, not ee_origin. Commit f5f99309fa74 ("sock: do not set sk_err in sock_dequeue_err_skb") disabled updating sk_err on errq dequeue, which is correct for most error types (origins): - sk->sk_err = err; Commit 38b257938ac6 ("sock: reset sk_err when the error queue is empty") reenabled the behavior for IMCP origins, which do require it: + if (icmp_next) + sk->sk_err = SKB_EXT_ERR(skb_next)->ee.ee_origin; But read from ee_errno. Fixes: 38b257938ac6 ("sock: reset sk_err when the error queue is empty") Reported-by: Ayush Ranjan <ayushranjan@xxxxxxxxxx> Signed-off-by: Willem de Bruijn <willemb@xxxxxxxxxx> Acked-by: Soheil Hassas Yeganeh <soheil@xxxxxxxxxx> Link: https://lore.kernel.org/r/20201126151220.2819322-1-willemdebruijn.kernel@xxxxxxxxx Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- net/core/skbuff.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -4555,7 +4555,7 @@ struct sk_buff *sock_dequeue_err_skb(str if (skb && (skb_next = skb_peek(q))) { icmp_next = is_icmp_err_skb(skb_next); if (icmp_next) - sk->sk_err = SKB_EXT_ERR(skb_next)->ee.ee_origin; + sk->sk_err = SKB_EXT_ERR(skb_next)->ee.ee_errno; } spin_unlock_irqrestore(&q->lock, flags); Patches currently in stable-queue which might be from willemb@xxxxxxxxxx are queue-5.9/sock-set-sk_err-to-ee_errno-on-dequeue-from-errq.patch queue-5.9/net-packet-fix-packet-receive-on-l3-devices-without-visible-hard-header.patch