Ludvig Michaelsson 944ee77dc6 HID: hidraw: fix data race on device refcount
The hidraw_open() function increments the hidraw device reference
counter. The counter has no dedicated synchronization mechanism,
resulting in a potential data race when concurrently opening a device.

The race is a regression introduced by commit 8590222e4b02 ("HID:
hidraw: Replace hidraw device table mutex with a rwsem"). While
minors_rwsem is intended to protect the hidraw_table itself, by instead
acquiring the lock for writing, the reference counter is also protected.
This is symmetrical to hidraw_release().

Link: https://github.com/systemd/systemd/issues/27947
Fixes: 8590222e4b02 ("HID: hidraw: Replace hidraw device table mutex with a rwsem")
Cc: stable@vger.kernel.org
Signed-off-by: Ludvig Michaelsson <ludvig.michaelsson@yubico.com>
Link: https://lore.kernel.org/r/20230621-hidraw-race-v1-1-a58e6ac69bab@yubico.com
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
2023-06-21 17:15:48 +02:00
2023-04-27 11:02:26 -07:00
2023-04-26 12:52:58 -07:00
2023-04-27 11:23:36 -07:00
2023-04-26 16:07:23 -07:00
2023-04-27 11:23:36 -07:00
2023-04-25 13:00:41 -07:00
2023-04-26 16:07:23 -07:00
2023-04-26 16:07:23 -07:00
2023-04-26 16:07:23 -07:00
2023-04-26 16:07:23 -07:00
2023-04-27 09:08:08 -07:00
2023-04-26 16:07:23 -07:00
2023-04-26 16:07:23 -07:00
2023-04-27 11:02:26 -07:00
2023-04-27 11:23:36 -07:00
2023-04-24 12:31:32 -07:00
2022-09-28 09:02:20 +02:00
2023-03-14 12:56:30 -06:00
2022-10-10 12:00:45 -07:00
2023-04-27 11:19:51 -07:00
2023-04-23 12:02:52 -07:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.
Description
No description provided
Readme 5.7 GiB
Languages
C 97.6%
Assembly 1%
Shell 0.5%
Python 0.3%
Makefile 0.3%