[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