Message ID | 20230306100508.1171812-1-alexghiti@rivosinc.com (mailing list archive) |
---|---|
Headers | show |
Series | Remove COMMAND_LINE_SIZE from uapi | expand |
On 6/3/23 11:04, 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. Series: Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Hi Arnd, On Mon, Mar 6, 2023 at 11:05 AM Alexandre Ghiti <alexghiti@rivosinc.com> 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 v4 <https://lore.kernel.org/all/20230302093539.372962-1-alexghiti@rivosinc.com/>: > * Add my own SoB as suggested by Geert > * Add riscv patches as suggested by Björn > * Remove "WITH Linux-syscall-note" from new setup.h not in uapi/, as > suggested by Greg KH, his quoted answer below: > > "The "syscall note" makes no sense at all for any files not in the uapi/ > directory, so you can remove it just fine as that WITH doesn't mean > anything _UNLESS_ the file is in the uapi directory." > > Changes since v3 <https://lore.kernel.org/all/20230214074925.228106-1-alexghiti@rivosinc.com/>: > * Added RB/AB > * Added a mention to commit 622021cd6c56 ("s390: make command line > configurable") in the cover letter > > Changes since v2 <https://lore.kernel.org/all/20221211061358.28035-1-palmer@rivosinc.com/>: > * Fix sh, csky and ia64 builds, as reported by kernel test robot > > Changes since v1 <https://lore.kernel.org/all/20210423025545.313965-1-palmer@dabbelt.com/>: > * Touches every arch. > > base-commit-tag: next-20230207 > > Alexandre Ghiti (2): > riscv: Remove COMMAND_LINE_SIZE from uapi > riscv: Remove empty <uapi/asm/setup.h> > > 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 | 2 +- > arch/powerpc/include/asm/setup.h | 2 +- > arch/powerpc/include/uapi/asm/setup.h | 7 ----- > arch/riscv/include/asm/setup.h | 7 +++++ > arch/riscv/include/uapi/asm/setup.h | 8 ------ > 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 | 2 +- > include/asm-generic/Kbuild | 1 + > include/{uapi => }/asm-generic/setup.h | 0 > include/uapi/asm-generic/Kbuild | 1 - > 34 files changed, 40 insertions(+), 143 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 (63%) > delete mode 100644 arch/powerpc/include/uapi/asm/setup.h > create mode 100644 arch/riscv/include/asm/setup.h > delete mode 100644 arch/riscv/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 (84%) > rename include/{uapi => }/asm-generic/setup.h (100%) > > -- > 2.37.2 > I don't see this series in 6.4-rc1, I don't mean to bother you, I just want to make sure it did not get lost :) Thanks, Alex