From: David Binder <david.binder@xxxxxxxxxx> 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@xxxxxxxxxx> Reported-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: David Kershner <david.kershner@xxxxxxxxxx> --- 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 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel