mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-24 11:16:51 +00:00
linux: update to linux-4.1.11
Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
parent
43c6c05fc3
commit
aaa514a978
@ -40,7 +40,7 @@ case "$LINUX" in
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET imx6-status-led imx6-soc-fan"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="4.1.10"
|
||||
PKG_VERSION="4.1.11"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
;;
|
||||
esac
|
||||
|
@ -1,40 +0,0 @@
|
||||
From 05676fe53c9f26fe703c57b14bdd0807e23cc33b Mon Sep 17 00:00:00 2001
|
||||
From: Eric Dumazet <edumazet@google.com>
|
||||
Date: Thu, 13 Aug 2015 15:44:51 -0700
|
||||
Subject: [PATCH 1/2] inet: fix potential deadlock in reqsk_queue_unlink()
|
||||
|
||||
When replacing del_timer() with del_timer_sync(), I introduced
|
||||
a deadlock condition :
|
||||
|
||||
reqsk_queue_unlink() is called from inet_csk_reqsk_queue_drop()
|
||||
|
||||
inet_csk_reqsk_queue_drop() can be called from many contexts,
|
||||
one being the timer handler itself (reqsk_timer_handler()).
|
||||
|
||||
In this case, del_timer_sync() loops forever.
|
||||
|
||||
Simple fix is to test if timer is pending.
|
||||
|
||||
Fixes: 2235f2ac75fd ("inet: fix races with reqsk timers")
|
||||
Signed-off-by: Eric Dumazet <edumazet@google.com>
|
||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||
---
|
||||
net/ipv4/inet_connection_sock.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c
|
||||
index b27fc401c6a9..e664706b350c 100644
|
||||
--- a/net/ipv4/inet_connection_sock.c
|
||||
+++ b/net/ipv4/inet_connection_sock.c
|
||||
@@ -584,7 +584,7 @@ static bool reqsk_queue_unlink(struct request_sock_queue *queue,
|
||||
}
|
||||
|
||||
spin_unlock(&queue->syn_wait_lock);
|
||||
- if (del_timer_sync(&req->rsk_timer))
|
||||
+ if (timer_pending(&req->rsk_timer) && del_timer_sync(&req->rsk_timer))
|
||||
reqsk_put(req);
|
||||
return found;
|
||||
}
|
||||
--
|
||||
2.4.3
|
||||
|
Loading…
x
Reference in New Issue
Block a user