nvmem/gpio: fix resource management
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v5 Latest5 patches 4 repliesIn review
- v44 patches 5 repliesSuperseded
- v37 patches 5 repliesSuperseded
Earlier versions · 2
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v2 | 7 patches | 7 replies | Superseded | |
| v1 | 6 patches | 8 replies | Superseded |
Changes in v5 from the cover letter
- don't reference nvmem once it's freed
- add GPIO descriptor validation in gpiod_ref()
Patches in v5 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | nvmem: fix memory leak in error pathdrivers/ | +6 | 1 reply | |
| 2/5 | gpiolib: provide VALIDATE_DESC_PTR() macrodrivers/ | +8 | 1 reply | |
| 3/5 | gpiolib: use kref in gpio_descdrivers/ drivers/ include/ | +36 | 2 replies | |
| 4/5 | nvmem: increase the reference count of a gpio passed over configdrivers/ | +1 | 0 replies | |
| 5/5 | nvmem: release the write-protect pindrivers/ | +1 | 0 replies |
Reviews trailers per patch
1 of 5 patches has a Reviewed-by or Acked-by.
| Patch | Linus Walleij |
|---|---|
| 1/5 | |
| 2/5 | R-b |
| 3/5 | |
| 4/5 | |
| 5/5 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v5 0/5] nvmem/gpio: fix resource management
From: Bartosz Golaszewski <[email protected]>
Hi Srinivas,
sorry for the lack of proper QA last time. This time the code is tested on real HW (Beagle Bone Black with an ACME cape) including the error path.
--
This series addresses a couple problems with memory management in nvmem core.
First we fix a memory leak introduced in this release cycle. Next we extend the GPIO framework to use reference counting for GPIO descriptors. We then use it to fix the resource management problem with the write-protect pin.
While the memory leak with wp-gpios is now in mainline - I'm not sure how to go about applying the kref patch. This is theoretically a new feature but it's also the cleanest way of fixing the problem.
v1 -> v2:
- make gpiod_ref() helper return
- reorganize the series for easier merging
- fix another memory leak
v2 -> v3:
- drop incorrect patches
- add a patch adding a comment about resource management
- extend the GPIO kref patch: only increment the reference count if the descriptor is associated with a requested line
v3 -> v4:
- fixed the return value in error path in nvmem_register()
- dropped patches already applied to the nvmem tree
- dropped the patch adding the comment about resource management
v4 -> v5:
- don't reference nvmem once it's freed
- add GPIO descriptor validation in gpiod_ref()
Bartosz Golaszewski (4):
nvmem: fix memory leak in error path
gpiolib: provide VALIDATE_DESC_PTR() macro
gpiolib: use kref in gpio_desc
nvmem: increase the reference count of a gpio passed over config
Khouloud Touil (1):
nvmem: release the write-protect pin
drivers/gpio/gpiolib.c | 46 ++++++++++++++++++++++++++++++++--- drivers/gpio/gpiolib.h | 1 + drivers/nvmem/core.c | 11 ++++++--- include/linux/gpio/consumer.h | 1 + 4 files changed, 52 insertions(+), 7 deletions(-)
Signature · 1 line
2.25.0