mbox series

[0/8] generic command line v5

Message ID 20220929023301.3344694-1-danielwa@cisco.com (mailing list archive)
Headers show
Series generic command line v5 | expand

Message

Daniel Walker (danielwa) Sept. 29, 2022, 2:32 a.m. UTC
v5 release changes. Generally a rebase from v4.

* Modified OF changes to move the ugly code into the cmdline.h

* Minor compliation update in arm64. Added ifndef __ASSEMBLY__ in
  a few places.

* Worked around arm64 kaslr_early.c.

	This code needs some additional review and consideration. 
	It appears this code is missing the opposite option to nokaslr
	which is kaslr.disabled=1/0 which would allow kaslr to be turn
	back on later in the command line. For example,

	console=ttyS0 nokaslr root=/dev/ram0 nosmp kaslr.disabled=0 loglevel=7
	
	On arm64 in arch/arm64/kernel/idreg-override.c this is parsed correctly
	to turn on kaslr, but the kaslr_early.c is missing this logic.
	Doing this results in kaslr getting disabled with the following message,

	KASLR disabled due to lack of seed

	Even when there is a seed in the device tree.	

	So change to the generic command line would leave built in command
	lines with nokaslr with no option to re-enable kaslr in in the bootloader
	arguments.


Daniel Walker (8):
  CMDLINE: add generic builtin command line
  scripts: insert-sys-cert: add command line insert capability
  scripts: insert-sys-cert: change name to insert-symbol
  CMDLINE: mips: convert to generic builtin command line
  drivers: firmware: efi: libstub: enable generic commandline
  CMDLINE: x86: convert to generic builtin command line
  of: replace command line handling
  CMDLINE: arm64: convert to generic builtin command line

 arch/arm64/Kconfig                            |  33 +--
 arch/arm64/include/asm/setup.h                |   4 +
 arch/arm64/include/uapi/asm/setup.h           |   2 +
 arch/arm64/kernel/idreg-override.c            |   9 +-
 arch/arm64/kernel/pi/kaslr_early.c            |  14 +-
 arch/mips/Kconfig                             |   4 +-
 arch/mips/Kconfig.debug                       |  44 ----
 arch/mips/configs/ar7_defconfig               |   9 +-
 arch/mips/configs/bcm47xx_defconfig           |   8 +-
 arch/mips/configs/bcm63xx_defconfig           |  15 +-
 arch/mips/configs/bmips_be_defconfig          |  11 +-
 arch/mips/configs/bmips_stb_defconfig         |   6 +-
 arch/mips/configs/ci20_defconfig              |   9 +-
 arch/mips/configs/cu1000-neo_defconfig        |  10 +-
 arch/mips/configs/cu1830-neo_defconfig        |  10 +-
 arch/mips/configs/generic_defconfig           |   6 +-
 arch/mips/configs/gpr_defconfig               |  18 +-
 arch/mips/configs/loongson3_defconfig         |  12 +-
 arch/mips/include/asm/setup.h                 |   2 +
 arch/mips/kernel/relocate.c                   |  17 +-
 arch/mips/kernel/setup.c                      |  36 +--
 arch/mips/pic32/pic32mzda/early_console.c     |   2 +-
 arch/mips/pic32/pic32mzda/init.c              |   3 +-
 arch/x86/Kconfig                              |  44 +---
 arch/x86/kernel/setup.c                       |  18 +-
 .../firmware/efi/libstub/efi-stub-helper.c    |  29 +++
 drivers/firmware/efi/libstub/efi-stub.c       |   9 +
 drivers/firmware/efi/libstub/efistub.h        |   1 +
 drivers/firmware/efi/libstub/x86-stub.c       |  13 +-
 drivers/of/fdt.c                              |  22 +-
 include/linux/cmdline.h                       | 137 ++++++++++
 init/Kconfig                                  |  78 ++++++
 lib/Kconfig                                   |   4 +
 lib/Makefile                                  |   3 +
 lib/generic_cmdline.S                         |  53 ++++
 lib/test_cmdline1.c                           | 139 ++++++++++
 scripts/Makefile                              |   2 +-
 .../{insert-sys-cert.c => insert-symbol.c}    | 243 ++++++++++++------
 38 files changed, 724 insertions(+), 355 deletions(-)
 create mode 100644 include/linux/cmdline.h
 create mode 100644 lib/generic_cmdline.S
 create mode 100644 lib/test_cmdline1.c
 rename scripts/{insert-sys-cert.c => insert-symbol.c} (72%)

Comments

