2010-04-20 03:31:13

by Christoph Hellwig

[permalink] [raw]
Subject: [PATCH] x86: correctly wire up the newuname system call

Before commit e28cbf22933d0c0ccaf3c4c27a1a263b41f73859 64-bit x86 had
a private implementation of sys_uname which was just called sys_uname,
which other architectures used for the old uname. Due to some merge
issues with the uname refactoring patches we ended up calling the
old uname version for both the old and new system call slots, which
lead to the domainname filed never be set which caused failures with
libnss_nis.

Reported-by: Andy Isaacson <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>

Index: linux-2.6/arch/x86/ia32/ia32entry.S
===================================================================
--- linux-2.6.orig/arch/x86/ia32/ia32entry.S 2010-04-19 20:21:11.919003961 -0700
+++ linux-2.6/arch/x86/ia32/ia32entry.S 2010-04-19 20:21:19.902005565 -0700
@@ -626,7 +626,7 @@ ia32_sys_call_table:
.quad stub32_sigreturn
.quad stub32_clone /* 120 */
.quad sys_setdomainname
- .quad sys_uname
+ .quad sys_newuname
.quad sys_modify_ldt
.quad compat_sys_adjtimex
.quad sys32_mprotect /* 125 */


2010-04-20 14:50:13

by Andy Isaacson

[permalink] [raw]
Subject: Re: [PATCH] x86: correctly wire up the newuname system call

On Tue, Apr 20, 2010 at 05:31:02AM +0200, Christoph Hellwig wrote:
> Before commit e28cbf22933d0c0ccaf3c4c27a1a263b41f73859 64-bit x86 had
> a private implementation of sys_uname which was just called sys_uname,
> which other architectures used for the old uname. Due to some merge
> issues with the uname refactoring patches we ended up calling the
> old uname version for both the old and new system call slots, which
> lead to the domainname filed never be set which caused failures with
^^^^^ field.

> libnss_nis.
>
> Reported-by: Andy Isaacson <[email protected]>
> Signed-off-by: Christoph Hellwig <[email protected]>
>
> Index: linux-2.6/arch/x86/ia32/ia32entry.S
> ===================================================================
> --- linux-2.6.orig/arch/x86/ia32/ia32entry.S 2010-04-19 20:21:11.919003961 -0700
> +++ linux-2.6/arch/x86/ia32/ia32entry.S 2010-04-19 20:21:19.902005565 -0700
> @@ -626,7 +626,7 @@ ia32_sys_call_table:
> .quad stub32_sigreturn
> .quad stub32_clone /* 120 */
> .quad sys_setdomainname
> - .quad sys_uname
> + .quad sys_newuname

Yes, that's the same patch I arrived at and fixes the issue for me.

Tested-by: Andy Isaacson <[email protected]>

Thanks,
-andy