Patch "team: Fix double free in error path" has been added to the 4.9-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
team: Fix double free in error path
to the 4.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:
team-fix-double-free-in-error-path.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Wed Mar 28 20:16:33 CEST 2018
From: Arkadi Sharshevsky <[email protected]>
Date: Thu, 8 Mar 2018 12:42:10 +0200
Subject: team: Fix double free in error path
From: Arkadi Sharshevsky <[email protected]>
[ Upstream commit cbcc607e18422555db569b593608aec26111cb0b ]
The __send_and_alloc_skb() receives a skb ptr as a parameter but in case it fails the skb is not valid:
- Send failed and released the skb internally.
- Allocation failed.
The current code tries to release the skb in case of failure which causes redundant freeing.
--- drivers/net/team/team.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/team/team.c +2 -2
@@ -2403,7 +2403,7 @@ send_done:if (!nlh) { err =__send_and_alloc_skb (&skb, team, portid, send_func);if (err) - goto errout; +return err; goto send_done; }
@@ -2688,7 +2688,7 @@ send_done:if (!nlh) { err =__send_and_alloc_skb (&skb, team, portid, send_func);if (err) - goto errout; +return err; goto send_done; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/team-fix-double-free-in-error-path.patch