Re: [PATCH v3 00/24] Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
On Thu, Mar 2, 2023 at 4:17 AM Palmer Dabbelt  wrote:
>
> On Tue, 14 Feb 2023 01:19:02 PST (-0800), h...@linux.ibm.com wrote:
> > On Tue, Feb 14, 2023 at 09:58:17AM +0100, Geert Uytterhoeven wrote:
> >> Hi Heiko,
> >>
> >> On Tue, Feb 14, 2023 at 9:39 AM Heiko Carstens  wrote:
> >> > On Tue, Feb 14, 2023 at 08:49:01AM +0100, 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.
> >> > >
> >> > > 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.
> >> >
> >> > Just to confirm this assumption a bit more: that's actually the same
> >> > conclusion that we ended up with when commit 3da0243f906a ("s390: make
> >> > command line configurable") went upstream.
>
> Thanks, I guess I'd missed that one.  At some point I think there was
> some discussion of making this a Kconfig for everyone, which seems
> reasonable to me -- our use case for this being extended is syzkaller,
> but we're sort of just picking a value that's big enough for now and
> running with it.
>
> Probably best to get it out of uapi first, though, as that way at least
> it's clear that it's not uABI.
>
> >> Commit 622021cd6c560ce7 ("s390: make command line configurable"),
> >> I assume?
> >
> > Yes, sorry for that. I got distracted while writing and used the wrong
> > branch to look this up.
>
> Alex: Probably worth adding that to the list in the cover letter as it
> looks like you were planning on a v4 anyway (which I guess you now have
> to do, given that I just added the issue to RISC-V).

Yep, I will :)

Thanks,

Alex

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 00/24] Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
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
 d

[PATCH v4 01/24] alpha: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
Reviewed-by: Philippe Mathieu-Daudé 
---
 arch/alpha/include/asm/setup.h  | 4 ++--
 arch/alpha/include/uapi/asm/setup.h | 2 --
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/alpha/include/asm/setup.h b/arch/alpha/include/asm/setup.h
index 262aab99e391..ea08ca45efa8 100644
--- a/arch/alpha/include/asm/setup.h
+++ b/arch/alpha/include/asm/setup.h
@@ -2,8 +2,6 @@
 #ifndef __ALPHA_SETUP_H
 #define __ALPHA_SETUP_H
 
-#include 
-
 /*
  * We leave one page for the initial stack page, and one page for
  * the initial process structure. Also, the console eats 3 MB for
@@ -14,6 +12,8 @@
 /* Remove when official MILO sources have ELF support: */
 #define BOOT_SIZE  (16*1024)
 
+#define COMMAND_LINE_SIZE  256
+
 #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS
 #define KERNEL_START_PHYS  0x30 /* Old bootloaders hardcoded this.  */
 #else
diff --git a/arch/alpha/include/uapi/asm/setup.h 
b/arch/alpha/include/uapi/asm/setup.h
index f881ea5947cb..9b3b5ba39b1d 100644
--- a/arch/alpha/include/uapi/asm/setup.h
+++ b/arch/alpha/include/uapi/asm/setup.h
@@ -2,6 +2,4 @@
 #ifndef _UAPI__ALPHA_SETUP_H
 #define _UAPI__ALPHA_SETUP_H
 
-#define COMMAND_LINE_SIZE  256
-
 #endif /* _UAPI__ALPHA_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 02/24] arm64: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
Acked-by: Catalin Marinas 
---
 arch/arm64/include/asm/setup.h  | 3 ++-
 arch/arm64/include/uapi/asm/setup.h | 2 --
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/arm64/include/asm/setup.h b/arch/arm64/include/asm/setup.h
index f4af547ef54c..7ca70f883cee 100644
--- a/arch/arm64/include/asm/setup.h
+++ b/arch/arm64/include/asm/setup.h
@@ -4,8 +4,9 @@
 #define __ARM64_ASM_SETUP_H
 
 #include 
+#include 
 
-#include 
+#define COMMAND_LINE_SIZE  2048
 
 void *get_early_fdt_ptr(void);
 void early_fdt_map(u64 dt_phys);
diff --git a/arch/arm64/include/uapi/asm/setup.h 
b/arch/arm64/include/uapi/asm/setup.h
index 5d703888f351..f9f51e5925aa 100644
--- a/arch/arm64/include/uapi/asm/setup.h
+++ b/arch/arm64/include/uapi/asm/setup.h
@@ -22,6 +22,4 @@
 
 #include 
 
-#define COMMAND_LINE_SIZE  2048
-
 #endif
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 03/24] arm: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
Reviewed-by: Russell King (Oracle) 
---
 arch/arm/include/asm/setup.h  | 1 +
 arch/arm/include/uapi/asm/setup.h | 2 --
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/arch/arm/include/asm/setup.h b/arch/arm/include/asm/setup.h
index ba0872a8dcda..8a1e4f804d1b 100644
--- a/arch/arm/include/asm/setup.h
+++ b/arch/arm/include/asm/setup.h
@@ -13,6 +13,7 @@
 
 #include 
 
+#define COMMAND_LINE_SIZE 1024
 
 #define __tag __used __section(".taglist.init")
 #define __tagtable(tag, fn) \
