All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86/signals: Fix lower/upper bound reporting in compat siginfo
@ 2017-04-04 16:15 Joerg Roedel
  2017-04-04 16:56 ` Dave Hansen
  2017-04-05  8:58 ` [tip:x86/urgent] " tip-bot for Joerg Roedel
  0 siblings, 2 replies; 5+ messages in thread
From: Joerg Roedel @ 2017-04-04 16:15 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, H. Peter Anvin
  Cc: x86, Dmitry Safonov, Dave Hansen, Joerg Roedel, linux-kernel,
	Borislav Petkov

From: Joerg Roedel <jroedel@suse.de>

Put the right values from the original siginfo into the
userspace compat-siginfo.

This fixes the 32-bit mpx tabletest on a 64-bit kernel.

Fixes: a4455082dc6f0 ('x86/signals: Add missing signal_compat code for x86 features')
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
---
 arch/x86/kernel/signal_compat.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/signal_compat.c b/arch/x86/kernel/signal_compat.c
index ec1f756..71beb28 100644
--- a/arch/x86/kernel/signal_compat.c
+++ b/arch/x86/kernel/signal_compat.c
@@ -151,8 +151,8 @@ int __copy_siginfo_to_user32(compat_siginfo_t __user *to, const siginfo_t *from,
 
 				if (from->si_signo == SIGSEGV) {
 					if (from->si_code == SEGV_BNDERR) {
-						compat_uptr_t lower = (unsigned long)&to->si_lower;
-						compat_uptr_t upper = (unsigned long)&to->si_upper;
+						compat_uptr_t lower = (unsigned long)from->si_lower;
+						compat_uptr_t upper = (unsigned long)from->si_upper;
 						put_user_ex(lower, &to->si_lower);
 						put_user_ex(upper, &to->si_upper);
 					}
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] x86/signals: Fix lower/upper bound reporting in compat siginfo
  2017-04-04 16:15 [PATCH] x86/signals: Fix lower/upper bound reporting in compat siginfo Joerg Roedel
@ 2017-04-04 16:56 ` Dave Hansen
  2017-04-04 21:53   ` Joerg Roedel
  2017-04-05  8:58 ` [tip:x86/urgent] " tip-bot for Joerg Roedel
  1 sibling, 1 reply; 5+ messages in thread
From: Dave Hansen @ 2017-04-04 16:56 UTC (permalink / raw)
  To: Joerg Roedel, Thomas Gleixner, Ingo Molnar, H. Peter Anvin
  Cc: x86, Dmitry Safonov, Joerg Roedel, linux-kernel, Borislav Petkov

On 04/04/2017 09:15 AM, Joerg Roedel wrote:
> Put the right values from the original siginfo into the
> userspace compat-siginfo.
> 
> This fixes the 32-bit mpx tabletest on a 64-bit kernel.

Ugh, thanks for finding that.

Acked-by: Dave Hansen <dave.hansen@linux.intel.com>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] x86/signals: Fix lower/upper bound reporting in compat siginfo
  2017-04-04 16:56 ` Dave Hansen
@ 2017-04-04 21:53   ` Joerg Roedel
  2017-04-05 22:45     ` Dave Hansen
  0 siblings, 1 reply; 5+ messages in thread
From: Joerg Roedel @ 2017-04-04 21:53 UTC (permalink / raw)
  To: Dave Hansen
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86,
	Dmitry Safonov, Joerg Roedel, linux-kernel, Borislav Petkov

On Tue, Apr 04, 2017 at 09:56:45AM -0700, Dave Hansen wrote:
> On 04/04/2017 09:15 AM, Joerg Roedel wrote:
> > Put the right values from the original siginfo into the
> > userspace compat-siginfo.
> > 
> > This fixes the 32-bit mpx tabletest on a 64-bit kernel.
> 
> Ugh, thanks for finding that.

Yeah, I was also looking at the vaddrexhaust test, but is that supposed
to work? It does pretty weird things at least, on 64 bit the function
effectivly does nothing because nr_to_fill evaluates to 0 there, and on
32 bit it gets a (probably #BF) exception which is not caught, so that
the test fails.

I am a bit confused, but maybe I just didn't stare long enough at it :-)
Hope you can sched some light on it.


	Joerg

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [tip:x86/urgent] x86/signals: Fix lower/upper bound reporting in compat siginfo
  2017-04-04 16:15 [PATCH] x86/signals: Fix lower/upper bound reporting in compat siginfo Joerg Roedel
  2017-04-04 16:56 ` Dave Hansen
@ 2017-04-05  8:58 ` tip-bot for Joerg Roedel
  1 sibling, 0 replies; 5+ messages in thread
From: tip-bot for Joerg Roedel @ 2017-04-05  8:58 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: luto, jroedel, linux-kernel, brgerst, 0x7f454c46, peterz, bp, bp,
	hpa, dvlasenk, tglx, dave.hansen, jpoimboe, mingo, torvalds

Commit-ID:  cfac6dfa42bddfa9711b20d486e521d1a41ab09f
Gitweb:     http://git.kernel.org/tip/cfac6dfa42bddfa9711b20d486e521d1a41ab09f
Author:     Joerg Roedel <jroedel@suse.de>
AuthorDate: Tue, 4 Apr 2017 18:15:01 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 5 Apr 2017 10:16:43 +0200

x86/signals: Fix lower/upper bound reporting in compat siginfo

Put the right values from the original siginfo into the
userspace compat-siginfo.

This fixes the 32-bit MPX "tabletest" testcase on 64-bit kernels.

Signed-off-by: Joerg Roedel <jroedel@suse.de>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Cc: <stable@vger.kernel.org> # v4.8+
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Borislav Petkov <bp@suse.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: Dmitry Safonov <0x7f454c46@gmail.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: a4455082dc6f0 ('x86/signals: Add missing signal_compat code for x86 features')
Link: http://lkml.kernel.org/r/1491322501-5054-1-git-send-email-joro@8bytes.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/kernel/signal_compat.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kernel/signal_compat.c b/arch/x86/kernel/signal_compat.c
index ec1f756..71beb28 100644
--- a/arch/x86/kernel/signal_compat.c
+++ b/arch/x86/kernel/signal_compat.c
@@ -151,8 +151,8 @@ int __copy_siginfo_to_user32(compat_siginfo_t __user *to, const siginfo_t *from,
 
 				if (from->si_signo == SIGSEGV) {
 					if (from->si_code == SEGV_BNDERR) {
-						compat_uptr_t lower = (unsigned long)&to->si_lower;
-						compat_uptr_t upper = (unsigned long)&to->si_upper;
+						compat_uptr_t lower = (unsigned long)from->si_lower;
+						compat_uptr_t upper = (unsigned long)from->si_upper;
 						put_user_ex(lower, &to->si_lower);
 						put_user_ex(upper, &to->si_upper);
 					}

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] x86/signals: Fix lower/upper bound reporting in compat siginfo
  2017-04-04 21:53   ` Joerg Roedel
@ 2017-04-05 22:45     ` Dave Hansen
  0 siblings, 0 replies; 5+ messages in thread
From: Dave Hansen @ 2017-04-05 22:45 UTC (permalink / raw)
  To: Joerg Roedel
  Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin, x86,
	Dmitry Safonov, Joerg Roedel, linux-kernel, Borislav Petkov

On 04/04/2017 02:53 PM, Joerg Roedel wrote:
> On Tue, Apr 04, 2017 at 09:56:45AM -0700, Dave Hansen wrote:
>> On 04/04/2017 09:15 AM, Joerg Roedel wrote:
>>> Put the right values from the original siginfo into the
>>> userspace compat-siginfo.
>>>
>>> This fixes the 32-bit mpx tabletest on a 64-bit kernel.
>>
>> Ugh, thanks for finding that.
> 
> Yeah, I was also looking at the vaddrexhaust test, but is that supposed
> to work? It does pretty weird things at least, on 64 bit the function
> effectivly does nothing because nr_to_fill evaluates to 0 there, and on
> 32 bit it gets a (probably #BF) exception which is not caught, so that
> the test fails.
> 
> I am a bit confused, but maybe I just didn't stare long enough at it :-)
> Hope you can sched some light on it.

That code can probably just get removed from the tests.  I haven't run
it in a while and it's probably not worth refreshing.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-04-05 22:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-04 16:15 [PATCH] x86/signals: Fix lower/upper bound reporting in compat siginfo Joerg Roedel
2017-04-04 16:56 ` Dave Hansen
2017-04-04 21:53   ` Joerg Roedel
2017-04-05 22:45     ` Dave Hansen
2017-04-05  8:58 ` [tip:x86/urgent] " tip-bot for Joerg Roedel

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.