* [Kernel-janitors] Sparse checks #9
@ 2004-06-15 23:45 Alexander Nyberg
2004-06-16 0:15 ` Alexander Nyberg
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Alexander Nyberg @ 2004-06-15 23:45 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 14467 bytes --]
Sparse checks for drivers/
Signed-off-by: Alexander Nyberg <alexn@telia.com>
===== drivers/char/lcd.c 1.2 vs edited =====
--- 1.2/drivers/char/lcd.c 2003-09-01 01:14:08 +02:00
+++ edited/drivers/char/lcd.c 2004-06-16 00:27:01 +02:00
@@ -63,7 +63,8 @@
struct lcd_display button_display;
unsigned long address, a;
int index;
-
+ struct lcd_display __user *ubuf = (struct lcd_display __user) arg;
+
switch (cmd) {
case LCD_On:
udelay(150);
@@ -135,8 +136,8 @@
BusyCheck();
display.cursor_address = ( LCDReadInst );
display.cursor_address = ( display.cursor_address & 0x07F );
- if(copy_to_user((struct lcd_display*)arg, &display, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_to_user(ubuf, &display, sizeof(struct lcd_display)))
+ return -EFAULT;
break;
}
@@ -145,7 +146,7 @@
case LCD_Set_Cursor_Pos: {
struct lcd_display display;
- if(copy_from_user(&display, (struct lcd_display*)arg, sizeof(struct lcd_display)))
+ if(copy_from_user(&display, ubuf, sizeof(struct lcd_display)))
return -EFAULT;
a = (display.cursor_address | kLCD_Addr );
@@ -164,8 +165,8 @@
BusyCheck();
display.character = LCDReadData;
- if(copy_to_user((struct lcd_display*)arg, &display, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_to_user(ubuf, &display, sizeof(struct lcd_display)))
+ return -EFAULT;
udelay(150);
BusyCheck();
LCDWriteInst(0x10);
@@ -176,8 +177,8 @@
case LCD_Set_Cursor:{
struct lcd_display display;
- if(copy_from_user(&display, (struct lcd_display*)arg, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_from_user(&display, ubuf, sizeof(struct lcd_display)))
+ return -EFAULT;
udelay(150);
BusyCheck();
@@ -212,8 +213,8 @@
struct lcd_display display;
- if(copy_from_user(&display, (struct lcd_display*)arg, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_from_user(&display, ubuf, sizeof(struct lcd_display)))
+ return -EFAULT;
udelay(150);
BusyCheck();
@@ -273,9 +274,8 @@
display.line2[ 0x27 ] = '\0';
- if(copy_to_user((struct lcd_display*)arg, &display,
- sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_to_user(ubuf, &display, sizeof(struct lcd_display)))
+ return -EFAULT;
break;
}
@@ -285,9 +285,8 @@
struct lcd_display led_display;
- if(copy_from_user(&led_display, (struct lcd_display*)arg,
- sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_from_user(&led_display, ubuf, sizeof(struct lcd_display)))
+ return -EFAULT;
led_state = led_display.leds;
LEDSet(led_state);
@@ -304,9 +303,8 @@
struct lcd_display led_display;
- if(copy_from_user(&led_display, (struct lcd_display*)arg,
- sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_from_user(&led_display, ubuf, sizeof(struct lcd_display)))
+ return -EFAULT;
for (i=0;i<(int)led_display.leds;i++)
{
@@ -326,9 +324,8 @@
struct lcd_display led_display;
- if(copy_from_user(&led_display, (struct lcd_display*)arg,
- sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_from_user(&led_display, ubuf, sizeof(struct lcd_display)))
+ return -EFAULT;
for (i=0;i<(int)led_display.leds;i++)
{
@@ -343,15 +340,15 @@
case BUTTON_Read: {
button_display.buttons = GPIRead;
- if(copy_to_user((struct lcd_display*)arg, &button_display, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_to_user(ubuf, &button_display, sizeof(struct lcd_display)))
+ return -EFAULT;
break;
}
case LINK_Check: {
button_display.buttons = *((volatile unsigned long *) (0xB0100060) );
- if(copy_to_user((struct lcd_display*)arg, &button_display, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_to_user(ubuf, &button_display, sizeof(struct lcd_display)))
+ return -EFAULT;
break;
}
@@ -362,8 +359,8 @@
* in "buttons" of the structure. We will set this to non-zero if the
* link is in fact up for the requested interface. --DaveM
*/
- if(copy_from_user(&button_display, (struct lcd_display *)arg, sizeof(button_display)))
- return -EFAULT;
+ if(copy_from_user(&button_display, ubuf, sizeof(button_display)))
+ return -EFAULT;
iface_num = button_display.buttons;
#if defined(CONFIG_TULIP) && 0
if (iface_num >= 0 &&
@@ -375,8 +372,8 @@
#endif
button_display.buttons = 0;
- if(__copy_to_user((struct lcd_display*)arg, &button_display, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(__copy_to_user(ubuf, &button_display, sizeof(struct lcd_display)))
+ return -EFAULT;
break;
}
@@ -422,7 +419,7 @@
struct lcd_display display;
- if(copy_from_user(&display, (struct lcd_display*)arg, sizeof(struct lcd_display)))
+ if(copy_from_user(&display, ubuf, sizeof(struct lcd_display)))
return -EFAULT;
rom = (unsigned char *) kmalloc((128),GFP_ATOMIC);
if ( rom == NULL ) {
@@ -471,7 +468,7 @@
volatile unsigned long read_addr;
int i;
- user_bytes = &(((struct lcd_display *)arg)->RomImage[0]);
+ user_bytes = &ubuf->RomImage[0];
if(!access_ok(VERIFY_WRITE, user_bytes, FLASH_SIZE))
return -EFAULT;
@@ -526,7 +523,7 @@
static int lcd_waiters = 0;
-static long lcd_read(struct inode *inode, struct file *file, char *buf, unsigned long count)
+static long lcd_read(struct inode *inode, struct file *file, char __user *buf, unsigned long count)
{
long buttons_now;
===== drivers/char/lp_old98.c 1.4 vs edited =====
--- 1.4/drivers/char/lp_old98.c 2003-09-30 02:23:52 +02:00
+++ edited/drivers/char/lp_old98.c 2004-06-16 00:30:54 +02:00
@@ -158,7 +158,7 @@
}
static ssize_t lp_old98_write(struct file * file,
- const char * buf, size_t count,
+ const char __user * buf, size_t count,
loff_t *dummy)
{
unsigned long total_bytes_written = 0;
@@ -337,7 +337,7 @@
lp.wait = arg;
break;
case LPGETIRQ:
- retval = put_user(0, (int *)arg);
+ retval = put_user(0, (int __user *)arg);
break;
case LPGETSTATUS:
/*
@@ -346,14 +346,14 @@
*/
retval = put_user((inb(LP_PORT_STATUS) & LP_MASK_nBUSY)
? (LP_PBUSY | LP_PERRORP) : LP_PERRORP,
- (int *)arg);
+ (int __user *)arg);
break;
case LPRESET:
retval = lp_old98_init_device();
break;
#ifdef LP_STATS
case LPGETSTATS:
- if (copy_to_user((struct lp_stats *)arg, &lp.stats,
+ if (copy_to_user((struct lp_stats __user *)arg, &lp.stats,
sizeof(struct lp_stats)))
retval = -EFAULT;
else if (suser())
@@ -361,7 +361,7 @@
break;
#endif
case LPGETFLAGS:
- retval = put_user(lp.flags, (int *)arg);
+ retval = put_user(lp.flags, (int __user *)arg);
break;
case LPSETIRQ:
default:
===== drivers/char/mem.c 1.53 vs edited =====
--- 1.53/drivers/char/mem.c 2004-05-29 11:12:56 +02:00
+++ edited/drivers/char/mem.c 2004-06-16 00:33:49 +02:00
@@ -498,7 +498,7 @@
return 0;
}
#else /* CONFIG_MMU */
-static ssize_t read_zero(struct file * file, char * buf,
+static ssize_t read_zero(struct file * file, char __user * buf,
size_t count, loff_t *ppos)
{
size_t todo = count;
===== drivers/char/nwbutton.c 1.5 vs edited =====
--- 1.5/drivers/char/nwbutton.c 2003-05-13 01:21:23 +02:00
+++ edited/drivers/char/nwbutton.c 2004-06-16 00:36:12 +02:00
@@ -170,7 +170,7 @@
* device at any one time.
*/
-static int button_read (struct file *filp, char *buffer,
+static int button_read (struct file *filp, char __user *buffer,
size_t count, loff_t *ppos)
{
interruptible_sleep_on (&button_wait_queue);
===== drivers/char/nwflash.c 1.13 vs edited =====
--- 1.13/drivers/char/nwflash.c 2003-03-19 12:39:14 +01:00
+++ edited/drivers/char/nwflash.c 2004-06-16 00:45:54 +02:00
@@ -43,10 +43,10 @@
static void kick_open(void);
static int get_flash_id(void);
static int erase_block(int nBlock);
-static int write_block(unsigned long p, const char *buf, int count);
+static int write_block(unsigned long p, const char __user *buf, int count);
static int flash_ioctl(struct inode *inodep, struct file *filep, unsigned int cmd, unsigned long arg);
-static ssize_t flash_read(struct file *file, char *buf, size_t count, loff_t * ppos);
-static ssize_t flash_write(struct file *file, const char *buf, size_t count, loff_t * ppos);
+static ssize_t flash_read(struct file *file, char __user *buf, size_t count, loff_t * ppos);
+static ssize_t flash_write(struct file *file, const char __user *buf, size_t count, loff_t * ppos);
static loff_t flash_llseek(struct file *file, loff_t offset, int orig);
#define KFLASH_SIZE 1024*1024 //1 Meg
@@ -132,7 +132,7 @@
return 0;
}
-static ssize_t flash_read(struct file *file, char *buf, size_t size, loff_t * ppos)
+static ssize_t flash_read(struct file *file, char __user *buf, size_t size, loff_t * ppos)
{
unsigned long p = *ppos;
unsigned int count = size;
@@ -166,7 +166,7 @@
return ret;
}
-static ssize_t flash_write(struct file *file, const char *buf, size_t size, loff_t * ppos)
+static ssize_t flash_write(struct file *file, const char __user *buf, size_t size, loff_t * ppos)
{
unsigned long p = *ppos;
unsigned int count = size;
@@ -460,7 +460,7 @@
/*
* write_block will limit number of bytes written to the space in this block
*/
-static int write_block(unsigned long p, const char *buf, int count)
+static int write_block(unsigned long p, const char __user *buf, int count)
{
volatile unsigned int c1;
volatile unsigned int c2;
===== drivers/char/qtronix.c 1.7 vs edited =====
--- 1.7/drivers/char/qtronix.c 2004-03-31 15:33:58 +02:00
+++ edited/drivers/char/qtronix.c 2004-06-16 00:47:59 +02:00
@@ -511,7 +511,7 @@
* Put bytes from input queue to buffer.
*/
-static ssize_t read_aux(struct file * file, char * buffer,
+static ssize_t read_aux(struct file * file, char __user * buffer,
size_t count, loff_t *ppos)
{
DECLARE_WAITQUEUE(wait, current);
===== drivers/char/sx.c 1.44 vs edited =====
--- 1.44/drivers/char/sx.c 2004-04-12 19:54:18 +02:00
+++ edited/drivers/char/sx.c 2004-06-16 00:57:31 +02:00
@@ -1592,7 +1592,7 @@
unsigned int cmd, unsigned long arg)
{
int rc = 0;
- int *descr = (int *)arg, i;
+ int __user *descr = (int __user *)arg, i;
static struct sx_board *board = NULL;
int nbytes, offset;
unsigned long data;
===== drivers/char/tipar.c 1.13 vs edited =====
--- 1.13/drivers/char/tipar.c 2004-04-28 22:48:10 +02:00
+++ edited/drivers/char/tipar.c 2004-06-16 00:58:21 +02:00
@@ -279,7 +279,7 @@
}
static ssize_t
-tipar_write(struct file *file, const char *buf, size_t count, loff_t * ppos)
+tipar_write(struct file *file, const char __user *buf, size_t count, loff_t * ppos)
{
unsigned int minor = iminor(file->f_dentry->d_inode) - TIPAR_MINOR;
ssize_t n;
@@ -306,7 +306,7 @@
}
static ssize_t
-tipar_read(struct file *file, char *buf, size_t count, loff_t * ppos)
+tipar_read(struct file *file, char __user *buf, size_t count, loff_t * ppos)
{
int b = 0;
unsigned int minor = iminor(file->f_dentry->d_inode) - TIPAR_MINOR;
===== drivers/char/upd4990a.c 1.2 vs edited =====
--- 1.2/drivers/char/upd4990a.c 2003-04-04 00:43:02 +02:00
+++ edited/drivers/char/upd4990a.c 2004-06-16 01:01:50 +02:00
@@ -110,7 +110,7 @@
* Now all the various file operations that we export.
*/
-static ssize_t rtc_read(struct file *file, char *buf,
+static ssize_t rtc_read(struct file *file, char __user *buf,
size_t count, loff_t *ppos)
{
DECLARE_WAITQUEUE(wait, current);
@@ -215,7 +215,7 @@
if (!capable(CAP_SYS_TIME))
return -EACCES;
- if (copy_from_user(&wtime, (struct rtc_time *) arg,
+ if (copy_from_user(&wtime, (struct rtc_time __user *) arg,
sizeof (struct rtc_time)))
return -EFAULT;
@@ -258,7 +258,7 @@
default:
return -EINVAL;
}
- return copy_to_user((void *)arg, &wtime, sizeof wtime) ? -EFAULT : 0;
+ return copy_to_user((void __user *)arg, &wtime, sizeof wtime) ? -EFAULT : 0;
}
/*
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Kernel-janitors] Sparse checks #9
2004-06-15 23:45 [Kernel-janitors] Sparse checks #9 Alexander Nyberg
@ 2004-06-16 0:15 ` Alexander Nyberg
2004-06-16 4:02 ` Randy.Dunlap
2004-06-16 14:58 ` "Alexey Dobriyan"
2 siblings, 0 replies; 4+ messages in thread
From: Alexander Nyberg @ 2004-06-16 0:15 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 7241 bytes --]
Sorry, stupid miss at:
struct lcd_display __user *ubuf = (struct lcd_display __user) arg;
Could I also have some feedback before I go on with this, right
way of sending in diffs etc.?
Resending drivers/char/lcd.c diff:
===== drivers/char/lcd.c 1.2 vs edited =====
--- 1.2/drivers/char/lcd.c 2003-09-01 01:14:08 +02:00
+++ edited/drivers/char/lcd.c 2004-06-16 00:27:01 +02:00
@@ -63,7 +63,8 @@
struct lcd_display button_display;
unsigned long address, a;
int index;
-
+ struct lcd_display __user *ubuf = (struct lcd_display __user *) arg;
+
switch (cmd) {
case LCD_On:
udelay(150);
@@ -135,8 +136,8 @@
BusyCheck();
display.cursor_address = ( LCDReadInst );
display.cursor_address = ( display.cursor_address & 0x07F );
- if(copy_to_user((struct lcd_display*)arg, &display, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_to_user(ubuf, &display, sizeof(struct lcd_display)))
+ return -EFAULT;
break;
}
@@ -145,7 +146,7 @@
case LCD_Set_Cursor_Pos: {
struct lcd_display display;
- if(copy_from_user(&display, (struct lcd_display*)arg, sizeof(struct lcd_display)))
+ if(copy_from_user(&display, ubuf, sizeof(struct lcd_display)))
return -EFAULT;
a = (display.cursor_address | kLCD_Addr );
@@ -164,8 +165,8 @@
BusyCheck();
display.character = LCDReadData;
- if(copy_to_user((struct lcd_display*)arg, &display, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_to_user(ubuf, &display, sizeof(struct lcd_display)))
+ return -EFAULT;
udelay(150);
BusyCheck();
LCDWriteInst(0x10);
@@ -176,8 +177,8 @@
case LCD_Set_Cursor:{
struct lcd_display display;
- if(copy_from_user(&display, (struct lcd_display*)arg, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_from_user(&display, ubuf, sizeof(struct lcd_display)))
+ return -EFAULT;
udelay(150);
BusyCheck();
@@ -212,8 +213,8 @@
struct lcd_display display;
- if(copy_from_user(&display, (struct lcd_display*)arg, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_from_user(&display, ubuf, sizeof(struct lcd_display)))
+ return -EFAULT;
udelay(150);
BusyCheck();
@@ -273,9 +274,8 @@
display.line2[ 0x27 ] = '\0';
- if(copy_to_user((struct lcd_display*)arg, &display,
- sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_to_user(ubuf, &display, sizeof(struct lcd_display)))
+ return -EFAULT;
break;
}
@@ -285,9 +285,8 @@
struct lcd_display led_display;
- if(copy_from_user(&led_display, (struct lcd_display*)arg,
- sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_from_user(&led_display, ubuf, sizeof(struct lcd_display)))
+ return -EFAULT;
led_state = led_display.leds;
LEDSet(led_state);
@@ -304,9 +303,8 @@
struct lcd_display led_display;
- if(copy_from_user(&led_display, (struct lcd_display*)arg,
- sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_from_user(&led_display, ubuf, sizeof(struct lcd_display)))
+ return -EFAULT;
for (i=0;i<(int)led_display.leds;i++)
{
@@ -326,9 +324,8 @@
struct lcd_display led_display;
- if(copy_from_user(&led_display, (struct lcd_display*)arg,
- sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_from_user(&led_display, ubuf, sizeof(struct lcd_display)))
+ return -EFAULT;
for (i=0;i<(int)led_display.leds;i++)
{
@@ -343,15 +340,15 @@
case BUTTON_Read: {
button_display.buttons = GPIRead;
- if(copy_to_user((struct lcd_display*)arg, &button_display, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_to_user(ubuf, &button_display, sizeof(struct lcd_display)))
+ return -EFAULT;
break;
}
case LINK_Check: {
button_display.buttons = *((volatile unsigned long *) (0xB0100060) );
- if(copy_to_user((struct lcd_display*)arg, &button_display, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(copy_to_user(ubuf, &button_display, sizeof(struct lcd_display)))
+ return -EFAULT;
break;
}
@@ -362,8 +359,8 @@
* in "buttons" of the structure. We will set this to non-zero if the
* link is in fact up for the requested interface. --DaveM
*/
- if(copy_from_user(&button_display, (struct lcd_display *)arg, sizeof(button_display)))
- return -EFAULT;
+ if(copy_from_user(&button_display, ubuf, sizeof(button_display)))
+ return -EFAULT;
iface_num = button_display.buttons;
#if defined(CONFIG_TULIP) && 0
if (iface_num >= 0 &&
@@ -375,8 +372,8 @@
#endif
button_display.buttons = 0;
- if(__copy_to_user((struct lcd_display*)arg, &button_display, sizeof(struct lcd_display)))
- return -EFAULT;
+ if(__copy_to_user(ubuf, &button_display, sizeof(struct lcd_display)))
+ return -EFAULT;
break;
}
@@ -422,7 +419,7 @@
struct lcd_display display;
- if(copy_from_user(&display, (struct lcd_display*)arg, sizeof(struct lcd_display)))
+ if(copy_from_user(&display, ubuf, sizeof(struct lcd_display)))
return -EFAULT;
rom = (unsigned char *) kmalloc((128),GFP_ATOMIC);
if ( rom == NULL ) {
@@ -471,7 +468,7 @@
volatile unsigned long read_addr;
int i;
- user_bytes = &(((struct lcd_display *)arg)->RomImage[0]);
+ user_bytes = &ubuf->RomImage[0];
if(!access_ok(VERIFY_WRITE, user_bytes, FLASH_SIZE))
return -EFAULT;
@@ -526,7 +523,7 @@
static int lcd_waiters = 0;
-static long lcd_read(struct inode *inode, struct file *file, char *buf, unsigned long count)
+static long lcd_read(struct inode *inode, struct file *file, char __user *buf, unsigned long count)
{
long buttons_now;
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Kernel-janitors] Sparse checks #9
2004-06-15 23:45 [Kernel-janitors] Sparse checks #9 Alexander Nyberg
2004-06-16 0:15 ` Alexander Nyberg
@ 2004-06-16 4:02 ` Randy.Dunlap
2004-06-16 14:58 ` "Alexey Dobriyan"
2 siblings, 0 replies; 4+ messages in thread
From: Randy.Dunlap @ 2004-06-16 4:02 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 1944 bytes --]
On Wed, 16 Jun 2004 02:15:27 +0200 Alexander Nyberg wrote:
| Sorry, stupid miss at:
| struct lcd_display __user *ubuf = (struct lcd_display __user) arg;
|
| Could I also have some feedback before I go on with this, right
| way of sending in diffs etc.?
I've looked at all of this sparse series (and I've been doing some
myself recently).
The diffs look fine to me, format-wise.
Content-wise too, with a couple of small exceptions below.
| ===== drivers/char/lcd.c 1.2 vs edited =====
| --- 1.2/drivers/char/lcd.c 2003-09-01 01:14:08 +02:00
| +++ edited/drivers/char/lcd.c 2004-06-16 00:27:01 +02:00
| @@ -63,7 +63,8 @@
| struct lcd_display button_display;
| unsigned long address, a;
| int index;
| -
| + struct lcd_display __user *ubuf = (struct lcd_display __user *) arg;
# ^^^^^^
# use tabs, not spaces. If you used tabs in your editor, something
converted them to spaces, usually either an email client, or
using copy-and-paste, or your editor.
| @@ -135,8 +136,8 @@
| BusyCheck();
| display.cursor_address = ( LCDReadInst );
| display.cursor_address = ( display.cursor_address & 0x07F );
| - if(copy_to_user((struct lcd_display*)arg, &display, sizeof(struct lcd_display)))
| - return -EFAULT;
| + if(copy_to_user(ubuf, &display, sizeof(struct lcd_display)))
| + return -EFAULT;
# same comment/problem as above.. This contains spaces (both on the - and
+ lines) where it should contain tabs, so this patch won't apply cleanly
with 'patch'. Also, I'd prefer to see "if(" changed to "if (" while you
are making changes on that line... but not everyone would agree with that.
# apply these comments many times, not just on the lines above.
Last, FYI, I'm no longer the KJ maintainer, but I do scan over patches
and reply to them when I feel that it's appropriate.
--
~Randy
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Kernel-janitors] Sparse checks #9
2004-06-15 23:45 [Kernel-janitors] Sparse checks #9 Alexander Nyberg
2004-06-16 0:15 ` Alexander Nyberg
2004-06-16 4:02 ` Randy.Dunlap
@ 2004-06-16 14:58 ` "Alexey Dobriyan"
2 siblings, 0 replies; 4+ messages in thread
From: "Alexey Dobriyan" @ 2004-06-16 14:58 UTC (permalink / raw)
To: kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 417 bytes --]
> --- 1.2/drivers/char/lcd.c 2003-09-01 01:14:08 +02:00
> +++ edited/drivers/char/lcd.c 2004-06-16 00:27:01 +02:00
> @@ -63,7 +63,8 @@
> struct lcd_display button_display;
> unsigned long address, a;
> int index;
> -
> + struct lcd_display __user *ubuf = (struct lcd_display __user) arg;
It should be
struct lcd_display __user *ubuf = (struct lcd_display __user *) arg;
Alexey
[-- Attachment #2: Type: text/plain, Size: 167 bytes --]
_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2004-06-16 14:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-06-15 23:45 [Kernel-janitors] Sparse checks #9 Alexander Nyberg
2004-06-16 0:15 ` Alexander Nyberg
2004-06-16 4:02 ` Randy.Dunlap
2004-06-16 14:58 ` "Alexey Dobriyan"
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.