diff --git a/arch/arm/include/uapi/asm/setup.h 
b/arch/arm/include/uapi/asm/setup.h
index 25ceda63b284..87a4f4af28e1 100644
--- a/arch/arm/include/uapi/asm/setup.h
+++ b/arch/arm/include/uapi/asm/setup.h
@@ -17,8 +17,6 @@
 
 #include 
 
-#define COMMAND_LINE_SIZE 1024
-
 /* The list ends with an ATAG_NONE node. */
 #define ATAG_NONE  0x
 
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 04/24] ia64: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
---
 arch/ia64/include/asm/setup.h  | 10 ++
 arch/ia64/include/uapi/asm/setup.h |  6 ++
 2 files changed, 12 insertions(+), 4 deletions(-)
 create mode 100644 arch/ia64/include/asm/setup.h

diff --git a/arch/ia64/include/asm/setup.h b/arch/ia64/include/asm/setup.h
new file mode 100644
index ..0b19338ea3ec
--- /dev/null
+++ b/arch/ia64/include/asm/setup.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+
+#ifndef __IA64_SETUP_H
+#define __IA64_SETUP_H
+
+#include 
+
+#define COMMAND_LINE_SIZE  2048
+
+#endif
diff --git a/arch/ia64/include/uapi/asm/setup.h 
b/arch/ia64/include/uapi/asm/setup.h
index 8d13ce8fb03a..bcbb2b242ded 100644
--- a/arch/ia64/include/uapi/asm/setup.h
+++ b/arch/ia64/include/uapi/asm/setup.h
@@ -1,8 +1,6 @@
 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef __IA64_SETUP_H
-#define __IA64_SETUP_H
-
-#define COMMAND_LINE_SIZE  2048
+#ifndef __UAPI_IA64_SETUP_H
+#define __UAPI_IA64_SETUP_H
 
 extern struct ia64_boot_param {
__u64 command_line; /* physical address of command line 
arguments */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 05/24] m68k: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
Acked-by: Geert Uytterhoeven 
---
 arch/m68k/include/asm/setup.h  | 3 +--
 arch/m68k/include/uapi/asm/setup.h | 2 --
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/m68k/include/asm/setup.h b/arch/m68k/include/asm/setup.h
index 2c99477aaf89..9a256cc3931d 100644
--- a/arch/m68k/include/asm/setup.h
+++ b/arch/m68k/include/asm/setup.h
@@ -23,9 +23,8 @@
 #define _M68K_SETUP_H
 
 #include 
-#include 
-
 
+#define COMMAND_LINE_SIZE 256
 #define CL_SIZE COMMAND_LINE_SIZE
 
 #ifndef __ASSEMBLY__
diff --git a/arch/m68k/include/uapi/asm/setup.h 
b/arch/m68k/include/uapi/asm/setup.h
index 25fe26d5597c..005593acc7d8 100644
--- a/arch/m68k/include/uapi/asm/setup.h
+++ b/arch/m68k/include/uapi/asm/setup.h
@@ -12,6 +12,4 @@
 #ifndef _UAPI_M68K_SETUP_H
 #define _UAPI_M68K_SETUP_H
 
-#define COMMAND_LINE_SIZE 256
-
 #endif /* _UAPI_M68K_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 06/24] microblaze: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
---
 arch/microblaze/include/asm/setup.h  | 2 +-
 arch/microblaze/include/uapi/asm/setup.h | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/microblaze/include/asm/setup.h 
b/arch/microblaze/include/asm/setup.h
index a06cc1f97aa9..2becbf3b8baf 100644
--- a/arch/microblaze/include/asm/setup.h
+++ b/arch/microblaze/include/asm/setup.h
@@ -7,7 +7,7 @@
 #ifndef _ASM_MICROBLAZE_SETUP_H
 #define _ASM_MICROBLAZE_SETUP_H
 
-#include 
+#define COMMAND_LINE_SIZE  256
 
 # ifndef __ASSEMBLY__
 extern char cmd_line[COMMAND_LINE_SIZE];
diff --git a/arch/microblaze/include/uapi/asm/setup.h 
b/arch/microblaze/include/uapi/asm/setup.h
index 6831794e6f2c..51aed65880e7 100644
--- a/arch/microblaze/include/uapi/asm/setup.h
+++ b/arch/microblaze/include/uapi/asm/setup.h
@@ -12,8 +12,6 @@
 #ifndef _UAPI_ASM_MICROBLAZE_SETUP_H
 #define _UAPI_ASM_MICROBLAZE_SETUP_H
 
-#define COMMAND_LINE_SIZE  256
-
 # ifndef __ASSEMBLY__
 
 # endif /* __ASSEMBLY__ */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 07/24] mips: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
Reviewed-by: Philippe Mathieu-Daudé 
---
 arch/mips/include/asm/setup.h  | 3 ++-
 arch/mips/include/uapi/asm/setup.h | 3 ---
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/mips/include/asm/setup.h b/arch/mips/include/asm/setup.h
index 8c56b862fd9c..a13b9259b476 100644
--- a/arch/mips/include/asm/setup.h
+++ b/arch/mips/include/asm/setup.h
@@ -3,7 +3,8 @@
 #define _MIPS_SETUP_H
 
 #include 
-#include 
+
+#define COMMAND_LINE_SIZE  4096
 
 extern void prom_putchar(char);
 extern void setup_early_printk(void);
