[PATCH] Fix incorrect arguments to ioperm() call

Dmitry Torokhov dmitry.torokhov at gmail.com
Thu Feb 25 02:25:18 PST 2010


The second argument of ioperm() is not the last port to be accessed
but rather length of the port range [port, port + len).

Signed-off-by: Dmitry Torokhov <dtor at mail.ru>
---

Hi Martin,

I know that hal is being deprecated but I think the patch is still
useful, if only to prevent other people copying the incorrect code in
other projects.

Thanks.

 hald/linux/addons/addon-imac-backlight.c       |    3 ++-
 hald/linux/addons/addon-macbookpro-backlight.c |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/hald/linux/addons/addon-imac-backlight.c b/hald/linux/addons/addon-imac-backlight.c
index e869192..54e4ea3 100644
--- a/hald/linux/addons/addon-imac-backlight.c
+++ b/hald/linux/addons/addon-imac-backlight.c
@@ -158,7 +158,8 @@ main (int argc, char **argv)
 		goto out;
 	}
 
-	if (ioperm(0xB2, 0xB3, 1) < 0)
+	/* Allow access to ports 0xB2 and 0xB3 */
+	if (ioperm(0xB2, 2, 1) < 0)
 	{
 		HAL_ERROR (("ioperm failed (you should be root)."));
 		exit(1);
diff --git a/hald/linux/addons/addon-macbookpro-backlight.c b/hald/linux/addons/addon-macbookpro-backlight.c
index 2a6fef6..c1bbbac 100644
--- a/hald/linux/addons/addon-macbookpro-backlight.c
+++ b/hald/linux/addons/addon-macbookpro-backlight.c
@@ -507,7 +507,8 @@ main (int argc, char *argv[])
  	state = INREG(0x7ae4);
  	OUTREG(0x7ae4, state);
 
-	if (ioperm (0x300, 0x304, 1) < 0) {
+	/* Allow access to porta 0x300 through 0x304 */
+	if (ioperm (0x300, 5, 1) < 0) {
 		HAL_ERROR (("ioperm failed (you should be root)."));
 		exit(1);
 	}
-- 
1.6.6.1

-- 
Dmitry


More information about the hal mailing list