From: Yury Norov <yury.norov@gmail.com>
To: Borislav Petkov <bp@alien8.de>
Cc: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
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,
yury.norov@gmail.com, 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 13:44:50 -0700 [thread overview]
Message-ID: <Y0sbwpRcipI564yp@yury-laptop> (raw)
In-Reply-To: <Y0qfLyhSoTodAdxu@zn.tnic>
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?
Thanks,
Yury
next parent reply other threads:[~2022-10-15 20:45 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 ` Yury Norov [this message]
2022-10-16 0:24 ` [syzbot] WARNING in c_start Tetsuo Handa
2022-10-16 0:28 ` Randy Dunlap
2022-10-16 0:34 ` Tetsuo Handa
2022-10-16 1:12 ` Yury Norov
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=Y0sbwpRcipI564yp@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=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;
as well as URLs for NNTP newsgroup(s).