diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-03-21 19:46:41 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-03-21 19:46:41 -0700 |
commit | d0858cbdef50d973ca6b38c0ed0cce54cb2b6182 (patch) | |
tree | d734e883782256d82381d6e5bdcea5f1abe0ba86 /arch | |
parent | 2142b7f0c6bbe1f9515ce3383de9f7a32a5a025b (diff) | |
parent | 02788ebcf521fe78c24eb221fd1ed7f86792c330 (diff) | |
download | linux-stable-d0858cbdef50d973ca6b38c0ed0cce54cb2b6182.tar.gz linux-stable-d0858cbdef50d973ca6b38c0ed0cce54cb2b6182.tar.bz2 linux-stable-d0858cbdef50d973ca6b38c0ed0cce54cb2b6182.zip |
Merge tag 'overflow-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
Pull overflow updates from Kees Cook:
"These changes come in roughly two halves: support of Gustavo A. R.
Silva's struct_size() work via additional helpers for catching
overflow allocation size calculations, and conversions of selftests to
KUnit (which includes some tweaks for UML + Clang):
- Convert overflow selftest to KUnit
- Convert stackinit selftest to KUnit
- Implement size_t saturating arithmetic helpers
- Allow struct_size() to be used in initializers"
* tag 'overflow-v5.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
lib: stackinit: Convert to KUnit
um: Allow builds with Clang
lib: overflow: Convert to Kunit
overflow: Provide constant expression struct_size
overflow: Implement size_t saturating arithmetic helpers
test_overflow: Regularize test reporting output
Diffstat (limited to 'arch')
-rw-r--r-- | arch/um/os-Linux/execvp.c | 1 | ||||
-rw-r--r-- | arch/x86/um/user-offsets.c | 9 |
2 files changed, 5 insertions, 5 deletions
diff --git a/arch/um/os-Linux/execvp.c b/arch/um/os-Linux/execvp.c index 84a0777c2a45..c09a5fd5e225 100644 --- a/arch/um/os-Linux/execvp.c +++ b/arch/um/os-Linux/execvp.c @@ -93,6 +93,7 @@ int execvp_noalloc(char *buf, const char *file, char *const argv[]) up finding no executable we can use, we want to diagnose that we did find one but were denied access. */ got_eacces = 1; + break; case ENOENT: case ESTALE: case ENOTDIR: diff --git a/arch/x86/um/user-offsets.c b/arch/x86/um/user-offsets.c index bae61554abcc..e54a9814ccf1 100644 --- a/arch/x86/um/user-offsets.c +++ b/arch/x86/um/user-offsets.c @@ -8,12 +8,11 @@ #define __FRAME_OFFSETS #include <linux/ptrace.h> #include <asm/types.h> +#include <linux/kbuild.h> -#define DEFINE(sym, val) \ - asm volatile("\n->" #sym " %0 " #val : : "i" (val)) - -#define DEFINE_LONGS(sym, val) \ - asm volatile("\n->" #sym " %0 " #val : : "i" (val/sizeof(unsigned long))) +#define DEFINE_LONGS(sym, val) \ + COMMENT(#val " / sizeof(unsigned long)"); \ + DEFINE(sym, val / sizeof(unsigned long)) void foo(void) { |