mbox series

[v2,0/3] Support rseq on arm64

Message ID 1531145985-3747-1-git-send-email-will.deacon@arm.com
Headers show
Series Support rseq on arm64 | expand

Message

Will Deacon July 9, 2018, 2:19 p.m. UTC
Hello,

This is version two of the patches previously posted here:

http://lkml.kernel.org/r/1529949285-11013-1-git-send-email-will.deacon@arm.com

Changes since v1 include:

  * Move abort handler in-line to avoid possibility of it being
    out-of-range for conditional branch instructions

I've tested both native and compat (little-endian only) with the selftests
and they pass successfully on my Seattle box.

Thanks,

Will

--->8

Will Deacon (3):
  arm64: rseq: Implement backend rseq calls and select HAVE_RSEQ
  asm-generic: unistd.h: Wire up sys_rseq
  rseq/selftests: Add support for arm64

 arch/arm64/Kconfig                        |   1 +
 arch/arm64/include/asm/unistd.h           |   2 +-
 arch/arm64/include/asm/unistd32.h         |   2 +
 arch/arm64/kernel/entry.S                 |   2 +
 arch/arm64/kernel/ptrace.c                |   2 +
 arch/arm64/kernel/signal.c                |   3 +
 include/uapi/asm-generic/unistd.h         |   4 +-
 tools/testing/selftests/rseq/param_test.c |  20 +
 tools/testing/selftests/rseq/rseq-arm64.h | 594 ++++++++++++++++++++++++++++++
 tools/testing/selftests/rseq/rseq.h       |   2 +
 10 files changed, 630 insertions(+), 2 deletions(-)
 create mode 100644 tools/testing/selftests/rseq/rseq-arm64.h

-- 
2.1.4

Comments

Mathieu Desnoyers July 9, 2018, 4:06 p.m. UTC | #1
----- On Jul 9, 2018, at 10:19 AM, Will Deacon will.deacon@arm.com wrote:

> Hello,

> 

> This is version two of the patches previously posted here:

> 

> http://lkml.kernel.org/r/1529949285-11013-1-git-send-email-will.deacon@arm.com

> 

> Changes since v1 include:

> 

>  * Move abort handler in-line to avoid possibility of it being

>    out-of-range for conditional branch instructions

> 

> I've tested both native and compat (little-endian only) with the selftests

> and they pass successfully on my Seattle box.


For the whole series:

Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>


Thanks!

Mathieu

> 

> Thanks,

> 

> Will

> 

> --->8

> 

> Will Deacon (3):

>  arm64: rseq: Implement backend rseq calls and select HAVE_RSEQ

>  asm-generic: unistd.h: Wire up sys_rseq

>  rseq/selftests: Add support for arm64

> 

> arch/arm64/Kconfig                        |   1 +

> arch/arm64/include/asm/unistd.h           |   2 +-

> arch/arm64/include/asm/unistd32.h         |   2 +

> arch/arm64/kernel/entry.S                 |   2 +

> arch/arm64/kernel/ptrace.c                |   2 +

> arch/arm64/kernel/signal.c                |   3 +

> include/uapi/asm-generic/unistd.h         |   4 +-

> tools/testing/selftests/rseq/param_test.c |  20 +

> tools/testing/selftests/rseq/rseq-arm64.h | 594 ++++++++++++++++++++++++++++++

> tools/testing/selftests/rseq/rseq.h       |   2 +

> 10 files changed, 630 insertions(+), 2 deletions(-)

> create mode 100644 tools/testing/selftests/rseq/rseq-arm64.h

> 

> --

> 2.1.4


-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
Will Deacon July 9, 2018, 4:53 p.m. UTC | #2
On Mon, Jul 09, 2018 at 12:06:22PM -0400, Mathieu Desnoyers wrote:
> ----- On Jul 9, 2018, at 10:19 AM, Will Deacon will.deacon@arm.com wrote:

> 

> > Hello,

> > 

> > This is version two of the patches previously posted here:

> > 

> > http://lkml.kernel.org/r/1529949285-11013-1-git-send-email-will.deacon@arm.com

> > 

> > Changes since v1 include:

> > 

> >  * Move abort handler in-line to avoid possibility of it being

> >    out-of-range for conditional branch instructions

> > 

> > I've tested both native and compat (little-endian only) with the selftests

> > and they pass successfully on my Seattle box.

> 

> For the whole series:

> 

> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>


Thanks, Mathieu! Are you ok with me taking this via the arm64 tree for
4.19 once I have an Ack for the asm-generic change, or would you rather
this went via somewhere else?

Cheers,

Will
Mathieu Desnoyers July 9, 2018, 5:17 p.m. UTC | #3
----- On Jul 9, 2018, at 12:53 PM, Will Deacon will.deacon@arm.com wrote:

> On Mon, Jul 09, 2018 at 12:06:22PM -0400, Mathieu Desnoyers wrote:

>> ----- On Jul 9, 2018, at 10:19 AM, Will Deacon will.deacon@arm.com wrote:

>> 

>> > Hello,

>> > 

>> > This is version two of the patches previously posted here:

>> > 

>> > http://lkml.kernel.org/r/1529949285-11013-1-git-send-email-will.deacon@arm.com

>> > 

>> > Changes since v1 include:

>> > 

>> >  * Move abort handler in-line to avoid possibility of it being

