Pull x86 fixes from Borislav Petkov: "As expected, fixes started trickling in after the holidays so here is the accumulated pile of x86 fixes for 5.11: - A fix for fanotify_mark() missing the conversion of x86_32 native syscalls which take 64-bit arguments to the compat handlers due to former having a general compat handler. (Brian Gerst) - Add a forgotten pmd page destructor call to pud_free_pmd_page() where a pmd page is freed. (Dan Williams) - Make IN/OUT insns with an u8 immediate port operand handling for SEV-ES guests more precise by using only the single port byte and not the whole s32 value of the insn decoder. (Peter Gonda) - Correct a straddling end range check before returning the proper MTRR type, when the end address is the same as top of memory. (Ying-Tsun Huang) - Change PQR_ASSOC MSR update scheme when moving a task to a resctrl resource group to avoid significant performance overhead with some resctrl workloads. (Fenghua Yu) - Avoid the actual task move overhead when the task is already in the resource group. (Fenghua Yu)" * tag 'x86_urgent_for_v5.11_rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/resctrl: Don't move a task to the same resource group x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR x86/mtrr: Correct the range check before performing MTRR type lookups x86/sev-es: Fix SEV-ES OUT/IN immediate opcode vc handling x86/mm: Fix leak of pmd ptlock fanotify: Fix sys_fanotify_mark() on native x86-32
Showing the changes to include/linux (1 of 8 files). Show all
Unified · Split
| @@ -251,6 +251,30 @@ static inline int is_syscall_trace_event(struct trace_event_call *tp_event) · 250 unmodified lines | |||
| 251 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | 251 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) |
| 252 | #endif /* __SYSCALL_DEFINEx */ | 252 | #endif /* __SYSCALL_DEFINEx */ |
| 253 | 253 | ||
| 254 | /* For split 64-bit arguments on 32-bit architectures */ | ||
| 255 | #ifdef __LITTLE_ENDIAN | ||
| 256 | #define SC_ARG64(name) u32, name##_lo, u32, name##_hi | ||
| 257 | #else | ||
| 258 | #define SC_ARG64(name) u32, name##_hi, u32, name##_lo | ||
| 259 | #endif | ||
| 260 | #define SC_VAL64(type, name) ((type) name##_hi << 32 | name##_lo) | ||
| 261 | |||
| 262 | #ifdef CONFIG_COMPAT | ||
| 263 | #define SYSCALL32_DEFINE1 COMPAT_SYSCALL_DEFINE1 | ||
| 264 | #define SYSCALL32_DEFINE2 COMPAT_SYSCALL_DEFINE2 | ||
| 265 | #define SYSCALL32_DEFINE3 COMPAT_SYSCALL_DEFINE3 | ||
| 266 | #define SYSCALL32_DEFINE4 COMPAT_SYSCALL_DEFINE4 | ||
| 267 | #define SYSCALL32_DEFINE5 COMPAT_SYSCALL_DEFINE5 | ||
| 268 | #define SYSCALL32_DEFINE6 COMPAT_SYSCALL_DEFINE6 | ||
| 269 | #else | ||
| 270 | #define SYSCALL32_DEFINE1 SYSCALL_DEFINE1 | ||
| 271 | #define SYSCALL32_DEFINE2 SYSCALL_DEFINE2 | ||
| 272 | #define SYSCALL32_DEFINE3 SYSCALL_DEFINE3 | ||
| 273 | #define SYSCALL32_DEFINE4 SYSCALL_DEFINE4 | ||
| 274 | #define SYSCALL32_DEFINE5 SYSCALL_DEFINE5 | ||
| 275 | #define SYSCALL32_DEFINE6 SYSCALL_DEFINE6 | ||
| 276 | #endif | ||
| 277 | |||
| 254 | /* | 278 | /* |
| 255 | * Called before coming back to user-mode. Returning to user-mode with an | 279 | * Called before coming back to user-mode. Returning to user-mode with an |
| 256 | * address limit different than USER_DS can allow to overwrite kernel memory. | 280 | * address limit different than USER_DS can allow to overwrite kernel memory. |