Revision c9ddf73476ff4fffb7a87bd5107a0705bf2cf64b authored by Bart Van Assche on 21 May 2018, 18:17:29 UTC, committed by Martin K. Petersen on 29 May 2018, 01:23:38 UTC
Since an SRP remote port is attached as a child to shost->shost_gendev and as the only child, the translation from the shost pointer into an rport pointer must happen by looking up the shost child that is an rport. This patch fixes the following KASAN complaint: BUG: KASAN: slab-out-of-bounds in srp_timed_out+0x57/0x110 [scsi_transport_srp] Read of size 4 at addr ffff880035d3fcc0 by task kworker/1:0H/19 CPU: 1 PID: 19 Comm: kworker/1:0H Not tainted 4.16.0-rc3-dbg+ #1 Workqueue: kblockd blk_mq_timeout_work Call Trace: dump_stack+0x85/0xc7 print_address_description+0x65/0x270 kasan_report+0x231/0x350 srp_timed_out+0x57/0x110 [scsi_transport_srp] scsi_times_out+0xc7/0x3f0 [scsi_mod] blk_mq_terminate_expired+0xc2/0x140 bt_iter+0xbc/0xd0 blk_mq_queue_tag_busy_iter+0x1c7/0x350 blk_mq_timeout_work+0x325/0x3f0 process_one_work+0x441/0xa50 worker_thread+0x76/0x6c0 kthread+0x1b2/0x1d0 ret_from_fork+0x24/0x30 Fixes: e68ca75200fe ("scsi_transport_srp: Reduce failover time") Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com> Cc: Hannes Reinecke <hare@suse.com> Cc: Johannes Thumshirn <jthumshirn@suse.de> Cc: Jason Gunthorpe <jgg@mellanox.com> Cc: Doug Ledford <dledford@redhat.com> Cc: Laurence Oberman <loberman@redhat.com> Cc: stable@vger.kernel.org Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent a45b599
File | Mode | Size |
---|---|---|
c++ | ||
cs-etm-decoder | ||
include | ||
intel-pt-decoder | ||
libunwind | ||
scripting-engines | ||
Build | -rw-r--r-- | 6.5 KB |
PERF-VERSION-GEN | -rwxr-xr-x | 1.0 KB |
annotate.c | -rw-r--r-- | 64.7 KB |
annotate.h | -rw-r--r-- | 9.3 KB |
arm-spe-pkt-decoder.c | -rw-r--r-- | 11.6 KB |
arm-spe-pkt-decoder.h | -rw-r--r-- | 903 bytes |
arm-spe.c | -rw-r--r-- | 5.3 KB |
arm-spe.h | -rw-r--r-- | 748 bytes |
auxtrace.c | -rw-r--r-- | 47.3 KB |
auxtrace.h | -rw-r--r-- | 22.0 KB |
block-range.c | -rw-r--r-- | 6.8 KB |
block-range.h | -rw-r--r-- | 1.6 KB |
bpf-loader.c | -rw-r--r-- | 39.9 KB |
bpf-loader.h | -rw-r--r-- | 6.1 KB |
bpf-prologue.c | -rw-r--r-- | 11.8 KB |
bpf-prologue.h | -rw-r--r-- | 906 bytes |
branch.c | -rw-r--r-- | 2.9 KB |
branch.h | -rw-r--r-- | 566 bytes |
build-id.c | -rw-r--r-- | 19.8 KB |
build-id.h | -rw-r--r-- | 2.0 KB |
cache.h | -rw-r--r-- | 737 bytes |
call-path.c | -rw-r--r-- | 2.8 KB |
call-path.h | -rw-r--r-- | 2.2 KB |
callchain.c | -rw-r--r-- | 36.1 KB |
callchain.h | -rw-r--r-- | 8.0 KB |
cgroup.c | -rw-r--r-- | 5.0 KB |
cgroup.h | -rw-r--r-- | 640 bytes |
cloexec.c | -rw-r--r-- | 2.0 KB |
cloexec.h | -rw-r--r-- | 171 bytes |
color.c | -rw-r--r-- | 4.7 KB |
color.h | -rw-r--r-- | 1.7 KB |
comm.c | -rw-r--r-- | 2.6 KB |
comm.h | -rw-r--r-- | 600 bytes |
compress.h | -rw-r--r-- | 309 bytes |
config.c | -rw-r--r-- | 16.4 KB |
config.h | -rw-r--r-- | 2.1 KB |
counts.c | -rw-r--r-- | 1.1 KB |
counts.h | -rw-r--r-- | 843 bytes |
cpumap.c | -rw-r--r-- | 13.7 KB |
cpumap.h | -rw-r--r-- | 2.1 KB |
cs-etm.c | -rw-r--r-- | 35.1 KB |
cs-etm.h | -rw-r--r-- | 2.4 KB |
ctype.c | -rw-r--r-- | 2.0 KB |
data-convert-bt.c | -rw-r--r-- | 39.4 KB |
data-convert-bt.h | -rw-r--r-- | 341 bytes |
data-convert.h | -rw-r--r-- | 180 bytes |
data.c | -rw-r--r-- | 3.6 KB |
data.h | -rw-r--r-- | 1.4 KB |
db-export.c | -rw-r--r-- | 11.2 KB |
db-export.h | -rw-r--r-- | 3.7 KB |
debug.c | -rw-r--r-- | 5.4 KB |
debug.h | -rw-r--r-- | 2.0 KB |
demangle-java.c | -rw-r--r-- | 4.2 KB |
demangle-java.h | -rw-r--r-- | 288 bytes |
demangle-rust.c | -rw-r--r-- | 6.5 KB |
demangle-rust.h | -rw-r--r-- | 209 bytes |
drv_configs.c | -rw-r--r-- | 1.8 KB |
drv_configs.h | -rw-r--r-- | 844 bytes |
dso.c | -rw-r--r-- | 34.3 KB |
dso.h | -rw-r--r-- | 10.7 KB |
dump-insn.c | -rw-r--r-- | 317 bytes |
dump-insn.h | -rw-r--r-- | 431 bytes |
dwarf-aux.c | -rw-r--r-- | 33.1 KB |
dwarf-aux.h | -rw-r--r-- | 5.0 KB |
dwarf-regs.c | -rw-r--r-- | 1.8 KB |
env.c | -rw-r--r-- | 3.1 KB |
env.h | -rw-r--r-- | 1.5 KB |
event.c | -rw-r--r-- | 42.1 KB |
event.h | -rw-r--r-- | 18.8 KB |
evlist.c | -rw-r--r-- | 40.7 KB |
evlist.h | -rw-r--r-- | 10.5 KB |
evsel.c | -rw-r--r-- | 71.1 KB |
evsel.h | -rw-r--r-- | 13.4 KB |
evsel_fprintf.c | -rw-r--r-- | 5.9 KB |
expr.h | -rw-r--r-- | 588 bytes |
expr.y | -rw-r--r-- | 4.4 KB |
find-vdso-map.c | -rw-r--r-- | 617 bytes |
genelf.c | -rw-r--r-- | 11.4 KB |
genelf.h | -rw-r--r-- | 1.8 KB |
genelf_debug.c | -rw-r--r-- | 14.0 KB |
generate-cmdlist.sh | -rwxr-xr-x | 1.2 KB |
group.h | -rw-r--r-- | 161 bytes |
header.c | -rw-r--r-- | 82.5 KB |
header.h | -rw-r--r-- | 5.0 KB |
help-unknown-cmd.c | -rw-r--r-- | 3.0 KB |
help-unknown-cmd.h | -rw-r--r-- | 0 bytes |
hist.c | -rw-r--r-- | 61.8 KB |
hist.h | -rw-r--r-- | 15.2 KB |
intel-bts.c | -rw-r--r-- | 22.7 KB |
intel-bts.h | -rw-r--r-- | 1.2 KB |
intel-pt.c | -rw-r--r-- | 63.9 KB |
intel-pt.h | -rw-r--r-- | 1.4 KB |
intlist.c | -rw-r--r-- | 3.0 KB |
intlist.h | -rw-r--r-- | 2.1 KB |
jit.h | -rw-r--r-- | 305 bytes |
jitdump.c | -rw-r--r-- | 17.4 KB |
jitdump.h | -rw-r--r-- | 2.8 KB |
kvm-stat.h | -rw-r--r-- | 3.2 KB |
levenshtein.c | -rw-r--r-- | 2.6 KB |
levenshtein.h | -rw-r--r-- | 281 bytes |
llvm-utils.c | -rw-r--r-- | 13.0 KB |
llvm-utils.h | -rw-r--r-- | 1.7 KB |
lzma.c | -rw-r--r-- | 2.2 KB |
machine.c | -rw-r--r-- | 56.0 KB |
machine.h | -rw-r--r-- | 9.0 KB |
map.c | -rw-r--r-- | 19.5 KB |
map.h | -rw-r--r-- | 7.1 KB |
mem-events.c | -rw-r--r-- | 9.2 KB |
mem-events.h | -rw-r--r-- | 2.8 KB |
mem2node.c | -rw-r--r-- | 2.7 KB |
mem2node.h | -rw-r--r-- | 383 bytes |
memswap.c | -rw-r--r-- | 401 bytes |
memswap.h | -rw-r--r-- | 208 bytes |
metricgroup.c | -rw-r--r-- | 10.7 KB |
metricgroup.h | -rw-r--r-- | 741 bytes |
mmap.c | -rw-r--r-- | 7.9 KB |
mmap.h | -rw-r--r-- | 2.7 KB |
namespaces.c | -rw-r--r-- | 4.8 KB |
namespaces.h | -rw-r--r-- | 1.4 KB |
ordered-events.c | -rw-r--r-- | 7.4 KB |
ordered-events.h | -rw-r--r-- | 1.6 KB |
parse-branch-options.c | -rw-r--r-- | 2.2 KB |
parse-branch-options.h | -rw-r--r-- | 307 bytes |
parse-events.c | -rw-r--r-- | 60.8 KB |
parse-events.h | -rw-r--r-- | 7.0 KB |
parse-events.l | -rw-r--r-- | 10.6 KB |
parse-events.y | -rw-r--r-- | 13.5 KB |
parse-regs-options.c | -rw-r--r-- | 1.3 KB |
parse-regs-options.h | -rw-r--r-- | 236 bytes |
path.c | -rw-r--r-- | 1.9 KB |
path.h | -rw-r--r-- | 409 bytes |
perf-hooks-list.h | -rw-r--r-- | 62 bytes |
perf-hooks.c | -rw-r--r-- | 2.0 KB |
perf-hooks.h | -rw-r--r-- | 874 bytes |
perf_regs.c | -rw-r--r-- | 730 bytes |
perf_regs.h | -rw-r--r-- | 933 bytes |
pmu.c | -rw-r--r-- | 30.2 KB |
pmu.h | -rw-r--r-- | 2.7 KB |
pmu.l | -rw-r--r-- | 571 bytes |
pmu.y | -rw-r--r-- | 1.3 KB |
print_binary.c | -rw-r--r-- | 1.4 KB |
print_binary.h | -rw-r--r-- | 945 bytes |
probe-event.c | -rw-r--r-- | 80.6 KB |
probe-event.h | -rw-r--r-- | 6.1 KB |
probe-file.c | -rw-r--r-- | 22.5 KB |
probe-file.h | -rw-r--r-- | 2.5 KB |
probe-finder.c | -rw-r--r-- | 46.4 KB |
probe-finder.h | -rw-r--r-- | 3.4 KB |
pstack.c | -rw-r--r-- | 1.6 KB |
pstack.h | -rw-r--r-- | 494 bytes |
python-ext-sources | -rw-r--r-- | 594 bytes |
python.c | -rw-r--r-- | 36.1 KB |
quote.c | -rw-r--r-- | 1.4 KB |
quote.h | -rw-r--r-- | 952 bytes |
rb_resort.h | -rw-r--r-- | 4.9 KB |
rblist.c | -rw-r--r-- | 2.4 KB |
rblist.h | -rw-r--r-- | 1.4 KB |
record.c | -rw-r--r-- | 7.1 KB |
rwsem.c | -rw-r--r-- | 674 bytes |
rwsem.h | -rw-r--r-- | 393 bytes |
sane_ctype.h | -rw-r--r-- | 1.5 KB |
session.c | -rw-r--r-- | 60.2 KB |
session.h | -rw-r--r-- | 3.9 KB |
setns.c | -rw-r--r-- | 139 bytes |
setup.py | -rw-r--r-- | 1.9 KB |
smt.c | -rw-r--r-- | 845 bytes |
smt.h | -rw-r--r-- | 57 bytes |
sort.c | -rw-r--r-- | 71.7 KB |
sort.h | -rw-r--r-- | 6.6 KB |
srcline.c | -rw-r--r-- | 13.7 KB |
srcline.h | -rw-r--r-- | 1.7 KB |
stat-shadow.c | -rw-r--r-- | 27.7 KB |
stat.c | -rw-r--r-- | 10.0 KB |
stat.h | -rw-r--r-- | 4.1 KB |
strbuf.c | -rw-r--r-- | 2.9 KB |
strbuf.h | -rw-r--r-- | 2.9 KB |
strfilter.c | -rw-r--r-- | 6.2 KB |
strfilter.h | -rw-r--r-- | 2.5 KB |
string.c | -rw-r--r-- | 8.4 KB |
string2.h | -rw-r--r-- | 1.2 KB |
strlist.c | -rw-r--r-- | 4.2 KB |
strlist.h | -rw-r--r-- | 2.5 KB |
svghelper.c | -rw-r--r-- | 22.6 KB |
svghelper.h | -rw-r--r-- | 1.7 KB |
symbol-elf.c | -rw-r--r-- | 47.2 KB |
symbol-minimal.c | -rw-r--r-- | 7.3 KB |
symbol.c | -rw-r--r-- | 50.1 KB |
symbol.h | -rw-r--r-- | 10.5 KB |
symbol_fprintf.c | -rw-r--r-- | 1.9 KB |
syscalltbl.c | -rw-r--r-- | 4.4 KB |
syscalltbl.h | -rw-r--r-- | 664 bytes |
target.c | -rw-r--r-- | 3.4 KB |
target.h | -rw-r--r-- | 2.1 KB |
term.c | -rw-r--r-- | 728 bytes |
term.h | -rw-r--r-- | 239 bytes |
thread-stack.c | -rw-r--r-- | 14.2 KB |
thread-stack.h | -rw-r--r-- | 3.0 KB |
thread.c | -rw-r--r-- | 8.6 KB |
thread.h | -rw-r--r-- | 3.5 KB |
thread_map.c | -rw-r--r-- | 9.8 KB |
thread_map.h | -rw-r--r-- | 1.7 KB |
time-utils.c | -rw-r--r-- | 7.9 KB |
time-utils.h | -rw-r--r-- | 830 bytes |
tool.h | -rw-r--r-- | 1.8 KB |
top.c | -rw-r--r-- | 3.5 KB |
top.h | -rw-r--r-- | 1.2 KB |
trace-event-info.c | -rw-r--r-- | 11.5 KB |
trace-event-parse.c | -rw-r--r-- | 5.7 KB |
trace-event-read.c | -rw-r--r-- | 8.8 KB |
trace-event-scripting.c | -rw-r--r-- | 4.7 KB |
trace-event.c | -rw-r--r-- | 2.5 KB |
trace-event.h | -rw-r--r-- | 3.0 KB |
trigger.h | -rw-r--r-- | 2.0 KB |
tsc.c | -rw-r--r-- | 656 bytes |
tsc.h | -rw-r--r-- | 728 bytes |
units.c | -rw-r--r-- | 1.1 KB |
units.h | -rw-r--r-- | 391 bytes |
unwind-libdw.c | -rw-r--r-- | 5.7 KB |
unwind-libdw.h | -rw-r--r-- | 553 bytes |
unwind-libunwind-local.c | -rw-r--r-- | 17.2 KB |
unwind-libunwind.c | -rw-r--r-- | 2.2 KB |
unwind.h | -rw-r--r-- | 2.3 KB |
usage.c | -rw-r--r-- | 556 bytes |
util-cxx.h | -rw-r--r-- | 460 bytes |
util.c | -rw-r--r-- | 8.7 KB |
util.h | -rw-r--r-- | 2.0 KB |
values.c | -rw-r--r-- | 7.7 KB |
values.h | -rw-r--r-- | 661 bytes |
vdso.c | -rw-r--r-- | 7.1 KB |
vdso.h | -rw-r--r-- | 639 bytes |
xyarray.c | -rw-r--r-- | 639 bytes |
xyarray.h | -rw-r--r-- | 713 bytes |
zlib.c | -rw-r--r-- | 1.4 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...