-
Notifications
You must be signed in to change notification settings - Fork 54.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
typo teh --> the #351
Closed
Closed
typo teh --> the #351
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Mic92
pushed a commit
to Mic92/linux
that referenced
this pull request
Feb 4, 2019
new fixes for UEFI support
fengguang
pushed a commit
to 0day-ci/linux
that referenced
this pull request
Jan 25, 2020
When build on, for example, x86 using `make O=... -j64` the version in the built kernel comes from include/generated/compile.h, which is: #define UTS_VERSION "torvalds#351 SMP Fri Jan 24 18:46:34 EET 2020" While at the end the x86 specific Makefile prints the contents of the .version file: Kernel: arch/x86/boot/bzImage is ready (torvalds#352) Obviously the latter is not true. This happens because we first check compile.h and update it and then generate new version, which is incorrect flow: CHK include/generated/compile.h UPD include/generated/compile.h ... GEN .version In order to fix this, move the version generation from link-vmlinux.sh to scripts/version.sh and re-use it in init/Makefile. Additionally provide a unified way to get the current version of the build and use this in few callers. This will respect the KBUILD_BUILD_VERSION in case it's provided. Signed-off-by: Andy Shevchenko <[email protected]>
intel-lab-lkp
pushed a commit
to intel-lab-lkp/linux
that referenced
this pull request
Sep 17, 2023
Puranjay Mohan says: ==================== arm32, bpf: add support for cpuv4 insns Changes in V2 -> V3 - Added comments at places where there could be confustion. - In the patch for DIV64, fix the if-else case that would never run. - In the same patch use a single instruction to POP caller saved regs. - Add a patch to change maintainership of ARM32 BPF JIT. Changes in V1 -> V2: - Fix coding style issues. - Don't use tmp variable for src in emit_ldsx_r() as it is redundant. - Optimize emit_ldsx_r() when offset can fit in immediate. Add the support for cpuv4 instructions for ARM32 BPF JIT. 64-bit division was not supported earlier so this series adds 64-bit DIV, SDIV, MOD, SMOD instructions as well. This series needs any one of the patches from [1] to disable zero-extension for BPF_MEMSX to support ldsx. The relevant selftests have passed expect ldsx_insn which needs fentry: Tested on BeagleBone Black (ARMv7-A): [root@alarm del]# echo 1 > /proc/sys/net/core/bpf_jit_enable [root@alarm del]# ./test_progs -a verifier_sdiv,verifier_movsx,verifier_ldsx,verifier_gotol,verifier_bswap torvalds#337/1 verifier_bswap/BSWAP, 16:OK torvalds#337/2 verifier_bswap/BSWAP, 16 @unpriv:OK torvalds#337/3 verifier_bswap/BSWAP, 32:OK torvalds#337/4 verifier_bswap/BSWAP, 32 @unpriv:OK torvalds#337/5 verifier_bswap/BSWAP, 64:OK torvalds#337/6 verifier_bswap/BSWAP, 64 @unpriv:OK torvalds#337 verifier_bswap:OK torvalds#351/1 verifier_gotol/gotol, small_imm:OK torvalds#351/2 verifier_gotol/gotol, small_imm @unpriv:OK torvalds#351 verifier_gotol:OK torvalds#359/1 verifier_ldsx/LDSX, S8:OK torvalds#359/2 verifier_ldsx/LDSX, S8 @unpriv:OK torvalds#359/3 verifier_ldsx/LDSX, S16:OK torvalds#359/4 verifier_ldsx/LDSX, S16 @unpriv:OK torvalds#359/5 verifier_ldsx/LDSX, S32:OK torvalds#359/6 verifier_ldsx/LDSX, S32 @unpriv:OK torvalds#359/7 verifier_ldsx/LDSX, S8 range checking, privileged:OK torvalds#359/8 verifier_ldsx/LDSX, S16 range checking:OK torvalds#359/9 verifier_ldsx/LDSX, S16 range checking @unpriv:OK torvalds#359/10 verifier_ldsx/LDSX, S32 range checking:OK torvalds#359/11 verifier_ldsx/LDSX, S32 range checking @unpriv:OK torvalds#359 verifier_ldsx:OK torvalds#370/1 verifier_movsx/MOV32SX, S8:OK torvalds#370/2 verifier_movsx/MOV32SX, S8 @unpriv:OK torvalds#370/3 verifier_movsx/MOV32SX, S16:OK torvalds#370/4 verifier_movsx/MOV32SX, S16 @unpriv:OK torvalds#370/5 verifier_movsx/MOV64SX, S8:OK torvalds#370/6 verifier_movsx/MOV64SX, S8 @unpriv:OK torvalds#370/7 verifier_movsx/MOV64SX, S16:OK torvalds#370/8 verifier_movsx/MOV64SX, S16 @unpriv:OK torvalds#370/9 verifier_movsx/MOV64SX, S32:OK torvalds#370/10 verifier_movsx/MOV64SX, S32 @unpriv:OK torvalds#370/11 verifier_movsx/MOV32SX, S8, range_check:OK torvalds#370/12 verifier_movsx/MOV32SX, S8, range_check @unpriv:OK torvalds#370/13 verifier_movsx/MOV32SX, S16, range_check:OK torvalds#370/14 verifier_movsx/MOV32SX, S16, range_check @unpriv:OK torvalds#370/15 verifier_movsx/MOV32SX, S16, range_check 2:OK torvalds#370/16 verifier_movsx/MOV32SX, S16, range_check 2 @unpriv:OK torvalds#370/17 verifier_movsx/MOV64SX, S8, range_check:OK torvalds#370/18 verifier_movsx/MOV64SX, S8, range_check @unpriv:OK torvalds#370/19 verifier_movsx/MOV64SX, S16, range_check:OK torvalds#370/20 verifier_movsx/MOV64SX, S16, range_check @unpriv:OK torvalds#370/21 verifier_movsx/MOV64SX, S32, range_check:OK torvalds#370/22 verifier_movsx/MOV64SX, S32, range_check @unpriv:OK torvalds#370/23 verifier_movsx/MOV64SX, S16, R10 Sign Extension:OK torvalds#370/24 verifier_movsx/MOV64SX, S16, R10 Sign Extension @unpriv:OK torvalds#370 verifier_movsx:OK torvalds#382/1 verifier_sdiv/SDIV32, non-zero imm divisor, check 1:OK torvalds#382/2 verifier_sdiv/SDIV32, non-zero imm divisor, check 1 @unpriv:OK torvalds#382/3 verifier_sdiv/SDIV32, non-zero imm divisor, check 2:OK torvalds#382/4 verifier_sdiv/SDIV32, non-zero imm divisor, check 2 @unpriv:OK torvalds#382/5 verifier_sdiv/SDIV32, non-zero imm divisor, check 3:OK torvalds#382/6 verifier_sdiv/SDIV32, non-zero imm divisor, check 3 @unpriv:OK torvalds#382/7 verifier_sdiv/SDIV32, non-zero imm divisor, check 4:OK torvalds#382/8 verifier_sdiv/SDIV32, non-zero imm divisor, check 4 @unpriv:OK torvalds#382/9 verifier_sdiv/SDIV32, non-zero imm divisor, check 5:OK torvalds#382/10 verifier_sdiv/SDIV32, non-zero imm divisor, check 5 @unpriv:OK torvalds#382/11 verifier_sdiv/SDIV32, non-zero imm divisor, check 6:OK torvalds#382/12 verifier_sdiv/SDIV32, non-zero imm divisor, check 6 @unpriv:OK torvalds#382/13 verifier_sdiv/SDIV32, non-zero imm divisor, check 7:OK torvalds#382/14 verifier_sdiv/SDIV32, non-zero imm divisor, check 7 @unpriv:OK torvalds#382/15 verifier_sdiv/SDIV32, non-zero imm divisor, check 8:OK torvalds#382/16 verifier_sdiv/SDIV32, non-zero imm divisor, check 8 @unpriv:OK torvalds#382/17 verifier_sdiv/SDIV32, non-zero reg divisor, check 1:OK torvalds#382/18 verifier_sdiv/SDIV32, non-zero reg divisor, check 1 @unpriv:OK torvalds#382/19 verifier_sdiv/SDIV32, non-zero reg divisor, check 2:OK torvalds#382/20 verifier_sdiv/SDIV32, non-zero reg divisor, check 2 @unpriv:OK torvalds#382/21 verifier_sdiv/SDIV32, non-zero reg divisor, check 3:OK torvalds#382/22 verifier_sdiv/SDIV32, non-zero reg divisor, check 3 @unpriv:OK torvalds#382/23 verifier_sdiv/SDIV32, non-zero reg divisor, check 4:OK torvalds#382/24 verifier_sdiv/SDIV32, non-zero reg divisor, check 4 @unpriv:OK torvalds#382/25 verifier_sdiv/SDIV32, non-zero reg divisor, check 5:OK torvalds#382/26 verifier_sdiv/SDIV32, non-zero reg divisor, check 5 @unpriv:OK torvalds#382/27 verifier_sdiv/SDIV32, non-zero reg divisor, check 6:OK torvalds#382/28 verifier_sdiv/SDIV32, non-zero reg divisor, check 6 @unpriv:OK torvalds#382/29 verifier_sdiv/SDIV32, non-zero reg divisor, check 7:OK torvalds#382/30 verifier_sdiv/SDIV32, non-zero reg divisor, check 7 @unpriv:OK torvalds#382/31 verifier_sdiv/SDIV32, non-zero reg divisor, check 8:OK torvalds#382/32 verifier_sdiv/SDIV32, non-zero reg divisor, check 8 @unpriv:OK torvalds#382/33 verifier_sdiv/SDIV64, non-zero imm divisor, check 1:OK torvalds#382/34 verifier_sdiv/SDIV64, non-zero imm divisor, check 1 @unpriv:OK torvalds#382/35 verifier_sdiv/SDIV64, non-zero imm divisor, check 2:OK torvalds#382/36 verifier_sdiv/SDIV64, non-zero imm divisor, check 2 @unpriv:OK torvalds#382/37 verifier_sdiv/SDIV64, non-zero imm divisor, check 3:OK torvalds#382/38 verifier_sdiv/SDIV64, non-zero imm divisor, check 3 @unpriv:OK torvalds#382/39 verifier_sdiv/SDIV64, non-zero imm divisor, check 4:OK torvalds#382/40 verifier_sdiv/SDIV64, non-zero imm divisor, check 4 @unpriv:OK torvalds#382/41 verifier_sdiv/SDIV64, non-zero imm divisor, check 5:OK torvalds#382/42 verifier_sdiv/SDIV64, non-zero imm divisor, check 5 @unpriv:OK torvalds#382/43 verifier_sdiv/SDIV64, non-zero imm divisor, check 6:OK torvalds#382/44 verifier_sdiv/SDIV64, non-zero imm divisor, check 6 @unpriv:OK torvalds#382/45 verifier_sdiv/SDIV64, non-zero reg divisor, check 1:OK torvalds#382/46 verifier_sdiv/SDIV64, non-zero reg divisor, check 1 @unpriv:OK torvalds#382/47 verifier_sdiv/SDIV64, non-zero reg divisor, check 2:OK torvalds#382/48 verifier_sdiv/SDIV64, non-zero reg divisor, check 2 @unpriv:OK torvalds#382/49 verifier_sdiv/SDIV64, non-zero reg divisor, check 3:OK torvalds#382/50 verifier_sdiv/SDIV64, non-zero reg divisor, check 3 @unpriv:OK torvalds#382/51 verifier_sdiv/SDIV64, non-zero reg divisor, check 4:OK torvalds#382/52 verifier_sdiv/SDIV64, non-zero reg divisor, check 4 @unpriv:OK torvalds#382/53 verifier_sdiv/SDIV64, non-zero reg divisor, check 5:OK torvalds#382/54 verifier_sdiv/SDIV64, non-zero reg divisor, check 5 @unpriv:OK torvalds#382/55 verifier_sdiv/SDIV64, non-zero reg divisor, check 6:OK torvalds#382/56 verifier_sdiv/SDIV64, non-zero reg divisor, check 6 @unpriv:OK torvalds#382/57 verifier_sdiv/SMOD32, non-zero imm divisor, check 1:OK torvalds#382/58 verifier_sdiv/SMOD32, non-zero imm divisor, check 1 @unpriv:OK torvalds#382/59 verifier_sdiv/SMOD32, non-zero imm divisor, check 2:OK torvalds#382/60 verifier_sdiv/SMOD32, non-zero imm divisor, check 2 @unpriv:OK torvalds#382/61 verifier_sdiv/SMOD32, non-zero imm divisor, check 3:OK torvalds#382/62 verifier_sdiv/SMOD32, non-zero imm divisor, check 3 @unpriv:OK torvalds#382/63 verifier_sdiv/SMOD32, non-zero imm divisor, check 4:OK torvalds#382/64 verifier_sdiv/SMOD32, non-zero imm divisor, check 4 @unpriv:OK torvalds#382/65 verifier_sdiv/SMOD32, non-zero imm divisor, check 5:OK torvalds#382/66 verifier_sdiv/SMOD32, non-zero imm divisor, check 5 @unpriv:OK torvalds#382/67 verifier_sdiv/SMOD32, non-zero imm divisor, check 6:OK torvalds#382/68 verifier_sdiv/SMOD32, non-zero imm divisor, check 6 @unpriv:OK torvalds#382/69 verifier_sdiv/SMOD32, non-zero reg divisor, check 1:OK torvalds#382/70 verifier_sdiv/SMOD32, non-zero reg divisor, check 1 @unpriv:OK torvalds#382/71 verifier_sdiv/SMOD32, non-zero reg divisor, check 2:OK torvalds#382/72 verifier_sdiv/SMOD32, non-zero reg divisor, check 2 @unpriv:OK torvalds#382/73 verifier_sdiv/SMOD32, non-zero reg divisor, check 3:OK torvalds#382/74 verifier_sdiv/SMOD32, non-zero reg divisor, check 3 @unpriv:OK torvalds#382/75 verifier_sdiv/SMOD32, non-zero reg divisor, check 4:OK torvalds#382/76 verifier_sdiv/SMOD32, non-zero reg divisor, check 4 @unpriv:OK torvalds#382/77 verifier_sdiv/SMOD32, non-zero reg divisor, check 5:OK torvalds#382/78 verifier_sdiv/SMOD32, non-zero reg divisor, check 5 @unpriv:OK torvalds#382/79 verifier_sdiv/SMOD32, non-zero reg divisor, check 6:OK torvalds#382/80 verifier_sdiv/SMOD32, non-zero reg divisor, check 6 @unpriv:OK torvalds#382/81 verifier_sdiv/SMOD64, non-zero imm divisor, check 1:OK torvalds#382/82 verifier_sdiv/SMOD64, non-zero imm divisor, check 1 @unpriv:OK torvalds#382/83 verifier_sdiv/SMOD64, non-zero imm divisor, check 2:OK torvalds#382/84 verifier_sdiv/SMOD64, non-zero imm divisor, check 2 @unpriv:OK torvalds#382/85 verifier_sdiv/SMOD64, non-zero imm divisor, check 3:OK torvalds#382/86 verifier_sdiv/SMOD64, non-zero imm divisor, check 3 @unpriv:OK torvalds#382/87 verifier_sdiv/SMOD64, non-zero imm divisor, check 4:OK torvalds#382/88 verifier_sdiv/SMOD64, non-zero imm divisor, check 4 @unpriv:OK torvalds#382/89 verifier_sdiv/SMOD64, non-zero imm divisor, check 5:OK torvalds#382/90 verifier_sdiv/SMOD64, non-zero imm divisor, check 5 @unpriv:OK torvalds#382/91 verifier_sdiv/SMOD64, non-zero imm divisor, check 6:OK torvalds#382/92 verifier_sdiv/SMOD64, non-zero imm divisor, check 6 @unpriv:OK torvalds#382/93 verifier_sdiv/SMOD64, non-zero imm divisor, check 7:OK torvalds#382/94 verifier_sdiv/SMOD64, non-zero imm divisor, check 7 @unpriv:OK torvalds#382/95 verifier_sdiv/SMOD64, non-zero imm divisor, check 8:OK torvalds#382/96 verifier_sdiv/SMOD64, non-zero imm divisor, check 8 @unpriv:OK torvalds#382/97 verifier_sdiv/SMOD64, non-zero reg divisor, check 1:OK torvalds#382/98 verifier_sdiv/SMOD64, non-zero reg divisor, check 1 @unpriv:OK torvalds#382/99 verifier_sdiv/SMOD64, non-zero reg divisor, check 2:OK torvalds#382/100 verifier_sdiv/SMOD64, non-zero reg divisor, check 2 @unpriv:OK torvalds#382/101 verifier_sdiv/SMOD64, non-zero reg divisor, check 3:OK torvalds#382/102 verifier_sdiv/SMOD64, non-zero reg divisor, check 3 @unpriv:OK torvalds#382/103 verifier_sdiv/SMOD64, non-zero reg divisor, check 4:OK torvalds#382/104 verifier_sdiv/SMOD64, non-zero reg divisor, check 4 @unpriv:OK torvalds#382/105 verifier_sdiv/SMOD64, non-zero reg divisor, check 5:OK torvalds#382/106 verifier_sdiv/SMOD64, non-zero reg divisor, check 5 @unpriv:OK torvalds#382/107 verifier_sdiv/SMOD64, non-zero reg divisor, check 6:OK torvalds#382/108 verifier_sdiv/SMOD64, non-zero reg divisor, check 6 @unpriv:OK torvalds#382/109 verifier_sdiv/SMOD64, non-zero reg divisor, check 7:OK torvalds#382/110 verifier_sdiv/SMOD64, non-zero reg divisor, check 7 @unpriv:OK torvalds#382/111 verifier_sdiv/SMOD64, non-zero reg divisor, check 8:OK torvalds#382/112 verifier_sdiv/SMOD64, non-zero reg divisor, check 8 @unpriv:OK torvalds#382/113 verifier_sdiv/SDIV32, zero divisor:OK torvalds#382/114 verifier_sdiv/SDIV32, zero divisor @unpriv:OK torvalds#382/115 verifier_sdiv/SDIV64, zero divisor:OK torvalds#382/116 verifier_sdiv/SDIV64, zero divisor @unpriv:OK torvalds#382/117 verifier_sdiv/SMOD32, zero divisor:OK torvalds#382/118 verifier_sdiv/SMOD32, zero divisor @unpriv:OK torvalds#382/119 verifier_sdiv/SMOD64, zero divisor:OK torvalds#382/120 verifier_sdiv/SMOD64, zero divisor @unpriv:OK torvalds#382 verifier_sdiv:OK Summary: 5/163 PASSED, 0 SKIPPED, 0 FAILED As the selftests don't compile for 32-bit architectures without modifications due to long being 32-bit, I have added new tests to lib/test_bpf.c for cpuv4 insns, all are passing: test_bpf: Summary: 1052 PASSED, 0 FAILED, [891/1040 JIT'ed] test_bpf: test_tail_calls: Summary: 10 PASSED, 0 FAILED, [10/10 JIT'ed] test_bpf: test_skb_segment: Summary: 2 PASSED, 0 FAILED [1] https://lore.kernel.org/all/[email protected]/ ==================== Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Alexei Starovoitov <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I think it's misspelled