Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp560123imm; Fri, 11 May 2018 02:50:39 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpeU+1Wjjk+y0W5gbkWp0r1W3NLiGVws6qCWsumcF1rtiYgCwDxdhqMVQDxHJRJGGxcQ33S X-Received: by 2002:a62:59d1:: with SMTP id k78-v6mr4811369pfj.54.1526032239022; Fri, 11 May 2018 02:50:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526032238; cv=none; d=google.com; s=arc-20160816; b=iSUkFCqdLLilmLZwoQt/tlxsmANT2hfNXHX3CgDcsuKvEYy5j7RUQZL7hNeImJosd8 MMcdL4P7DlWuYqMmUX153XxebQectuAFQ4NqDt4KiXymxbybAm2eOvwJ+csdjCY0kUuK woCjdQEl9Dr2SLg4GLGFf1XrLE2X11TNCldrOUpBDbAJNi/0EM8AOSF4DQiRprsN61TG oJ9eKL2dSh7uOJiuszbjtBh35bS3xAwtougRgbn76Ja5Wx/iItS2eSNyN+g0W3CPJzxx AOI8t8UHG/s+7DVD1YeAY8g9C/v8pjg8uAzDrkZG8ZJvV2UEQoPGGBz/arXv3K66dPj3 iJVA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=SCxYvnmCoHHaMm98A1Qvz++x/SzdTYleMpvLzyQgatM=; b=Jvbnw334jsJKRXKmK/7IQJS9IoW0S4fw1Tnt9D8bUYNER729MhPlJOGz7Tg1NH6oXP C7ANJ2NaUT7kSJ1SgS6Y8mRZPL299ZyAazDKofG85LeA7c0EfzKL/aN45lsO/U6KvHt+ TEiIcew7cztE3gjVss2PdKjyw+qZ3bMA0D/1B6hgKBYuYKrV0gDnNyotWBokkpAzUPKr s8t3ZjaGWEch8jsc9UdItNfjDecoT6YQ63xHjOKtbDx9qO2UV1sBtstAwGxFPwJi5mzE QUtqlRdWEW1KJRrTGidTKM8F4krTBouctXGv12Slxh9AyplZh+wLYK51zKAQdj7B4NnK +A6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=M4V2Ow7R; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k70-v6si2120521pgc.493.2018.05.11.02.50.24; Fri, 11 May 2018 02:50:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=M4V2Ow7R; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752596AbeEKJuL (ORCPT + 99 others); Fri, 11 May 2018 05:50:11 -0400 Received: from mail-pg0-f66.google.com ([74.125.83.66]:44092 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750806AbeEKJuK (ORCPT ); Fri, 11 May 2018 05:50:10 -0400 Received: by mail-pg0-f66.google.com with SMTP id x145-v6so2217701pgx.11 for ; Fri, 11 May 2018 02:50:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=SCxYvnmCoHHaMm98A1Qvz++x/SzdTYleMpvLzyQgatM=; b=M4V2Ow7Ryyc2srZD2aWwD+I506kelM4lErkX5nTHr4ge3qnUwP0mFEflkGB3KyDu7t 62aVeRHW8AsnzK48wNbaCststueVFX2CnViwwwIJWYxcOGxgpMXMsV1YwzOVWSAuFH90 rHmgR+MaQ35wpqqLoa5FEbyU9H1RgZwmNKeXFc3hiR6zQKJwMWEesQ81myN7sWCi4Z1E K7gz7S61BNvDngwr14ZkuY9Trc6cZdaNrrkwCnG+VAQL1xoZgz2KQXWqtlM7ShoWZxa4 8qOYGAXhF0d1+rjJSoCtv+SP7fIW3n+o+Mrc+pplmKGn3nxlbjnZg3VRj12PGsePmJCB FdFg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=SCxYvnmCoHHaMm98A1Qvz++x/SzdTYleMpvLzyQgatM=; b=e56N2LERmZb1mUi8L6qXdiaSppbzOOtcOxYfOrdBb5OtKLwmWb2RFwgIhk0NkVjXex HJecTbPSLPL0i4oy96+b19mz/hK6IPZk7cByVI9SDWCFCOJ+J7vwTID3fHp6jYX8qzwk V6zY9CdVd+Al0jaSXSDBIANRIdNODeeawsqLHjSBs846rBSIejd1xp8Cfz1gnjgndDbK XqMC5n/FFsPwJ8DlGIxsTZq/jPohQI0pogsUgrX4naA8B5XOYiQaxzLPwnxzG8QteFPa aaJm+xQ5uxy0W0QDQgIGY6hIKig0MgyVauktuR6lEGSoyCqzUU/KkdpJGXyeeT1Ivfg8 3CPQ== X-Gm-Message-State: ALKqPwcO8NlhORstQlV1286ZTQMxy6SEElkK3D7gFZFFoNxCtt+oNVtR +f7/fhAODoI/lTbuVIGiugaSMk3q X-Received: by 2002:a63:6185:: with SMTP id v127-v6mr3844718pgb.441.1526032209463; Fri, 11 May 2018 02:50:09 -0700 (PDT) Received: from localhost ([211.246.69.73]) by smtp.gmail.com with ESMTPSA id k24-v6sm4958631pff.118.2018.05.11.02.50.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 11 May 2018 02:50:08 -0700 (PDT) Date: Fri, 11 May 2018 18:50:04 +0900 From: Sergey Senozhatsky To: Dmitry Vyukov Cc: Sergey Senozhatsky , Tetsuo Handa , Petr Mladek , Sergey Senozhatsky , syzkaller , Steven Rostedt , Fengguang Wu , LKML Subject: Re: printk feature for syzbot? Message-ID: <20180511095004.GA6575@jagdpanzerIV> References: <201805102350.JJH73950.tVJHQLFSOMOOFF@I-love.SAKURA.ne.jp> <20180511014515.GA895@jagdpanzerIV> <201805110238.w4B2cIGH079602@www262.sakura.ne.jp> <20180511062151.GA18160@jagdpanzerIV> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.5 (2018-04-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (05/11/18 11:17), Dmitry Vyukov wrote: > > From what I see, it seems that interrupts can be nested: Hm, I thought that in general IRQ handlers run with local IRQs disabled on CPU. So, generally, IRQs don't nest. Was I wrong? NMIs can nest, that's true; but I thought that at least IRQs don't. > https://syzkaller.appspot.com/bug?id=72eddef9cedcf81486adb9dd3e789f0d77505ba5 > https://syzkaller.appspot.com/bug?id=66fcf61c65f8aa50bbb862eb2fde27c08909a4ff > > Will this in_nmi()/in_irq()/in_serving_softirq()/else be enough to > untangle output printed by such nested interrupts? Well, hm. __irq_enter() does preempt_count_add(HARDIRQ_OFFSET) and __irq_exit() does preempt_count_sub(HARDIRQ_OFFSET). So, technically, you can store preempt_count() & HARDIRQ_MASK preempt_count() & SOFTIRQ_MASK preempt_count() & NMI_MASK in that extended context tracking. The numbers will not tell you the IRQ line number, for instance, but at least you'll be able to distinguish different hard/soft IRQs, NMIs. Just an idea, I didn't check it, may be it won't work at all. Ideally, the serial log should be like this i:1 ... foo() i:1 ... bar() i:2 ... foo() // __irq_enter() i:2 ... bar() i:2 ... buz() // __irq_exit() i:1 ... buz() but I may be completely wrong. Petr and Steven probably will have better ideas. -ss