Message ID | 1565759689-5941-1-git-send-email-wenwen@cs.uga.edu |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | liquidio: add cleanup in octeon_setup_iq() | expand |
From: Wenwen Wang <wenwen@cs.uga.edu> Date: Wed, 14 Aug 2019 00:14:49 -0500 > If oct->fn_list.enable_io_queues() fails, no cleanup is executed, leading > to memory/resource leaks. To fix this issue, invoke > octeon_delete_instr_queue() before returning from the function. > > Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu> Applied.
diff --git a/drivers/net/ethernet/cavium/liquidio/request_manager.c b/drivers/net/ethernet/cavium/liquidio/request_manager.c index 0322241..6dd65f9 100644 --- a/drivers/net/ethernet/cavium/liquidio/request_manager.c +++ b/drivers/net/ethernet/cavium/liquidio/request_manager.c @@ -237,8 +237,10 @@ int octeon_setup_iq(struct octeon_device *oct, } oct->num_iqs++; - if (oct->fn_list.enable_io_queues(oct)) + if (oct->fn_list.enable_io_queues(oct)) { + octeon_delete_instr_queue(oct, iq_no); return 1; + } return 0; }
If oct->fn_list.enable_io_queues() fails, no cleanup is executed, leading to memory/resource leaks. To fix this issue, invoke octeon_delete_instr_queue() before returning from the function. Signed-off-by: Wenwen Wang <wenwen@cs.uga.edu> --- drivers/net/ethernet/cavium/liquidio/request_manager.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)