* net/kcm/kcmsock.c:645 kcm_write_msgs() error: we previously assumed 'psock' could be null (see line 585)
@ 2022-01-25 14:47 ` Dan Carpenter
0 siblings, 0 replies; 3+ messages in thread
From: kernel test robot @ 2022-01-21 19:31 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 13428 bytes --]
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Christophe Leroy <christophe.leroy@csgroup.eu>
CC: Michael Ellerman <mpe@ellerman.id.au>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9b57f458985742bd1c585f4c7f36d04634ce1143
commit: 1e688dd2a3d6759d416616ff07afc4bb836c4213 powerpc/bug: Provide better flexibility to WARN_ON/__WARN_FLAGS() with asm goto
date: 5 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 5 months ago
config: powerpc64-randconfig-m031-20220120 (https://download.01.org/0day-ci/archive/20220122/202201220354.fJ3VzqBt-lkp(a)intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
net/kcm/kcmsock.c:645 kcm_write_msgs() error: we previously assumed 'psock' could be null (see line 585)
vim +/psock +645 net/kcm/kcmsock.c
cd6e111bf5be5c7 Tom Herbert 2016-03-07 569
ab7ac4eb9832e32 Tom Herbert 2016-03-07 570 /* Write any messages ready on the kcm socket. Called with kcm sock lock
ab7ac4eb9832e32 Tom Herbert 2016-03-07 571 * held. Return bytes actually sent or error.
ab7ac4eb9832e32 Tom Herbert 2016-03-07 572 */
ab7ac4eb9832e32 Tom Herbert 2016-03-07 573 static int kcm_write_msgs(struct kcm_sock *kcm)
ab7ac4eb9832e32 Tom Herbert 2016-03-07 574 {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 575 struct sock *sk = &kcm->sk;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 576 struct kcm_psock *psock;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 577 struct sk_buff *skb, *head;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 578 struct kcm_tx_msg *txm;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 579 unsigned short fragidx, frag_offset;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 580 unsigned int sent, total_sent = 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 581 int ret = 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 582
ab7ac4eb9832e32 Tom Herbert 2016-03-07 583 kcm->tx_wait_more = false;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 584 psock = kcm->tx_psock;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 @585 if (unlikely(psock && psock->tx_stopped)) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 586 /* A reserved psock was aborted asynchronously. Unreserve
ab7ac4eb9832e32 Tom Herbert 2016-03-07 587 * it and we'll retry the message.
ab7ac4eb9832e32 Tom Herbert 2016-03-07 588 */
ab7ac4eb9832e32 Tom Herbert 2016-03-07 589 unreserve_psock(kcm);
cd6e111bf5be5c7 Tom Herbert 2016-03-07 590 kcm_report_tx_retry(kcm);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 591 if (skb_queue_empty(&sk->sk_write_queue))
ab7ac4eb9832e32 Tom Herbert 2016-03-07 592 return 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 593
ab7ac4eb9832e32 Tom Herbert 2016-03-07 594 kcm_tx_msg(skb_peek(&sk->sk_write_queue))->sent = 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 595
ab7ac4eb9832e32 Tom Herbert 2016-03-07 596 } else if (skb_queue_empty(&sk->sk_write_queue)) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 597 return 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 598 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 599
ab7ac4eb9832e32 Tom Herbert 2016-03-07 600 head = skb_peek(&sk->sk_write_queue);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 601 txm = kcm_tx_msg(head);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 602
ab7ac4eb9832e32 Tom Herbert 2016-03-07 603 if (txm->sent) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 604 /* Send of first skbuff in queue already in progress */
ab7ac4eb9832e32 Tom Herbert 2016-03-07 605 if (WARN_ON(!psock)) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 606 ret = -EINVAL;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 607 goto out;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 608 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 609 sent = txm->sent;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 610 frag_offset = txm->frag_offset;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 611 fragidx = txm->fragidx;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 612 skb = txm->frag_skb;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 613
ab7ac4eb9832e32 Tom Herbert 2016-03-07 614 goto do_frag;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 615 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 616
ab7ac4eb9832e32 Tom Herbert 2016-03-07 617 try_again:
ab7ac4eb9832e32 Tom Herbert 2016-03-07 618 psock = reserve_psock(kcm);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 619 if (!psock)
ab7ac4eb9832e32 Tom Herbert 2016-03-07 620 goto out;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 621
ab7ac4eb9832e32 Tom Herbert 2016-03-07 622 do {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 623 skb = head;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 624 txm = kcm_tx_msg(head);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 625 sent = 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 626
ab7ac4eb9832e32 Tom Herbert 2016-03-07 627 do_frag_list:
ab7ac4eb9832e32 Tom Herbert 2016-03-07 628 if (WARN_ON(!skb_shinfo(skb)->nr_frags)) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 629 ret = -EINVAL;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 630 goto out;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 631 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 632
ab7ac4eb9832e32 Tom Herbert 2016-03-07 633 for (fragidx = 0; fragidx < skb_shinfo(skb)->nr_frags;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 634 fragidx++) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 635 skb_frag_t *frag;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 636
ab7ac4eb9832e32 Tom Herbert 2016-03-07 637 frag_offset = 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 638 do_frag:
ab7ac4eb9832e32 Tom Herbert 2016-03-07 639 frag = &skb_shinfo(skb)->frags[fragidx];
d8e18a516f8f674 Matthew Wilcox (Oracle 2019-07-22 640) if (WARN_ON(!skb_frag_size(frag))) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 641 ret = -EINVAL;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 642 goto out;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 643 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 644
ab7ac4eb9832e32 Tom Herbert 2016-03-07 @645 ret = kernel_sendpage(psock->sk->sk_socket,
d8e18a516f8f674 Matthew Wilcox (Oracle 2019-07-22 646) skb_frag_page(frag),
b54c9d5bd6e38ed Jonathan Lemon 2019-07-30 647 skb_frag_off(frag) + frag_offset,
d8e18a516f8f674 Matthew Wilcox (Oracle 2019-07-22 648) skb_frag_size(frag) - frag_offset,
ab7ac4eb9832e32 Tom Herbert 2016-03-07 649 MSG_DONTWAIT);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 650 if (ret <= 0) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 651 if (ret == -EAGAIN) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 652 /* Save state to try again when there's
ab7ac4eb9832e32 Tom Herbert 2016-03-07 653 * write space on the socket
ab7ac4eb9832e32 Tom Herbert 2016-03-07 654 */
ab7ac4eb9832e32 Tom Herbert 2016-03-07 655 txm->sent = sent;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 656 txm->frag_offset = frag_offset;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 657 txm->fragidx = fragidx;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 658 txm->frag_skb = skb;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 659
ab7ac4eb9832e32 Tom Herbert 2016-03-07 660 ret = 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 661 goto out;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 662 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 663
ab7ac4eb9832e32 Tom Herbert 2016-03-07 664 /* Hard failure in sending message, abort this
ab7ac4eb9832e32 Tom Herbert 2016-03-07 665 * psock since it has lost framing
71a2fae50895b32 Bhaskar Chowdhury 2021-03-27 666 * synchronization and retry sending the
ab7ac4eb9832e32 Tom Herbert 2016-03-07 667 * message from the beginning.
ab7ac4eb9832e32 Tom Herbert 2016-03-07 668 */
ab7ac4eb9832e32 Tom Herbert 2016-03-07 669 kcm_abort_tx_psock(psock, ret ? -ret : EPIPE,
ab7ac4eb9832e32 Tom Herbert 2016-03-07 670 true);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 671 unreserve_psock(kcm);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 672
ab7ac4eb9832e32 Tom Herbert 2016-03-07 673 txm->sent = 0;
cd6e111bf5be5c7 Tom Herbert 2016-03-07 674 kcm_report_tx_retry(kcm);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 675 ret = 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 676
ab7ac4eb9832e32 Tom Herbert 2016-03-07 677 goto try_again;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 678 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 679
ab7ac4eb9832e32 Tom Herbert 2016-03-07 680 sent += ret;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 681 frag_offset += ret;
cd6e111bf5be5c7 Tom Herbert 2016-03-07 682 KCM_STATS_ADD(psock->stats.tx_bytes, ret);
d8e18a516f8f674 Matthew Wilcox (Oracle 2019-07-22 683) if (frag_offset < skb_frag_size(frag)) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 684 /* Not finished with this frag */
ab7ac4eb9832e32 Tom Herbert 2016-03-07 685 goto do_frag;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 686 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 687 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 688
ab7ac4eb9832e32 Tom Herbert 2016-03-07 689 if (skb == head) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 690 if (skb_has_frag_list(skb)) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 691 skb = skb_shinfo(skb)->frag_list;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 692 goto do_frag_list;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 693 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 694 } else if (skb->next) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 695 skb = skb->next;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 696 goto do_frag_list;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 697 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 698
ab7ac4eb9832e32 Tom Herbert 2016-03-07 699 /* Successfully sent the whole packet, account for it. */
ab7ac4eb9832e32 Tom Herbert 2016-03-07 700 skb_dequeue(&sk->sk_write_queue);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 701 kfree_skb(head);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 702 sk->sk_wmem_queued -= sent;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 703 total_sent += sent;
cd6e111bf5be5c7 Tom Herbert 2016-03-07 704 KCM_STATS_INCR(psock->stats.tx_msgs);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 705 } while ((head = skb_peek(&sk->sk_write_queue)));
ab7ac4eb9832e32 Tom Herbert 2016-03-07 706 out:
ab7ac4eb9832e32 Tom Herbert 2016-03-07 707 if (!head) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 708 /* Done with all queued messages. */
ab7ac4eb9832e32 Tom Herbert 2016-03-07 709 WARN_ON(!skb_queue_empty(&sk->sk_write_queue));
ab7ac4eb9832e32 Tom Herbert 2016-03-07 710 unreserve_psock(kcm);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 711 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 712
ab7ac4eb9832e32 Tom Herbert 2016-03-07 713 /* Check if write space is available */
ab7ac4eb9832e32 Tom Herbert 2016-03-07 714 sk->sk_write_space(sk);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 715
ab7ac4eb9832e32 Tom Herbert 2016-03-07 716 return total_sent ? : ret;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 717 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 718
:::::: The code at line 645 was first introduced by commit
:::::: ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 kcm: Kernel Connection Multiplexor module
:::::: TO: Tom Herbert <tom@herbertland.com>
:::::: CC: David S. Miller <davem@davemloft.net>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 3+ messages in thread
* net/kcm/kcmsock.c:645 kcm_write_msgs() error: we previously assumed 'psock' could be null (see line 585)
@ 2022-01-25 14:47 ` Dan Carpenter
0 siblings, 0 replies; 3+ messages in thread
From: Dan Carpenter @ 2022-01-25 14:47 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3255 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9b57f458985742bd1c585f4c7f36d04634ce1143
commit: 1e688dd2a3d6759d416616ff07afc4bb836c4213 powerpc/bug: Provide better flexibility to WARN_ON/__WARN_FLAGS() with asm goto
config: powerpc64-randconfig-m031-20220120 (https://download.01.org/0day-ci/archive/20220122/202201220354.fJ3VzqBt-lkp(a)intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
net/kcm/kcmsock.c:645 kcm_write_msgs() error: we previously assumed 'psock' could be null (see line 585)
vim +/psock +645 net/kcm/kcmsock.c
ab7ac4eb9832e32 Tom Herbert 2016-03-07 589 unreserve_psock(kcm);
cd6e111bf5be5c7 Tom Herbert 2016-03-07 590 kcm_report_tx_retry(kcm);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 591 if (skb_queue_empty(&sk->sk_write_queue))
ab7ac4eb9832e32 Tom Herbert 2016-03-07 592 return 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 593
ab7ac4eb9832e32 Tom Herbert 2016-03-07 594 kcm_tx_msg(skb_peek(&sk->sk_write_queue))->sent = 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 595
ab7ac4eb9832e32 Tom Herbert 2016-03-07 596 } else if (skb_queue_empty(&sk->sk_write_queue)) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 597 return 0;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 598 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 599
ab7ac4eb9832e32 Tom Herbert 2016-03-07 600 head = skb_peek(&sk->sk_write_queue);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 601 txm = kcm_tx_msg(head);
ab7ac4eb9832e32 Tom Herbert 2016-03-07 602
ab7ac4eb9832e32 Tom Herbert 2016-03-07 603 if (txm->sent) {
ab7ac4eb9832e32 Tom Herbert 2016-03-07 604 /* Send of first skbuff in queue already in progress */
ab7ac4eb9832e32 Tom Herbert 2016-03-07 605 if (WARN_ON(!psock)) {
This warning is a false positive.
The new Power PC implementation of WARN_ON() is written in asm and
Smatch can only parse C. I don't have a cross compile system set up so
fixing this is going to be a big headache. :/
ab7ac4eb9832e32 Tom Herbert 2016-03-07 606 ret = -EINVAL;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 607 goto out;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 608 }
ab7ac4eb9832e32 Tom Herbert 2016-03-07 609 sent = txm->sent;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 610 frag_offset = txm->frag_offset;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 611 fragidx = txm->fragidx;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 612 skb = txm->frag_skb;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 613
ab7ac4eb9832e32 Tom Herbert 2016-03-07 614 goto do_frag;
ab7ac4eb9832e32 Tom Herbert 2016-03-07 615 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: net/kcm/kcmsock.c:645 kcm_write_msgs() error: we previously assumed 'psock' could be null (see line 585)
2022-01-25 14:47 ` Dan Carpenter
(?)
@ 2022-01-25 17:11 ` Christophe Leroy
-1 siblings, 0 replies; 3+ messages in thread
From: Christophe Leroy @ 2022-01-25 17:11 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2922 bytes --]
Le 25/01/2022 à 15:47, Dan Carpenter a écrit :
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 9b57f458985742bd1c585f4c7f36d04634ce1143
> commit: 1e688dd2a3d6759d416616ff07afc4bb836c4213 powerpc/bug: Provide better flexibility to WARN_ON/__WARN_FLAGS() with asm goto
> config: powerpc64-randconfig-m031-20220120 (https://download.01.org/0day-ci/archive/20220122/202201220354.fJ3VzqBt-lkp(a)intel.com/config)
> compiler: powerpc64-linux-gcc (GCC) 11.2.0
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
> Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
>
> smatch warnings:
> net/kcm/kcmsock.c:645 kcm_write_msgs() error: we previously assumed 'psock' could be null (see line 585)
>
> vim +/psock +645 net/kcm/kcmsock.c
>
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 589 unreserve_psock(kcm);
> cd6e111bf5be5c7 Tom Herbert 2016-03-07 590 kcm_report_tx_retry(kcm);
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 591 if (skb_queue_empty(&sk->sk_write_queue))
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 592 return 0;
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 593
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 594 kcm_tx_msg(skb_peek(&sk->sk_write_queue))->sent = 0;
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 595
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 596 } else if (skb_queue_empty(&sk->sk_write_queue)) {
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 597 return 0;
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 598 }
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 599
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 600 head = skb_peek(&sk->sk_write_queue);
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 601 txm = kcm_tx_msg(head);
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 602
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 603 if (txm->sent) {
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 604 /* Send of first skbuff in queue already in progress */
> ab7ac4eb9832e32 Tom Herbert 2016-03-07 605 if (WARN_ON(!psock)) {
>
> This warning is a false positive.
>
> The new Power PC implementation of WARN_ON() is written in asm and
> Smatch can only parse C. I don't have a cross compile system set up so
> fixing this is going to be a big headache. :/
Can you explain what the problem is ?
Yes psock could be NULL, that the reason why there is this WARN_ON(),
isn't it ?
So what does smatch doesn't like here ?
How do I install smatch and how do I use it to reproduce that ?
Is it like sparse, does it set the __CHECKER__ macro ? Would it work if
we do a simplified C version of WARN_ON() when __CHECKER__ is defined ?
Thanks
Christophe
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-01-25 17:11 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-21 19:31 net/kcm/kcmsock.c:645 kcm_write_msgs() error: we previously assumed 'psock' could be null (see line 585) kernel test robot
2022-01-25 14:47 ` Dan Carpenter
2022-01-25 17:11 ` Christophe Leroy
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.