On 2/15/24 8:39 AM, Maurizio Lombardi wrote: > Do not leave a dangling pointer after free. > > Signed-off-by: Maurizio Lombardi <mlombard@xxxxxxxxxx> > --- > drivers/target/target_core_xcopy.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/target/target_core_xcopy.c b/drivers/target/target_core_xcopy.c > index 4128631c9dfd..1f79da0041e3 100644 > --- a/drivers/target/target_core_xcopy.c > +++ b/drivers/target/target_core_xcopy.c > @@ -491,8 +491,10 @@ int target_xcopy_setup_pt(void) > > void target_xcopy_release_pt(void) > { > - if (xcopy_wq) > + if (xcopy_wq) { > destroy_workqueue(xcopy_wq); > + xcopy_wq = NULL; > + } > } > Why do you need this? Isn't this only called when the module is unloaded? We don't normally do this for that type of case in general. In the target code alone we have lots of places we don't do this.