[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220930224100.816175-1-rafaelmendsr@gmail.com>
Date: Fri, 30 Sep 2022 19:40:56 -0300
From: Rafael Mendonca <rafaelmendsr@...il.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jia-Ju Bai <baijiaju1990@...il.com>,
Damian Hobson-Garcia <dhobsong@...l.co.jp>,
"Hans J. Koch" <hjk@...sjkoch.de>
Cc: Rafael Mendonca <rafaelmendsr@...il.com>,
linux-kernel@...r.kernel.org
Subject: [PATCH 0/3] uio: uio_dmem_genirq: Fix locking issues in irq config and handling
The goal of this series is to apply the changes from [1] to the
"uio_dmem_genirq" driver. The implementation of "uio_dmem_genirq" was
based on "uio_pdrv_genirq" and it is used in a similar manner to the
"uio_pdrv_genirq" driver with respect to interrupt configuration and
handling. At the time "uio_dmem_genirq" was introduced, both had the
same implementation of the 'uio_info' handlers irqcontrol() and
handler(). Later, [1] was only applied to "uio_pdrv_genirq", even though
both had the same issues addressed by the patch, which ended up making
them a little different.
The original motivation for this series was to fix a bug introduced by
commit [2], which can be solved by copying the implementation of the
interrupt configuration and handling from "uio_pdrv_genirq" to
"uio_dmem_genirq", thus, making their implementation similar again.
Since patch [1] solves the bug introduced in [2] and also addresses
other issues, I broke it into 3 separate changes.
[1] 34cb27528398 ("UIO: Fix concurrency issue")
https://lore.kernel.org/lkml/201306201636.00535.vitas@nppfactor.kiev.ua/
[2] b74351287d4b ("uio: fix a sleep-in-atomic-context bug in
uio_dmem_genirq_irqcontrol()")
https://lore.kernel.org/all/20191218094405.6009-1-baijiaju1990@gmail.com/
Rafael Mendonca (3):
uio: uio_dmem_genirq: Fix missing unlock in irq configuration
uio: uio_dmem_genirq: Fix deadlock between irq config and handling
uio: uio_dmem_genirq: Use non-atomic bit operations in irq config and handling
drivers/uio/uio_dmem_genirq.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
--
2.34.1
Powered by blists - more mailing lists