Patch "team: Fix double free in error path" has been added to the 4.14-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.14-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.14 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 18:38:30 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
@@ -2394,7 +2394,7 @@ send_done:if (!nlh) { err =__send_and_alloc_skb (&skb, team, portid, send_func);if (err) - goto errout; +return err; goto send_done; }
@@ -2680,7 +2680,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.14/devlink-remove-redundant-free-on-error-path.patch queue-4.14/team-fix-double-free-in-error-path.patch