From: Zhu Yanjun <yanjun.zhu@linux.dev>
To: syzbot
<syzbot+list6d1c113d5d8954339576@syzkaller.appspotmail.com>,
linux-kernel@vger.kernel.org, linux-rdma@vger.kernel.org,
netdev@vger.kernel.org, syzkaller-bugs@googlegroups.com
Subject: Re: [syzbot] Monthly rdma report (Aug 2024)
Date: Sat, 31 Aug 2024 12:02:21 +0800 [thread overview]
Message-ID: <dc333b90-d8a4-488f-8c3e-9b2f3ed8b89c@linux.dev> (raw)
In-Reply-To: <000000000000e629df0620a63b2a@google.com>
在 2024/8/27 16:43, syzbot 写道:
> Hello rdma maintainers/developers,
>
> This is a 31-day syzbot report for the rdma subsystem.
> All related reports/information can be found at:
> https://syzkaller.appspot.com/upstream/s/rdma
>
> During the period, 1 new issues were detected and 0 were fixed.
> In total, 5 issues are still open and 60 have been fixed so far.
>
> Some of the still happening issues:
>
> Ref Crashes Repro Title
> <1> 33 No INFO: task hung in disable_device
> https://syzkaller.appspot.com/bug?extid=4d0c396361b5dc5d610f
> <2> 24 No WARNING in rxe_pool_cleanup
> https://syzkaller.appspot.com/bug?extid=221e213bf17f17e0d6cd
I devled into this problem. From the call trace,we can go to this function:
void rxe_dealloc(struct ib_device *ib_dev)
{
struct rxe_dev *rxe = container_of(ib_dev, struct rxe_dev, ib_dev);
rxe_pool_cleanup(&rxe->uc_pool);
rxe_pool_cleanup(&rxe->pd_pool); <---- Here
rxe_pool_cleanup(&rxe->ah_pool);
...
}
rxe_dealloc -- > rxe_pool_cleanup
It seems that pd_pool is not empty when pd_pool is cleaned up.
But from the call trace, it is difficult to find out why pd_pool not empty.
I am not sure if this problem can be reproduced or not.
If it can be reproduced, we can monitor alloc_pd and dealloc_pd
functions to check if these 2 functions are matched.
Normally the number of invoked alloc_pd should be equal to the number of
dealloc_pd.
And alloc_pd and dealloc_pd functions can be called via function
pointers. So these 2 functions can be called from many places. Thus, it
is difficult to check these 2 functions in source codes.
If it can be reproduced, we can use kprobe,bpf or add call traces to
mointor the usages of the 2 functions. Then it is easier to find out why
pd_pool not empty.
This is based on the fact that we can reproduce this problem.^_^
Zhu Yanjun
> <3> 2 No possible deadlock in sock_set_reuseaddr
> https://syzkaller.appspot.com/bug?extid=af5682e4f50cd6bce838
>
> ---
> This report is generated by a bot. It may contain errors.
> See https://goo.gl/tpsmEJ for more information about syzbot.
> syzbot engineers can be reached at syzkaller@googlegroups.com.
>
> To disable reminders for individual bugs, reply with the following command:
> #syz set <Ref> no-reminders
>
> To change bug's subsystems, reply with:
> #syz set <Ref> subsystems: new-subsystem
>
> You may send multiple commands in a single email message.
prev parent reply other threads:[~2024-08-31 4:02 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-27 8:43 [syzbot] Monthly rdma report (Aug 2024) syzbot
2024-08-31 4:02 ` Zhu Yanjun [this message]
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=dc333b90-d8a4-488f-8c3e-9b2f3ed8b89c@linux.dev \
--to=yanjun.zhu@linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rdma@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=syzbot+list6d1c113d5d8954339576@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.com \
/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.