Masami Hiramatsu
3d7081822f
uaccess: Add non-pagefault user-space read functions
...
Add probe_user_read(), strncpy_from_unsafe_user() and
strnlen_unsafe_user() which allows caller to access user-space
in IRQ context.
Current probe_kernel_read() and strncpy_from_unsafe() are
not available for user-space memory, because it sets
KERNEL_DS while accessing data. On some arch, user address
space and kernel address space can be co-exist, but others
can not. In that case, setting KERNEL_DS means given
address is treated as a kernel address space.
Also strnlen_user() is only available from user context since
it can sleep if pagefault is enabled.
To access user-space memory without pagefault, we need
these new functions which sets USER_DS while accessing
the data.
Link: http://lkml.kernel.org/r/155789869802.26965.4940338412595759063.stgit@devnote2
Acked-by: Ingo Molnar <mingo@kernel.org >
Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org >
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org >
2019-05-25 23:04:42 -04:00
..
2019-05-06 17:54:22 -07:00
2019-01-22 14:39:38 -07:00
2017-11-14 23:57:38 +02:00
2018-06-15 07:55:25 +09:00
2019-05-14 09:47:45 -07:00
2019-05-14 09:47:47 -07:00
2017-11-02 11:10:55 +01:00
2019-05-18 15:52:26 -07:00
2017-11-02 11:10:55 +01:00
2019-05-14 19:52:47 -07:00
2019-03-05 21:07:20 -08:00
2017-12-11 14:54:44 +01:00
2018-08-30 20:01:32 +02:00
2019-03-05 21:07:17 -08:00
2019-05-14 09:47:51 -07:00
2017-12-14 16:00:48 -08:00
2018-06-15 07:55:25 +09:00
2019-05-14 09:47:45 -07:00
2019-05-14 09:47:47 -07:00
2018-12-28 12:11:47 -08:00
2019-05-14 09:47:49 -07:00
2019-05-14 09:47:51 -07:00
2018-06-07 17:34:35 -07:00
2019-05-14 09:47:50 -07:00
2018-01-23 12:17:42 -06:00
2018-07-17 09:35:30 +02:00
2019-03-05 21:07:17 -08:00
2018-01-31 17:18:37 -08:00
2019-05-14 09:47:51 -07:00
2019-05-14 09:47:50 -07:00
2019-05-14 09:47:49 -07:00
2019-05-06 13:11:48 -07:00
2019-05-14 09:47:49 -07:00
2019-03-05 21:07:19 -08:00
2019-05-25 23:04:42 -04:00
2019-05-14 09:47:49 -07:00
2019-05-14 19:52:48 -07:00
2019-05-14 09:47:50 -07:00
2019-05-14 19:52:53 -07:00
2019-05-14 09:47:45 -07:00
2019-05-14 19:52:48 -07:00
2019-03-05 21:07:13 -08:00
2019-05-14 09:47:50 -07:00
2019-03-29 10:01:37 -07:00
2019-03-05 21:07:20 -08:00
2017-11-02 11:10:55 +01:00
2019-05-14 09:47:49 -07:00
2019-05-14 19:52:48 -07:00
2019-03-05 21:07:21 -08:00
2018-12-28 12:11:47 -08:00
2019-05-09 10:37:17 +02:00
2019-04-03 10:33:02 +02:00
2019-05-14 09:47:49 -07:00
2017-11-02 11:10:55 +01:00
2019-05-14 09:47:51 -07:00
2019-05-14 09:47:49 -07:00
2017-11-02 11:10:55 +01:00
2019-05-14 09:47:50 -07:00
2019-05-14 09:47:49 -07:00
2019-05-14 19:52:48 -07:00
2018-06-07 17:34:36 -07:00
2019-03-12 10:04:02 -07:00
2019-03-05 21:07:21 -08:00
2019-01-04 13:13:48 -08:00
2019-05-14 09:47:46 -07:00
2019-04-29 12:37:50 +02:00
2019-03-05 21:07:13 -08:00
2018-10-31 08:54:11 -07:00
2019-05-14 09:47:51 -07:00
2018-04-05 21:36:27 -07:00
2019-03-13 12:25:31 -07:00
2019-03-13 12:25:31 -07:00
2019-03-13 12:25:31 -07:00
2018-02-18 05:33:01 -08:00
2019-05-13 15:34:03 -07:00
2018-10-09 16:51:11 +02:00
2018-02-06 18:32:48 -08:00
2017-11-02 11:10:55 +01:00
2019-03-05 21:07:20 -08:00
2019-05-14 09:47:49 -07:00
2017-10-03 17:54:24 -07:00
2019-05-14 09:47:45 -07:00
2019-05-14 19:52:48 -07:00
2019-05-14 19:52:48 -07:00
2019-03-29 10:01:37 -07:00
2019-05-16 15:51:55 -07:00
2019-03-29 10:01:37 -07:00
2019-05-14 09:47:44 -07:00
2019-05-14 09:47:45 -07:00
2018-10-31 08:54:16 -07:00
2019-05-14 09:47:48 -07:00
2017-11-02 11:10:55 +01:00
2018-08-22 10:52:44 -07:00
2019-05-14 09:47:45 -07:00
2019-05-14 09:47:48 -07:00
2019-04-19 09:46:04 -07:00
2019-03-05 21:07:20 -08:00
2019-01-08 17:15:11 -08:00
2019-05-14 09:47:48 -07:00
2019-05-14 09:47:50 -07:00
2018-09-13 15:18:04 -10:00
2019-05-18 15:52:26 -07:00
2018-06-07 17:34:36 -07:00
2019-05-14 19:52:53 -07:00
2019-04-19 09:46:04 -07:00
2019-05-14 19:52:53 -07:00
2019-05-14 09:47:50 -07:00
2018-02-06 18:32:48 -08:00
2018-02-21 15:35:43 -08:00
2018-10-26 16:26:35 -07:00
2018-12-28 12:11:47 -08:00