:::::: :::::: Manual check reason: "low confidence static check first_new_problem: fs/afs/rxrpc.c:422:3: warning: Use of memory after it is freed [clang-analyzer-unix.Malloc]" ::::::
CC: l...@lists.linux.dev CC: kbuild-...@lists.01.org BCC: l...@intel.com CC: linux-ker...@vger.kernel.org TO: Chris Down <ch...@chrisdown.name> CC: Petr Mladek <pmla...@suse.com> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 941e3e7912696b9fbe3586083a7c2e102cee7a87 commit: 337015573718b161891a3473d25f59273f2e626b printk: Userspace format indexing support date: 12 months ago :::::: branch date: 30 hours ago :::::: commit date: 12 months ago config: s390-randconfig-c005-20220622 (https://download.01.org/0day-ci/archive/20220629/202206290720.aposbne8-...@intel.com/config) compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 8b8d126598ce7bd5243da7f94f69fa1104288bee) 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 s390 cross compiling tool for clang build # apt-get install binutils-s390x-linux-gnu # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=337015573718b161891a3473d25f59273f2e626b git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout 337015573718b161891a3473d25f59273f2e626b # save the config file COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=s390 clang-analyzer If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <l...@intel.com> clang-analyzer warnings: (new ones prefixed by >>) fs/afs/rxrpc.c:302:9: note: Assuming field 'type' is not equal to null ASSERT(call->type != NULL); ^ fs/afs/internal.h:1667:17: note: expanded from macro 'ASSERT' if (unlikely(!(X))) { \ ~~~~~~~~~~~^~~ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ fs/afs/rxrpc.c:302:2: note: Taking false branch ASSERT(call->type != NULL); ^ fs/afs/internal.h:1667:2: note: expanded from macro 'ASSERT' if (unlikely(!(X))) { \ ^ fs/afs/rxrpc.c:302:2: note: Loop condition is false. Exiting loop ASSERT(call->type != NULL); ^ fs/afs/internal.h:1665:24: note: expanded from macro 'ASSERT' #define ASSERT(X) \ ^ fs/afs/rxrpc.c:303:9: note: Assuming field 'name' is not equal to null ASSERT(call->type->name != NULL); ^ fs/afs/internal.h:1667:17: note: expanded from macro 'ASSERT' if (unlikely(!(X))) { \ ~~~~~~~~~~~^~~ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ fs/afs/rxrpc.c:303:2: note: Taking false branch ASSERT(call->type->name != NULL); ^ fs/afs/internal.h:1667:2: note: expanded from macro 'ASSERT' if (unlikely(!(X))) { \ ^ fs/afs/rxrpc.c:303:2: note: Loop condition is false. Exiting loop ASSERT(call->type->name != NULL); ^ fs/afs/internal.h:1665:24: note: expanded from macro 'ASSERT' #define ASSERT(X) \ ^ fs/afs/rxrpc.c:305:2: note: Assuming the condition is false _debug("____MAKE %p{%s,%x} [%d]____", ^ fs/afs/internal.h:1650:6: note: expanded from macro '_debug' if (unlikely(afs_debug & AFS_DEBUG_KDEBUG)) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:78:40: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^~~~ fs/afs/rxrpc.c:305:2: note: Taking true branch _debug("____MAKE %p{%s,%x} [%d]____", ^ fs/afs/internal.h:1650:2: note: expanded from macro '_debug' if (unlikely(afs_debug & AFS_DEBUG_KDEBUG)) \ ^ fs/afs/rxrpc.c:305:2: note: Loop condition is false. Exiting loop _debug("____MAKE %p{%s,%x} [%d]____", ^ fs/afs/internal.h:1651:3: note: expanded from macro '_debug' kdebug(FMT,##__VA_ARGS__); \ ^ fs/afs/internal.h:1623:25: note: expanded from macro 'kdebug' #define kdebug(FMT,...) dbgprintk(" "FMT ,##__VA_ARGS__) ^ fs/afs/internal.h:1619:2: note: expanded from macro 'dbgprintk' printk("[%-6.6s] "FMT"\n", current->comm ,##__VA_ARGS__) ^ include/linux/printk.h:434:26: note: expanded from macro 'printk' #define printk(fmt, ...) printk_index_wrap(_printk, fmt, ##__VA_ARGS__) ^ include/linux/printk.h:429:3: note: expanded from macro 'printk_index_wrap' __printk_index_emit(_fmt, NULL, NULL); \ ^ include/linux/printk.h:404:34: note: expanded from macro '__printk_index_emit' #define __printk_index_emit(...) do {} while (0) ^ fs/afs/rxrpc.c:305:2: note: Dereference of null pointer _debug("____MAKE %p{%s,%x} [%d]____", ^ fs/afs/internal.h:1651:3: note: expanded from macro '_debug' kdebug(FMT,##__VA_ARGS__); \ ^~~~~~~~~~~~~~~~~~~~~~~~~ fs/afs/internal.h:1623:25: note: expanded from macro 'kdebug' #define kdebug(FMT,...) dbgprintk(" "FMT ,##__VA_ARGS__) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/afs/internal.h:1619:29: note: expanded from macro 'dbgprintk' printk("[%-6.6s] "FMT"\n", current->comm ,##__VA_ARGS__) ^~~~~~~ note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) include/linux/printk.h:430:19: note: expanded from macro 'printk_index_wrap' _p_func(_fmt, ##__VA_ARGS__); \ ^~~~~~~~~~~ arch/s390/include/asm/current.h:17:45: note: expanded from macro 'current' #define current ((struct task_struct *const)S390_lowcore.current_task) ^~~~~~~~~~~~~~~~~~~~~~~~~ arch/s390/include/asm/lowcore.h:200:22: note: expanded from macro 'S390_lowcore' #define S390_lowcore (*((struct lowcore *) 0)) ^ >> fs/afs/rxrpc.c:422:3: warning: Use of memory after it is freed >> [clang-analyzer-unix.Malloc] afs_put_call(call); ^ ~~~~ fs/afs/rxrpc.c:300:2: note: Assuming the condition is true _enter(",{%pISp},", &srx->transport); ^ fs/afs/internal.h:1638:6: note: expanded from macro '_enter' if (unlikely(afs_debug & AFS_DEBUG_KENTER)) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:78:40: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^~~~ fs/afs/rxrpc.c:300:2: note: Taking false branch _enter(",{%pISp},", &srx->transport); ^ fs/afs/internal.h:1638:2: note: expanded from macro '_enter' if (unlikely(afs_debug & AFS_DEBUG_KENTER)) \ ^ fs/afs/rxrpc.c:300:2: note: Loop condition is false. Exiting loop _enter(",{%pISp},", &srx->transport); ^ fs/afs/internal.h:1636:29: note: expanded from macro '_enter' #define _enter(FMT,...) \ ^ fs/afs/rxrpc.c:302:9: note: Assuming field 'type' is not equal to null ASSERT(call->type != NULL); ^ fs/afs/internal.h:1667:17: note: expanded from macro 'ASSERT' if (unlikely(!(X))) { \ ~~~~~~~~~~~^~~ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ fs/afs/rxrpc.c:302:2: note: Taking false branch ASSERT(call->type != NULL); ^ fs/afs/internal.h:1667:2: note: expanded from macro 'ASSERT' if (unlikely(!(X))) { \ ^ fs/afs/rxrpc.c:302:2: note: Loop condition is false. Exiting loop ASSERT(call->type != NULL); ^ fs/afs/internal.h:1665:24: note: expanded from macro 'ASSERT' #define ASSERT(X) \ ^ fs/afs/rxrpc.c:303:9: note: Assuming field 'name' is not equal to null ASSERT(call->type->name != NULL); ^ fs/afs/internal.h:1667:17: note: expanded from macro 'ASSERT' if (unlikely(!(X))) { \ ~~~~~~~~~~~^~~ include/linux/compiler.h:78:42: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^ fs/afs/rxrpc.c:303:2: note: Taking false branch ASSERT(call->type->name != NULL); ^ fs/afs/internal.h:1667:2: note: expanded from macro 'ASSERT' if (unlikely(!(X))) { \ ^ fs/afs/rxrpc.c:303:2: note: Loop condition is false. Exiting loop ASSERT(call->type->name != NULL); ^ fs/afs/internal.h:1665:24: note: expanded from macro 'ASSERT' #define ASSERT(X) \ ^ fs/afs/rxrpc.c:305:2: note: Assuming the condition is true _debug("____MAKE %p{%s,%x} [%d]____", ^ fs/afs/internal.h:1650:6: note: expanded from macro '_debug' if (unlikely(afs_debug & AFS_DEBUG_KDEBUG)) \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:78:40: note: expanded from macro 'unlikely' # define unlikely(x) __builtin_expect(!!(x), 0) ^~~~ fs/afs/rxrpc.c:305:2: note: Taking false branch _debug("____MAKE %p{%s,%x} [%d]____", ^ fs/afs/internal.h:1650:2: note: expanded from macro '_debug' if (unlikely(afs_debug & AFS_DEBUG_KDEBUG)) \ ^ fs/afs/rxrpc.c:305:2: note: Loop condition is false. Exiting loop _debug("____MAKE %p{%s,%x} [%d]____", ^ fs/afs/internal.h:1648:29: note: expanded from macro '_debug' #define _debug(FMT,...) \ ^ fs/afs/rxrpc.c:317:6: note: Assuming field 'write_iter' is null if (call->write_iter) ^~~~~~~~~~~~~~~~ fs/afs/rxrpc.c:317:2: note: Taking false branch if (call->write_iter) ^ fs/afs/rxrpc.c:323:6: note: Assuming field 'async' is false if (call->async) { ^~~~~~~~~~~ fs/afs/rxrpc.c:323:2: note: Taking false branch if (call->async) { ^ fs/afs/rxrpc.c:332:14: note: Field 'async' is false (call->async ? vim +422 fs/afs/rxrpc.c e833251ad813168 David Howells 2017-08-29 285 08e0e7c82eeadec David Howells 2007-04-26 286 /* 0b9bf3812ad1f0d David Howells 2019-04-25 287 * Initiate a call and synchronously queue up the parameters for dispatch. Any 0b9bf3812ad1f0d David Howells 2019-04-25 288 * error is stored into the call struct, which the caller must check for. 08e0e7c82eeadec David Howells 2007-04-26 289 */ 0b9bf3812ad1f0d David Howells 2019-04-25 290 void afs_make_call(struct afs_addr_cursor *ac, struct afs_call *call, gfp_t gfp) 08e0e7c82eeadec David Howells 2007-04-26 291 { 2feeaf8433c8e68 David Howells 2018-10-20 292 struct sockaddr_rxrpc *srx = &ac->alist->addrs[ac->index]; 08e0e7c82eeadec David Howells 2007-04-26 293 struct rxrpc_call *rxcall; 08e0e7c82eeadec David Howells 2007-04-26 294 struct msghdr msg; 08e0e7c82eeadec David Howells 2007-04-26 295 struct kvec iov[1]; f105da1a798f23f David Howells 2020-02-06 296 size_t len; e754eba685aac2a David Howells 2017-06-07 297 s64 tx_total_len; 08e0e7c82eeadec David Howells 2007-04-26 298 int ret; 08e0e7c82eeadec David Howells 2007-04-26 299 4d9df9868f31df6 David Howells 2017-11-02 300 _enter(",{%pISp},", &srx->transport); 08e0e7c82eeadec David Howells 2007-04-26 301 00d3b7a4533e367 David Howells 2007-04-26 302 ASSERT(call->type != NULL); 00d3b7a4533e367 David Howells 2007-04-26 303 ASSERT(call->type->name != NULL); 00d3b7a4533e367 David Howells 2007-04-26 304 31143d5d515ece6 David Howells 2007-05-09 305 _debug("____MAKE %p{%s,%x} [%d]____", 31143d5d515ece6 David Howells 2007-05-09 306 call, call->type->name, key_serial(call->key), f044c8847bb61ef David Howells 2017-11-02 307 atomic_read(&call->net->nr_outstanding_calls)); 00d3b7a4533e367 David Howells 2007-04-26 308 3bf0fb6f33dd545 David Howells 2018-10-20 309 call->addr_ix = ac->index; 3bf0fb6f33dd545 David Howells 2018-10-20 310 call->alist = afs_get_addrlist(ac->alist); 08e0e7c82eeadec David Howells 2007-04-26 311 e754eba685aac2a David Howells 2017-06-07 312 /* Work out the length we're going to transmit. This is awkward for e754eba685aac2a David Howells 2017-06-07 313 * calls such as FS.StoreData where there's an extra injection of data e754eba685aac2a David Howells 2017-06-07 314 * after the initial fixed part. e754eba685aac2a David Howells 2017-06-07 315 */ e754eba685aac2a David Howells 2017-06-07 316 tx_total_len = call->request_size; bd80d8a80e12895 David Howells 2020-02-06 317 if (call->write_iter) bd80d8a80e12895 David Howells 2020-02-06 318 tx_total_len += iov_iter_count(call->write_iter); e754eba685aac2a David Howells 2017-06-07 319 34fa47612bfe5d7 David Howells 2019-01-10 320 /* If the call is going to be asynchronous, we need an extra ref for 34fa47612bfe5d7 David Howells 2019-01-10 321 * the call to hold itself so the caller need not hang on to its ref. 34fa47612bfe5d7 David Howells 2019-01-10 322 */ dde9f095583b3f3 David Howells 2020-03-13 323 if (call->async) { 34fa47612bfe5d7 David Howells 2019-01-10 324 afs_get_call(call, afs_call_trace_get); dde9f095583b3f3 David Howells 2020-03-13 325 call->drop_ref = true; dde9f095583b3f3 David Howells 2020-03-13 326 } 34fa47612bfe5d7 David Howells 2019-01-10 327 08e0e7c82eeadec David Howells 2007-04-26 328 /* create a call */ 4d9df9868f31df6 David Howells 2017-11-02 329 rxcall = rxrpc_kernel_begin_call(call->net->socket, srx, call->key, e754eba685aac2a David Howells 2017-06-07 330 (unsigned long)call, e754eba685aac2a David Howells 2017-06-07 331 tx_total_len, gfp, 0b9bf3812ad1f0d David Howells 2019-04-25 332 (call->async ? 56ff9c837778ba2 David Howells 2017-01-05 333 afs_wake_up_async_call : a68f4a27f55f1d5 David Howells 2017-10-18 334 afs_wake_up_call_waiter), a25e21f0bcd2567 David Howells 2018-03-27 335 call->upgrade, e138aa7d3271ac1 David Howells 2020-03-13 336 (call->intr ? RXRPC_PREINTERRUPTIBLE : e138aa7d3271ac1 David Howells 2020-03-13 337 RXRPC_UNINTERRUPTIBLE), a25e21f0bcd2567 David Howells 2018-03-27 338 call->debug_id); 08e0e7c82eeadec David Howells 2007-04-26 339 if (IS_ERR(rxcall)) { 08e0e7c82eeadec David Howells 2007-04-26 340 ret = PTR_ERR(rxcall); 3bf0fb6f33dd545 David Howells 2018-10-20 341 call->error = ret; 08e0e7c82eeadec David Howells 2007-04-26 342 goto error_kill_call; 08e0e7c82eeadec David Howells 2007-04-26 343 } 08e0e7c82eeadec David Howells 2007-04-26 344 08e0e7c82eeadec David Howells 2007-04-26 345 call->rxcall = rxcall; 08e0e7c82eeadec David Howells 2007-04-26 346 94f699c9cdb11b8 David Howells 2019-05-16 347 if (call->max_lifespan) 94f699c9cdb11b8 David Howells 2019-05-16 348 rxrpc_kernel_set_max_life(call->net->socket, rxcall, 94f699c9cdb11b8 David Howells 2019-05-16 349 call->max_lifespan); 94f699c9cdb11b8 David Howells 2019-05-16 350 08e0e7c82eeadec David Howells 2007-04-26 351 /* send the request */ 08e0e7c82eeadec David Howells 2007-04-26 352 iov[0].iov_base = call->request; 08e0e7c82eeadec David Howells 2007-04-26 353 iov[0].iov_len = call->request_size; 08e0e7c82eeadec David Howells 2007-04-26 354 08e0e7c82eeadec David Howells 2007-04-26 355 msg.msg_name = NULL; 08e0e7c82eeadec David Howells 2007-04-26 356 msg.msg_namelen = 0; aa563d7bca6e882 David Howells 2018-10-20 357 iov_iter_kvec(&msg.msg_iter, WRITE, iov, 1, call->request_size); 08e0e7c82eeadec David Howells 2007-04-26 358 msg.msg_control = NULL; 08e0e7c82eeadec David Howells 2007-04-26 359 msg.msg_controllen = 0; bd80d8a80e12895 David Howells 2020-02-06 360 msg.msg_flags = MSG_WAITALL | (call->write_iter ? MSG_MORE : 0); 08e0e7c82eeadec David Howells 2007-04-26 361 f044c8847bb61ef David Howells 2017-11-02 362 ret = rxrpc_kernel_send_data(call->net->socket, rxcall, e833251ad813168 David Howells 2017-08-29 363 &msg, call->request_size, e833251ad813168 David Howells 2017-08-29 364 afs_notify_end_request_tx); 08e0e7c82eeadec David Howells 2007-04-26 365 if (ret < 0) 08e0e7c82eeadec David Howells 2007-04-26 366 goto error_do_abort; 08e0e7c82eeadec David Howells 2007-04-26 367 bd80d8a80e12895 David Howells 2020-02-06 368 if (call->write_iter) { bd80d8a80e12895 David Howells 2020-02-06 369 msg.msg_iter = *call->write_iter; bd80d8a80e12895 David Howells 2020-02-06 370 msg.msg_flags &= ~MSG_MORE; bd80d8a80e12895 David Howells 2020-02-06 371 trace_afs_send_data(call, &msg); bd80d8a80e12895 David Howells 2020-02-06 372 bd80d8a80e12895 David Howells 2020-02-06 373 ret = rxrpc_kernel_send_data(call->net->socket, bd80d8a80e12895 David Howells 2020-02-06 374 call->rxcall, &msg, bd80d8a80e12895 David Howells 2020-02-06 375 iov_iter_count(&msg.msg_iter), bd80d8a80e12895 David Howells 2020-02-06 376 afs_notify_end_request_tx); bd80d8a80e12895 David Howells 2020-02-06 377 *call->write_iter = msg.msg_iter; bd80d8a80e12895 David Howells 2020-02-06 378 bd80d8a80e12895 David Howells 2020-02-06 379 trace_afs_sent_data(call, &msg, ret); 31143d5d515ece6 David Howells 2007-05-09 380 if (ret < 0) 31143d5d515ece6 David Howells 2007-05-09 381 goto error_do_abort; 31143d5d515ece6 David Howells 2007-05-09 382 } 31143d5d515ece6 David Howells 2007-05-09 383 34fa47612bfe5d7 David Howells 2019-01-10 384 /* Note that at this point, we may have received the reply or an abort 34fa47612bfe5d7 David Howells 2019-01-10 385 * - and an asynchronous call may already have completed. 0b9bf3812ad1f0d David Howells 2019-04-25 386 * 0b9bf3812ad1f0d David Howells 2019-04-25 387 * afs_wait_for_call_to_complete(call, ac) 0b9bf3812ad1f0d David Howells 2019-04-25 388 * must be called to synchronously clean up. 34fa47612bfe5d7 David Howells 2019-01-10 389 */ 0b9bf3812ad1f0d David Howells 2019-04-25 390 return; 08e0e7c82eeadec David Howells 2007-04-26 391 08e0e7c82eeadec David Howells 2007-04-26 392 error_do_abort: 70af0e3bd65142f David Howells 2017-03-16 393 if (ret != -ECONNABORTED) { f044c8847bb61ef David Howells 2017-11-02 394 rxrpc_kernel_abort_call(call->net->socket, rxcall, f044c8847bb61ef David Howells 2017-11-02 395 RX_USER_ABORT, ret, "KSD"); 70af0e3bd65142f David Howells 2017-03-16 396 } else { f105da1a798f23f David Howells 2020-02-06 397 len = 0; aa563d7bca6e882 David Howells 2018-10-20 398 iov_iter_kvec(&msg.msg_iter, READ, NULL, 0, 0); eb9950eb31f56e5 David Howells 2018-08-03 399 rxrpc_kernel_recv_data(call->net->socket, rxcall, f105da1a798f23f David Howells 2020-02-06 400 &msg.msg_iter, &len, false, eb9950eb31f56e5 David Howells 2018-08-03 401 &call->abort_code, &call->service_id); d2ddc776a4581d9 David Howells 2017-11-02 402 ac->abort_code = call->abort_code; d2ddc776a4581d9 David Howells 2017-11-02 403 ac->responded = true; 70af0e3bd65142f David Howells 2017-03-16 404 } 025db80c9e421ef David Howells 2017-11-02 405 call->error = ret; 025db80c9e421ef David Howells 2017-11-02 406 trace_afs_call_done(call); 08e0e7c82eeadec David Howells 2007-04-26 407 error_kill_call: 3bf0fb6f33dd545 David Howells 2018-10-20 408 if (call->type->done) 3bf0fb6f33dd545 David Howells 2018-10-20 409 call->type->done(call); 34fa47612bfe5d7 David Howells 2019-01-10 410 34fa47612bfe5d7 David Howells 2019-01-10 411 /* We need to dispose of the extra ref we grabbed for an async call. 34fa47612bfe5d7 David Howells 2019-01-10 412 * The call, however, might be queued on afs_async_calls and we need to 34fa47612bfe5d7 David Howells 2019-01-10 413 * make sure we don't get any more notifications that might requeue it. 34fa47612bfe5d7 David Howells 2019-01-10 414 */ 34fa47612bfe5d7 David Howells 2019-01-10 415 if (call->rxcall) { 34fa47612bfe5d7 David Howells 2019-01-10 416 rxrpc_kernel_end_call(call->net->socket, call->rxcall); 34fa47612bfe5d7 David Howells 2019-01-10 417 call->rxcall = NULL; 34fa47612bfe5d7 David Howells 2019-01-10 418 } 34fa47612bfe5d7 David Howells 2019-01-10 419 if (call->async) { 34fa47612bfe5d7 David Howells 2019-01-10 420 if (cancel_work_sync(&call->async_work)) 34fa47612bfe5d7 David Howells 2019-01-10 421 afs_put_call(call); 341f741f04becee David Howells 2017-01-05 @422 afs_put_call(call); 34fa47612bfe5d7 David Howells 2019-01-10 423 } 34fa47612bfe5d7 David Howells 2019-01-10 424 d2ddc776a4581d9 David Howells 2017-11-02 425 ac->error = ret; 34fa47612bfe5d7 David Howells 2019-01-10 426 call->state = AFS_CALL_COMPLETE; 08e0e7c82eeadec David Howells 2007-04-26 427 _leave(" = %d", ret); 08e0e7c82eeadec David Howells 2007-04-26 428 } 08e0e7c82eeadec David Howells 2007-04-26 429 :::::: The code at line 422 was first introduced by commit :::::: 341f741f04beceebcb30daa12ae2e5e52e64e532 afs: Refcount the afs_call struct :::::: TO: David Howells <dhowe...@redhat.com> :::::: CC: David Howells <dhowe...@redhat.com> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- kbuild@lists.01.org To unsubscribe send an email to kbuild-le...@lists.01.org