diff --git a/arch/mips/include/uapi/asm/setup.h 
b/arch/mips/include/uapi/asm/setup.h
index 7d48c433b0c2..157c3c392fb4 100644
--- a/arch/mips/include/uapi/asm/setup.h
+++ b/arch/mips/include/uapi/asm/setup.h
@@ -2,7 +2,4 @@
 #ifndef _UAPI_MIPS_SETUP_H
 #define _UAPI_MIPS_SETUP_H
 
-#define COMMAND_LINE_SIZE  4096
-
-
 #endif /* _UAPI_MIPS_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 08/24] parisc: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
Reviewed-by: Philippe Mathieu-Daudé 
Acked-by: Helge Deller 
---
 arch/parisc/include/asm/setup.h  | 7 +++
 arch/parisc/include/uapi/asm/setup.h | 2 --
 2 files changed, 7 insertions(+), 2 deletions(-)
 create mode 100644 arch/parisc/include/asm/setup.h

diff --git a/arch/parisc/include/asm/setup.h b/arch/parisc/include/asm/setup.h
new file mode 100644
index ..78b2f4ec7d65
--- /dev/null
+++ b/arch/parisc/include/asm/setup.h
@@ -0,0 +1,7 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+#ifndef _PARISC_SETUP_H
+#define _PARISC_SETUP_H
+
+#define COMMAND_LINE_SIZE  1024
+
+#endif /* _PARISC_SETUP_H */
diff --git a/arch/parisc/include/uapi/asm/setup.h 
b/arch/parisc/include/uapi/asm/setup.h
index 78b2f4ec7d65..bfad89428e47 100644
--- a/arch/parisc/include/uapi/asm/setup.h
+++ b/arch/parisc/include/uapi/asm/setup.h
@@ -2,6 +2,4 @@
 #ifndef _PARISC_SETUP_H
 #define _PARISC_SETUP_H
 
-#define COMMAND_LINE_SIZE  1024
-
 #endif /* _PARISC_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 09/24] powerpc: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
Acked-by: Michael Ellerman 
---
 arch/powerpc/include/asm/setup.h  | 2 +-
 arch/powerpc/include/uapi/asm/setup.h | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/powerpc/include/asm/setup.h b/arch/powerpc/include/asm/setup.h
index e29e83f8a89c..31786d1db2ef 100644
--- a/arch/powerpc/include/asm/setup.h
+++ b/arch/powerpc/include/asm/setup.h
@@ -2,7 +2,7 @@
 #ifndef _ASM_POWERPC_SETUP_H
 #define _ASM_POWERPC_SETUP_H
 
-#include 
+#define COMMAND_LINE_SIZE  2048
 
 #ifndef __ASSEMBLY__
 extern void ppc_printk_progress(char *s, unsigned short hex);
diff --git a/arch/powerpc/include/uapi/asm/setup.h 
b/arch/powerpc/include/uapi/asm/setup.h
index c54940b09d06..f2ca747aa45b 100644
--- a/arch/powerpc/include/uapi/asm/setup.h
+++ b/arch/powerpc/include/uapi/asm/setup.h
@@ -2,6 +2,4 @@
 #ifndef _UAPI_ASM_POWERPC_SETUP_H
 #define _UAPI_ASM_POWERPC_SETUP_H
 
-#define COMMAND_LINE_SIZE  2048
-
 #endif /* _UAPI_ASM_POWERPC_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 10/24] sparc: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
---
 arch/sparc/include/asm/setup.h  | 6 +-
 arch/sparc/include/uapi/asm/setup.h | 7 ---
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/arch/sparc/include/asm/setup.h b/arch/sparc/include/asm/setup.h
index 72205684e51e..d1384ed92547 100644
--- a/arch/sparc/include/asm/setup.h
+++ b/arch/sparc/include/asm/setup.h
@@ -7,7 +7,11 @@
 
 #include 
 
-#include 
+#if defined(__sparc__) && defined(__arch64__)
+# define COMMAND_LINE_SIZE 2048
+#else
+# define COMMAND_LINE_SIZE 256
+#endif
 
 extern char reboot_command[];
 
diff --git a/arch/sparc/include/uapi/asm/setup.h 
b/arch/sparc/include/uapi/asm/setup.h
index 3c208a4dd464..c3cf1b0d30b3 100644
--- a/arch/sparc/include/uapi/asm/setup.h
+++ b/arch/sparc/include/uapi/asm/setup.h
@@ -6,11 +6,4 @@
 #ifndef _UAPI_SPARC_SETUP_H
 #define _UAPI_SPARC_SETUP_H
 
-#if defined(__sparc__) && defined(__arch64__)
-# define COMMAND_LINE_SIZE 2048
-#else
-# define COMMAND_LINE_SIZE 256
-#endif
-
-
 #endif /* _UAPI_SPARC_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 11/24] xtensa: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.

Signed-off-by: Palmer Dabbelt 
Acked-by: Max Filippov 
---
 arch/xtensa/include/asm/setup.h  | 17 +
 arch/xtensa/include/uapi/asm/setup.h |  2 --
 2 files changed, 17 insertions(+), 2 deletions(-)
 create mode 100644 arch/xtensa/include/asm/setup.h

