sensors_detect crashes kernel on PowerPC, as it pokes directly to memory. This patch adds a check_legacy_ioports to read_port and write_port. It will now return ENXIO, instead of oopsing.
Signed-off-by: Christian Krafft <[EMAIL PROTECTED]> Index: linux.git/drivers/char/mem.c =================================================================== --- linux.git.orig/drivers/char/mem.c +++ linux.git/drivers/char/mem.c @@ -566,8 +566,13 @@ static ssize_t read_port(struct file * f char __user *tmp = buf; if (!access_ok(VERIFY_WRITE, buf, count)) - return -EFAULT; + return -EFAULT; + while (count-- > 0 && i < 65536) { +#ifdef CONFIG_PPC_MERGE + if (check_legacy_ioport(i)) + return -ENXIO; +#endif if (__put_user(inb(i),tmp) < 0) return -EFAULT; i++; @@ -585,6 +590,7 @@ static ssize_t write_port(struct file * if (!access_ok(VERIFY_READ,buf,count)) return -EFAULT; + while (count-- > 0 && i < 65536) { char c; if (__get_user(c, tmp)) { @@ -592,6 +598,10 @@ static ssize_t write_port(struct file * break; return -EFAULT; } +#ifdef CONFIG_PPC_MERGE + if (check_legacy_ioport(i)) + return -ENXIO; +#endif outb(c,i); i++; tmp++; -- Mit freundlichen Gruessen, kind regards, Christian Krafft IBM Systems & Technology Group, Linux Kernel Development IT Specialist Vorsitzender des Aufsichtsrats: Martin Jetter Geschaeftsfuehrung: Herbert Kircher Sitz der Gesellschaft: Boeblingen Registriergericht: Amtsgericht Stuttgart, HRB 243294
signature.asc
Description: PGP signature
_______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev