This patch adds CAP_SYS_ADMIN checks to the potentially dangerous ioctls 
FLASH_Erase and FLASH_Burn
in the Cobalt LCD interface driver.

Signed-off-by: James Nelson <[EMAIL PROTECTED]>

diff -purN --exclude='*~' linux-2.4.29-original/drivers/char/lcd.c 
linux-2.4.29/drivers/char/lcd.c
--- linux-2.4.29-original/drivers/char/lcd.c    2005-01-27 18:46:42.085690494 
-0500
+++ linux-2.4.29/drivers/char/lcd.c     2005-01-27 18:54:00.902766505 -0500
@@ -386,6 +386,8 @@ static int lcd_ioctl(struct inode *inode
 
                int ctr=0;
 
+               if (!capable(CAP_SYS_ADMIN)) return -EPERM;
+
                    // Chip Erase Sequence
                WRITE_FLASH( kFlash_Addr1, kFlash_Data1 );
                WRITE_FLASH( kFlash_Addr2, kFlash_Data2 );
@@ -422,6 +424,8 @@ static int lcd_ioctl(struct inode *inode
 
                 struct lcd_display display;
 
+               if (!capable(CAP_SYS_ADMIN)) return -EPERM;
+
                 if(copy_from_user(&display, (struct lcd_display*)arg, 
sizeof(struct lcd_display)))
                  return -EFAULT;
                rom = (unsigned char *) kmalloc((128),GFP_ATOMIC);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to