diff --git a/arch/xtensa/include/asm/setup.h b/arch/xtensa/include/asm/setup.h
new file mode 100644
index ..5356a5fd4d17
--- /dev/null
+++ b/arch/xtensa/include/asm/setup.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
+ * include/asm-xtensa/setup.h
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License.  See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * Copyright (C) 2001 - 2005 Tensilica Inc.
+ */
+
+#ifndef _XTENSA_SETUP_H
+#define _XTENSA_SETUP_H
+
+#define COMMAND_LINE_SIZE  256
+
+#endif
diff --git a/arch/xtensa/include/uapi/asm/setup.h 
b/arch/xtensa/include/uapi/asm/setup.h
index 5356a5fd4d17..6f982394684a 100644
--- a/arch/xtensa/include/uapi/asm/setup.h
+++ b/arch/xtensa/include/uapi/asm/setup.h
@@ -12,6 +12,4 @@
 #ifndef _XTENSA_SETUP_H
 #define _XTENSA_SETUP_H
 
-#define COMMAND_LINE_SIZE  256
-
 #endif
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 12/24] asm-generic: Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

As far as I can tell this is not used by userspace and thus should not
be part of the user-visible API.  Since  only
contains COMMAND_LINE_SIZE we can just move it out of uapi to hide the
definition and fix up the only direct use in Loongarch.

Signed-off-by: Palmer Dabbelt 
Link: https://lore.kernel.org/r/20210423025545.313965-1-pal...@dabbelt.com
Signed-off-by: Palmer Dabbelt 
---
 Documentation/admin-guide/kernel-parameters.rst | 2 +-
 arch/loongarch/include/asm/setup.h  | 2 +-
 arch/sh/include/asm/setup.h | 2 +-
 include/asm-generic/Kbuild  | 1 +
 include/{uapi => }/asm-generic/setup.h  | 0
 include/uapi/asm-generic/Kbuild | 1 -
 6 files changed, 4 insertions(+), 4 deletions(-)
 rename include/{uapi => }/asm-generic/setup.h (100%)

diff --git a/Documentation/admin-guide/kernel-parameters.rst 
b/Documentation/admin-guide/kernel-parameters.rst
index 19600c50277b..2b94d5a42bd6 100644
--- a/Documentation/admin-guide/kernel-parameters.rst
+++ b/Documentation/admin-guide/kernel-parameters.rst
@@ -207,7 +207,7 @@ The number of kernel parameters is not limited, but the 
length of the
 complete command line (parameters including spaces etc.) is limited to
 a fixed number of characters. This limit depends on the architecture
 and is between 256 and 4096 characters. It is defined in the file
-./include/uapi/asm-generic/setup.h as COMMAND_LINE_SIZE.
+./include/asm-generic/setup.h as COMMAND_LINE_SIZE.
 
 Finally, the [KMG] suffix is commonly described after a number of kernel
 parameter values. These 'K', 'M', and 'G' letters represent the _binary_
diff --git a/arch/loongarch/include/asm/setup.h 
b/arch/loongarch/include/asm/setup.h
index 72ead58039f3..86c99b183ea0 100644
--- a/arch/loongarch/include/asm/setup.h
+++ b/arch/loongarch/include/asm/setup.h
@@ -7,7 +7,7 @@
 #define _LOONGARCH_SETUP_H
 
 #include 
-#include 
+#include 
 
 #define VECSIZE 0x200
 
diff --git a/arch/sh/include/asm/setup.h b/arch/sh/include/asm/setup.h
index fc807011187f..ae09b1c29fd1 100644
--- a/arch/sh/include/asm/setup.h
+++ b/arch/sh/include/asm/setup.h
@@ -2,7 +2,7 @@
 #ifndef _SH_SETUP_H
 #define _SH_SETUP_H
 
-#include 
+#include 
 
 /*
  * This is set up by the setup-routine at boot-time
diff --git a/include/asm-generic/Kbuild b/include/asm-generic/Kbuild
index 941be574bbe0..0fb55a119f54 100644
--- a/include/asm-generic/Kbuild
+++ b/include/asm-generic/Kbuild
@@ -49,6 +49,7 @@ mandatory-y += preempt.h
 mandatory-y += rwonce.h
 mandatory-y += sections.h
 mandatory-y += serial.h
+mandatory-y += setup.h
 mandatory-y += shmparam.h
 mandatory-y += simd.h
 mandatory-y += softirq_stack.h
diff --git a/include/uapi/asm-generic/setup.h b/include/asm-generic/setup.h
similarity index 100%
rename from include/uapi/asm-generic/setup.h
rename to include/asm-generic/setup.h
diff --git a/include/uapi/asm-generic/Kbuild b/include/uapi/asm-generic/Kbuild
index ebb180aac74e..0e7122339ee9 100644
--- a/include/uapi/asm-generic/Kbuild
+++ b/include/uapi/asm-generic/Kbuild
@@ -20,7 +20,6 @@ mandatory-y += posix_types.h
 mandatory-y += ptrace.h
 mandatory-y += resource.h
 mandatory-y += sembuf.h
-mandatory-y += setup.h
 mandatory-y += shmbuf.h
 mandatory-y += sigcontext.h
 mandatory-y += siginfo.h
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [PATCH v4 00/24] Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Geert Uytterhoeven
Hi Alex,

On Thu, Mar 2, 2023 at 10:35 AM 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

Thanks for the update!

 Apparently you forgot to add your own SoB?

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 13/24] alpha: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
---
 arch/alpha/include/uapi/asm/setup.h | 5 -
 1 file changed, 5 deletions(-)
 delete mode 100644 arch/alpha/include/uapi/asm/setup.h

diff --git a/arch/alpha/include/uapi/asm/setup.h 
b/arch/alpha/include/uapi/asm/setup.h
deleted file mode 100644
index 9b3b5ba39b1d..
--- a/arch/alpha/include/uapi/asm/setup.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _UAPI__ALPHA_SETUP_H
-#define _UAPI__ALPHA_SETUP_H
-
-#endif /* _UAPI__ALPHA_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 14/24] arc: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
Reviewed-by: Philippe Mathieu-Daudé 
---
 arch/arc/include/asm/setup.h  | 1 -
 arch/arc/include/uapi/asm/setup.h | 6 --
 2 files changed, 7 deletions(-)
 delete mode 100644 arch/arc/include/uapi/asm/setup.h

diff --git a/arch/arc/include/asm/setup.h b/arch/arc/include/asm/setup.h
index 028a8cf76206..fe45ff4681bc 100644
--- a/arch/arc/include/asm/setup.h
+++ b/arch/arc/include/asm/setup.h
@@ -7,7 +7,6 @@
 
 
 #include 
-#include 
 
 #define COMMAND_LINE_SIZE 256
 
diff --git a/arch/arc/include/uapi/asm/setup.h 
b/arch/arc/include/uapi/asm/setup.h
deleted file mode 100644
index a6d4e44938be..
--- a/arch/arc/include/uapi/asm/setup.h
+++ /dev/null
@@ -1,6 +0,0 @@
-/*
- * setup.h is part of userspace header ABI so UAPI scripts have to generate it
- * even if there's nothing to export - causing empty 
- * However to prevent "patch" from discarding it we add this placeholder
- * comment
- */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 16/24] arm64: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
---
 arch/arm64/include/uapi/asm/setup.h | 25 -
 1 file changed, 25 deletions(-)
 delete mode 100644 arch/arm64/include/uapi/asm/setup.h

