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-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191216040825.523720-2-punit1.agrawal@toshiba.co.jp>
Date:   Mon, 16 Dec 2019 13:08:25 +0900
From:   Punit Agrawal <punit1.agrawal@...hiba.co.jp>
To:     linux-serial@...r.kernel.org
Cc:     Punit Agrawal <punit1.agrawal@...hiba.co.jp>,
        linux-acpi@...r.kernel.org, linux-kernel@...r.kernel.org,
        nobuhiro1.iwamatsu@...hiba.co.jp, shrirang.bagul@...onical.com,
        Rob Herring <robh@...nel.org>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        Johan Hovold <johan@...nel.org>,
        Hans de Goede <hdegoede@...hat.com>
Subject: [RFC ] serdev: Only claim supported devices

Serdev sub-system claims all serial devices that are not already
enumerated. As a result, no device node is created for serial port on
certain devices such as the Apollo Lake based UP2. This has the
unintended consequence of unable to raise the login prompt via serial
connection.

Introduce a whitelist to only register devices that are supported by
the sub-system.

Signed-off-by: Punit Agrawal <punit1.agrawal@...hiba.co.jp>
Cc: Rob Herring <robh@...nel.org>
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: Johan Hovold <johan@...nel.org>
Cc: Hans de Goede <hdegoede@...hat.com>
---
 drivers/tty/serdev/core.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/tty/serdev/core.c b/drivers/tty/serdev/core.c
index 226adeec2aed..0f414aa4d870 100644
--- a/drivers/tty/serdev/core.c
+++ b/drivers/tty/serdev/core.c
@@ -663,6 +663,10 @@ static acpi_status acpi_serdev_register_device(struct serdev_controller *ctrl,
 	return AE_OK;
 }
 
+static const struct acpi_device_id serdev_supported_devices[] = {
+	{ },
+};
+
 static acpi_status acpi_serdev_add_device(acpi_handle handle, u32 level,
 					  void *data, void **return_value)
 {
@@ -675,6 +679,10 @@ static acpi_status acpi_serdev_add_device(acpi_handle handle, u32 level,
 	if (acpi_device_enumerated(adev))
 		return AE_OK;
 
+	/* Skip if not supported */
+	if (acpi_match_device_ids(adev, serdev_supported_devices) == -ENOENT)
+		return AE_OK;
+
 	if (acpi_serdev_check_resources(ctrl, adev))
 		return AE_OK;
 
-- 
2.24.0

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