[PATCH 09/10] staging: unisys: visorbus: Clarify reason for bus pointer checks
David Kershner
david.kershner at unisys.com
Wed Feb 1 22:39:01 UTC 2017
From: David Binder <david.binder at unisys.com>
Clarifies why the pointers returned from visorbus_get_device_by_id() in
visorbus are validated. The check is performed in order to be extra
careful, for the sake of added security, that the s-Par backend is
providing us with a valid bus.
Signed-off-by: David Binder <david.binder at unisys.com>
Reported-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
Signed-off-by: David Kershner <david.kershner at unisys.com>
---
drivers/staging/unisys/visorbus/visorbus_main.c | 1 +
drivers/staging/unisys/visorbus/visorchipset.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/drivers/staging/unisys/visorbus/visorbus_main.c b/drivers/staging/unisys/visorbus/visorbus_main.c
index aea1aa2..4a11c89 100644
--- a/drivers/staging/unisys/visorbus/visorbus_main.c
+++ b/drivers/staging/unisys/visorbus/visorbus_main.c
@@ -800,6 +800,7 @@ fix_vbus_dev_info(struct visor_device *visordev)
return;
bdev = visorbus_get_device_by_id(bus_no, BUS_ROOT_DEVICE, NULL);
+ /* Validate that s-Par backend gave a good bus */
if (!bdev)
return;
hdr_info = (struct spar_vbus_headerinfo *)bdev->vbus_hdr_info;
diff --git a/drivers/staging/unisys/visorbus/visorchipset.c b/drivers/staging/unisys/visorbus/visorchipset.c
index 96086f5..188e224 100644
--- a/drivers/staging/unisys/visorbus/visorchipset.c
+++ b/drivers/staging/unisys/visorbus/visorchipset.c
@@ -742,6 +742,7 @@ bus_configure(struct controlvm_message *inmsg,
DIAG_SEVERITY_PRINT);
bus_info = visorbus_get_device_by_id(bus_no, BUS_ROOT_DEVICE, NULL);
+ /* Validate that s-Par backend gave a good bus */
if (!bus_info) {
POSTCODE_LINUX(BUS_CONFIGURE_FAILURE_PC, 0, bus_no,
DIAG_SEVERITY_ERR);
@@ -796,6 +797,7 @@ my_device_create(struct controlvm_message *inmsg)
int err;
bus_info = visorbus_get_device_by_id(bus_no, BUS_ROOT_DEVICE, NULL);
+ /* Validate that s-Par backend gave a good bus */
if (!bus_info) {
POSTCODE_LINUX(DEVICE_CREATE_FAILURE_PC, dev_no, bus_no,
DIAG_SEVERITY_ERR);
--
git-series 0.9.1
More information about the devel
mailing list