Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932308AbcKIAsQ (ORCPT ); Tue, 8 Nov 2016 19:48:16 -0500 Received: from relay3-d.mail.gandi.net ([217.70.183.195]:59776 "EHLO relay3-d.mail.gandi.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753283AbcKIAsN (ORCPT ); Tue, 8 Nov 2016 19:48:13 -0500 X-Originating-IP: 50.39.170.172 Date: Tue, 8 Nov 2016 16:47:57 -0800 From: Josh Triplett To: Kees Cook Cc: Andrew Morton , Johannes Weiner , Arnd Bergmann , Ingo Molnar , Andy Lutomirski , Petr Mladek , Thomas Garnier , Ard Biesheuvel , Nicolas Pitre , Zefan Li , Li Bin , "Eric W. Biederman" , Dmitry Vyukov , Ralf Baechle , Alex Thorlton , Michal Hocko , Mateusz Guzik , Cyrill Gorcunov , John Stultz , Al Viro , Zach Brown , Anna Schumaker , Dave Hansen , LKML , Linux API Subject: Re: [PATCH 2/2] kernel: Support compiling out the prctl syscall Message-ID: <20161109004757.lpbpsdgyzvld7ute@x> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20161014 (1.7.1) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1595 Lines: 32 On Tue, Nov 08, 2016 at 04:40:02PM -0800, Kees Cook wrote: > On Tue, Nov 8, 2016 at 4:18 PM, Josh Triplett wrote: > > Some embedded systems can do without the prctl syscall, saving some > > space. > > > > This also avoids regular increases in tinyconfig size as people add more > > non-optional functionality to prctl (observed via the 0-day kernel > > infrastructure). > > > > bloat-o-meter results: > > > > add/remove: 0/3 grow/shrink: 0/1 up/down: 0/-2143 (-2143) > > function old new delta > > offsets 23 12 -11 > > prctl_set_auxv 97 - -97 > > sys_prctl 794 - -794 > > prctl_set_mm 1241 - -1241 > > Total: Before=1902583, After=1900440, chg -0.11% > > > > Signed-off-by: Josh Triplett > > I'm absolutely a fan of doing this, but I wonder how this interacts > with the LSMs that define prctl hooks, etc. I wouldn't expect a system > that didn't want prctl to want an LSM, but maybe the LSMs all need to > depend on CONFIG_PRCTL now? I did think about that (as well as SECCOMP), but I did confirm that the kernel builds fine with allyesconfig minus CONFIG_PRCTL. An LSM that wants to restrict access to some prctls should be fine with no process having any access to prctl. :) Beyond that, anything wanting configuration via LSM (such as SECCOMP) still exists and functions, even if you can't access it from outside the kernel.