]> git.baikalelectronics.ru Git - kernel.git/commit
net: switch to storing KCOV handle directly in sk_buff
authorMarco Elver <elver@google.com>
Wed, 25 Nov 2020 22:48:40 +0000 (23:48 +0100)
committerJakub Kicinski <kuba@kernel.org>
Tue, 1 Dec 2020 19:26:19 +0000 (11:26 -0800)
commit4b8751a4aab50aa3649536349322fdac6269d74e
tree3a93e691ed484fd22681f316ca1cb54719a112d9
parent586f7dc40242cdd77bcba51304844e49d3cba2cc
net: switch to storing KCOV handle directly in sk_buff

It turns out that usage of skb extensions can cause memory leaks. Ido
Schimmel reported: "[...] there are instances that blindly overwrite
'skb->extensions' by invoking skb_copy_header() after __alloc_skb()."

Therefore, give up on using skb extensions for KCOV handle, and instead
directly store kcov_handle in sk_buff.

Fixes: 46a1946fa9bc ("net: add kcov handle to skb extensions")
Fixes: adfa1dbd3a29 ("net: kcov: don't select SKB_EXTENSIONS when there is no NET")
Fixes: 5b199474ff5b ("net: linux/skbuff.h: combine SKB_EXTENSIONS + KCOV handling")
Link: https://lore.kernel.org/linux-wireless/20201121160941.GA485907@shredder.lan/
Reported-by: Ido Schimmel <idosch@idosch.org>
Signed-off-by: Marco Elver <elver@google.com>
Link: https://lore.kernel.org/r/20201125224840.2014773-1-elver@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/linux/skbuff.h
lib/Kconfig.debug
net/core/skbuff.c