lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240620124541.164931-1-tony.lindgren@linux.intel.com>
Date: Thu, 20 Jun 2024 15:45:25 +0300
From: Tony Lindgren <tony.lindgren@...ux.intel.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	Jiri Slaby <jirislaby@...nel.org>,
	Petr Mladek <pmladek@...e.com>,
	Steven Rostedt <rostedt@...dmis.org>,
	John Ogness <john.ogness@...utronix.de>,
	Sergey Senozhatsky <senozhatsky@...omium.org>,
	Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
	Tony Lindgren <tony@...mide.com>
Cc: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
	linux-serial@...r.kernel.org,
	Tony Lindgren <tony.lindgren@...ux.intel.com>,
	linux-kernel@...r.kernel.org
Subject: [PATCH v4 0/4] Fixes for console command line ordering

Hi,

Recent changes to add support for DEVNAME:0.0 style consoles caused a
regression with the preferred console order where the last console on
the kernel command line is no longer the preferred console.

The following four changes fix the issue using Petr's suggestion that
does not involve calling __add_preferred_console() later on again, and
adds the deferred consoles to the console_cmdline[] directly to be
updated when the console is ready.

We revert the earlier printk related changes, and then add back the
DEVNAME:0.0 functionality based on Petr's code snippet. And we end up
reducing the code quite a bit too this way.

And we also revert all the unusable serial core console quirk handling,
it does not do anything for the legacy "ttyS" named consoles. And then
we add a minimal serial_base_match_and_update_preferred_console().

The reason we want DEVNAME:0.0 style consoles is it helps addressing the
console based on the connected serial port controller device rather than
using the hardcoded ttyS addressing. And that helps with issues related
to the console moving around after togging the HSUART option in the BIOS,
or when new ports are enabled in devicetree and aliases are not updated.

Regards,

Tony

Changes since v3:

- Revert the unusable serial core console quirk handling

- Add a minimal patch for serial_base_match_and_update_preferred_console()

Changes since v2:

- Use match_devname_and_update_preferred_console() naming and update
  the comments

- Add a patch to rename the serial functions to use match and update
  naming

- Use ttyname instad of chardev in console_setup()

- Split variables per-line in console_setup()

- Initialize idx to -1 for devname in console_setup()

- Add pr_info() statement when a preferred console is associated with
  a devname

Changes since v1:

- Revert the problem causing printk changes and switch to using the
  solution based on Petr's suggestion and code snippet

Tony Lindgren (4):
  printk: Revert add_preferred_console_match() related commits
  printk: Add match_devname_and_update_preferred_console()
  serial: core: Revert unusable console quirk handling
  serial: core: Add serial_base_match_and_update_preferred_console()

 drivers/tty/serial/8250/8250_core.c  |   5 -
 drivers/tty/serial/serial_base.h     |  22 +---
 drivers/tty/serial/serial_base_bus.c | 116 +++------------------
 drivers/tty/serial/serial_core.c     |   2 +-
 include/linux/printk.h               |   5 +-
 kernel/printk/Makefile               |   2 +-
 kernel/printk/conopt.c               | 146 ---------------------------
 kernel/printk/console_cmdline.h      |   7 +-
 kernel/printk/printk.c               | 122 ++++++++++++++++------
 9 files changed, 112 insertions(+), 315 deletions(-)
 delete mode 100644 kernel/printk/conopt.c


base-commit: 6ba59ff4227927d3a8530fc2973b80e94b54d58f
-- 
2.45.2


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