diff --git a/arch/arm64/include/uapi/asm/setup.h 
b/arch/arm64/include/uapi/asm/setup.h
deleted file mode 100644
index f9f51e5925aa..
--- a/arch/arm64/include/uapi/asm/setup.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Based on arch/arm/include/asm/setup.h
- *
- * Copyright (C) 1997-1999 Russell King
- * Copyright (C) 2012 ARM Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see .
- */
-#ifndef __ASM_SETUP_H
-#define __ASM_SETUP_H
-
-#include 
-
-#endif
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 17/24] microblaze: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
---
 arch/microblaze/include/uapi/asm/setup.h | 18 --
 1 file changed, 18 deletions(-)
 delete mode 100644 arch/microblaze/include/uapi/asm/setup.h

diff --git a/arch/microblaze/include/uapi/asm/setup.h 
b/arch/microblaze/include/uapi/asm/setup.h
deleted file mode 100644
index 51aed65880e7..
--- a/arch/microblaze/include/uapi/asm/setup.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Copyright (C) 2007-2009 Michal Simek 
- * Copyright (C) 2007-2009 PetaLogix
- * Copyright (C) 2006 Atmark Techno, Inc.
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- */
-
-#ifndef _UAPI_ASM_MICROBLAZE_SETUP_H
-#define _UAPI_ASM_MICROBLAZE_SETUP_H
-
-# ifndef __ASSEMBLY__
-
-# endif /* __ASSEMBLY__ */
-#endif /* _UAPI_ASM_MICROBLAZE_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 18/24] sparc: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
---
 arch/sparc/include/uapi/asm/setup.h | 9 -
 1 file changed, 9 deletions(-)
 delete mode 100644 arch/sparc/include/uapi/asm/setup.h

diff --git a/arch/sparc/include/uapi/asm/setup.h 
b/arch/sparc/include/uapi/asm/setup.h
deleted file mode 100644
index c3cf1b0d30b3..
--- a/arch/sparc/include/uapi/asm/setup.h
+++ /dev/null
@@ -1,9 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * Just a place holder. 
- */
-
-#ifndef _UAPI_SPARC_SETUP_H
-#define _UAPI_SPARC_SETUP_H
-
-#endif /* _UAPI_SPARC_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 19/24] parisc: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
Reviewed-by: Philippe Mathieu-Daudé 
Acked-by: Helge Deller 
---
 arch/parisc/include/uapi/asm/setup.h | 5 -
 1 file changed, 5 deletions(-)
 delete mode 100644 arch/parisc/include/uapi/asm/setup.h

diff --git a/arch/parisc/include/uapi/asm/setup.h 
b/arch/parisc/include/uapi/asm/setup.h
deleted file mode 100644
index bfad89428e47..
--- a/arch/parisc/include/uapi/asm/setup.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _PARISC_SETUP_H
-#define _PARISC_SETUP_H
-
-#endif /* _PARISC_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 20/24] x86: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
Reviewed-by: Philippe Mathieu-Daudé 
---
 arch/x86/include/asm/setup.h  | 2 --
 arch/x86/include/uapi/asm/setup.h | 1 -
 2 files changed, 3 deletions(-)
 delete mode 100644 arch/x86/include/uapi/asm/setup.h

diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index f37cbff7354c..449b50a2f390 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -2,8 +2,6 @@
 #ifndef _ASM_X86_SETUP_H
 #define _ASM_X86_SETUP_H
 
-#include 
-
 #define COMMAND_LINE_SIZE 2048
 
 #include 
