mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 09:36:22 +02:00
batman-adv: frag: fix primary_if leak on failed linearization
If the skb has a frag_list, it must be linearized before it can be split
using skb_split(). But when this step failed, it must not only free the skb
but also take care of the reference to the already found primary_if.
Cc: stable@vger.kernel.org
Reported-by: Sashiko <sashiko-bot@kernel.org>
Fixes: a063f2fba3 ("batman-adv: Don't skb_split skbuffs with frag_list")
Signed-off-by: Sven Eckelmann <sven@narfation.org>
This commit is contained in:
parent
6b628425ae
commit
353d2c1d54
|
|
@ -547,7 +547,7 @@ int batadv_frag_send_packet(struct sk_buff *skb,
|
|||
*/
|
||||
if (skb_has_frag_list(skb) && __skb_linearize(skb)) {
|
||||
ret = -ENOMEM;
|
||||
goto free_skb;
|
||||
goto put_primary_if;
|
||||
}
|
||||
|
||||
/* Create one header to be copied to all fragments */
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user