From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: Re: [PATCH net-next 5/5] mctp: Add SIOCMCTP{ALLOC, DROP}TAG ioctls for tag control
Date: Thu, 10 Feb 2022 01:43:35 +0800 [thread overview]
Message-ID: <202202100128.Jug3BevE-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 23362 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
In-Reply-To: <20220208094617.3675511-6-jk@codeconstruct.com.au>
References: <20220208094617.3675511-6-jk@codeconstruct.com.au>
TO: Jeremy Kerr <jk@codeconstruct.com.au>
Hi Jeremy,
I love your patch! Perhaps something to improve:
[auto build test WARNING on net-next/master]
url: https://github.com/0day-ci/linux/commits/Jeremy-Kerr/MCTP-tag-control-interface/20220208-195325
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git c3e676b98326a419f30dd5d956c68fc33323f4fd
:::::: branch date: 30 hours ago
:::::: commit date: 30 hours ago
config: x86_64-randconfig-c007 (https://download.01.org/0day-ci/archive/20220210/202202100128.Jug3BevE-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project e8bff9ae54a55b4dbfeb6ba55f723abbd81bf494)
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
# https://github.com/0day-ci/linux/commit/a1d553f399d7457bd3e455cd3f5e10dddb4bc2bf
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Jeremy-Kerr/MCTP-tag-control-interface/20220208-195325
git checkout a1d553f399d7457bd3e455cd3f5e10dddb4bc2bf
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 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 >>)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mctp/route.c:335:2: note: Taking false branch
if (skb->len < sizeof(struct mctp_hdr) + 1)
^
net/mctp/route.c:342:6: note: Assuming field 'ver' is equal to 1
if (mh->ver != 1)
^~~~~~~~~~~~
net/mctp/route.c:342:2: note: Taking false branch
if (mh->ver != 1)
^
net/mctp/route.c:355:6: note: Assuming the condition is true
if (flags & MCTP_HDR_FLAG_SOM) {
^~~~~~~~~~~~~~~~~~~~~~~~~
net/mctp/route.c:355:2: note: Taking true branch
if (flags & MCTP_HDR_FLAG_SOM) {
^
net/mctp/route.c:356:7: note: 'key' is null
if (key) {
^~~
net/mctp/route.c:356:3: note: Taking false branch
if (key) {
^
net/mctp/route.c:365:8: note: 'key' is null
if (key) {
^~~
net/mctp/route.c:365:4: note: Taking false branch
if (key) {
^
net/mctp/route.c:374:8: note: 'key' is null
if (!key && !msk && (tag & MCTP_HDR_FLAG_TO))
^~~
net/mctp/route.c:374:7: note: Left side of '&&' is true
if (!key && !msk && (tag & MCTP_HDR_FLAG_TO))
^
net/mctp/route.c:374:16: note: 'msk' is null
if (!key && !msk && (tag & MCTP_HDR_FLAG_TO))
^~~
net/mctp/route.c:374:7: note: Left side of '&&' is true
if (!key && !msk && (tag & MCTP_HDR_FLAG_TO))
^
net/mctp/route.c:374:24: note: Assuming the condition is true
if (!key && !msk && (tag & MCTP_HDR_FLAG_TO))
^~~~~~~~~~~~~~~~~~~~~~
net/mctp/route.c:374:3: note: Taking true branch
if (!key && !msk && (tag & MCTP_HDR_FLAG_TO))
^
net/mctp/route.c:377:8: note: 'msk' is non-null
if (!msk) {
^~~
net/mctp/route.c:377:3: note: Taking false branch
if (!msk) {
^
net/mctp/route.c:385:7: note: Assuming the condition is false
if (flags & MCTP_HDR_FLAG_EOM) {
^~~~~~~~~~~~~~~~~~~~~~~~~
net/mctp/route.c:385:3: note: Taking false branch
if (flags & MCTP_HDR_FLAG_EOM) {
^
net/mctp/route.c:402:8: note: 'key' is null
if (!key) {
^~~
net/mctp/route.c:402:3: note: Taking true branch
if (!key) {
^
net/mctp/route.c:403:10: note: Calling 'mctp_key_alloc'
key = mctp_key_alloc(msk, mh->dest, mh->src,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mctp/route.c:140:6: note: Assuming 'key' is non-null
if (!key)
^~~~
net/mctp/route.c:140:2: note: Taking false branch
if (!key)
^
net/mctp/route.c:148:2: note: Loop condition is false. Exiting loop
spin_lock_init(&key->lock);
^
include/linux/spinlock.h:329:35: note: expanded from macro 'spin_lock_init'
# define spin_lock_init(lock) \
^
net/mctp/route.c:403:10: note: Returning from 'mctp_key_alloc'
key = mctp_key_alloc(msk, mh->dest, mh->src,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mctp/route.c:405:9: note: 'key' is non-null
if (!key) {
^~~
net/mctp/route.c:405:4: note: Taking false branch
if (!key) {
^
net/mctp/route.c:422:8: note: Assuming 'rc' is not equal to 0
if (rc)
^~
net/mctp/route.c:422:4: note: Taking true branch
if (rc)
^
net/mctp/route.c:423:5: note: Memory is released
kfree(key);
^~~~~~~~~~
net/mctp/route.c:425:4: note: Use of memory after it is freed
trace_mctp_key_acquire(key);
^ ~~~
>> net/mctp/route.c:458:4: warning: Value stored to 'msk' is never read [clang-analyzer-deadcode.DeadStores]
msk = container_of(key->sk, struct mctp_sock, sk);
^
net/mctp/route.c:458:4: note: Value stored to 'msk' is never read
Suppressed 11 warnings (10 in non-user code, 1 with check filters).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
10 warnings generated.
Suppressed 10 warnings (10 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.
10 warnings generated.
Suppressed 10 warnings (10 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.
10 warnings generated.
Suppressed 10 warnings (10 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.
10 warnings generated.
Suppressed 10 warnings (10 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.
5 warnings generated.
Suppressed 5 warnings (5 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.
Suppressed 4 warnings (4 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.
Suppressed 4 warnings (4 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.
Suppressed 4 warnings (4 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.
Suppressed 4 warnings (4 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.
Suppressed 4 warnings (4 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.
Suppressed 4 warnings (4 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.
Suppressed 4 warnings (4 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.
Suppressed 4 warnings (4 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.
Suppressed 4 warnings (4 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.
Suppressed 4 warnings (4 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.
Suppressed 4 warnings (4 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.
14 warnings generated.
drivers/char/ipmi/ipmi_ssif.c:198:8: warning: Excessive padding in 'struct ssif_info' (35 padding bytes, where 3 is optimal).
Optimal fields order:
intf,
waiting_msg,
curr_msg,
ssif_debug,
addr_info,
client,
done_handler,
thread,
i2c_data,
watch_timeout,
multi_data,
lock,
retry_timer,
watch_timer,
handlers,
wake_thread,
ssif_state,
addr_source,
rtc_us_timer,
data_len,
i2c_read_write,
i2c_command,
i2c_size,
retries_left,
multi_support,
supports_pec,
multi_len,
multi_pos,
stats,
msg_flags,
global_enables,
has_event_buffer,
supports_alert,
got_alert,
waiting_alert,
req_events,
req_flags,
stopping,
max_xmit_msg_size,
max_recv_msg_size,
cmd8_works,
recv,
data,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
vim +/msk +458 net/mctp/route.c
4a992bbd3650947 Jeremy Kerr 2021-07-29 315
889b7da23abf92f Jeremy Kerr 2021-07-29 316 static int mctp_route_input(struct mctp_route *route, struct sk_buff *skb)
889b7da23abf92f Jeremy Kerr 2021-07-29 317 {
833ef3b91de692e Jeremy Kerr 2021-07-29 318 struct net *net = dev_net(skb->dev);
833ef3b91de692e Jeremy Kerr 2021-07-29 319 struct mctp_sk_key *key;
833ef3b91de692e Jeremy Kerr 2021-07-29 320 struct mctp_sock *msk;
833ef3b91de692e Jeremy Kerr 2021-07-29 321 struct mctp_hdr *mh;
4a992bbd3650947 Jeremy Kerr 2021-07-29 322 unsigned long f;
4a992bbd3650947 Jeremy Kerr 2021-07-29 323 u8 tag, flags;
4a992bbd3650947 Jeremy Kerr 2021-07-29 324 int rc;
833ef3b91de692e Jeremy Kerr 2021-07-29 325
833ef3b91de692e Jeremy Kerr 2021-07-29 326 msk = NULL;
4a992bbd3650947 Jeremy Kerr 2021-07-29 327 rc = -EINVAL;
833ef3b91de692e Jeremy Kerr 2021-07-29 328
833ef3b91de692e Jeremy Kerr 2021-07-29 329 /* we may be receiving a locally-routed packet; drop source sk
833ef3b91de692e Jeremy Kerr 2021-07-29 330 * accounting
833ef3b91de692e Jeremy Kerr 2021-07-29 331 */
833ef3b91de692e Jeremy Kerr 2021-07-29 332 skb_orphan(skb);
833ef3b91de692e Jeremy Kerr 2021-07-29 333
833ef3b91de692e Jeremy Kerr 2021-07-29 334 /* ensure we have enough data for a header and a type */
833ef3b91de692e Jeremy Kerr 2021-07-29 335 if (skb->len < sizeof(struct mctp_hdr) + 1)
4a992bbd3650947 Jeremy Kerr 2021-07-29 336 goto out;
833ef3b91de692e Jeremy Kerr 2021-07-29 337
833ef3b91de692e Jeremy Kerr 2021-07-29 338 /* grab header, advance data ptr */
833ef3b91de692e Jeremy Kerr 2021-07-29 339 mh = mctp_hdr(skb);
833ef3b91de692e Jeremy Kerr 2021-07-29 340 skb_pull(skb, sizeof(struct mctp_hdr));
833ef3b91de692e Jeremy Kerr 2021-07-29 341
833ef3b91de692e Jeremy Kerr 2021-07-29 342 if (mh->ver != 1)
4a992bbd3650947 Jeremy Kerr 2021-07-29 343 goto out;
833ef3b91de692e Jeremy Kerr 2021-07-29 344
4a992bbd3650947 Jeremy Kerr 2021-07-29 345 flags = mh->flags_seq_tag & (MCTP_HDR_FLAG_SOM | MCTP_HDR_FLAG_EOM);
4a992bbd3650947 Jeremy Kerr 2021-07-29 346 tag = mh->flags_seq_tag & (MCTP_HDR_TAG_MASK | MCTP_HDR_FLAG_TO);
833ef3b91de692e Jeremy Kerr 2021-07-29 347
833ef3b91de692e Jeremy Kerr 2021-07-29 348 rcu_read_lock();
4a992bbd3650947 Jeremy Kerr 2021-07-29 349
73c618456dc5cf2 Jeremy Kerr 2021-09-29 350 /* lookup socket / reasm context, exactly matching (src,dest,tag).
73c618456dc5cf2 Jeremy Kerr 2021-09-29 351 * we hold a ref on the key, and key->lock held.
73c618456dc5cf2 Jeremy Kerr 2021-09-29 352 */
73c618456dc5cf2 Jeremy Kerr 2021-09-29 353 key = mctp_lookup_key(net, skb, mh->src, &f);
833ef3b91de692e Jeremy Kerr 2021-07-29 354
4a992bbd3650947 Jeremy Kerr 2021-07-29 355 if (flags & MCTP_HDR_FLAG_SOM) {
4a992bbd3650947 Jeremy Kerr 2021-07-29 356 if (key) {
4a992bbd3650947 Jeremy Kerr 2021-07-29 357 msk = container_of(key->sk, struct mctp_sock, sk);
4a992bbd3650947 Jeremy Kerr 2021-07-29 358 } else {
4a992bbd3650947 Jeremy Kerr 2021-07-29 359 /* first response to a broadcast? do a more general
4a992bbd3650947 Jeremy Kerr 2021-07-29 360 * key lookup to find the socket, but don't use this
4a992bbd3650947 Jeremy Kerr 2021-07-29 361 * key for reassembly - we'll create a more specific
4a992bbd3650947 Jeremy Kerr 2021-07-29 362 * one for future packets if required (ie, !EOM).
4a992bbd3650947 Jeremy Kerr 2021-07-29 363 */
73c618456dc5cf2 Jeremy Kerr 2021-09-29 364 key = mctp_lookup_key(net, skb, MCTP_ADDR_ANY, &f);
4a992bbd3650947 Jeremy Kerr 2021-07-29 365 if (key) {
4a992bbd3650947 Jeremy Kerr 2021-07-29 366 msk = container_of(key->sk,
4a992bbd3650947 Jeremy Kerr 2021-07-29 367 struct mctp_sock, sk);
73c618456dc5cf2 Jeremy Kerr 2021-09-29 368 spin_unlock_irqrestore(&key->lock, f);
73c618456dc5cf2 Jeremy Kerr 2021-09-29 369 mctp_key_unref(key);
4a992bbd3650947 Jeremy Kerr 2021-07-29 370 key = NULL;
4a992bbd3650947 Jeremy Kerr 2021-07-29 371 }
4a992bbd3650947 Jeremy Kerr 2021-07-29 372 }
833ef3b91de692e Jeremy Kerr 2021-07-29 373
4a992bbd3650947 Jeremy Kerr 2021-07-29 374 if (!key && !msk && (tag & MCTP_HDR_FLAG_TO))
833ef3b91de692e Jeremy Kerr 2021-07-29 375 msk = mctp_lookup_bind(net, skb);
833ef3b91de692e Jeremy Kerr 2021-07-29 376
4a992bbd3650947 Jeremy Kerr 2021-07-29 377 if (!msk) {
4a992bbd3650947 Jeremy Kerr 2021-07-29 378 rc = -ENOENT;
4a992bbd3650947 Jeremy Kerr 2021-07-29 379 goto out_unlock;
4a992bbd3650947 Jeremy Kerr 2021-07-29 380 }
833ef3b91de692e Jeremy Kerr 2021-07-29 381
4a992bbd3650947 Jeremy Kerr 2021-07-29 382 /* single-packet message? deliver to socket, clean up any
4a992bbd3650947 Jeremy Kerr 2021-07-29 383 * pending key.
4a992bbd3650947 Jeremy Kerr 2021-07-29 384 */
4a992bbd3650947 Jeremy Kerr 2021-07-29 385 if (flags & MCTP_HDR_FLAG_EOM) {
833ef3b91de692e Jeremy Kerr 2021-07-29 386 sock_queue_rcv_skb(&msk->sk, skb);
4a992bbd3650947 Jeremy Kerr 2021-07-29 387 if (key) {
4a992bbd3650947 Jeremy Kerr 2021-07-29 388 /* we've hit a pending reassembly; not much we
4a992bbd3650947 Jeremy Kerr 2021-07-29 389 * can do but drop it
4a992bbd3650947 Jeremy Kerr 2021-07-29 390 */
a1d553f399d7457 Matt Johnston 2022-02-08 391 __mctp_key_done_in(key, net, f,
4f9e1ba6de45aa8 Jeremy Kerr 2021-09-29 392 MCTP_TRACE_KEY_REPLIED);
73c618456dc5cf2 Jeremy Kerr 2021-09-29 393 key = NULL;
4a992bbd3650947 Jeremy Kerr 2021-07-29 394 }
4a992bbd3650947 Jeremy Kerr 2021-07-29 395 rc = 0;
4a992bbd3650947 Jeremy Kerr 2021-07-29 396 goto out_unlock;
4a992bbd3650947 Jeremy Kerr 2021-07-29 397 }
833ef3b91de692e Jeremy Kerr 2021-07-29 398
4a992bbd3650947 Jeremy Kerr 2021-07-29 399 /* broadcast response or a bind() - create a key for further
4a992bbd3650947 Jeremy Kerr 2021-07-29 400 * packets for this message
4a992bbd3650947 Jeremy Kerr 2021-07-29 401 */
4a992bbd3650947 Jeremy Kerr 2021-07-29 402 if (!key) {
4a992bbd3650947 Jeremy Kerr 2021-07-29 403 key = mctp_key_alloc(msk, mh->dest, mh->src,
4a992bbd3650947 Jeremy Kerr 2021-07-29 404 tag, GFP_ATOMIC);
4a992bbd3650947 Jeremy Kerr 2021-07-29 405 if (!key) {
4a992bbd3650947 Jeremy Kerr 2021-07-29 406 rc = -ENOMEM;
4a992bbd3650947 Jeremy Kerr 2021-07-29 407 goto out_unlock;
4a992bbd3650947 Jeremy Kerr 2021-07-29 408 }
833ef3b91de692e Jeremy Kerr 2021-07-29 409
73c618456dc5cf2 Jeremy Kerr 2021-09-29 410 /* we can queue without the key lock here, as the
4a992bbd3650947 Jeremy Kerr 2021-07-29 411 * key isn't observable yet
4a992bbd3650947 Jeremy Kerr 2021-07-29 412 */
4a992bbd3650947 Jeremy Kerr 2021-07-29 413 mctp_frag_queue(key, skb);
4a992bbd3650947 Jeremy Kerr 2021-07-29 414
4a992bbd3650947 Jeremy Kerr 2021-07-29 415 /* if the key_add fails, we've raced with another
4a992bbd3650947 Jeremy Kerr 2021-07-29 416 * SOM packet with the same src, dest and tag. There's
4a992bbd3650947 Jeremy Kerr 2021-07-29 417 * no way to distinguish future packets, so all we
4a992bbd3650947 Jeremy Kerr 2021-07-29 418 * can do is drop; we'll free the skb on exit from
4a992bbd3650947 Jeremy Kerr 2021-07-29 419 * this function.
4a992bbd3650947 Jeremy Kerr 2021-07-29 420 */
4a992bbd3650947 Jeremy Kerr 2021-07-29 421 rc = mctp_key_add(key, msk);
4a992bbd3650947 Jeremy Kerr 2021-07-29 422 if (rc)
4a992bbd3650947 Jeremy Kerr 2021-07-29 423 kfree(key);
4a992bbd3650947 Jeremy Kerr 2021-07-29 424
4f9e1ba6de45aa8 Jeremy Kerr 2021-09-29 425 trace_mctp_key_acquire(key);
4f9e1ba6de45aa8 Jeremy Kerr 2021-09-29 426
73c618456dc5cf2 Jeremy Kerr 2021-09-29 427 /* we don't need to release key->lock on exit */
0b93aed2842d950 Matt Johnston 2021-10-14 428 mctp_key_unref(key);
73c618456dc5cf2 Jeremy Kerr 2021-09-29 429 key = NULL;
4a992bbd3650947 Jeremy Kerr 2021-07-29 430
73c618456dc5cf2 Jeremy Kerr 2021-09-29 431 } else {
4a992bbd3650947 Jeremy Kerr 2021-07-29 432 if (key->reasm_head || key->reasm_dead) {
4a992bbd3650947 Jeremy Kerr 2021-07-29 433 /* duplicate start? drop everything */
a1d553f399d7457 Matt Johnston 2022-02-08 434 __mctp_key_done_in(key, net, f,
4f9e1ba6de45aa8 Jeremy Kerr 2021-09-29 435 MCTP_TRACE_KEY_INVALIDATED);
4a992bbd3650947 Jeremy Kerr 2021-07-29 436 rc = -EEXIST;
73c618456dc5cf2 Jeremy Kerr 2021-09-29 437 key = NULL;
4a992bbd3650947 Jeremy Kerr 2021-07-29 438 } else {
4a992bbd3650947 Jeremy Kerr 2021-07-29 439 rc = mctp_frag_queue(key, skb);
4a992bbd3650947 Jeremy Kerr 2021-07-29 440 }
4a992bbd3650947 Jeremy Kerr 2021-07-29 441 }
4a992bbd3650947 Jeremy Kerr 2021-07-29 442
4a992bbd3650947 Jeremy Kerr 2021-07-29 443 } else if (key) {
4a992bbd3650947 Jeremy Kerr 2021-07-29 444 /* this packet continues a previous message; reassemble
4a992bbd3650947 Jeremy Kerr 2021-07-29 445 * using the message-specific key
4a992bbd3650947 Jeremy Kerr 2021-07-29 446 */
4a992bbd3650947 Jeremy Kerr 2021-07-29 447
4a992bbd3650947 Jeremy Kerr 2021-07-29 448 /* we need to be continuing an existing reassembly... */
4a992bbd3650947 Jeremy Kerr 2021-07-29 449 if (!key->reasm_head)
4a992bbd3650947 Jeremy Kerr 2021-07-29 450 rc = -EINVAL;
4a992bbd3650947 Jeremy Kerr 2021-07-29 451 else
4a992bbd3650947 Jeremy Kerr 2021-07-29 452 rc = mctp_frag_queue(key, skb);
4a992bbd3650947 Jeremy Kerr 2021-07-29 453
4a992bbd3650947 Jeremy Kerr 2021-07-29 454 /* end of message? deliver to socket, and we're done with
4a992bbd3650947 Jeremy Kerr 2021-07-29 455 * the reassembly/response key
4a992bbd3650947 Jeremy Kerr 2021-07-29 456 */
4a992bbd3650947 Jeremy Kerr 2021-07-29 457 if (!rc && flags & MCTP_HDR_FLAG_EOM) {
a1d553f399d7457 Matt Johnston 2022-02-08 @458 msk = container_of(key->sk, struct mctp_sock, sk);
4a992bbd3650947 Jeremy Kerr 2021-07-29 459 sock_queue_rcv_skb(key->sk, key->reasm_head);
4a992bbd3650947 Jeremy Kerr 2021-07-29 460 key->reasm_head = NULL;
a1d553f399d7457 Matt Johnston 2022-02-08 461 __mctp_key_done_in(key, net, f, MCTP_TRACE_KEY_REPLIED);
73c618456dc5cf2 Jeremy Kerr 2021-09-29 462 key = NULL;
4a992bbd3650947 Jeremy Kerr 2021-07-29 463 }
4a992bbd3650947 Jeremy Kerr 2021-07-29 464
4a992bbd3650947 Jeremy Kerr 2021-07-29 465 } else {
4a992bbd3650947 Jeremy Kerr 2021-07-29 466 /* not a start, no matching key */
4a992bbd3650947 Jeremy Kerr 2021-07-29 467 rc = -ENOENT;
4a992bbd3650947 Jeremy Kerr 2021-07-29 468 }
4a992bbd3650947 Jeremy Kerr 2021-07-29 469
4a992bbd3650947 Jeremy Kerr 2021-07-29 470 out_unlock:
833ef3b91de692e Jeremy Kerr 2021-07-29 471 rcu_read_unlock();
73c618456dc5cf2 Jeremy Kerr 2021-09-29 472 if (key) {
73c618456dc5cf2 Jeremy Kerr 2021-09-29 473 spin_unlock_irqrestore(&key->lock, f);
73c618456dc5cf2 Jeremy Kerr 2021-09-29 474 mctp_key_unref(key);
73c618456dc5cf2 Jeremy Kerr 2021-09-29 475 }
4a992bbd3650947 Jeremy Kerr 2021-07-29 476 out:
4a992bbd3650947 Jeremy Kerr 2021-07-29 477 if (rc)
889b7da23abf92f Jeremy Kerr 2021-07-29 478 kfree_skb(skb);
4a992bbd3650947 Jeremy Kerr 2021-07-29 479 return rc;
4a992bbd3650947 Jeremy Kerr 2021-07-29 480 }
4a992bbd3650947 Jeremy Kerr 2021-07-29 481
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next reply other threads:[~2022-02-09 17:43 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-09 17:43 kernel test robot [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-02-13 1:46 [PATCH net-next 5/5] mctp: Add SIOCMCTP{ALLOC, DROP}TAG ioctls for tag control kernel test robot
2022-02-08 9:46 [PATCH net-next 0/5] MCTP tag control interface Jeremy Kerr
2022-02-08 9:46 ` [PATCH net-next 5/5] mctp: Add SIOCMCTP{ALLOC,DROP}TAG ioctls for tag control Jeremy Kerr
2022-02-08 16:10 ` kernel test robot
2022-02-08 16:10 ` [PATCH net-next 5/5] mctp: Add SIOCMCTP{ALLOC, DROP}TAG " kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202202100128.Jug3BevE-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.