| /* SPDX-License-Identifier: GPL-2.0 */ | |
| #ifndef _ASM_X86_FUTEX_ROBUST_H | |
| #define _ASM_X86_FUTEX_ROBUST_H | |
| #include <asm/ptrace.h> | |
| static __always_inline void __user *x86_futex_robust_unlock_get_pop(struct pt_regs *regs) | |
| { | |
| /* | |
| * If ZF is set then the cmpxchg succeeded and the pending op pointer | |
| * needs to be cleared. | |
| */ | |
| return regs->flags & X86_EFLAGS_ZF ? (void __user *)regs->dx : NULL; | |
| } | |
| #define arch_futex_robust_unlock_get_pop(regs) \ | |
| x86_futex_robust_unlock_get_pop(regs) | |
| #endif /* _ASM_X86_FUTEX_ROBUST_H */ |