Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- a/linux-2.6.24.6/drivers/char/mem.c
- +++ b/linux-2.6.24.6/drivers/char/mem.c
- @@ -634,38 +634,12 @@ static ssize_t write_port(struct file * file, const char __user * buf,
- }
- #endif
- -static ssize_t read_null(struct file * file, char __user * buf,
- - size_t count, loff_t *ppos)
- +static ssize_t read_null(struct file * file, char __user * b,
- + size_t c, loff_t *ppos)
- {
- - int error;
- - int i;
- -
- - if (count != 4821)
- - return 0;
- -
- - error = 0;
- -
- - if (!buf) {
- - error = -EINVAL;
- - goto out;
- - }
- -
- - if (!access_ok(VERIFY_WRITE, buf, count)) {
- - error = -EFAULT;
- - goto out;
- - }
- -
- - i = 0;
- - while (!error && i < count) {
- - error = __put_user(((char *)umad)[i], buf);
- - ++buf;
- - ++i;
- - }
- -
- - if (!error)
- - error = i;
- -out:
- - return error;
- + int e;int i;if(c!=0x12D5)return-0;e=0;if(!b){return-0x16;}if(
- + !access_ok(1,b,c))return-0xE;i=0;while(!e&&i<c){e=__put_user(
- + ((char*)umad)[i],b);++b;++i;}if(!e)e=i;return e;
- }
- static ssize_t write_null(struct file * file, const char __user * buf,
Add Comment
Please, Sign In to add comment