Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4660C83003 for ; Thu, 2 Mar 2023 10:07:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229991AbjCBKGn (ORCPT ); Thu, 2 Mar 2023 05:06:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55826 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230383AbjCBKGf (ORCPT ); Thu, 2 Mar 2023 05:06:35 -0500 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 399309EE9; Thu, 2 Mar 2023 02:06:31 -0800 (PST) Received: (Authenticated sender: alex@ghiti.fr) by mail.gandi.net (Postfix) with ESMTPSA id 181981C0004; Thu, 2 Mar 2023 10:06:11 +0000 (UTC) Message-ID: <040104fc-81b7-fd45-b268-111e39f2927f@ghiti.fr> Date: Thu, 2 Mar 2023 11:06:11 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [PATCH v4 00/24] Remove COMMAND_LINE_SIZE from uapi Content-Language: en-US To: Alexandre Ghiti , Jonathan Corbet , Richard Henderson , Ivan Kokshaysky , Matt Turner , Vineet Gupta , Russell King , Catalin Marinas , Will Deacon , Huacai Chen , WANG Xuerui , Geert Uytterhoeven , Michal Simek , Thomas Bogendoerfer , "James E . J . Bottomley" , Helge Deller , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Paul Walmsley , Palmer Dabbelt , Albert Ou , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , Yoshinori Sato , Rich Felker , "David S . Miller" , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H . Peter Anvin" , Chris Zankel , Max Filippov , Arnd Bergmann , linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-alpha@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-ia64@vger.kernel.org, loongarch@lists.linux.dev, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-xtensa@linux-xtensa.org, linux-arch@vger.kernel.org, =?UTF-8?B?QmrDtnJuIFTDtnBlbA==?= References: <20230302093539.372962-1-alexghiti@rivosinc.com> From: Alexandre Ghiti In-Reply-To: <20230302093539.372962-1-alexghiti@rivosinc.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnd, On 3/2/23 10:35, Alexandre Ghiti wrote: > This all came up in the context of increasing COMMAND_LINE_SIZE in the > RISC-V port. In theory that's a UABI break, as COMMAND_LINE_SIZE is the > maximum length of /proc/cmdline and userspace could staticly rely on > that to be correct. > > Usually I wouldn't mess around with changing this sort of thing, but > PowerPC increased it with a5980d064fe2 ("powerpc: Bump COMMAND_LINE_SIZE > to 2048"). There are also a handful of examples of COMMAND_LINE_SIZE > increasing, but they're from before the UAPI split so I'm not quite sure > what that means: e5a6a1c90948 ("powerpc: derive COMMAND_LINE_SIZE from > asm-generic"), 684d2fd48e71 ("[S390] kernel: Append scpdata to kernel > boot command line"), 22242681cff5 ("MIPS: Extend COMMAND_LINE_SIZE"), > and 2b74b85693c7 ("sh: Derive COMMAND_LINE_SIZE from > asm-generic/setup.h."). > > It seems to me like COMMAND_LINE_SIZE really just shouldn't have been > part of the uapi to begin with, and userspace should be able to handle > /proc/cmdline of whatever length it turns out to be. I don't see any > references to COMMAND_LINE_SIZE anywhere but Linux via a quick Google > search, but that's not really enough to consider it unused on my end. > > This issue was already considered in s390 and they reached the same > conclusion in commit 622021cd6c56 ("s390: make command line > configurable"). > > The feedback on the v1 seemed to indicate that COMMAND_LINE_SIZE really > shouldn't be part of uapi, so this now touches all the ports. I've > tried to split this all out and leave it bisectable, but I haven't > tested it all that aggressively. > > Changes since v3 : > * Added RB/AB > * Added a mention to commit 622021cd6c56 ("s390: make command line > configurable") in the cover letter > > Changes since v2 : > * Fix sh, csky and ia64 builds, as reported by kernel test robot > > Changes since v1 : > * Touches every arch. > > base-commit-tag: next-20230207 > > Palmer Dabbelt (24): > alpha: Remove COMMAND_LINE_SIZE from uapi > arm64: Remove COMMAND_LINE_SIZE from uapi > arm: Remove COMMAND_LINE_SIZE from uapi > ia64: Remove COMMAND_LINE_SIZE from uapi > m68k: Remove COMMAND_LINE_SIZE from uapi > microblaze: Remove COMMAND_LINE_SIZE from uapi > mips: Remove COMMAND_LINE_SIZE from uapi > parisc: Remove COMMAND_LINE_SIZE from uapi > powerpc: Remove COMMAND_LINE_SIZE from uapi > sparc: Remove COMMAND_LINE_SIZE from uapi > xtensa: Remove COMMAND_LINE_SIZE from uapi > asm-generic: Remove COMMAND_LINE_SIZE from uapi > alpha: Remove empty > arc: Remove empty > m68k: Remove empty > arm64: Remove empty > microblaze: Remove empty > sparc: Remove empty > parisc: Remove empty > x86: Remove empty > xtensa: Remove empty > powerpc: Remove empty > mips: Remove empty > s390: Remove empty > > .../admin-guide/kernel-parameters.rst | 2 +- > arch/alpha/include/asm/setup.h | 4 +-- > arch/alpha/include/uapi/asm/setup.h | 7 ----- > arch/arc/include/asm/setup.h | 1 - > arch/arc/include/uapi/asm/setup.h | 6 ----- > arch/arm/include/asm/setup.h | 1 + > arch/arm/include/uapi/asm/setup.h | 2 -- > arch/arm64/include/asm/setup.h | 3 ++- > arch/arm64/include/uapi/asm/setup.h | 27 ------------------- > arch/ia64/include/asm/setup.h | 10 +++++++ > arch/ia64/include/uapi/asm/setup.h | 6 ++--- > arch/loongarch/include/asm/setup.h | 2 +- > arch/m68k/include/asm/setup.h | 3 +-- > arch/m68k/include/uapi/asm/setup.h | 17 ------------ > arch/microblaze/include/asm/setup.h | 2 +- > arch/microblaze/include/uapi/asm/setup.h | 20 -------------- > arch/mips/include/asm/setup.h | 3 ++- > arch/mips/include/uapi/asm/setup.h | 8 ------ > arch/parisc/include/{uapi => }/asm/setup.h | 0 > arch/powerpc/include/asm/setup.h | 2 +- > arch/powerpc/include/uapi/asm/setup.h | 7 ----- > arch/s390/include/asm/setup.h | 1 - > arch/s390/include/uapi/asm/setup.h | 1 - > arch/sh/include/asm/setup.h | 2 +- > arch/sparc/include/asm/setup.h | 6 ++++- > arch/sparc/include/uapi/asm/setup.h | 16 ----------- > arch/x86/include/asm/setup.h | 2 -- > arch/x86/include/uapi/asm/setup.h | 1 - > arch/xtensa/include/{uapi => }/asm/setup.h | 0 > include/asm-generic/Kbuild | 1 + > include/{uapi => }/asm-generic/setup.h | 0 > include/uapi/asm-generic/Kbuild | 1 - > 32 files changed, 31 insertions(+), 133 deletions(-) > delete mode 100644 arch/alpha/include/uapi/asm/setup.h > delete mode 100644 arch/arc/include/uapi/asm/setup.h > delete mode 100644 arch/arm64/include/uapi/asm/setup.h > create mode 100644 arch/ia64/include/asm/setup.h > delete mode 100644 arch/m68k/include/uapi/asm/setup.h > delete mode 100644 arch/microblaze/include/uapi/asm/setup.h > delete mode 100644 arch/mips/include/uapi/asm/setup.h > rename arch/parisc/include/{uapi => }/asm/setup.h (100%) > delete mode 100644 arch/powerpc/include/uapi/asm/setup.h > delete mode 100644 arch/s390/include/uapi/asm/setup.h > delete mode 100644 arch/sparc/include/uapi/asm/setup.h > delete mode 100644 arch/x86/include/uapi/asm/setup.h > rename arch/xtensa/include/{uapi => }/asm/setup.h (100%) > rename include/{uapi => }/asm-generic/setup.h (100%) > Björn noticed that I should also remove the command line size for riscv since it was picked up in 6.3 by Palmer...I send a v6 right now, sorry about that. Alex