* [PATCH] serial: mvebu-uart: drop of_match_ptr for ID table
@ 2026-11-15 15:07 Bramuel Barack
2026-11-15 15:13 ` sashiko-bot
0 siblings, 1 reply; 2+ messages in thread
From: Bramuel Barack @ 2026-11-15 15:07 UTC (permalink / raw)
To: Pali Rohár, Greg Kroah-Hartman, Jiri Slaby
Cc: linux-serial, linux-kernel, Bramuel Barack
mvebu_uart_of_match[] is always compiled in and already referenced
directly in mvebu_uart_probe(). Wrapping it in of_match_ptr() in
mvebu_uart_platform_driver is redundant and prevents ACPI PRP0001
matching when CONFIG_OF is disabled.
Drop of_match_ptr() to reference the table directly.
Signed-off-by: Bramuel Barack <bramwelbarack89@gmail.com>
---
drivers/tty/serial/mvebu-uart.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c
index 33ea496c93b2..8311e4c244f3 100644
--- a/drivers/tty/serial/mvebu-uart.c
+++ b/drivers/tty/serial/mvebu-uart.c
@@ -1016,7 +1016,7 @@ static struct platform_driver mvebu_uart_platform_driver = {
.probe = mvebu_uart_probe,
.driver = {
.name = "mvebu-uart",
- .of_match_table = of_match_ptr(mvebu_uart_of_match),
+ .of_match_table = mvebu_uart_of_match,
.suppress_bind_attrs = true,
#if defined(CONFIG_PM)
.pm = &mvebu_uart_pm_ops,
--
2.56.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH] serial: mvebu-uart: drop of_match_ptr for ID table
2026-11-15 15:07 [PATCH] serial: mvebu-uart: drop of_match_ptr for ID table Bramuel Barack
@ 2026-11-15 15:13 ` sashiko-bot
0 siblings, 0 replies; 2+ messages in thread
From: sashiko-bot @ 2026-11-15 15:13 UTC (permalink / raw)
To: Bramuel Barack; +Cc: linux-serial
Thank you for your contribution! Sashiko AI review found 1 potential
issue to consider:
- [Medium] serial: mvebu-uart: NULL dereference in mvebu_uart_probe() on
PRP0001 match
--
commit 3010b076c87d51f51ddcc431e71fb7901421ff0f
Author: Bramuel Barack <bramwelbarack89@gmail.com>
serial: mvebu-uart: drop of_match_ptr for ID table
This commit removes the of_match_ptr() wrapper around mvebu_uart_of_match
in mvebu_uart_platform_driver.
> diff --git a/drivers/tty/serial/mvebu-uart.c b/drivers/tty/serial/mvebu-uart.c
> index 8a61517d81f21..4026f4c0bf2cf 100644
> --- a/drivers/tty/serial/mvebu-uart.c
> +++ b/drivers/tty/serial/mvebu-uart.c
> @@ -1015,7 +1015,7 @@ static struct platform_driver mvebu_uart_platform_driver = {
> .probe = mvebu_uart_probe,
> .driver = {
> .name = "mvebu-uart",
> - .of_match_table = of_match_ptr(mvebu_uart_of_match),
> + .of_match_table = mvebu_uart_of_match,
[Severity: Medium]
Can this cause a NULL pointer dereference in mvebu_uart_probe() when a
device matches via ACPI PRP0001?
drivers/tty/serial/mvebu-uart.c:mvebu_uart_probe() {
...
const struct of_device_id *match = of_match_device(mvebu_uart_of_match,
&pdev->dev);
...
mvuart->data = (struct mvebu_uart_driver_data *)match->data;
...
}
When a device binds via ACPI PRP0001 (or when CONFIG_OF is disabled),
of_match_device() returns NULL because pdev->dev.of_node is NULL, and
mvebu_uart_probe() then unconditionally dereferences match->data. Using
device_get_match_data(&pdev->dev) would support both DT and ACPI PRP0001
matching.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261115150742.24126-1-bramwelbarack89@gmail.com?part=1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-15 15:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-15 15:07 [PATCH] serial: mvebu-uart: drop of_match_ptr for ID table Bramuel Barack
2026-11-15 15:13 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox