diff options
author | Chris Leech <cleech@redhat.com> | 2016-06-30 18:32:36 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2016-07-14 04:49:57 +0300 |
commit | fa06883281afaa158b2b350f16c377c448df6b61 (patch) | |
tree | 6f41d942268a64f6c64a6a25eb8eb17f4e6f2ec6 /drivers/scsi/fnic/fnic_fcs.c | |
parent | 4b9bc86d5a999e344098303882d6395d39e36c13 (diff) | |
download | linux-fa06883281afaa158b2b350f16c377c448df6b61.tar.xz |
libfc: sanity check cpu number extracted from xid
In the receive path libfc extracts a cpu number from the ox_id in the
fiber channel header and uses that to do a per_cpu_ptr conversion. If,
for some reason, a frame is received with an invalid ox_id, per_cpu_ptr
will return an invalid pointer and the libfc receive path will panic the
system trying to use it.
I'm currently looking at such a case, and I don't yet know why a cpu
number > nr_cpu_ids is appearing in an exchange id. But adding a sanity
check in libfc prevents a system panic, and seems like good idea when
dealing with frames coming in from the network.
Signed-off-by: Chris Leech <cleech@redhat.com>
Acked-by: Johannes Thumshirn <jth@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'drivers/scsi/fnic/fnic_fcs.c')
0 files changed, 0 insertions, 0 deletions