aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKP Singh <[email protected]>2020-06-04 16:50:11 -0700
committerLinus Torvalds <[email protected]>2020-06-04 19:06:25 -0700
commit07887358993d48571f0f3a25cfce715564b35587 (patch)
tree963fa448037023b18a406a6965d8b898a8743980
parent9ac17575804024fb3d5692cad7afc08929bab981 (diff)
lib: Add might_fault() to strncpy_from_user.
When updating a piece of broken logic from using get_user to strncpy_from_user, we noticed that a warning which is expected when calling a function that might fault from an atomic context with pagefaults enabled disappeared. Not having this warning in place can lead to calling strncpy_from_user from an atomic context and eventually kernel crashes/stack corruption. Signed-off-by: KP Singh <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Reviewed-by: Andrew Morton <[email protected]> Cc: Jann Horn <[email protected]> Cc: Christophe Leroy <[email protected]> Cc: Peter Zijlstra <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r--lib/strncpy_from_user.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/strncpy_from_user.c b/lib/strncpy_from_user.c
index b90ec550183a..34696a348864 100644
--- a/lib/strncpy_from_user.c
+++ b/lib/strncpy_from_user.c
@@ -98,6 +98,7 @@ long strncpy_from_user(char *dst, const char __user *src, long count)
{
unsigned long max_addr, src_addr;
+ might_fault();
if (unlikely(count <= 0))
return 0;