On 12.06.2013 15:38, Bart Van Assche wrote: > On 06/12/13 15:20, Bart Van Assche wrote: >> If the add_one callback fails during driver load no resources are >> allocated so there isn't a need to release any resources. Trying >> to clean the resource may lead to the following kernel panic: >> >> BUG: unable to handle kernel NULL pointer dereference at (null) >> IP: [<ffffffffa0132331>] srp_remove_one+0x31/0x240 [ib_srp] >> RIP: 0010:[<ffffffffa0132331>] [<ffffffffa0132331>] >> srp_remove_one+0x31/0x240 [ib_srp] >> Process rmmod (pid: 4562, threadinfo ffff8800dd738000, task >> ffff8801167e60c0) >> Call Trace: >> [<ffffffffa024500e>] ib_unregister_client+0x4e/0x120 [ib_core] >> [<ffffffffa01361bd>] srp_cleanup_module+0x15/0x71 [ib_srp] >> [<ffffffff810ac6a4>] sys_delete_module+0x194/0x260 >> [<ffffffff8100b0f2>] system_call_fastpath+0x16/0x1b >> >> [bvanassche: Shortened patch description] >> Signed-off-by: Dotan Barak <[email protected]> >> Reviewed-by: Eli Cohen <[email protected]> >> Signed-off-by: Bart Van Assche <[email protected]> >> Cc: Roland Dreier <[email protected]> >> Cc: David Dillow <[email protected]> >> Cc: Vu Pham <[email protected]> >> Cc: Sebastian Riemer <[email protected]> >> --- >> drivers/infiniband/ulp/srp/ib_srp.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/infiniband/ulp/srp/ib_srp.c >> b/drivers/infiniband/ulp/srp/ib_srp.c >> index 7ccf328..368d160 100644 >> --- a/drivers/infiniband/ulp/srp/ib_srp.c >> +++ b/drivers/infiniband/ulp/srp/ib_srp.c >> @@ -2507,6 +2507,8 @@ static void srp_remove_one(struct ib_device >> *device) >> struct srp_target_port *target; >> >> srp_dev = ib_get_client_data(device, &srp_client); >> + if (!srp_dev) >> + return; >> >> list_for_each_entry_safe(host, tmp_host, &srp_dev->dev_list, >> list) { >> device_unregister(&host->dev); >> > > Please note that this patch was authored by Dotan Barak, so I should > have mentioned: > > From: Dotan Barak <[email protected]>
Acked-by: Sebastian Riemer <[email protected]> -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
