lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 9 May 2019 19:26:18 +0900 From: Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp> To: Sergey Senozhatsky <sergey.senozhatsky.work@...il.com> Cc: Dmitry Vyukov <dvyukov@...gle.com>, Sergey Senozhatsky <sergey.senozhatsky@...il.com>, Petr Mladek <pmladek@...e.com>, LKML <linux-kernel@...r.kernel.org>, syzkaller <syzkaller@...glegroups.com> Subject: Re: [syzbot? printk?] no WARN_ON() messages printed before "Kernel panic - not syncing: panic_on_warn set ..." On 2019/05/09 18:58, Sergey Senozhatsky wrote: >> +#ifdef CONFIG_DEBUG_AID_FOR_SYZBOT >> +static int initial_loglevel; >> +static void check_loglevel(struct timer_list *timer) >> +{ >> + if (console_loglevel < initial_loglevel) >> + panic("Console loglevel changed (%d->%d)!", initial_loglevel, >> + console_loglevel); >> + mod_timer(timer, jiffies + HZ); >> +} >> +static int __init loglevelcheck_init(void) >> +{ >> + static DEFINE_TIMER(timer, check_loglevel); >> + >> + initial_loglevel = console_loglevel; >> + mod_timer(&timer, jiffies + HZ); >> + return 0; >> +} >> +late_initcall(loglevelcheck_init); >> +#endif > > I suppose this patch is for internal testing at Google only. I don't > think we can consider upstreaming it. Right. There is CONFIG_DEBUG_AID_FOR_SYZBOT option for testing at linux-next.git only. > >> By the way, recently we are hitting false positives caused by "WARNING:" >> string from not WARN() messages but plain printk() messages (e.g. >> >> https://syzkaller.appspot.com/bug?id=31bdef63e48688854fde93e6edf390922b70f8a4 >> https://syzkaller.appspot.com/bug?id=faae4720a75cadb8cd0dbda5c4d3542228d37340 >> >> ) and we need to avoid emitting "WARNING:" string from plain printk() messages >> during fuzzing testing. I guess we want to add something like >> CONFIG_DEBUG_AID_FOR_SYZBOT to all kernels in order to mask such string... > > I thought that we have MSG_FORMAT_SYSLOG exactly for things like these, > so you can look at actual message level <%d> and then decide if it's a > warning or a false alarm. Since syzbot needs to use console output, message level is not available. > > These are pr_info() level messages, but the text contains "WARNING: " > > [..] > pvr2_trace(PVR2_TRACE_ERROR_LEGS, > "WARNING: Detected a wedged cx25840 chip; the device will not work."); > [..] > > I would suggest to fix pvrusb2-i2c-core.c. I don't think we really > want to $text =~ s/WARNING//g in printk. Of course, I don't want to try $text =~ s/WARNING//g in printk(). What I meant is guard the callers like https://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security.git/commit/?h=next-tomoyo&id=5c6b31e31adc31bd12636b196d3311f845dcc9d8 using a kernel config option which will be acceptable for upstreaming, for we need to apply to all kernels which syzbot is testing.
Powered by blists - more mailing lists