]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
Input: rmi4 - initialize attn_fifo properly
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 11 Jun 2026 01:28:33 +0000 (18:28 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Fri, 12 Jun 2026 05:39:27 +0000 (22:39 -0700)
attn_fifo is allocated as part of struct rmi_driver_data using
devm_kzalloc in rmi_driver_probe. However, it is never initialized.
A zero-initialized kfifo has its mask set to 0, which effectively
limits its capacity to 1 element instead of the declared 16.
This can lead to lost attention data and memory leaks of the attention
data payload if multiple attention events are received before the
threaded interrupt handler can process them.

Initialize attn_fifo using INIT_KFIFO after allocating rmi_driver_data.

Reported-by: sashiko-bot@kernel.org
Assisted-by: Antigravity:gemini-3.5-flash
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/rmi4/rmi_driver.c

index 75949fb1a9223ce78df3ade160c7a259c8b3680a..0a21f6fa3195e422549c34bdf02f7d97787ec5b2 100644 (file)
@@ -1161,6 +1161,7 @@ static int rmi_driver_probe(struct device *dev)
                return -ENOMEM;
 
        INIT_LIST_HEAD(&data->function_list);
+       INIT_KFIFO(data->attn_fifo);
        data->rmi_dev = rmi_dev;
        dev_set_drvdata(&rmi_dev->dev, data);