Message ID | 20180618120310.39527-2-mark.rutland@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, Jun 18, 2018 at 01:02:52PM +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. When we get to more than 32 flags, you may want to modify the _TIF_* definitions as well to (UL(1) << TIF_*). In the meantime: Acked-by: Catalin Marinas <catalin.marinas@arm.com>
On Tue, Jun 19, 2018 at 11:49:40AM +0100, Catalin Marinas wrote: > On Mon, Jun 18, 2018 at 01:02:52PM +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. > > When we get to more than 32 flags, you may want to modify the _TIF_* > definitions as well to (UL(1) << TIF_*). Agreed. I can spin a patch or two for a that as a subsequent cleanup. > In the meantime: > > Acked-by: Catalin Marinas <catalin.marinas@arm.com> Cheers! Mark.
diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c index 511af13e8d8f..70287634706e 100644 --- a/arch/arm64/kernel/signal.c +++ b/arch/arm64/kernel/signal.c @@ -910,7 +910,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