Commit d26a357f authored by Sven Schnelle's avatar Sven Schnelle Committed by Vasily Gorbik
Browse files

s390: rename PIF_SYSCALL_RESTART to PIF_EXECVE_PGSTE_RESTART



PIF_SYSCALL_RESTART is now only used to restart execve when loading
PGSTE binaries. Rename the flag to reflect that, and avoid people
thinking that this bit has anything to do with generic syscall
restarting.

Signed-off-by: default avatarSven Schnelle <svens@linux.ibm.com>
Reviewed-by: default avatarHeiko Carstens <hca@linux.ibm.com>
Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
parent e3c7a8d7
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -172,7 +172,7 @@ struct arch_elf_state {
	    !current->mm->context.alloc_pgste) {		\
		set_thread_flag(TIF_PGSTE);			\
		set_pt_regs_flag(task_pt_regs(current),		\
				 PIF_SYSCALL_RESTART);		\
				 PIF_EXECVE_PGSTE_RESTART);	\
		_state->rc = -EAGAIN;				\
	}							\
	_state->rc;						\
+9 −9
Original line number Diff line number Diff line
@@ -12,12 +12,12 @@
#include <asm/tpi.h>

#define PIF_SYSCALL			0	/* inside a system call */
#define PIF_SYSCALL_RESTART	1	/* restart the current system call */
#define PIF_EXECVE_PGSTE_RESTART	1	/* restart execve for PGSTE binaries */
#define PIF_SYSCALL_RET_SET		2	/* return value was set via ptrace */
#define PIF_GUEST_FAULT			3	/* indicates program check in sie64a */

#define _PIF_SYSCALL			BIT(PIF_SYSCALL)
#define _PIF_SYSCALL_RESTART	BIT(PIF_SYSCALL_RESTART)
#define _PIF_EXECVE_PGSTE_RESTART	BIT(PIF_EXECVE_PGSTE_RESTART)
#define _PIF_SYSCALL_RET_SET		BIT(PIF_SYSCALL_RET_SET)
#define _PIF_GUEST_FAULT		BIT(PIF_GUEST_FAULT)

+2 −1
Original line number Diff line number Diff line
@@ -134,6 +134,7 @@ static void do_syscall(struct pt_regs *regs)
	 * work, the ptrace code sets PIF_SYSCALL_RET_SET, which is checked here
	 * and if set, the syscall will be skipped.
	 */

	if (unlikely(test_and_clear_pt_regs_flag(regs, PIF_SYSCALL_RET_SET)))
		goto out;
	regs->gprs[2] = -ENOSYS;
@@ -141,7 +142,7 @@ static void do_syscall(struct pt_regs *regs)
		goto out;
	do {
		regs->gprs[2] = current->thread.sys_call_table[nr](regs);
	} while (test_and_clear_pt_regs_flag(regs, PIF_SYSCALL_RESTART));
	} while (test_and_clear_pt_regs_flag(regs, PIF_EXECVE_PGSTE_RESTART));
out:
	syscall_exit_to_user_mode_work(regs);
}