From: mathieu.desnoyers at efficios.com (Mathieu Desnoyers)
Subject: [PATCH 0/1] rseq/selftests: add __rseq_abi misalignment check
Date: Tue, 7 Aug 2018 18:22:41 -0400 (EDT) [thread overview]
Message-ID: <1178149993.10208.1533680561904.JavaMail.zimbra@efficios.com> (raw)
In-Reply-To: <cover.thread-5c3a1c.your-ad-here.call-01533555685-ext-8699@work.hours>
----- On Aug 6, 2018, at 7:47 AM, gor gor at linux.ibm.com wrote:
> While implementing rseq selftest for s390 a glibc problem with tls
> variables alignment has been discovered. It turned out to be a general
> problem affecting several architectures. The bug opened for this problem:
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=23403
>
> There is no fix yet. On s390 __rseq_abi ends up aligned to 0x10 instead
> of 0x20 which makes rseq selftest fail every time.
>
> The change proposed adds __rseq_abi misalignment check, produces user
> friendly message and skips the test.
That's a very unfortunate situation. I'm concerned about adding glibc-specific
error messages in rseq selftests though. I'm curious to hear what others think
about this.
I would have thought simply improving rseq registration error handling from
having the test program return nonzero to add a perror() in there would be
a more generic way to handle this.
Regarding the message printed by your check: "you need a fixed version of glibc to
run this test". I disagree with it. Someone can effectively run the test on
a bogus glibc and it serves its purpose: it reports that glibc is buggy.
I would understand adding this kind of test in an user-facing application or
library to detect bogus glibc (in fact I've used similar approaches in lttng-ust
to detect bogus compilers), but why add this to skip a selftest program, which
sole purpose is to test the stack underneath it ?
Thanks,
Mathieu
>
> Vasily Gorbik (1):
> rseq/selftests: add __rseq_abi misalignment check
>
> tools/testing/selftests/rseq/rseq.c | 19 +++++++++++++++++++
> .../testing/selftests/rseq/run_param_test.sh | 4 ++--
> 2 files changed, 21 insertions(+), 2 deletions(-)
>
> --
> 2.18.0.13.gd42ae10
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: mathieu.desnoyers@efficios.com (Mathieu Desnoyers)
Subject: [PATCH 0/1] rseq/selftests: add __rseq_abi misalignment check
Date: Tue, 7 Aug 2018 18:22:41 -0400 (EDT) [thread overview]
Message-ID: <1178149993.10208.1533680561904.JavaMail.zimbra@efficios.com> (raw)
Message-ID: <20180807222241.8r60NIOKzvoKDLer_6KUc-LuP3YOtZnL2ATCaO0o6Eg@z> (raw)
In-Reply-To: <cover.thread-5c3a1c.your-ad-here.call-01533555685-ext-8699@work.hours>
----- On Aug 6, 2018,@7:47 AM, gor gor@linux.ibm.com wrote:
> While implementing rseq selftest for s390 a glibc problem with tls
> variables alignment has been discovered. It turned out to be a general
> problem affecting several architectures. The bug opened for this problem:
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=23403
>
> There is no fix yet. On s390 __rseq_abi ends up aligned to 0x10 instead
> of 0x20 which makes rseq selftest fail every time.
>
> The change proposed adds __rseq_abi misalignment check, produces user
> friendly message and skips the test.
That's a very unfortunate situation. I'm concerned about adding glibc-specific
error messages in rseq selftests though. I'm curious to hear what others think
about this.
I would have thought simply improving rseq registration error handling from
having the test program return nonzero to add a perror() in there would be
a more generic way to handle this.
Regarding the message printed by your check: "you need a fixed version of glibc to
run this test". I disagree with it. Someone can effectively run the test on
a bogus glibc and it serves its purpose: it reports that glibc is buggy.
I would understand adding this kind of test in an user-facing application or
library to detect bogus glibc (in fact I've used similar approaches in lttng-ust
to detect bogus compilers), but why add this to skip a selftest program, which
sole purpose is to test the stack underneath it ?
Thanks,
Mathieu
>
> Vasily Gorbik (1):
> rseq/selftests: add __rseq_abi misalignment check
>
> tools/testing/selftests/rseq/rseq.c | 19 +++++++++++++++++++
> .../testing/selftests/rseq/run_param_test.sh | 4 ++--
> 2 files changed, 21 insertions(+), 2 deletions(-)
>
> --
> 2.18.0.13.gd42ae10
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kselftest" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: gor <gor@linux.ibm.com>, Linus Torvalds <torvalds@linux-foundation.org>
Cc: shuah <shuah@kernel.org>, Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <peterz@infradead.org>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Boqun Feng <boqun.feng@gmail.com>,
linux-kernel <linux-kernel@vger.kernel.org>,
linux-kselftest <linux-kselftest@vger.kernel.org>
Subject: Re: [PATCH 0/1] rseq/selftests: add __rseq_abi misalignment check
Date: Tue, 7 Aug 2018 18:22:41 -0400 (EDT) [thread overview]
Message-ID: <1178149993.10208.1533680561904.JavaMail.zimbra@efficios.com> (raw)
In-Reply-To: <cover.thread-5c3a1c.your-ad-here.call-01533555685-ext-8699@work.hours>
----- On Aug 6, 2018, at 7:47 AM, gor gor@linux.ibm.com wrote:
> While implementing rseq selftest for s390 a glibc problem with tls
> variables alignment has been discovered. It turned out to be a general
> problem affecting several architectures. The bug opened for this problem:
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=23403
>
> There is no fix yet. On s390 __rseq_abi ends up aligned to 0x10 instead
> of 0x20 which makes rseq selftest fail every time.
>
> The change proposed adds __rseq_abi misalignment check, produces user
> friendly message and skips the test.
That's a very unfortunate situation. I'm concerned about adding glibc-specific
error messages in rseq selftests though. I'm curious to hear what others think
about this.
I would have thought simply improving rseq registration error handling from
having the test program return nonzero to add a perror() in there would be
a more generic way to handle this.
Regarding the message printed by your check: "you need a fixed version of glibc to
run this test". I disagree with it. Someone can effectively run the test on
a bogus glibc and it serves its purpose: it reports that glibc is buggy.
I would understand adding this kind of test in an user-facing application or
library to detect bogus glibc (in fact I've used similar approaches in lttng-ust
to detect bogus compilers), but why add this to skip a selftest program, which
sole purpose is to test the stack underneath it ?
Thanks,
Mathieu
>
> Vasily Gorbik (1):
> rseq/selftests: add __rseq_abi misalignment check
>
> tools/testing/selftests/rseq/rseq.c | 19 +++++++++++++++++++
> .../testing/selftests/rseq/run_param_test.sh | 4 ++--
> 2 files changed, 21 insertions(+), 2 deletions(-)
>
> --
> 2.18.0.13.gd42ae10
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
next prev parent reply other threads:[~2018-08-07 22:22 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-06 11:47 [PATCH 0/1] rseq/selftests: add __rseq_abi misalignment check gor
2018-08-06 11:47 ` Vasily Gorbik
2018-08-06 11:47 ` Vasily Gorbik
2018-08-06 11:47 ` [PATCH 1/1] " gor
2018-08-06 11:47 ` Vasily Gorbik
2018-08-06 11:47 ` Vasily Gorbik
2018-08-06 13:27 ` [PATCH v2 " gor
2018-08-06 13:27 ` Vasily Gorbik
2018-08-06 13:27 ` Vasily Gorbik
2018-08-06 14:09 ` paulmck
2018-08-06 14:09 ` Paul E. McKenney
2018-08-06 14:09 ` Paul E. McKenney
2018-08-07 22:22 ` mathieu.desnoyers [this message]
2018-08-07 22:22 ` [PATCH 0/1] " Mathieu Desnoyers
2018-08-07 22:22 ` Mathieu Desnoyers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1178149993.10208.1533680561904.JavaMail.zimbra@efficios.com \
--to=unknown@example.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.