Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp957149pxb; Wed, 3 Mar 2021 22:29:04 -0800 (PST) X-Google-Smtp-Source: ABdhPJxWzJVFsKQjKyo/sjGTJXglr1GLe/oFXHlqXylFs5ks7vsWSyqgOBlshbHauuHmQX7KtqJD X-Received: by 2002:a17:906:a44:: with SMTP id x4mr2507314ejf.101.1614839344639; Wed, 03 Mar 2021 22:29:04 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614839344; cv=none; d=google.com; s=arc-20160816; b=qVA906k0fCiJi0wsI4VfPmwt32xsuT3Y2AXeD3Xg3m4g8owWG63OCOypimK3bxsspG 8Imqcb/MO3mr1msJElorupGNHI56hCgSKmJEig1ajADF3MUHKmjfth/IEfiNmh8+9ux2 oYBr6BI6oHR0pfoEW8vEhP5f6lSH17m4eD+6IA+1k5Ww0BC2OlRgS0mlNOjdbZqaPjdu kMELOOF3L/nlJi+bA6XNoWqrlaq50YxF52qrpq2itJCMZNgJj9AXtcGPkOv/2EhdG+0H Sk9PKK1pgKSDyzKb+JHpKFdpMt173mLT+D3vlzMYdpc2+Ktssr8/wg3R5nsIoNCkjmAi NKrg== 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:subject:from :references:cc:to; bh=FkMvjYvJyJn88iOhRI7lIx9RoIuLqcWb61AobriKspg=; b=b04vlYTvTRLrqg6TbXWNVVA8/iFQc5EwyMor6U30mCNq6SzPnpYT3FvLVvLYZBEMVE lOEc1ezaizdlsTxcvXYS/67LugNK/6cKhp422O7B3byyoAFyGr/lK3n/WMZWc+vPjCtv dAUfdF88leXn1h4HVM3n2neeL1b28z4SzxK7DC7YzU47F0UKk3jEYE8olgtzYv4J37qB v0vIqIKrvCd1wT1AmE0wrMbk0BYcAG8WVCDNSKoxPdWNOxmEsIPIGVYCWG5oyXYQEonR AddEF4ZJjDRNzDD2K6oBXK73i2s4HfZuLqhgPOAYGEBUxFDpr40+YimkonnLMAIVSDDo jF5A== 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 gz17si11403191ejc.25.2021.03.03.22.28.42; Wed, 03 Mar 2021 22:29:04 -0800 (PST) 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 S1575965AbhCBQHD (ORCPT + 99 others); Tue, 2 Mar 2021 11:07:03 -0500 Received: from mx2.suse.de ([195.135.220.15]:44624 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1376699AbhCBNij (ORCPT ); Tue, 2 Mar 2021 08:38:39 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id 141C2ABF4; Tue, 2 Mar 2021 13:37:20 +0000 (UTC) To: Petr Mladek , Geert Uytterhoeven Cc: Marco Elver , Timur Tabi , Steven Rostedt , Sergey Senozhatsky , Andy Shevchenko , Matthew Wilcox , Andrew Morton , Linus Torvalds , roman.fietze@magna.com, Kees Cook , John Ogness , Akinobu Mita , Alexander Potapenko , Andrey Konovalov , Rasmus Villemoes , Pavel Machek , Tetsuo Handa , Linux Kernel Mailing List , Linux MM References: <20210214161348.369023-1-timur@kernel.org> <20210214161348.369023-4-timur@kernel.org> From: Vlastimil Babka Subject: Re: [PATCH 3/3] [v4] lib/vsprintf: no_hash_pointers prints all addresses as unhashed Message-ID: <8893ff08-1e50-316c-f632-cd37be1690d5@suse.cz> Date: Tue, 2 Mar 2021 14:37:19 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 3/2/21 2:29 PM, Petr Mladek wrote: > On Tue 2021-03-02 13:51:35, Geert Uytterhoeven wrote: >> > > > + >> > > > + pr_warn("**********************************************************\n"); >> > > > + pr_warn("** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **\n"); >> > > > + pr_warn("** **\n"); >> > > > + pr_warn("** This system shows unhashed kernel memory addresses **\n"); >> > > > + pr_warn("** via the console, logs, and other interfaces. This **\n"); >> > > > + pr_warn("** might reduce the security of your system. **\n"); >> > > > + pr_warn("** **\n"); >> > > > + pr_warn("** If you see this message and you are not debugging **\n"); >> > > > + pr_warn("** the kernel, report this immediately to your system **\n"); >> > > > + pr_warn("** administrator! **\n"); >> > > > + pr_warn("** **\n"); >> > > > + pr_warn("** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **\n"); >> > > > + pr_warn("**********************************************************\n"); >> > > > + >> > > > + return 0; >> > > > +} >> > > > +early_param("no_hash_pointers", no_hash_pointers_enable); >> > > >> > > While bloat-o-meter is not smart enough to notice the real size impact, >> > > this does add more than 500 bytes of string data to the kernel. >> > > Do we really need such a large message? >> > > Perhaps the whole no_hash_pointers machinery should be protected by >> > > "#ifdef CONFIG_DEBUG_KERNEL"? > > This was the deal. The configure option is a no-go, see below and also > https://lore.kernel.org/r/CAHk-=wgaK4cz=K-JB4p-KPXBV73m9bja2w1W1Lr3iu8+NEPk7A@mail.gmail.com I think it's a no-go only when enabling such option equals to "no_hash_pointers" being always passed. What Geert suggests is that you need both CONFIG_DEBUG_KERNEL *and* no_hash_pointers and that's different. >> > We recently stumbled across this, and it appears an increasing number >> > of production kernels enable CONFIG_DEBUG_KERNEL [1], so it likely >> > isn't the solution (we tried to use CONFIG_DEBUG_KERNEL in similar >> >> I guess the people who do care about kernel size do know to disable >> CONFIG_DEBUG_KERNEL, so it would help them. >> The everything-but-the-kitchen-sink distro people don't care about kernel >> size anyway. > > The problem with the configure option is not about size. The problem is > that there would be many kernels in the wild with this option enabled. > People would install them without knowing that they are less secure. Same as above. > Distros would need to provide both kernels. Well, they already do. > But it might be worse. Some distros might even want to enable it > by default. > > Also many bugs might be debugged without this option. Some bugs > are hard to reproduce and might be visible only on production > systems. It should be possible to enable this only when really > needed and the user must be aware of the risk. So this is basically a kernel tinyfication issue, right? Is that still pursued today? Are there better config options suitable for this than CONFIG_DEBUG_KERNEL? >> > Would placing the strings into an __initconst array help? >> >> That would indeed help to reduce run-time memory consumption. > > Sure. We could do this. Do you want to send a patch, please? > >> It would not solve the raw kernel size increase. > > I see. Well, the compression should be pretty efficient > for a text (with many spaces). > > Best Regards, > Petr >