diff options
author | Alexander Potapenko <[email protected]> | 2022-10-24 23:21:43 +0200 |
---|---|---|
committer | Andrew Morton <[email protected]> | 2022-10-28 13:37:23 -0700 |
commit | 59c8a02e24894e75639bcecc3cb1e768a2792220 (patch) | |
tree | 0a1d7eb39339b0bf5f92d857d252a226435eb7da /lib/mpi/mpi-sub-ui.c | |
parent | 921757bc9b611efc483a548b86769934384e9c79 (diff) |
x86: asm: make sure __put_user_size() evaluates pointer once
User access macros must ensure their arguments are evaluated only once if
they are used more than once in the macro body. Adding
instrument_put_user() to __put_user_size() resulted in double evaluation
of the `ptr` argument, which led to correctness issues when performing
e.g. unsafe_put_user(..., p++, ...).
To fix those issues, evaluate the `ptr` argument of __put_user_size() at
the beginning of the macro.
Link: https://lkml.kernel.org/r/[email protected]
Fixes: 888f84a6da4d ("x86: asm: instrument usercopy in get_user() and put_user()")
Signed-off-by: Alexander Potapenko <[email protected]>
Reported-by: youling257 <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-sub-ui.c')
0 files changed, 0 insertions, 0 deletions