diff --git a/arch/x86/include/uapi/asm/setup.h 
b/arch/x86/include/uapi/asm/setup.h
deleted file mode 100644
index 79a9626b5500..
--- a/arch/x86/include/uapi/asm/setup.h
+++ /dev/null
@@ -1 +0,0 @@
-/* */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 21/24] xtensa: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
Acked-by: Max Filippov 
---
 arch/xtensa/include/uapi/asm/setup.h | 15 ---
 1 file changed, 15 deletions(-)
 delete mode 100644 arch/xtensa/include/uapi/asm/setup.h

diff --git a/arch/xtensa/include/uapi/asm/setup.h 
b/arch/xtensa/include/uapi/asm/setup.h
deleted file mode 100644
index 6f982394684a..
--- a/arch/xtensa/include/uapi/asm/setup.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
- * include/asm-xtensa/setup.h
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License.  See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 2001 - 2005 Tensilica Inc.
- */
-
-#ifndef _XTENSA_SETUP_H
-#define _XTENSA_SETUP_H
-
-#endif
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 22/24] powerpc: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
---
 arch/powerpc/include/uapi/asm/setup.h | 5 -
 1 file changed, 5 deletions(-)
 delete mode 100644 arch/powerpc/include/uapi/asm/setup.h

diff --git a/arch/powerpc/include/uapi/asm/setup.h 
b/arch/powerpc/include/uapi/asm/setup.h
deleted file mode 100644
index f2ca747aa45b..
--- a/arch/powerpc/include/uapi/asm/setup.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _UAPI_ASM_POWERPC_SETUP_H
-#define _UAPI_ASM_POWERPC_SETUP_H
-
-#endif /* _UAPI_ASM_POWERPC_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 23/24] mips: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
---
 arch/mips/include/uapi/asm/setup.h | 5 -
 1 file changed, 5 deletions(-)
 delete mode 100644 arch/mips/include/uapi/asm/setup.h

diff --git a/arch/mips/include/uapi/asm/setup.h 
b/arch/mips/include/uapi/asm/setup.h
deleted file mode 100644
index 157c3c392fb4..
--- a/arch/mips/include/uapi/asm/setup.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-#ifndef _UAPI_MIPS_SETUP_H
-#define _UAPI_MIPS_SETUP_H
-
-#endif /* _UAPI_MIPS_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 24/24] s390: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
Acked-by: Heiko Carstens 
Reviewed-by: Philippe Mathieu-Daudé 
---
 arch/s390/include/asm/setup.h  | 1 -
 arch/s390/include/uapi/asm/setup.h | 1 -
 2 files changed, 2 deletions(-)
 delete mode 100644 arch/s390/include/uapi/asm/setup.h

diff --git a/arch/s390/include/asm/setup.h b/arch/s390/include/asm/setup.h
index 177bf6deaa27..99c1cc97350a 100644
--- a/arch/s390/include/asm/setup.h
+++ b/arch/s390/include/asm/setup.h
@@ -7,7 +7,6 @@
 #define _ASM_S390_SETUP_H
 
 #include 
-#include 
 #include 
 
 #define PARMAREA   0x10400
diff --git a/arch/s390/include/uapi/asm/setup.h 
b/arch/s390/include/uapi/asm/setup.h
deleted file mode 100644
index 598d769e76df..
--- a/arch/s390/include/uapi/asm/setup.h
+++ /dev/null
@@ -1 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [PATCH v4 00/24] Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti

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/setu

Re: [PATCH v4 00/24] Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti

Hi Geert,

On 3/2/23 10:47, Geert Uytterhoeven wrote:

Hi Alex,

On Thu, Mar 2, 2023 at 10:35 AM 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

Thanks for the update!

  Apparently you forgot to add your own SoB?



I do not know, should I? Palmer did all the work, I only fixed 3 minor 
things





Gr{oetje,eeting}s,

 Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
 -- Linus Torvalds


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH v4 15/24] m68k: Remove empty

2023-03-02 Thread Alexandre Ghiti
From: Palmer Dabbelt 

Signed-off-by: Palmer Dabbelt 
Acked-by: Geert Uytterhoeven 
---
 arch/m68k/include/uapi/asm/setup.h | 15 ---
 1 file changed, 15 deletions(-)
 delete mode 100644 arch/m68k/include/uapi/asm/setup.h

diff --git a/arch/m68k/include/uapi/asm/setup.h 
b/arch/m68k/include/uapi/asm/setup.h
deleted file mode 100644
index 005593acc7d8..
--- a/arch/m68k/include/uapi/asm/setup.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-/*
-** asm/setup.h -- Definition of the Linux/m68k setup information
-**
-** Copyright 1992 by Greg Harp
-**
-** This file is subject to the terms and conditions of the GNU General Public
-** License.  See the file COPYING in the main directory of this archive
-** for more details.
-*/
-
-#ifndef _UAPI_M68K_SETUP_H
-#define _UAPI_M68K_SETUP_H
-
-#endif /* _UAPI_M68K_SETUP_H */
-- 
2.37.2


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [PATCH v4 00/24] Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Geert Uytterhoeven
Hi Alex,

On Thu, Mar 2, 2023 at 11:09 AM Alexandre Ghiti  wrote:
> On 3/2/23 10:47, Geert Uytterhoeven wrote:
> > On Thu, Mar 2, 2023 at 10:35 AM 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
> > Thanks for the update!
> >
> >   Apparently you forgot to add your own SoB?
>
> I do not know, should I? Palmer did all the work, I only fixed 3 minor
> things

