linux_dsm_epyc7002/drivers/scsi/cxlflash
Matthew R. Ochs e5ce067b7b cxlflash: Fix AFU version access/storage and add check
The AFU version is stored as a non-terminated string of bytes within
a 64-bit little-endian register. Presently the value is read directly
(no MMIO accessor) and is stored in a buffer that is not big enough
to contain a NULL terminator. Additionally the version obtained is not
evaluated against a known value to prevent usage with unsupported AFUs.
All of these deficiencies can lead to a variety of problems.

To remedy, use the correct MMIO accessor to read the version value into
a null-terminated buffer and add a check to prevent an incompatible AFU
from being used with this driver.

Signed-off-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Signed-off-by: Manoj N. Kumar <manoj@linux.vnet.ibm.com>
Reviewed-by: Brian King <brking@linux.vnet.ibm.com>
Reviewed-by: Daniel Axtens <dja@axtens.net>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: James Bottomley <JBottomley@Odin.com>
2015-10-30 17:14:41 +09:00
..
common.h cxlflash: Fix AFU version access/storage and add check 2015-10-30 17:14:41 +09:00
Kconfig cxlflash: Base error recovery support 2015-08-26 18:03:47 -07:00
lunmgt.c cxlflash: Fix to avoid invalid port_sel value 2015-10-30 16:57:21 +09:00
main.c cxlflash: Fix AFU version access/storage and add check 2015-10-30 17:14:41 +09:00
main.h cxlflash: Fix host link up event handling 2015-10-30 17:12:22 +09:00
Makefile cxlflash: Virtual LUN support 2015-08-26 18:05:39 -07:00
sislite.h cxlflash: Fix AFU version access/storage and add check 2015-10-30 17:14:41 +09:00
superpipe.c cxlflash: Correct naming of limbo state and waitq 2015-10-30 17:03:00 +09:00
superpipe.h cxlflash: Fix context encode mask width 2015-10-30 17:02:06 +09:00
vlun.c cxlflash: Fix data corruption when vLUN used over multiple cards 2015-10-30 17:01:07 +09:00
vlun.h cxlflash: Virtual LUN support 2015-08-26 18:05:39 -07:00