Message ID | 20200205110530.12129-1-kamalheib1@gmail.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | 8a4f300b978edbbaa73ef9eca660e45eb9f13873 |
Delegated to: | Jason Gunthorpe |
Headers | show |
Series | [for-rc] RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create | expand |
On 2/5/2020 6:05 AM, Kamal Heib wrote: > Make sure to free the allocated cpumask_var_t's to avoid the following > reported memory leak by kmemleak: > > $ cat /sys/kernel/debug/kmemleak > unreferenced object 0xffff8897f812d6a8 (size 8): > comm "kworker/1:1", pid 347, jiffies 4294751400 (age 101.703s) > hex dump (first 8 bytes): > 00 00 00 00 00 00 00 00 ........ > backtrace: > [<00000000bff49664>] alloc_cpumask_var_node+0x4c/0xb0 > [<0000000075d3ca81>] hfi1_comp_vectors_set_up+0x20f/0x800 [hfi1] > [<0000000098d420df>] hfi1_init_dd+0x3311/0x4960 [hfi1] > [<0000000071be7e52>] init_one+0x25e/0xf10 [hfi1] > [<000000005483d4c2>] local_pci_probe+0xd4/0x180 > [<000000007c3cbc6e>] work_for_cpu_fn+0x51/0xa0 > [<000000001d626905>] process_one_work+0x8f0/0x17b0 > [<000000007e569e7e>] worker_thread+0x536/0xb50 > [<00000000fd39a4a5>] kthread+0x30c/0x3d0 > [<0000000056f2edb3>] ret_from_fork+0x3a/0x50 > > Fixes: 5d18ee67d4c1 ("IB/{hfi1, rdmavt, qib}: Implement CQ completion vector support") > Signed-off-by: Kamal Heib <kamalheib1@gmail.com> > --- > drivers/infiniband/hw/hfi1/affinity.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/infiniband/hw/hfi1/affinity.c b/drivers/infiniband/hw/hfi1/affinity.c > index c142b23bb401..1aeea5d65c01 100644 > --- a/drivers/infiniband/hw/hfi1/affinity.c > +++ b/drivers/infiniband/hw/hfi1/affinity.c > @@ -479,6 +479,8 @@ static int _dev_comp_vect_mappings_create(struct hfi1_devdata *dd, > rvt_get_ibdev_name(&(dd)->verbs_dev.rdi), i, cpu); > } > > + free_cpumask_var(available_cpus); > + free_cpumask_var(non_intr_cpus); > return 0; > > fail: > Perhaps this should also target stable kernel? Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com>
On Wed, Feb 05, 2020 at 01:05:30PM +0200, Kamal Heib wrote: > Make sure to free the allocated cpumask_var_t's to avoid the following > reported memory leak by kmemleak: > > $ cat /sys/kernel/debug/kmemleak > unreferenced object 0xffff8897f812d6a8 (size 8): > comm "kworker/1:1", pid 347, jiffies 4294751400 (age 101.703s) > hex dump (first 8 bytes): > 00 00 00 00 00 00 00 00 ........ > backtrace: > [<00000000bff49664>] alloc_cpumask_var_node+0x4c/0xb0 > [<0000000075d3ca81>] hfi1_comp_vectors_set_up+0x20f/0x800 [hfi1] > [<0000000098d420df>] hfi1_init_dd+0x3311/0x4960 [hfi1] > [<0000000071be7e52>] init_one+0x25e/0xf10 [hfi1] > [<000000005483d4c2>] local_pci_probe+0xd4/0x180 > [<000000007c3cbc6e>] work_for_cpu_fn+0x51/0xa0 > [<000000001d626905>] process_one_work+0x8f0/0x17b0 > [<000000007e569e7e>] worker_thread+0x536/0xb50 > [<00000000fd39a4a5>] kthread+0x30c/0x3d0 > [<0000000056f2edb3>] ret_from_fork+0x3a/0x50 > > Fixes: 5d18ee67d4c1 ("IB/{hfi1, rdmavt, qib}: Implement CQ completion vector support") > Signed-off-by: Kamal Heib <kamalheib1@gmail.com> > Reviewed-by: Dennis Dalessandro <dennis.dalessandro@intel.com> > --- > drivers/infiniband/hw/hfi1/affinity.c | 2 ++ > 1 file changed, 2 insertions(+) Applied to for-rc, thanks Jason
diff --git a/drivers/infiniband/hw/hfi1/affinity.c b/drivers/infiniband/hw/hfi1/affinity.c index c142b23bb401..1aeea5d65c01 100644 --- a/drivers/infiniband/hw/hfi1/affinity.c +++ b/drivers/infiniband/hw/hfi1/affinity.c @@ -479,6 +479,8 @@ static int _dev_comp_vect_mappings_create(struct hfi1_devdata *dd, rvt_get_ibdev_name(&(dd)->verbs_dev.rdi), i, cpu); } + free_cpumask_var(available_cpus); + free_cpumask_var(non_intr_cpus); return 0; fail:
Make sure to free the allocated cpumask_var_t's to avoid the following reported memory leak by kmemleak: $ cat /sys/kernel/debug/kmemleak unreferenced object 0xffff8897f812d6a8 (size 8): comm "kworker/1:1", pid 347, jiffies 4294751400 (age 101.703s) hex dump (first 8 bytes): 00 00 00 00 00 00 00 00 ........ backtrace: [<00000000bff49664>] alloc_cpumask_var_node+0x4c/0xb0 [<0000000075d3ca81>] hfi1_comp_vectors_set_up+0x20f/0x800 [hfi1] [<0000000098d420df>] hfi1_init_dd+0x3311/0x4960 [hfi1] [<0000000071be7e52>] init_one+0x25e/0xf10 [hfi1] [<000000005483d4c2>] local_pci_probe+0xd4/0x180 [<000000007c3cbc6e>] work_for_cpu_fn+0x51/0xa0 [<000000001d626905>] process_one_work+0x8f0/0x17b0 [<000000007e569e7e>] worker_thread+0x536/0xb50 [<00000000fd39a4a5>] kthread+0x30c/0x3d0 [<0000000056f2edb3>] ret_from_fork+0x3a/0x50 Fixes: 5d18ee67d4c1 ("IB/{hfi1, rdmavt, qib}: Implement CQ completion vector support") Signed-off-by: Kamal Heib <kamalheib1@gmail.com> --- drivers/infiniband/hw/hfi1/affinity.c | 2 ++ 1 file changed, 2 insertions(+)