Sean Anderson Jan. 24, 2023, 4:30 p.m. UTC | #1
On 9/28/22 22:32, Daniel Walker wrote:
> v5 release changes. Generally a rebase from v4.
> 
> * Modified OF changes to move the ugly code into the cmdline.h
> 
> * Minor compliation update in arm64. Added ifndef __ASSEMBLY__ in
>   a few places.
> 
> * Worked around arm64 kaslr_early.c.
> 
> 	This code needs some additional review and consideration. 
> 	It appears this code is missing the opposite option to nokaslr
> 	which is kaslr.disabled=1/0 which would allow kaslr to be turn
> 	back on later in the command line. For example,
> 
> 	console=ttyS0 nokaslr root=/dev/ram0 nosmp kaslr.disabled=0 loglevel=7
> 	
> 	On arm64 in arch/arm64/kernel/idreg-override.c this is parsed correctly
> 	to turn on kaslr, but the kaslr_early.c is missing this logic.
> 	Doing this results in kaslr getting disabled with the following message,
> 
> 	KASLR disabled due to lack of seed
> 
> 	Even when there is a seed in the device tree.	
> 
> 	So change to the generic command line would leave built in command
> 	lines with nokaslr with no option to re-enable kaslr in in the bootloader
> 	arguments.
> 
> 
> Daniel Walker (8):
>   CMDLINE: add generic builtin command line
>   scripts: insert-sys-cert: add command line insert capability
>   scripts: insert-sys-cert: change name to insert-symbol
>   CMDLINE: mips: convert to generic builtin command line
>   drivers: firmware: efi: libstub: enable generic commandline
>   CMDLINE: x86: convert to generic builtin command line
>   of: replace command line handling
>   CMDLINE: arm64: convert to generic builtin command line
> 
>  arch/arm64/Kconfig                            |  33 +--
>  arch/arm64/include/asm/setup.h                |   4 +
>  arch/arm64/include/uapi/asm/setup.h           |   2 +
>  arch/arm64/kernel/idreg-override.c            |   9 +-
>  arch/arm64/kernel/pi/kaslr_early.c            |  14 +-
>  arch/mips/Kconfig                             |   4 +-
>  arch/mips/Kconfig.debug                       |  44 ----
>  arch/mips/configs/ar7_defconfig               |   9 +-
>  arch/mips/configs/bcm47xx_defconfig           |   8 +-
>  arch/mips/configs/bcm63xx_defconfig           |  15 +-
>  arch/mips/configs/bmips_be_defconfig          |  11 +-
>  arch/mips/configs/bmips_stb_defconfig         |   6 +-
>  arch/mips/configs/ci20_defconfig              |   9 +-
>  arch/mips/configs/cu1000-neo_defconfig        |  10 +-
>  arch/mips/configs/cu1830-neo_defconfig        |  10 +-
>  arch/mips/configs/generic_defconfig           |   6 +-
>  arch/mips/configs/gpr_defconfig               |  18 +-
>  arch/mips/configs/loongson3_defconfig         |  12 +-
>  arch/mips/include/asm/setup.h                 |   2 +
>  arch/mips/kernel/relocate.c                   |  17 +-
>  arch/mips/kernel/setup.c                      |  36 +--
>  arch/mips/pic32/pic32mzda/early_console.c     |   2 +-
>  arch/mips/pic32/pic32mzda/init.c              |   3 +-
>  arch/x86/Kconfig                              |  44 +---
>  arch/x86/kernel/setup.c                       |  18 +-
>  .../firmware/efi/libstub/efi-stub-helper.c    |  29 +++
>  drivers/firmware/efi/libstub/efi-stub.c       |   9 +
>  drivers/firmware/efi/libstub/efistub.h        |   1 +
>  drivers/firmware/efi/libstub/x86-stub.c       |  13 +-
>  drivers/of/fdt.c                              |  22 +-
>  include/linux/cmdline.h                       | 137 ++++++++++
>  init/Kconfig                                  |  78 ++++++
>  lib/Kconfig                                   |   4 +
>  lib/Makefile                                  |   3 +
>  lib/generic_cmdline.S                         |  53 ++++
>  lib/test_cmdline1.c                           | 139 ++++++++++
>  scripts/Makefile                              |   2 +-
>  .../{insert-sys-cert.c => insert-symbol.c}    | 243 ++++++++++++------
>  38 files changed, 724 insertions(+), 355 deletions(-)
>  create mode 100644 include/linux/cmdline.h
>  create mode 100644 lib/generic_cmdline.S
>  create mode 100644 lib/test_cmdline1.c
>  rename scripts/{insert-sys-cert.c => insert-symbol.c} (72%)
> 

For arm64:

Tested-by: Sean Anderson <sean.anderson@seco.com>

Thanks!