From: Yury Norov <yury.norov@gmail.com>
To: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Cc: Borislav Petkov <bp@alien8.de>,
Linus Torvalds <torvalds@linux-foundation.org>,
syzbot <syzbot+d0fd2bf0dd6da72496dd@syzkaller.appspotmail.com>,
syzkaller-bugs@googlegroups.com,
Andrew Jones <ajones@ventanamicro.com>,
netdev@vger.kernel.org, "David S . Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Menglong Dong <imagedong@tencent.com>,
Kuniyuki Iwashima <kuniyu@amazon.com>,
Petr Machata <petrm@nvidia.com>,
Guo Ren <guoren@linux.alibaba.com>,
"Michael S . Tsirkin" <mst@redhat.com>,
Alexander Gordeev <agordeev@linux.ibm.com>,
andriy.shevchenko@linux.intel.com, linux@rasmusvillemoes.dk,
caraitto@google.com, willemb@google.com, jonolson@google.com,
amritha.nambiar@intel.com, linux-kernel@vger.kernel.org
Subject: Re: [syzbot] WARNING in c_start
Date: Sat, 15 Oct 2022 18:12:28 -0700 [thread overview]
Message-ID: <Y0tafD7qI2x5xzTc@yury-laptop> (raw)
In-Reply-To: <23488f06-c4b4-8bd8-b0bc-85914ba4d1c6@I-love.SAKURA.ne.jp>
On Sun, Oct 16, 2022 at 09:24:57AM +0900, Tetsuo Handa wrote:
> On 2022/10/16 5:44, Yury Norov wrote:
> > Add people from other threads discussing this.
> >
> > On Sat, Oct 15, 2022 at 01:53:19PM +0200, Borislav Petkov wrote:
> >> On Sat, Oct 15, 2022 at 08:39:19PM +0900, Tetsuo Handa wrote:
> >>> That's an invalid command line. The correct syntax is:
> >>>
> >>> #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> >>
> >> The fix is not in Linus' tree yet.
> >>
> >>> Andrew Jones proposed a fix for x86 and riscv architectures [2]. But
> >>> other architectures have the same problem. And fixing all callers will
> >>> not be in time for this merge window.
> >>
> >> Why won't there be time? That's why the -rcs are for.
> >>
> >> Also, that thing fires only when CONFIG_DEBUG_PER_CPU_MAPS is enabled.
> >>
> >> So no, we will take Andrew's fixes for all arches in time for 6.1.
> >
> > Summarizing things:
> >
> > 1. cpumask_check() was introduced to make sure that the cpu number
> > passed into cpumask API belongs to a valid range. But the check is
> > broken for a very long time. And because of that there are a lot of
> > places where cpumask API is used wrongly.
> >
> > 2. Underlying bitmap functions handle that correctly - when user
> > passes out-of-range CPU index, the nr_cpu_ids is returned, and this is
> > what expected by client code. So if DEBUG_PER_CPU_MAPS config is off,
> > everything is working smoothly.
> >
> > 3. I fixed all warnings that I was aware at the time of submitting the
> > patch. 2 follow-up series are on review: "[PATCH v2 0/4] net: drop
> > netif_attrmask_next*()" and "[PATCH 0/9] lib/cpumask: simplify
> > cpumask_next_wrap()". Also, Andrew Jones, Alexander Gordeev and Guo Ren
> > proposed fixes for c_start() in arch code.
> >
> > 4. The code paths mentioned above are all known to me that violate
> > cpumask_check() rules. (Did I miss something?)
> >
> > With all that, I agree with Borislav. Unfortunately, syzcall didn't CC
> > me about this problem with c_start(). But I don't like the idea to revert
> > cpumask_check() fix. This way we'll never clean that mess.
> >
> > If for some reason those warnings are unacceptable for -rcs (and like
> > Boris, I don't understand why), than instead of reverting commits, I'd
> > suggest moving cpumask sanity check from DEBUG_PER_CPU_MAPS under a new
> > config, say CONFIG_CPUMASK_DEBUG, which will be inactive until people will
> > fix their code. I can send a patch shortly, if we'll decide going this way.
> >
> > How people would even realize that they're doing something wrong if
> > they will not get warned about it?
>
> I'm asking you not to use BUG_ON()/WARN_ON() etc. which breaks syzkaller.
It's not me who added WARN_ON() in the cpumask_check(). You're asking
a wrong person.
What for do we have WARN_ON(), if we can't use it?
> Just printing messages (without "BUG:"/"WARNING:" string which also breaks
> syzkaller) like below diff is sufficient for people to realize that they're
> doing something wrong.
>
> Again, please do revert "cpumask: fix checking valid cpu range" immediately.
The revert is already in Jakub's batch for -rc2, AFAIK.
Thanks,
Yury
next prev parent reply other threads:[~2022-10-16 1:12 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <0000000000007647ec05eb05249c@google.com>
[not found] ` <Y0nTd9HSnnt/KDap@zn.tnic>
[not found] ` <2eaf1386-8ab0-bd65-acee-e29f1c5a6623@I-love.SAKURA.ne.jp>
[not found] ` <Y0qfLyhSoTodAdxu@zn.tnic>
2022-10-15 20:44 ` [syzbot] WARNING in c_start Yury Norov
2022-10-16 0:24 ` Tetsuo Handa
2022-10-16 0:28 ` Randy Dunlap
2022-10-16 0:34 ` Tetsuo Handa
2022-10-16 1:12 ` Yury Norov [this message]
2022-10-16 4:10 ` Tetsuo Handa
2022-10-16 17:52 ` Linus Torvalds
2022-10-17 2:54 ` Tetsuo Handa
2022-10-17 21:26 ` Jakub Kicinski
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=Y0tafD7qI2x5xzTc@yury-laptop \
--to=yury.norov@gmail.com \
--cc=agordeev@linux.ibm.com \
--cc=ajones@ventanamicro.com \
--cc=amritha.nambiar@intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=bigeasy@linutronix.de \
--cc=bp@alien8.de \
--cc=caraitto@google.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=guoren@linux.alibaba.com \
--cc=imagedong@tencent.com \
--cc=jonolson@google.com \
--cc=kuba@kernel.org \
--cc=kuniyu@amazon.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=mst@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=petrm@nvidia.com \
--cc=syzbot+d0fd2bf0dd6da72496dd@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.com \
--cc=torvalds@linux-foundation.org \
--cc=willemb@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox