Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[SCSI] tgt: fix warning

Using scsi_tgt_lib in a new target module, we were getting
the following warning and a stack traceback on every I/O completion:

WARNING: at block/blk-core.c:1108

Which is claiming we may be leaking a bio.
We don't leak bios (blk_rq_unmap_user should free them).

Set rq->bio to NULL before calling scsi_host_put_command().
This was as advised by Fujita Tomonori.

Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Acked-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>

authored by

Joe Eykholt and committed by
James Bottomley
3deee420 081f4f4c

+1
+1
drivers/scsi/scsi_tgt_lib.c
··· 185 185 dprintk("cmd %p %d %u\n", cmd, cmd->sc_data_direction, 186 186 rq_data_dir(cmd->request)); 187 187 scsi_unmap_user_pages(tcmd); 188 + tcmd->rq->bio = NULL; 188 189 scsi_host_put_command(scsi_tgt_cmd_to_host(cmd), cmd); 189 190 } 190 191