Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79b8cb97 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull powerpc fixes from Michael Ellerman:

 - Wire up sys_execveat(). Tested on 32 & 64 bit.

 - Fix for kdump on LE systems with cpus hot unplugged.

 - Revert Anton's fix for "kernel BUG at kernel/smpboot.c:134!", this
   broke other platforms, we'll do a proper fix for 3.20.

* tag 'powerpc-3.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux:
  Revert "powerpc: Secondary CPUs must set cpu_callin_map after setting active and online"
  powerpc/kdump: Ignore failure in enabling big endian exception during crash
  powerpc: Wire up sys_execveat() syscall
parents f40bde85 1be6f10f
Loading
Loading
Loading
Loading
+10 −0
Original line number Original line Diff line number Diff line
@@ -86,6 +86,11 @@ extern int overlaps_crashkernel(unsigned long start, unsigned long size);
extern void reserve_crashkernel(void);
extern void reserve_crashkernel(void);
extern void machine_kexec_mask_interrupts(void);
extern void machine_kexec_mask_interrupts(void);


static inline bool kdump_in_progress(void)
{
	return crashing_cpu >= 0;
}

#else /* !CONFIG_KEXEC */
#else /* !CONFIG_KEXEC */
static inline void crash_kexec_secondary(struct pt_regs *regs) { }
static inline void crash_kexec_secondary(struct pt_regs *regs) { }


@@ -106,6 +111,11 @@ static inline int crash_shutdown_unregister(crash_shutdown_t handler)
	return 0;
	return 0;
}
}


static inline bool kdump_in_progress(void)
{
	return false;
}

#endif /* CONFIG_KEXEC */
#endif /* CONFIG_KEXEC */
#endif /* ! __ASSEMBLY__ */
#endif /* ! __ASSEMBLY__ */
#endif /* __KERNEL__ */
#endif /* __KERNEL__ */
+1 −0
Original line number Original line Diff line number Diff line
@@ -366,3 +366,4 @@ SYSCALL_SPU(seccomp)
SYSCALL_SPU(getrandom)
SYSCALL_SPU(getrandom)
SYSCALL_SPU(memfd_create)
SYSCALL_SPU(memfd_create)
SYSCALL_SPU(bpf)
SYSCALL_SPU(bpf)
COMPAT_SYS(execveat)
+1 −1
Original line number Original line Diff line number Diff line
@@ -12,7 +12,7 @@
#include <uapi/asm/unistd.h>
#include <uapi/asm/unistd.h>




#define __NR_syscalls		362
#define __NR_syscalls		363


#define __NR__exit __NR_exit
#define __NR__exit __NR_exit
#define NR_syscalls	__NR_syscalls
#define NR_syscalls	__NR_syscalls
+1 −0
Original line number Original line Diff line number Diff line
@@ -384,5 +384,6 @@
#define __NR_getrandom		359
#define __NR_getrandom		359
#define __NR_memfd_create	360
#define __NR_memfd_create	360
#define __NR_bpf		361
#define __NR_bpf		361
#define __NR_execveat		362


#endif /* _UAPI_ASM_POWERPC_UNISTD_H_ */
#endif /* _UAPI_ASM_POWERPC_UNISTD_H_ */
+1 −1
Original line number Original line Diff line number Diff line
@@ -330,7 +330,7 @@ void default_machine_kexec(struct kimage *image)
        * using debugger IPI.
        * using debugger IPI.
        */
        */


	if (crashing_cpu == -1)
	if (!kdump_in_progress())
		kexec_prepare_cpus();
		kexec_prepare_cpus();


	pr_debug("kexec: Starting switchover sequence.\n");
	pr_debug("kexec: Starting switchover sequence.\n");
Loading