Received: by 2002:a05:6a10:d5a5:0:0:0:0 with SMTP id gn37csp2342997pxb; Sat, 2 Oct 2021 14:08:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJymYaXJ7u9KZo5fMHSFnMH0VBiiiZPCc5T3QKL3K5I57f75mqHXfSPXeOlSXHV8ihKMZHYY X-Received: by 2002:a17:90b:4f8d:: with SMTP id qe13mr14062033pjb.47.1633208935351; Sat, 02 Oct 2021 14:08:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633208935; cv=none; d=google.com; s=arc-20160816; b=qpWCc4I8Oy4LGeik99mUbE+axf+uKZ42tVHIr2FsvW7odwRSxemSyG4bvhUV6cFPC2 c0LZScY3UqKhoilQt6W3fGMcEU9jWJqAq4sqlXd3CaadQhAA8AV+sXa4pSH9jppWUN4A 1wPm7O3oR70ttpHLiSzx1FHAct34yoUOKH0ZJHA4rjUKapNoxYi7l0UTk+PTsIOSGm3c C3YIkoJKkUf0xwCFeYnh22HtmpHjomm3GgjX8MzObKIdZP9MtSQmc+VjU+yBqGYkMcl3 +rqa53zyi4oiEJdTwoeQpdXkI1rbPJOzlzcQiox8ESIzlHbX3KKDZyO6XKMgfFmqVaQW uSWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:reply-to; bh=5H/GFVPqJxpNuzq9DTTrJ9nYbSkD2Uo4JrRe91cjYbs=; b=nsS4pbnUqqOem563XUYjQ69xgaQXDVK6GAvVJGFrb1Dasa/4GsDleBHbNZk0cWxIwJ pM7zQCPg6OCSYaO9c0GrQozBW/m8j3Yb+dPfGmK1wcIlTKf8olShaEb24m3Xvc6tTmWP aTJFGsIeqBYj2vIS2fKhVke8MhKPaexDsFpiNeDUjPj8IHFzhM3alRd+iJChFS3koi8T T8jvoRzJp4QjhAFFJJS1QWglWPnIHxJ7OEbszfDsHCLMRSajNrEUgHsR2lHI+mhMGYQf UzOdor5Sg9eYK9WRCnJEeaiviRPSO9M3d3x9U3nvRxjVGeFlJVzg7VFOymoqzE2mWK5S G4nQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id m7si13543028pfd.331.2021.10.02.14.08.42; Sat, 02 Oct 2021 14:08:55 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234045AbhJBVHt (ORCPT + 99 others); Sat, 2 Oct 2021 17:07:49 -0400 Received: from mail-wr1-f49.google.com ([209.85.221.49]:45034 "EHLO mail-wr1-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233966AbhJBVHs (ORCPT ); Sat, 2 Oct 2021 17:07:48 -0400 Received: by mail-wr1-f49.google.com with SMTP id d6so21593498wrc.11; Sat, 02 Oct 2021 14:06:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:reply-to:subject:to:cc:references:from :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=5H/GFVPqJxpNuzq9DTTrJ9nYbSkD2Uo4JrRe91cjYbs=; b=Cfzp417lJRS/JZWt6dVI/eGKzZ2WLYUx5iavfxBij8RnJxA8myy9EbEqqIG+x4lpSx LtPbvC2lHmaTylfO1rJiRYrIo1/jEr3Jb3aw7GCzu8KpWftutvZQLMV5N1rcXxFviMs1 E4NISm11mhpO5T5B427nG6sy0qlie9jeIS8ZSJs1WmAXvWcd0yG1j6wCLo/Fy7byNT+4 XWoKsMP1/Slg3pIdrRYtBxLZOEfUG3N6bdIXkEoelZAGBQs35qjeK0ZZYMcyxNssc35a +LEfmCN/DhK1Mg35o/ADrbjjnpgdwr/othIcyxUD2GHqfwud8j8iT/+cUNXCnqdWOY33 OTdg== X-Gm-Message-State: AOAM531BXQYHNO3Pw5BvMWXtmwglCUiNfuUcTbr6hRruV7dIgetJbAcA F2bgvJTQMsnuYPZCEFyodS4IZNyJg+g= X-Received: by 2002:adf:e30d:: with SMTP id b13mr5072345wrj.438.1633208761027; Sat, 02 Oct 2021 14:06:01 -0700 (PDT) Received: from [10.9.0.26] ([46.166.133.199]) by smtp.gmail.com with ESMTPSA id q8sm9509980wrv.26.2021.10.02.14.05.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 02 Oct 2021 14:06:00 -0700 (PDT) Reply-To: alex.popov@linux.com Subject: Re: [PATCH] Introduce the pkill_on_warn boot parameter To: Linus Torvalds Cc: Petr Mladek , "Paul E. McKenney" , Jonathan Corbet , Andrew Morton , Thomas Gleixner , Peter Zijlstra , Joerg Roedel , Maciej Rozycki , Muchun Song , Viresh Kumar , Robin Murphy , Randy Dunlap , Lu Baolu , Kees Cook , Luis Chamberlain , Wei Liu , John Ogness , Andy Shevchenko , Alexey Kardashevskiy , Christophe Leroy , Jann Horn , Greg Kroah-Hartman , Mark Rutland , Andy Lutomirski , Dave Hansen , Steven Rostedt , Will Deacon , David S Miller , Borislav Petkov , Kernel Hardening , linux-hardening@vger.kernel.org, "open list:DOCUMENTATION" , Linux Kernel Mailing List , notify@kernel.org References: <20210929185823.499268-1-alex.popov@linux.com> <20210929194924.GA880162@paulmck-ThinkPad-P17-Gen-1> From: Alexander Popov Message-ID: <0e847d7f-7bf0-cdd4-ba6e-a742ce877a38@linux.com> Date: Sun, 3 Oct 2021 00:05:56 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02.10.2021 19:52, Linus Torvalds wrote: > On Sat, Oct 2, 2021 at 4:41 AM Alexander Popov wrote: >> >> And what do you think about the proposed pkill_on_warn? > > Honestly, I don't see the point. > > If you can reliably trigger the WARN_ON some way, you can probably > cause more problems by fooling some other process to trigger it. > > And if it's unintentional, then what does the signal help? > > So rather than a "rationale" that makes little sense, I'd like to hear > of an actual _use_ case. That's different. That's somebody actually > _using_ that pkill to good effect for some particular load. I was thinking about a use case for you and got an insight. Bugs usually don't come alone. Killing the process that got WARN_ON() prevents possible bad effects **after** the warning. For example, in my exploit for CVE-2019-18683, the kernel warning happens **before** the memory corruption (use-after-free in the V4L2 subsystem). https://a13xp0p0v.github.io/2020/02/15/CVE-2019-18683.html So pkill_on_warn allows the kernel to stop the process when the first signs of wrong behavior are detected. In other words, proceeding with the code execution from the wrong state can bring more disasters later. > That said, I don't much care in the end. But it sounds like a > pointless option to just introduce yet another behavior to something > that should never happen anyway, and where the actual > honest-to-goodness reason for WARN_ON() existing is already being > fulfilled (ie syzbot has been very effective at flushing things like > that out). Yes, we slowly get rid of kernel warnings. However, the syzbot dashboard still shows a lot of them. Even my small syzkaller setup finds plenty of new warnings. I believe fixing all of them will take some time. And during that time, pkill_on_warn may be a better reaction to WARN_ON() than ignoring and proceeding with the execution. Is that reasonable? Best regards, Alexander