>> >    out-of-range for conditional branch instructions

>> > 

>> > I've tested both native and compat (little-endian only) with the selftests

>> > and they pass successfully on my Seattle box.

>> 

>> For the whole series:

>> 

>> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>

> 

> Thanks, Mathieu! Are you ok with me taking this via the arm64 tree for

> 4.19 once I have an Ack for the asm-generic change, or would you rather

> this went via somewhere else?


Adding Thomas Gleixner in CC. He has been picking up the rseq bits for
4.18. I've noticed it was rather easier to gather rseq stuff through a
single tree (less chances of confusion).

Also, support for additional architectures (e.g. MIPS) was added to rseq
after rc1. Is it too late to merge arm64 support targeting 4.18 ?

Thanks,

Mathieu

> 

> Cheers,

> 

> Will


-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
Will Deacon July 10, 2018, 2:49 p.m. UTC | #4
On Mon, Jul 09, 2018 at 01:17:54PM -0400, Mathieu Desnoyers wrote:
> ----- On Jul 9, 2018, at 12:53 PM, Will Deacon will.deacon@arm.com wrote:

> 

> > On Mon, Jul 09, 2018 at 12:06:22PM -0400, Mathieu Desnoyers wrote:

> >> ----- On Jul 9, 2018, at 10:19 AM, Will Deacon will.deacon@arm.com wrote:

> >> 

> >> > Hello,

> >> > 

> >> > This is version two of the patches previously posted here:

> >> > 

> >> > http://lkml.kernel.org/r/1529949285-11013-1-git-send-email-will.deacon@arm.com

> >> > 

> >> > Changes since v1 include:

> >> > 

> >> >  * Move abort handler in-line to avoid possibility of it being

> >> >    out-of-range for conditional branch instructions

> >> > 

> >> > I've tested both native and compat (little-endian only) with the selftests

> >> > and they pass successfully on my Seattle box.

> >> 

> >> For the whole series:

> >> 

> >> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>

> > 

> > Thanks, Mathieu! Are you ok with me taking this via the arm64 tree for

> > 4.19 once I have an Ack for the asm-generic change, or would you rather

> > this went via somewhere else?

> 

> Adding Thomas Gleixner in CC. He has been picking up the rseq bits for

> 4.18. I've noticed it was rather easier to gather rseq stuff through a

> single tree (less chances of confusion).


Whilst I can see that making some sense for the selftests (particularly
if the ABI is liable to further changes before 4.18 is released), I'd
prefer to take the arm64 bits via the arm64 tree, as they will conflict
with some ongoing work to rewrite the syscall entry path in C which I
plan to queue in the next week (pending final testing results).

> Also, support for additional architectures (e.g. MIPS) was added to rseq

> after rc1. Is it too late to merge arm64 support targeting 4.18 ?


Personally, I don't see the rush, but I won't stop anybody who wants to
try steam-rollering them into mainline ;)

Will
Mathieu Desnoyers July 10, 2018, 2:51 p.m. UTC | #5
----- On Jul 10, 2018, at 10:49 AM, Will Deacon will.deacon@arm.com wrote:

> On Mon, Jul 09, 2018 at 01:17:54PM -0400, Mathieu Desnoyers wrote:

>> ----- On Jul 9, 2018, at 12:53 PM, Will Deacon will.deacon@arm.com wrote:

>> 

>> > On Mon, Jul 09, 2018 at 12:06:22PM -0400, Mathieu Desnoyers wrote:

>> >> ----- On Jul 9, 2018, at 10:19 AM, Will Deacon will.deacon@arm.com wrote:

>> >> 

>> >> > Hello,

>> >> > 

>> >> > This is version two of the patches previously posted here:

>> >> > 

>> >> > http://lkml.kernel.org/r/1529949285-11013-1-git-send-email-will.deacon@arm.com

>> >> > 

>> >> > Changes since v1 include:

>> >> > 

>> >> >  * Move abort handler in-line to avoid possibility of it being

>> >> >    out-of-range for conditional branch instructions

>> >> > 

>> >> > I've tested both native and compat (little-endian only) with the selftests

>> >> > and they pass successfully on my Seattle box.

>> >> 

>> >> For the whole series:

>> >> 

>> >> Acked-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>

>> > 

>> > Thanks, Mathieu! Are you ok with me taking this via the arm64 tree for

>> > 4.19 once I have an Ack for the asm-generic change, or would you rather

>> > this went via somewhere else?

>> 

>> Adding Thomas Gleixner in CC. He has been picking up the rseq bits for

>> 4.18. I've noticed it was rather easier to gather rseq stuff through a

>> single tree (less chances of confusion).

> 

> Whilst I can see that making some sense for the selftests (particularly

> if the ABI is liable to further changes before 4.18 is released), I'd

> prefer to take the arm64 bits via the arm64 tree, as they will conflict

> with some ongoing work to rewrite the syscall entry path in C which I

> plan to queue in the next week (pending final testing results).


Considering this, indeed going through the arm64 tree seems like the right
approach.

> 

>> Also, support for additional architectures (e.g. MIPS) was added to rseq

>> after rc1. Is it too late to merge arm64 support targeting 4.18 ?

> 

> Personally, I don't see the rush, but I won't stop anybody who wants to

> try steam-rollering them into mainline ;)


There is indeed no rush. 4.19 it is then.

Thanks!

Mathieu

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com