Message ID | 4b510b0979704c587e531cd7d814c1e5361ecbea.1674468099.git.lukas@wunner.de (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | Collection of DOE material | expand |
Lukas Wunner wrote: > After a pci_doe_task completes, its work_struct needs to be destroyed > to avoid a memory leak with CONFIG_DEBUG_OBJECTS=y. > > Fixes: 9d24322e887b ("PCI/DOE: Add DOE mailbox support functions") > Tested-by: Ira Weiny <ira.weiny@intel.com> Reviewed-by: Ira Weiny <ira.weiny@intel.com> > Signed-off-by: Lukas Wunner <lukas@wunner.de> > Cc: stable@vger.kernel.org # v6.0+ > Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > drivers/pci/doe.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/pci/doe.c b/drivers/pci/doe.c > index 12a6752351bf..7451b5732044 100644 > --- a/drivers/pci/doe.c > +++ b/drivers/pci/doe.c > @@ -224,6 +224,7 @@ static void signal_task_complete(struct pci_doe_task *task, int rv) > { > task->rv = rv; > task->complete(task); > + destroy_work_on_stack(&task->work); > } > > static void signal_task_abort(struct pci_doe_task *task, int rv) > -- > 2.39.1 >
On Mon, 23 Jan 2023 16:35:54 -0800 Ira Weiny <ira.weiny@intel.com> wrote: > Lukas Wunner wrote: > > After a pci_doe_task completes, its work_struct needs to be destroyed > > to avoid a memory leak with CONFIG_DEBUG_OBJECTS=y. > > > > Fixes: 9d24322e887b ("PCI/DOE: Add DOE mailbox support functions") > > Tested-by: Ira Weiny <ira.weiny@intel.com> > > Reviewed-by: Ira Weiny <ira.weiny@intel.com> Good find. Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > > Signed-off-by: Lukas Wunner <lukas@wunner.de> > > Cc: stable@vger.kernel.org # v6.0+ > > Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > --- > > drivers/pci/doe.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/pci/doe.c b/drivers/pci/doe.c > > index 12a6752351bf..7451b5732044 100644 > > --- a/drivers/pci/doe.c > > +++ b/drivers/pci/doe.c > > @@ -224,6 +224,7 @@ static void signal_task_complete(struct pci_doe_task *task, int rv) > > { > > task->rv = rv; > > task->complete(task); > > + destroy_work_on_stack(&task->work); > > } > > > > static void signal_task_abort(struct pci_doe_task *task, int rv) > > -- > > 2.39.1 > > > >
Lukas Wunner wrote: > After a pci_doe_task completes, its work_struct needs to be destroyed > to avoid a memory leak with CONFIG_DEBUG_OBJECTS=y. > > Fixes: 9d24322e887b ("PCI/DOE: Add DOE mailbox support functions") > Tested-by: Ira Weiny <ira.weiny@intel.com> > Signed-off-by: Lukas Wunner <lukas@wunner.de> > Cc: stable@vger.kernel.org # v6.0+ > Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Dan Williams <dan.j.williams@intel.com> While this could be squashed with the previous patch they really are independent fixes.
diff --git a/drivers/pci/doe.c b/drivers/pci/doe.c index 12a6752351bf..7451b5732044 100644 --- a/drivers/pci/doe.c +++ b/drivers/pci/doe.c @@ -224,6 +224,7 @@ static void signal_task_complete(struct pci_doe_task *task, int rv) { task->rv = rv; task->complete(task); + destroy_work_on_stack(&task->work); } static void signal_task_abort(struct pci_doe_task *task, int rv)