Remove COMMAND_LINE_SIZE from uapi
From: | Alexandre Ghiti <alexghiti-AT-rivosinc.com> | |
To: | Jonathan Corbet <corbet-AT-lwn.net>, Richard Henderson <richard.henderson-AT-linaro.org>, Ivan Kokshaysky <ink-AT-jurassic.park.msu.ru>, Matt Turner <mattst88-AT-gmail.com>, Vineet Gupta <vgupta-AT-kernel.org>, Russell King <linux-AT-armlinux.org.uk>, Catalin Marinas <catalin.marinas-AT-arm.com>, Will Deacon <will-AT-kernel.org>, Huacai Chen <chenhuacai-AT-kernel.org>, WANG Xuerui <kernel-AT-xen0n.name>, Geert Uytterhoeven <geert-AT-linux-m68k.org>, Michal Simek <monstr-AT-monstr.eu>, Thomas Bogendoerfer <tsbogend-AT-alpha.franken.de>, "James E . J . Bottomley" <James.Bottomley-AT-HansenPartnership.com>, Helge Deller <deller-AT-gmx.de>, Michael Ellerman <mpe-AT-ellerman.id.au>, Nicholas Piggin <npiggin-AT-gmail.com>, Christophe Leroy <christophe.leroy-AT-csgroup.eu>, Paul Walmsley <paul.walmsley-AT-sifive.com>, Palmer Dabbelt <palmer-AT-dabbelt.com>, Albert Ou <aou-AT-eecs.berkeley.edu>, Heiko Carstens <hca-AT-linux.ibm.com>, Vasily Gorbik <gor-AT-linux.ibm.com>, Alexander Gordeev <agordeev-AT-linux.ibm.com>, Christian Borntraeger <borntraeger-AT-linux.ibm.com>, Sven Schnelle <svens-AT-linux.ibm.com>, Yoshinori Sato <ysato-AT-users.sourceforge.jp>, Rich Felker <dalias-AT-libc.org>, "David S . Miller" <davem-AT-davemloft.net>, Thomas Gleixner <tglx-AT-linutronix.de>, Ingo Molnar <mingo-AT-redhat.com>, Borislav Petkov <bp-AT-alien8.de>, Dave Hansen <dave.hansen-AT-linux.intel.com>, x86-AT-kernel.org, "H . Peter Anvin" <hpa-AT-zytor.com>, Chris Zankel <chris-AT-zankel.net>, Max Filippov <jcmvbkbc-AT-gmail.com>, Arnd Bergmann <arnd-AT-arndb.de>, linux-doc-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-alpha-AT-vger.kernel.org, linux-snps-arc-AT-lists.infradead.org, linux-arm-kernel-AT-lists.infradead.org, linux-ia64-AT-vger.kernel.org, loongarch-AT-lists.linux.dev, linux-m68k-AT-lists.linux-m68k.org, linux-mips-AT-vger.kernel.org, linux-parisc-AT-vger.kernel.org, linuxppc-dev-AT-lists.ozlabs.org, linux-riscv-AT-lists.infradead.org, linux-s390-AT-vger.kernel.org, linux-sh-AT-vger.kernel.org, sparclinux-AT-vger.kernel.org, linux-xtensa-AT-linux-xtensa.org, linux-arch-AT-vger.kernel.org | |
Subject: | [PATCH v3 00/24] Remove COMMAND_LINE_SIZE from uapi | |
Date: | Tue, 14 Feb 2023 08:49:01 +0100 | |
Message-ID: | <20230214074925.228106-1-alexghiti@rivosinc.com> | |
Cc: | Alexandre Ghiti <alexghiti-AT-rivosinc.com> | |
Archive-link: | Article |
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. 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 v2 <https://lore.kernel.org/all/20221211061358.28035-1-palmer...>: * Fix sh, csky and ia64 builds, as reported by kernel test robot Changes since v1 <https://lore.kernel.org/all/20210423025545.313965-1-palme...>: * 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 <uapi/asm/setup.h> arc: Remove empty <uapi/asm/setup.h> m68k: Remove empty <uapi/asm/setup.h> arm64: Remove empty <uapi/asm/setup.h> microblaze: Remove empty <uapi/asm/setup.h> sparc: Remove empty <uapi/asm/setup.h> parisc: Remove empty <uapi/asm/setup.h> x86: Remove empty <uapi/asm/setup.h> xtensa: Remove empty <uapi/asm/setup.h> powerpc: Remove empty <uapi/asm/setup.h> mips: Remove empty <uapi/asm/setup.h> s390: Remove empty <uapi/asm/setup.h> .../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%) -- 2.37.2