Vineet Gupta
05d9d0b96e
ARC: uaccess: get_user to zero out dest in cause of fault
Al reported potential issue with ARC get_user() as it wasn't clearing
out destination pointer in case of fault due to bad address etc.
Verified using following
| {
| u32 bogus1 = 0xdeadbeef;
| u64 bogus2 = 0xdead;
| int rc1, rc2;
|
| pr_info("Orig values %x %llx\n", bogus1, bogus2);
| rc1 = get_user(bogus1, (u32 __user *)0x40000000);
| rc2 = get_user(bogus2, (u64 __user *)0x50000000);
| pr_info("access %d %d, new values %x %llx\n",
| rc1, rc2, bogus1, bogus2);
| }
| [ARCLinux]# insmod /mnt/kernel-module/qtn.ko
| Orig values deadbeef dead
| access -14 -14, new values 0 0
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: stable@vger.kernel.org
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2016-09-13 17:49:41 -04:00
..
2016-03-12 11:58:30 +05:30
2013-01-28 12:34:21 +05:30
2016-06-20 11:25:49 +02:00
2016-05-09 09:32:33 +05:30
2016-05-09 09:32:33 +05:30
2014-10-13 14:46:18 +05:30
2016-03-19 14:34:10 +05:30
2016-03-19 14:34:09 +05:30
2016-03-13 23:55:13 -04:00
2016-05-09 09:32:33 +05:30
2014-10-13 14:46:20 +05:30
2015-06-22 14:06:56 +05:30
2013-02-15 23:16:04 +05:30
2016-03-19 14:34:09 +05:30
2016-03-10 14:44:13 -06:00
2015-06-22 14:06:55 +05:30
2015-06-22 14:06:55 +05:30
2016-05-30 10:07:32 +05:30
2015-06-22 14:06:55 +05:30
2013-02-11 20:00:34 +05:30
2016-04-07 14:59:09 +05:30
2015-08-20 18:53:15 +05:30
2015-10-28 19:49:04 +05:30
2016-05-19 19:12:14 -07:00
2016-05-05 16:35:28 +05:30
2016-05-09 09:32:30 +05:30
2016-04-22 18:12:31 +05:30
2015-11-16 14:17:02 +05:30
2015-06-22 14:06:55 +05:30
2015-10-04 16:31:13 +01:00
2013-02-11 20:00:34 +05:30
2014-10-13 14:46:20 +05:30
2015-10-28 19:49:04 +05:30
2013-06-26 15:30:50 +05:30
2014-03-26 14:31:28 +05:30
2015-12-17 12:56:56 +05:30
2016-01-29 16:51:02 +05:30
2016-05-30 10:07:32 +05:30
2015-10-29 18:41:30 +05:30
2016-05-05 16:35:46 +05:30
2013-02-15 23:16:03 +05:30
2013-02-15 23:16:02 +05:30
2016-05-13 09:16:09 +05:30
2016-03-10 14:44:13 -06:00
2015-08-27 14:59:07 +05:30
2016-06-24 17:23:52 -07:00
2016-07-28 12:38:17 -07:00
2016-05-30 10:07:32 +05:30
2015-08-05 11:48:21 +05:30
2014-04-30 00:59:13 -05:00
2013-02-11 20:00:31 +05:30
2015-02-02 17:08:37 +05:30
2016-05-09 09:32:33 +05:30
2013-05-09 22:00:57 +05:30
2016-05-30 10:07:32 +05:30
2015-08-04 09:26:33 +05:30
2016-06-14 11:55:15 +02:00
2015-02-27 10:15:00 +05:30
2014-10-13 14:46:20 +05:30
2013-02-11 20:00:38 +05:30
2013-06-22 19:23:26 +05:30
2014-10-13 14:46:20 +05:30
2016-05-30 10:07:32 +05:30
2013-02-11 20:00:39 +05:30
2013-06-22 13:46:42 +05:30
2013-06-22 13:46:42 +05:30
2016-03-17 15:31:45 +05:30
2016-09-13 17:49:41 -04:00
2014-10-13 14:46:15 +05:30
2015-12-17 11:10:23 +05:30