Re: [PATCH v5 00/26] Remove COMMAND_LINE_SIZE from uapi

From: Alexandre Ghiti
Date: Tue May 09 2023 - 03:06:55 EST


Hi Arnd,

On Mon, Mar 6, 2023 at 11:05 AM Alexandre Ghiti <alexghiti@xxxxxxxxxxxx> 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@xxxxxxxxxxxx/>:
> * 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@xxxxxxxxxxxx/>:
> * 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@xxxxxxxxxxxx/>:
> * Fix sh, csky and ia64 builds, as reported by kernel test robot
>
> Changes since v1 <https://lore.kernel.org/all/20210423025545.313965-1-palmer@xxxxxxxxxxx/>:
> * 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