[01/18] arm64: consistently use unsigned long for thread flags

Message ID 20180514094640.27569-2-mark.rutland@arm.com
State Superseded
Headers show
Series
  • arm64: invoke syscalls with pt_regs
Related show

Commit Message

Mark Rutland May 14, 2018, 9:46 a.m.
In do_notify_resume, we manipulate thread_flags as a 32-bit unsigned
int, whereas thread_info::flags is a 64-bit unsigned long, and elsewhere
(e.g. in the entry assembly) we manipulate the flags as a 64-bit
quantity.

For consistency, and to avoid problems if we end up with more than 32
flags, let's make do_notify_resume take the flags as a 64-bit unsigned
long.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>

Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
---
 arch/arm64/kernel/signal.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.11.0

Comments

Dave Martin May 14, 2018, 9:57 a.m. | #1
On Mon, May 14, 2018 at 10:46:23AM +0100, Mark Rutland wrote:
> In do_notify_resume, we manipulate thread_flags as a 32-bit unsigned

> int, whereas thread_info::flags is a 64-bit unsigned long, and elsewhere

> (e.g. in the entry assembly) we manipulate the flags as a 64-bit

> quantity.

> 

> For consistency, and to avoid problems if we end up with more than 32

> flags, let's make do_notify_resume take the flags as a 64-bit unsigned

> long.


Looks sensible.

Reviewed-by: Dave Martin <Dave.Martin@arm.com>


> 

> Signed-off-by: Mark Rutland <mark.rutland@arm.com>

> Cc: Catalin Marinas <catalin.marinas@arm.com>

> Cc: Will Deacon <will.deacon@arm.com>

> ---

>  arch/arm64/kernel/signal.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c

> index 154b7d30145d..8e624fec4707 100644

> --- a/arch/arm64/kernel/signal.c

> +++ b/arch/arm64/kernel/signal.c

> @@ -896,7 +896,7 @@ static void do_signal(struct pt_regs *regs)

>  }

>  

>  asmlinkage void do_notify_resume(struct pt_regs *regs,

> -				 unsigned int thread_flags)

> +				 unsigned long thread_flags)

>  {

>  	/*

>  	 * The assembly code enters us with IRQs off, but it hasn't

> -- 

> 2.11.0

> 

> 

> _______________________________________________

> linux-arm-kernel mailing list

> linux-arm-kernel@lists.infradead.org

> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

Patch

diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c
index 154b7d30145d..8e624fec4707 100644
--- a/arch/arm64/kernel/signal.c
+++ b/arch/arm64/kernel/signal.c
@@ -896,7 +896,7 @@  static void do_signal(struct pt_regs *regs)
 }
 
 asmlinkage void do_notify_resume(struct pt_regs *regs,
-				 unsigned int thread_flags)
+				 unsigned long thread_flags)
 {
 	/*
 	 * The assembly code enters us with IRQs off, but it hasn't