[igt-dev] [PATCH i-g-t] lib/intel_iosf: Fix bad parameters were passed to functions

Daniel Mrzyglod daniel.t.mrzyglod at intel.com
Tue Sep 3 12:14:17 UTC 2019


There was bad parameters passed to intel_register_read() & intel_register_write()
and Dereferencing and accessing a non existant structure data member
resulting SEGFAULT

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111534
Fixes: d38950f2c0ca ("lib/intel_mmio: add additional api for multiple devices")

Cc: Arkadiusz Hiler <arkadiusz.hiler at intel.com>
Cc: Chris Wilson <chris at chris-wilson.co.uk>
Cc: Lakshminarayana Vudum <lakshminarayana.vudum at intel.com>

Signed-off-by: Daniel Mrzyglod <daniel.t.mrzyglod at intel.com>
---
 lib/intel_iosf.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/intel_iosf.c b/lib/intel_iosf.c
index 16862ef4..40525b06 100644
--- a/lib/intel_iosf.c
+++ b/lib/intel_iosf.c
@@ -49,7 +49,7 @@ static int vlv_sideband_rw(struct intel_mmio_data *mmio_data, uint32_t port,
 	do {
 		usleep(1);
 		timeout++;
-	} while (intel_register_read(mmio_data->igt_mmio,
+	} while (intel_register_read(mmio_data,
 				     VLV_IOSF_DOORBELL_REQ) &
 		IOSF_SB_BUSY && timeout < TIMEOUT_US);
 
@@ -59,8 +59,8 @@ static int vlv_sideband_rw(struct intel_mmio_data *mmio_data, uint32_t port,
 	}
 
 	if (is_read)
-		*val = intel_register_read(mmio_data->igt_mmio, VLV_IOSF_DATA);
-	intel_register_write(mmio_data->igt_mmio, VLV_IOSF_DATA, 0);
+		*val = intel_register_read(mmio_data, VLV_IOSF_DATA);
+	intel_register_write(mmio_data, VLV_IOSF_DATA, 0);
 
 	return 0;
 }
-- 
2.21.0



More information about the igt-dev mailing list