| From 8d0657f39f487d904fca713e0bc39c2707382553 Mon Sep 17 00:00:00 2001 |
| From: Sukadev Bhattiprolu <sukadev@linux.ibm.com> |
| Date: Thu, 24 Feb 2022 22:23:51 -0800 |
| Subject: ibmvnic: free reset-work-item when flushing |
| |
| From: Sukadev Bhattiprolu <sukadev@linux.ibm.com> |
| |
| commit 8d0657f39f487d904fca713e0bc39c2707382553 upstream. |
| |
| Fix a tiny memory leak when flushing the reset work queue. |
| |
| Fixes: 2770a7984db5 ("ibmvnic: Introduce hard reset recovery") |
| Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.ibm.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| drivers/net/ethernet/ibm/ibmvnic.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/net/ethernet/ibm/ibmvnic.c |
| +++ b/drivers/net/ethernet/ibm/ibmvnic.c |
| @@ -2248,8 +2248,10 @@ static int ibmvnic_reset(struct ibmvnic_ |
| * flush reset queue and process this reset |
| */ |
| if (adapter->force_reset_recovery && !list_empty(&adapter->rwi_list)) { |
| - list_for_each_safe(entry, tmp_entry, &adapter->rwi_list) |
| + list_for_each_safe(entry, tmp_entry, &adapter->rwi_list) { |
| list_del(entry); |
| + kfree(list_entry(entry, struct ibmvnic_rwi, list)); |
| + } |
| } |
| rwi->reset_reason = reason; |
| list_add_tail(&rwi->list, &adapter->rwi_list); |