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

Commit 59e8f10a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM fixes from Russell King:
 "A couple more fixes for 4.10:

   - fix addressing the short regset write issue (Dave Martin)

   - fix for LPAE systems which leave a pending imprecise data abort
     before entering the kernel (Alexander Sverdlin)"

* 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
  ARM: 8643/3: arm/ptrace: Preserve previous registers for short regset write
  ARM: 8642/1: LPAE: catch pending imprecise abort on unmask
parents d966564f 228dbbfb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -600,7 +600,7 @@ static int gpr_set(struct task_struct *target,
		   const void *kbuf, const void __user *ubuf)
{
	int ret;
	struct pt_regs newregs;
	struct pt_regs newregs = *task_pt_regs(target);

	ret = user_regset_copyin(&pos, &count, &kbuf, &ubuf,
				 &newregs,
+2 −2
Original line number Diff line number Diff line
@@ -610,9 +610,9 @@ static int __init early_abort_handler(unsigned long addr, unsigned int fsr,

void __init early_abt_enable(void)
{
	fsr_info[22].fn = early_abort_handler;
	fsr_info[FSR_FS_AEA].fn = early_abort_handler;
	local_abt_enable();
	fsr_info[22].fn = do_bad;
	fsr_info[FSR_FS_AEA].fn = do_bad;
}

#ifndef CONFIG_ARM_LPAE
+4 −0
Original line number Diff line number Diff line
@@ -11,11 +11,15 @@
#define FSR_FS5_0		(0x3f)

#ifdef CONFIG_ARM_LPAE
#define FSR_FS_AEA		17

static inline int fsr_fs(unsigned int fsr)
{
	return fsr & FSR_FS5_0;
}
#else
#define FSR_FS_AEA		22

static inline int fsr_fs(unsigned int fsr)
{
	return (fsr & FSR_FS3_0) | (fsr & FSR_FS4) >> 6;