Re: [PATCH] xhci: solve a double free problem while doing s4

From: Zhangjiantao (Kirin, nanjing)
Date: Fri Jun 11 2021 - 03:19:27 EST



On 2021/6/11 3:27, Mathias Nyman wrote:
On 10.6.2021 17.01, gregkh@xxxxxxxxxxxxxxxxxxx wrote:
On Thu, Jun 10, 2021 at 04:45:54PM +0300, Mathias Nyman wrote:
On 9.6.2021 17.22, Zhangjiantao (Kirin, nanjing) wrote:
when system is doing s4, the process of xhci_resume may be as below:
1、xhci_mem_cleanup
2、xhci_init->xhci_mem_init->xhci_mem_cleanup(when memory is not enough).
xhci_mem_cleanup will be executed twice when system is out of memory.
xhci->port_caps is freed in xhci_mem_cleanup,but it isn't set to NULL.
It will be freed twice when xhci_mem_cleanup is called the second time.

Thanks, nice catch

We got following bug when system resumes from s4:

kernel BUG at mm/slub.c:309!
Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
CPU: 0 PID: 5929 Tainted: G S W 5.4.96-arm64-desktop #1
pc : __slab_free+0x5c/0x424
lr : kfree+0x30c/0x32c

Call trace:
__slab_free+0x5c/0x424
kfree+0x30c/0x32c
xhci_mem_cleanup+0x394/0x3cc
xhci_mem_init+0x9ac/0x1070
xhci_init+0x8c/0x1d0
xhci_resume+0x1cc/0x5fc
xhci_plat_resume+0x64/0x70
platform_pm_thaw+0x28/0x60
dpm_run_callback+0x54/0x24c
device_resume+0xd0/0x200
async_resume+0x24/0x60
async_run_entry_fn+0x44/0x110
process_one_work+0x1f0/0x490
worker_thread+0x5c/0x450
kthread+0x158/0x160
ret_from_fork+0x10/0x24

Signed-off-by: Tao Xue <xuetao09@xxxxxxxxxx>
Checkpatch complains:
ERROR: Missing Signed-off-by: line by nominal patch author 'Zhangjiantao (Kirin, nanjing) <water.zhangjiantao@xxxxxxxxxx>'

Is Zhangjiantao (Kirin, nanjing) the correct author? If yes can I add
"Signed-off-by: Zhangjiantao (Kirin, nanjing) <water.zhangjiantao@xxxxxxxxxx>?
Please note that it is generally a bad thing for others to add someone
else's s-o-b line, as it is a legal agreement. It is best for them to
send it instead.
Good point.
Zhangjiantao (Kirin, nanjing), could you resend with Author/Signed-off-by corrected.

Yes, I amd  and  Tao Xue are both the correct author, I will resend soon;

Thanks

--Zhangjiantao