* [ammarfaizi2-block:bpf/bpf-next/master 186/270] net/ipv4/tcp_bpf.c:354:4: warning: Argument to kfree() is the address of the local variable 'tmp', which is not memory allocated by malloc() [clang-analyzer-unix.Malloc]
@ 2022-03-23 1:35 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-03-23 1:35 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 20800 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: "GNU/Weeb Mailing List" <gwml@vger.gnuweeb.org>
CC: linux-kernel(a)vger.kernel.org
TO: Wang Yufen <wangyufen@huawei.com>
CC: Daniel Borkmann <daniel@iogearbox.net>
tree: https://github.com/ammarfaizi2/linux-block bpf/bpf-next/master
head: 7f0059b58f0257d895fafd2f2e3afe3bbdf21e64
commit: 2486ab434b2c2a14e9237296db00b1e1b7ae3273 [186/270] bpf, sockmap: Fix double uncharge the mem of sk_msg
:::::: branch date: 7 hours ago
:::::: commit date: 7 days ago
config: riscv-randconfig-c006-20220322 (https://download.01.org/0day-ci/archive/20220323/202203230906.D7fHJVsd-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 902f4708fe1d03b0de7e5315ef875006a6adc319)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/ammarfaizi2/linux-block/commit/2486ab434b2c2a14e9237296db00b1e1b7ae3273
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block bpf/bpf-next/master
git checkout 2486ab434b2c2a14e9237296db00b1e1b7ae3273
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
include/linux/skbuff.h:2605:1: note: Returning without writing to 'skb->end'
}
^
net/ipv4/raw.c:376:2: note: Returning from 'skb_reserve'
skb_reserve(skb, hlen);
^~~~~~~~~~~~~~~~~~~~~~
net/ipv4/raw.c:381:2: note: Calling 'skb_dst_set'
skb_dst_set(skb, &rt->dst);
^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/skbuff.h:1131:21: note: 'dst' is non-null
skb->slow_gro |= !!dst;
^~~
include/linux/skbuff.h:1133:1: note: Returning without writing to 'skb->end'
}
^
net/ipv4/raw.c:381:2: note: Returning from 'skb_dst_set'
skb_dst_set(skb, &rt->dst);
^~~~~~~~~~~~~~~~~~~~~~~~~~
net/ipv4/raw.c:384:2: note: Calling 'skb_reset_network_header'
skb_reset_network_header(skb);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/skbuff.h:2746:1: note: Returning without writing to 'skb->end'
}
^
net/ipv4/raw.c:384:2: note: Returning from 'skb_reset_network_header'
skb_reset_network_header(skb);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/ipv4/raw.c:386:2: note: Value assigned to field 'end'
skb_put(skb, length);
^~~~~~~~~~~~~~~~~~~~
net/ipv4/raw.c:390:2: note: Calling 'skb_setup_tx_timestamp'
skb_setup_tx_timestamp(skb, sockc->tsflags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/net/sock.h:2698:39: note: Passing value via 3rd parameter 'tx_flags'
_sock_tx_timestamp(skb->sk, tsflags, &skb_shinfo(skb)->tx_flags,
^~~~~~~~~~~~~~~~~~~~~~~~~~
include/net/sock.h:2698:2: note: Calling '_sock_tx_timestamp'
_sock_tx_timestamp(skb->sk, tsflags, &skb_shinfo(skb)->tx_flags,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/net/sock.h:2680:6: note: Assuming 'tsflags' is not equal to 0
if (unlikely(tsflags)) {
^
include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~
include/net/sock.h:2680:2: note: Taking true branch
if (unlikely(tsflags)) {
^
include/net/sock.h:2682:7: note: Assuming the condition is true
if (tsflags & SOF_TIMESTAMPING_OPT_ID && tskey &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/net/sock.h:2682:7: note: Left side of '&&' is true
include/net/sock.h:2682:44: note: Assuming 'tskey' is null
if (tsflags & SOF_TIMESTAMPING_OPT_ID && tskey &&
^~~~~
include/net/sock.h:2682:7: note: Assuming pointer value is null
if (tsflags & SOF_TIMESTAMPING_OPT_ID && tskey &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/net/sock.h:2682:50: note: Left side of '&&' is false
if (tsflags & SOF_TIMESTAMPING_OPT_ID && tskey &&
^
include/net/sock.h:2686:6: note: Assuming the condition is false
if (unlikely(sock_flag(sk, SOCK_WIFI_STATUS)))
^
include/linux/compiler.h:78:40: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^~~~
include/net/sock.h:2686:2: note: Taking true branch
if (unlikely(sock_flag(sk, SOCK_WIFI_STATUS)))
^
include/net/sock.h:2687:13: note: Dereference of null pointer (loaded from variable 'tx_flags')
*tx_flags |= SKBTX_WIFI_STATUS;
~~~~~~~~ ^
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
>> net/ipv4/tcp_bpf.c:354:4: warning: Argument to kfree() is the address of the local variable 'tmp', which is not memory allocated by malloc() [clang-analyzer-unix.Malloc]
kfree(msg);
^
net/ipv4/tcp_bpf.c:483:16: note: 'psock' is non-null
if (unlikely(!psock))
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
net/ipv4/tcp_bpf.c:483:2: note: Taking false branch
if (unlikely(!psock))
^
net/ipv4/tcp_bpf.c:487:6: note: Assuming field 'cork' is null
if (psock->cork) {
^~~~~~~~~~~
net/ipv4/tcp_bpf.c:487:2: note: Taking false branch
if (psock->cork) {
^
net/ipv4/tcp_bpf.c:495:2: note: Taking false branch
if (unlikely(sk_msg_full(msg)))
^
net/ipv4/tcp_bpf.c:501:2: note: Taking false branch
if (sk_msg_full(msg))
^
net/ipv4/tcp_bpf.c:503:6: note: Assuming field 'cork_bytes' is 0
if (psock->cork_bytes) {
^~~~~~~~~~~~~~~~~
net/ipv4/tcp_bpf.c:503:2: note: Taking false branch
if (psock->cork_bytes) {
^
net/ipv4/tcp_bpf.c:515:8: note: Calling 'tcp_bpf_send_verdict'
err = tcp_bpf_send_verdict(sk, psock, msg, &copied, flags);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/ipv4/tcp_bpf.c:287:6: note: Assuming field 'eval' is equal to __SK_NONE
if (psock->eval == __SK_NONE) {
^~~~~~~~~~~~~~~~~~~~~~~~
net/ipv4/tcp_bpf.c:287:2: note: Taking true branch
if (psock->eval == __SK_NONE) {
^
net/ipv4/tcp_bpf.c:298:6: note: Assuming field 'cork_bytes' is 0
if (msg->cork_bytes &&
^~~~~~~~~~~~~~~
net/ipv4/tcp_bpf.c:298:22: note: Left side of '&&' is false
if (msg->cork_bytes &&
^
net/ipv4/tcp_bpf.c:312:6: note: Assuming field 'apply_bytes' is not equal to 0
if (psock->apply_bytes && psock->apply_bytes < tosend)
^~~~~~~~~~~~~~~~~~
net/ipv4/tcp_bpf.c:312:6: note: Left side of '&&' is true
net/ipv4/tcp_bpf.c:312:28: note: Assuming 'tosend' is <= field 'apply_bytes'
if (psock->apply_bytes && psock->apply_bytes < tosend)
^~~~~~~~~~~~~~~~~~~~~~~~~~~
net/ipv4/tcp_bpf.c:312:2: note: Taking false branch
if (psock->apply_bytes && psock->apply_bytes < tosend)
^
net/ipv4/tcp_bpf.c:315:2: note: Control jumps to 'case __SK_REDIRECT:' at line 324
switch (psock->eval) {
^
net/ipv4/tcp_bpf.c:327:7: note: Assuming field 'apply_bytes' is not equal to 0
if (!psock->apply_bytes) {
^~~~~~~~~~~~~~~~~~~
net/ipv4/tcp_bpf.c:327:3: note: Taking false branch
if (!psock->apply_bytes) {
^
net/ipv4/tcp_bpf.c:333:7: note: Assuming field 'cork' is non-null
if (psock->cork) {
^~~~~~~~~~~
net/ipv4/tcp_bpf.c:333:3: note: Taking true branch
if (psock->cork) {
^
net/ipv4/tcp_bpf.c:342:7: note: 'eval' is not equal to __SK_REDIRECT
if (eval == __SK_REDIRECT)
^~~~
net/ipv4/tcp_bpf.c:342:3: note: Taking false branch
if (eval == __SK_REDIRECT)
^
net/ipv4/tcp_bpf.c:346:3: note: Taking true branch
if (unlikely(ret < 0)) {
^
net/ipv4/tcp_bpf.c:349:9: note: 'cork' is true
if (!cork)
^~~~
net/ipv4/tcp_bpf.c:349:4: note: Taking false branch
if (!cork)
^
net/ipv4/tcp_bpf.c:352:7: note: 'cork' is true
if (cork) {
^~~~
net/ipv4/tcp_bpf.c:352:3: note: Taking true branch
if (cork) {
^
net/ipv4/tcp_bpf.c:354:4: note: Argument to kfree() is the address of the local variable 'tmp', which is not memory allocated by malloc()
kfree(msg);
^ ~~~
Suppressed 3 warnings (3 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
drivers/soundwire/bus.c:1235:6: warning: The result of the left shift is undefined due to shifting by '255', which is greater or equal to the width of type 'unsigned long' [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (BIT(scale_index) != scale || scale_index > 6) {
^
include/vdso/bits.h:7:26: note: expanded from macro 'BIT'
vim +/tmp +354 net/ipv4/tcp_bpf.c
c0fd336ea4ca82 YueHaibing 2020-03-20 276
604326b41a6fb9 Daniel Borkmann 2018-10-13 277 static int tcp_bpf_send_verdict(struct sock *sk, struct sk_psock *psock,
604326b41a6fb9 Daniel Borkmann 2018-10-13 278 struct sk_msg *msg, int *copied, int flags)
604326b41a6fb9 Daniel Borkmann 2018-10-13 279 {
031097d9e079e4 Jakub Kicinski 2019-11-27 280 bool cork = false, enospc = sk_msg_full(msg);
604326b41a6fb9 Daniel Borkmann 2018-10-13 281 struct sock *sk_redir;
7246d8ed4dcce2 John Fastabend 2018-11-26 282 u32 tosend, delta = 0;
cd9733f5d75c94 Liu Jian 2021-10-12 283 u32 eval = __SK_NONE;
604326b41a6fb9 Daniel Borkmann 2018-10-13 284 int ret;
604326b41a6fb9 Daniel Borkmann 2018-10-13 285
604326b41a6fb9 Daniel Borkmann 2018-10-13 286 more_data:
7246d8ed4dcce2 John Fastabend 2018-11-26 287 if (psock->eval == __SK_NONE) {
7246d8ed4dcce2 John Fastabend 2018-11-26 288 /* Track delta in msg size to add/subtract it on SK_DROP from
7246d8ed4dcce2 John Fastabend 2018-11-26 289 * returned to user copied size. This ensures user doesn't
7246d8ed4dcce2 John Fastabend 2018-11-26 290 * get a positive return code with msg_cut_data and SK_DROP
7246d8ed4dcce2 John Fastabend 2018-11-26 291 * verdict.
7246d8ed4dcce2 John Fastabend 2018-11-26 292 */
7246d8ed4dcce2 John Fastabend 2018-11-26 293 delta = msg->sg.size;
604326b41a6fb9 Daniel Borkmann 2018-10-13 294 psock->eval = sk_psock_msg_verdict(sk, psock, msg);
7246d8ed4dcce2 John Fastabend 2018-11-26 295 delta -= msg->sg.size;
7246d8ed4dcce2 John Fastabend 2018-11-26 296 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 297
604326b41a6fb9 Daniel Borkmann 2018-10-13 298 if (msg->cork_bytes &&
604326b41a6fb9 Daniel Borkmann 2018-10-13 299 msg->cork_bytes > msg->sg.size && !enospc) {
604326b41a6fb9 Daniel Borkmann 2018-10-13 300 psock->cork_bytes = msg->cork_bytes - msg->sg.size;
604326b41a6fb9 Daniel Borkmann 2018-10-13 301 if (!psock->cork) {
604326b41a6fb9 Daniel Borkmann 2018-10-13 302 psock->cork = kzalloc(sizeof(*psock->cork),
604326b41a6fb9 Daniel Borkmann 2018-10-13 303 GFP_ATOMIC | __GFP_NOWARN);
604326b41a6fb9 Daniel Borkmann 2018-10-13 304 if (!psock->cork)
604326b41a6fb9 Daniel Borkmann 2018-10-13 305 return -ENOMEM;
604326b41a6fb9 Daniel Borkmann 2018-10-13 306 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 307 memcpy(psock->cork, msg, sizeof(*msg));
604326b41a6fb9 Daniel Borkmann 2018-10-13 308 return 0;
604326b41a6fb9 Daniel Borkmann 2018-10-13 309 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 310
604326b41a6fb9 Daniel Borkmann 2018-10-13 311 tosend = msg->sg.size;
604326b41a6fb9 Daniel Borkmann 2018-10-13 312 if (psock->apply_bytes && psock->apply_bytes < tosend)
604326b41a6fb9 Daniel Borkmann 2018-10-13 313 tosend = psock->apply_bytes;
604326b41a6fb9 Daniel Borkmann 2018-10-13 314
604326b41a6fb9 Daniel Borkmann 2018-10-13 315 switch (psock->eval) {
604326b41a6fb9 Daniel Borkmann 2018-10-13 316 case __SK_PASS:
604326b41a6fb9 Daniel Borkmann 2018-10-13 317 ret = tcp_bpf_push(sk, msg, tosend, flags, true);
604326b41a6fb9 Daniel Borkmann 2018-10-13 318 if (unlikely(ret)) {
604326b41a6fb9 Daniel Borkmann 2018-10-13 319 *copied -= sk_msg_free(sk, msg);
604326b41a6fb9 Daniel Borkmann 2018-10-13 320 break;
604326b41a6fb9 Daniel Borkmann 2018-10-13 321 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 322 sk_msg_apply_bytes(psock, tosend);
604326b41a6fb9 Daniel Borkmann 2018-10-13 323 break;
604326b41a6fb9 Daniel Borkmann 2018-10-13 324 case __SK_REDIRECT:
604326b41a6fb9 Daniel Borkmann 2018-10-13 325 sk_redir = psock->sk_redir;
604326b41a6fb9 Daniel Borkmann 2018-10-13 326 sk_msg_apply_bytes(psock, tosend);
cd9733f5d75c94 Liu Jian 2021-10-12 327 if (!psock->apply_bytes) {
cd9733f5d75c94 Liu Jian 2021-10-12 328 /* Clean up before releasing the sock lock. */
cd9733f5d75c94 Liu Jian 2021-10-12 329 eval = psock->eval;
cd9733f5d75c94 Liu Jian 2021-10-12 330 psock->eval = __SK_NONE;
cd9733f5d75c94 Liu Jian 2021-10-12 331 psock->sk_redir = NULL;
cd9733f5d75c94 Liu Jian 2021-10-12 332 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 333 if (psock->cork) {
604326b41a6fb9 Daniel Borkmann 2018-10-13 334 cork = true;
604326b41a6fb9 Daniel Borkmann 2018-10-13 335 psock->cork = NULL;
604326b41a6fb9 Daniel Borkmann 2018-10-13 336 }
84472b436e760b Wang Yufen 2022-03-04 337 sk_msg_return(sk, msg, msg->sg.size);
604326b41a6fb9 Daniel Borkmann 2018-10-13 338 release_sock(sk);
cd9733f5d75c94 Liu Jian 2021-10-12 339
604326b41a6fb9 Daniel Borkmann 2018-10-13 340 ret = tcp_bpf_sendmsg_redir(sk_redir, msg, tosend, flags);
cd9733f5d75c94 Liu Jian 2021-10-12 341
cd9733f5d75c94 Liu Jian 2021-10-12 342 if (eval == __SK_REDIRECT)
cd9733f5d75c94 Liu Jian 2021-10-12 343 sock_put(sk_redir);
cd9733f5d75c94 Liu Jian 2021-10-12 344
604326b41a6fb9 Daniel Borkmann 2018-10-13 345 lock_sock(sk);
604326b41a6fb9 Daniel Borkmann 2018-10-13 346 if (unlikely(ret < 0)) {
604326b41a6fb9 Daniel Borkmann 2018-10-13 347 int free = sk_msg_free_nocharge(sk, msg);
604326b41a6fb9 Daniel Borkmann 2018-10-13 348
604326b41a6fb9 Daniel Borkmann 2018-10-13 349 if (!cork)
604326b41a6fb9 Daniel Borkmann 2018-10-13 350 *copied -= free;
604326b41a6fb9 Daniel Borkmann 2018-10-13 351 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 352 if (cork) {
604326b41a6fb9 Daniel Borkmann 2018-10-13 353 sk_msg_free(sk, msg);
604326b41a6fb9 Daniel Borkmann 2018-10-13 @354 kfree(msg);
604326b41a6fb9 Daniel Borkmann 2018-10-13 355 msg = NULL;
604326b41a6fb9 Daniel Borkmann 2018-10-13 356 ret = 0;
604326b41a6fb9 Daniel Borkmann 2018-10-13 357 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 358 break;
604326b41a6fb9 Daniel Borkmann 2018-10-13 359 case __SK_DROP:
604326b41a6fb9 Daniel Borkmann 2018-10-13 360 default:
604326b41a6fb9 Daniel Borkmann 2018-10-13 361 sk_msg_free_partial(sk, msg, tosend);
604326b41a6fb9 Daniel Borkmann 2018-10-13 362 sk_msg_apply_bytes(psock, tosend);
7246d8ed4dcce2 John Fastabend 2018-11-26 363 *copied -= (tosend + delta);
604326b41a6fb9 Daniel Borkmann 2018-10-13 364 return -EACCES;
604326b41a6fb9 Daniel Borkmann 2018-10-13 365 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 366
604326b41a6fb9 Daniel Borkmann 2018-10-13 367 if (likely(!ret)) {
604326b41a6fb9 Daniel Borkmann 2018-10-13 368 if (!psock->apply_bytes) {
604326b41a6fb9 Daniel Borkmann 2018-10-13 369 psock->eval = __SK_NONE;
604326b41a6fb9 Daniel Borkmann 2018-10-13 370 if (psock->sk_redir) {
604326b41a6fb9 Daniel Borkmann 2018-10-13 371 sock_put(psock->sk_redir);
604326b41a6fb9 Daniel Borkmann 2018-10-13 372 psock->sk_redir = NULL;
604326b41a6fb9 Daniel Borkmann 2018-10-13 373 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 374 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 375 if (msg &&
604326b41a6fb9 Daniel Borkmann 2018-10-13 376 msg->sg.data[msg->sg.start].page_link &&
84472b436e760b Wang Yufen 2022-03-04 377 msg->sg.data[msg->sg.start].length) {
84472b436e760b Wang Yufen 2022-03-04 378 if (eval == __SK_REDIRECT)
84472b436e760b Wang Yufen 2022-03-04 379 sk_mem_charge(sk, msg->sg.size);
604326b41a6fb9 Daniel Borkmann 2018-10-13 380 goto more_data;
604326b41a6fb9 Daniel Borkmann 2018-10-13 381 }
84472b436e760b Wang Yufen 2022-03-04 382 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 383 return ret;
604326b41a6fb9 Daniel Borkmann 2018-10-13 384 }
604326b41a6fb9 Daniel Borkmann 2018-10-13 385
:::::: The code at line 354 was first introduced by commit
:::::: 604326b41a6fb9b4a78b6179335decee0365cd8c bpf, sockmap: convert to generic sk_msg interface
:::::: TO: Daniel Borkmann <daniel@iogearbox.net>
:::::: CC: Alexei Starovoitov <ast@kernel.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-03-23 1:35 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-23 1:35 [ammarfaizi2-block:bpf/bpf-next/master 186/270] net/ipv4/tcp_bpf.c:354:4: warning: Argument to kfree() is the address of the local variable 'tmp', which is not memory allocated by malloc() [clang-analyzer-unix.Malloc] kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.