If you are picking up patches, and submitting them to someone else
for upstream inclusion, you should add your own SoB.
https://elixir.bootlin.com/linux/latest/source/Documentation/process/submitting-patches.rst#L419

Gr{oetje,eeting}s,

Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [PATCH v4 00/24] Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti


On 3/2/23 11:44, Geert Uytterhoeven wrote:

Hi Alex,

On Thu, Mar 2, 2023 at 11:09 AM Alexandre Ghiti  wrote:

On 3/2/23 10:47, Geert Uytterhoeven wrote:

On Thu, Mar 2, 2023 at 10:35 AM 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

Thanks for the update!

   Apparently you forgot to add your own SoB?

I do not know, should I? Palmer did all the work, I only fixed 3 minor
things

If you are picking up patches, and submitting them to someone else
for upstream inclusion, you should add your own SoB.
https://elixir.bootlin.com/linux/latest/source/Documentation/process/submitting-patches.rst#L419



Great, thanks for the pointer, I'll do that then!


Thanks again,


Alex



Gr{oetje,eeting}s,

 Geert



___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [PATCH v7 13/41] mm: Make pte_mkwrite() take a VMA

2023-03-02 Thread Borislav Petkov
On Mon, Feb 27, 2023 at 02:29:29PM -0800, Rick Edgecombe wrote:
> [0] 
> https://lore.kernel.org/lkml/0e29a2d0-08d8-bcd6-ff26-4bea0e403...@redhat.com/#t

I guess that sub-thread about how you arrived at this "pass a VMA"
decision should be in the Link tag. But that's for the committer, I'd
say.

Thx.

-- 
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [PATCH v4 00/24] Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread Alexandre Ghiti


On 3/2/23 11:06, Alexandre Ghiti wrote:

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
  delet

[PATCH 1/2] ARC: Add the clone3 wrapper

2023-03-02 Thread Pavel . Kozlov
From: Pavel Kozlov 

Use the clone3 wrapper on ARC. It doesn't care about stack alignment.
All callers should provide an aligned stack.
It follows the internal signature:

extern int clone3 (struct clone_args *__cl_args, size_t __size,
 int (*__func) (void *__arg), void *__arg);
---
Checked on arc-linux-gnu. Previously observed tst-misaling-clone-internal
test fail was because I used outdated master branch.
Full testsuite runs without regressions.
But I also see fail of the new tst-spawn7, as already repoted at [1].

[1]
https://sourceware.org/pipermail/libc-alpha/2023-February/145937.html

 sysdeps/unix/sysv/linux/arc/clone3.S | 90 
 sysdeps/unix/sysv/linux/arc/sysdep.h |  2 +
 2 files changed, 92 insertions(+)
 create mode 100644 sysdeps/unix/sysv/linux/arc/clone3.S

diff --git a/sysdeps/unix/sysv/linux/arc/clone3.S 
b/sysdeps/unix/sysv/linux/arc/clone3.S
new file mode 100644
index ..87a8272a3977
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/arc/clone3.S
@@ -0,0 +1,90 @@
+/* The clone3 syscall wrapper.  Linux/arc version.
+   Copyright (C) 2023 Free Software Foundation, Inc.
+
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   .  */
+
+#include 
+#define _ERRNO_H   1
+#include 
+
+/* The userland implementation is:
+   int clone3 (struct clone_args *cl_args, size_t size,
+   int (*func)(void *arg), void *arg);
+
+   the kernel entry is:
+   int clone3 (struct clone_args *cl_args, size_t size);
+
+   The parameters are passed in registers from userland:
+   r0: cl_args
+   r1: size
+   r2: func
+   r3: arg  */
+
+ENTRY(__clone3)
+
+   /* Save args for the child.  */
+   mov r10, r0 /* cl_args  */
+   mov r11, r2 /* func  */
+   mov r12, r3 /* args  */
+
+   /* Sanity check args.  */
+   breqr10, 0, L (__sys_err)   /* No NULL cl_args pointer.  */
+   breqr11, 0, L (__sys_err)   /* No NULL function pointer.  */
+
+   /* Do the system call, the kernel expects:
+  r8: system call number
+  r0: cl_args
+  r1: size  */
+   mov r0, r10
+   mov r8, __NR_clone3
+   ARC_TRAP_INSN
+
+   cmp r0, 0
+   beq thread_start_clone3 /* Child returns.  */
+   blt L (__sys_err2)
+   j   [blink] /* Parent returns.  */
+
+L (__sys_err):
+   mov r0, -EINVAL
+L (__sys_err2):
+   b   __syscall_error
+PSEUDO_END (__clone3)
+
+
+   .align 4
+   .type thread_start_clone3, %function
+thread_start_clone3:
+   cfi_startproc
+   /* Terminate call stack by noting ra is undefined.  */
+   cfi_undefined (blink)
+
+   /* Child jumps off to @fn with @arg as argument.  */
+   jl.d[r11]
+   mov r0, r12
+
+   /* exit() with result from @fn (already in r0).  */
+   mov r8, __NR_exit
+   ARC_TRAP_INSN
+
+   /* In case it ever came back.  */
+   flag1
+
+   cfi_endproc
+   .size thread_start_clone3, .-thread_start_clone3
+
+libc_hidden_def (__clone3)
+weak_alias (__clone3, clone3)
diff --git a/sysdeps/unix/sysv/linux/arc/sysdep.h 
b/sysdeps/unix/sysv/linux/arc/sysdep.h
index dd6fe73445f9..88dc1dff017f 100644
--- a/sysdeps/unix/sysv/linux/arc/sysdep.h
+++ b/sysdeps/unix/sysv/linux/arc/sysdep.h
@@ -141,6 +141,8 @@ hidden_proto (__syscall_error)
 
 # define ARC_TRAP_INSN "trap_s 0   \n\t"
 
