summaryrefslogtreecommitdiff
path: root/tools/perf/lib/Documentation/tutorial/git@git.tavy.me:linux.git
diff options
context:
space:
mode:
authorSalah Triki <salah.triki@gmail.com>2026-01-30 21:47:59 +0100
committerHeiko Carstens <hca@linux.ibm.com>2026-02-05 13:02:48 +0100
commitf65c75b0b9b5a390bc3beadcde0a6fbc3ad118f7 (patch)
treed706084936bbdc4957cc2e328bf1df0e8f965005 /tools/perf/lib/Documentation/tutorial/git@git.tavy.me:linux.git
parent01d098dcfdd433862dec89c8b4f9c6372211fe73 (diff)
s390/cio: Fix device lifecycle handling in css_alloc_subchannel()
`css_alloc_subchannel()` calls `device_initialize()` before setting up the DMA masks. If `dma_set_coherent_mask()` or `dma_set_mask()` fails, the error path frees the subchannel structure directly, bypassing the device model reference counting. Once `device_initialize()` has been called, the embedded struct device must be released via `put_device()`, allowing the release callback to free the container structure. Fix the error path by dropping the initial device reference with `put_device()` instead of calling `kfree()` directly. This ensures correct device lifetime handling and avoids potential use-after-free or double-free issues. Fixes: e5dcf0025d7af ("s390/css: move subchannel lock allocation") Signed-off-by: Salah Triki <salah.triki@gmail.com> Reviewed-by: Vineeth Vijayan <vneethv@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'tools/perf/lib/Documentation/tutorial/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions