]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
i3c: dw: Fix memory leak in dw_i3c_master_i3c_xfers()
authorFelix Gu <ustc.gu@gmail.com>
Sat, 4 Apr 2026 10:32:30 +0000 (18:32 +0800)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 12 Apr 2026 14:52:32 +0000 (16:52 +0200)
commit256cc1f1305a8e5dcadf8ca208d04a3acadd26f1
treec8330f1c91f92935d00c4d1054a3ecd323346146
parent57c91ca3dd87e58d635ecbcf9635aaead2f2b1de
i3c: dw: Fix memory leak in dw_i3c_master_i3c_xfers()

The dw_i3c_master_i3c_xfers() function allocates memory for the xfer
structure using dw_i3c_master_alloc_xfer(). If pm_runtime_resume_and_get()
fails, the function returns without freeing the allocated xfer, resulting
in a memory leak.

Since dw_i3c_master_free_xfer() is a thin wrapper around kfree(), use
the __free(kfree) cleanup attribute to handle the free automatically on
all exit paths.

Fixes: 62fe9d06f570 ("i3c: dw: Add power management support")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260404-dw-i3c-2-v3-1-8f7d146549c1@gmail.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/i3c/master/dw-i3c-master.c