+# define HAVE_CLONE3_WRAPPER   1
+
 # undef INTERNAL_SYSCALL_NCS
 # define INTERNAL_SYSCALL_NCS(number, nr_args, args...)\
   ({   \
-- 
2.25.1


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


[PATCH 2/2] ARC: run child from the separate start block in __clone

2023-03-02 Thread Pavel . Kozlov
From: Pavel Kozlov 

For better debug experience use separate code block with extra
cfi_* directives to run child (same as in __clone3).
---
 sysdeps/unix/sysv/linux/arc/clone.S | 40 ++---
 1 file changed, 25 insertions(+), 15 deletions(-)

diff --git a/sysdeps/unix/sysv/linux/arc/clone.S 
b/sysdeps/unix/sysv/linux/arc/clone.S
index 766649625658..0029aaeb8170 100644
--- a/sysdeps/unix/sysv/linux/arc/clone.S
+++ b/sysdeps/unix/sysv/linux/arc/clone.S
@@ -20,9 +20,6 @@
 #include 
 #define _ERRNO_H   1
 #include 
-#include 
-
-#define CLONE_SETTLS   0x0008
 
 /* int clone(int (*fn)(void *), void *child_stack,
int flags, void *arg, ...
@@ -63,19 +60,9 @@ ENTRY (__clone)
ARC_TRAP_INSN
 
cmp r0, 0   /* return code : 0 new process, !0 parent.  */
+   beq thread_start_clone
blt L (__sys_err2)  /* < 0 (signed) error.  */
-   jnz [blink] /* Parent returns.  */
-
-   /* child jumps off to @fn with @arg as argument
-   TP register already set by kernel.  */
-   jl.d[r10]
-   mov r0, r11
-
-   /* exit() with result from @fn (already in r0).  */
-   mov r8, __NR_exit
-   ARC_TRAP_INSN
-   /* In case it ever came back.  */
-   flag1
+   j   [blink] /* Parent returns.  */
 
 L (__sys_err):
mov r0, -EINVAL
@@ -89,5 +76,28 @@ L (__sys_err2):
   position independent.  */
b   __syscall_error
 PSEUDO_END (__clone)
+
+
+   .align 4
+   .type thread_start_clone, %function
+thread_start_clone:
+   cfi_startproc
+   /* Terminate call stack by noting ra is undefined.  */
+   cfi_undefined (blink)
+
+   /* Child jumps off to @fn with @arg as argument.  */
+   jl.d[r10]
+   mov r0, r11
+
+   /* exit() with result from @fn (already in r0).  */
+   mov r8, __NR_exit
+   ARC_TRAP_INSN
+
+   /* In case it ever came back.  */
+   flag1
+
+   cfi_endproc
+   .size thread_start_clone, .-thread_start_clone
+
 libc_hidden_def (__clone)
 weak_alias (__clone, clone)
-- 
2.25.1


___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc


Re: [PATCH v3 00/24] Remove COMMAND_LINE_SIZE from uapi

2023-03-02 Thread H. Peter Anvin
On March 1, 2023 7:17:18 PM PST, Palmer Dabbelt  wrote:
>On Tue, 14 Feb 2023 01:19:02 PST (-0800), h...@linux.ibm.com wrote:
>> On Tue, Feb 14, 2023 at 09:58:17AM +0100, Geert Uytterhoeven wrote:
>>> Hi Heiko,
>>> 
>>> On Tue, Feb 14, 2023 at 9:39 AM Heiko Carstens  wrote:
>>> > On Tue, Feb 14, 2023 at 08:49:01AM +0100, 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.
>>> > >
>>> > > 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.
>>> >
>>> > Just to confirm this assumption a bit more: that's actually the same
>>> > conclusion that we ended up with when commit 3da0243f906a ("s390: make
>>> > command line configurable") went upstream.
>
>Thanks, I guess I'd missed that one.  At some point I think there was some 
>discussion of making this a Kconfig for everyone, which seems reasonable to me 
>-- our use case for this being extended is syzkaller, but we're sort of just 
>picking a value that's big enough for now and running with it.
>
>Probably best to get it out of uapi first, though, as that way at least it's 
>clear that it's not uABI.
>
>>> Commit 622021cd6c560ce7 ("s390: make command line configurable"),
>>> I assume?
>> 
>> Yes, sorry for that. I got distracted while writing and used the wrong
>> branch to look this up.
>
>Alex: Probably worth adding that to the list in the cover letter as it looks 
>like you were planning on a v4 anyway (which I guess you now have to do, given 
>that I just added the issue to RISC-V).

The only use that is uapi is the *default* length of the command line if the 
kernel header doesn't include it (in the case of x86, it is in the bzImage 
header, but that is atchitecture- or even boot format-specific.)

___
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc