[GIT PULL] gpio: fixes for v6.9

From: Bartosz Golaszewski
Date: Fri May 10 2024 - 14:26:52 EST


From: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx>

Linus,

Here are some last-minute fixes for this release from the GPIO subsystem.

The first two address a regression in performance reported to me after the
conversion to using SRCU in GPIOLIB that was merged during the v6.9 merge
window. The second patch is not technically a fix but since after the
first one we no longer need to use a per-descriptor SRCU struct, I think
it's worth to simplify the code before it gets released on Sunday.

The next two commits fix two memory issues: one use-after-free bug and
one instance of possibly leaking kernel stack memory to user-space.

Please pull,
Bartosz

The following changes since commit e67572cd2204894179d89bd7b984072f19313b03:

Linux 6.9-rc6 (2024-04-28 13:47:24 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux.git tags/gpio-fixes-for-v6.9

for you to fetch changes up to ee0166b637a5e376118e9659e5b4148080f1d27e:

gpiolib: cdev: fix uninitialised kfifo (2024-05-10 16:38:27 +0200)

----------------------------------------------------------------
gpio fixes for v6.9

- fix a performance regression in GPIO requesting and releasing after
the conversion to SRCU
- fix a use-after-free bug due to a race-condition
- fix leaking stack memory to user-space in a GPIO uABI corner case

----------------------------------------------------------------
Bartosz Golaszewski (2):
gpiolib: fix the speed of descriptor label setting with SRCU
gpiolib: use a single SRCU struct for all GPIO descriptors

Kent Gibson (1):
gpiolib: cdev: fix uninitialised kfifo

Zhongqiu Han (1):
gpiolib: cdev: Fix use after free in lineinfo_changed_notify

drivers/gpio/gpiolib-cdev.c | 18 ++++++++++++--
drivers/gpio/gpiolib.c | 58 ++++++++++++++++++++++++++++-----------------
drivers/gpio/gpiolib.h | 17 ++++++++-----
3 files changed, 63 insertions(+), 30 deletions(-)