lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Wed, 22 Feb 2012 16:08:36 +1100
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Andrew Morton <akpm@...ux-foundation.org>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Alex Shi <alex.shi@...el.com>,
	Linus <torvalds@...ux-foundation.org>
Subject: linux-next: build failure after merge of the akpm tree

Hi Andrew,

After merging the akpm tree, today's linux-next build (x86_64
allmodconfig) failed like this:

In file included from arch/x86/include/asm/suspend_64.h:10:0,
                 from arch/x86/include/asm/suspend.h:4,
                 from arch/x86/kernel/asm-offsets.c:18:
arch/x86/include/asm/i387.h: In function '__thread_clear_has_fpu':
arch/x86/include/asm/i387.h:300:2: error: implicit declaration of function 'percpu_write' [-Werror=implicit-function-declaration]
arch/x86/include/asm/i387.h: In function 'fpu_lazy_restore':
arch/x86/include/asm/i387.h:354:2: error: implicit declaration of function 'percpu_read_stable' [-Werror=implicit-function-declaration]
arch/x86/include/asm/i387.h:354:13: warning: comparison between pointer and integer [enabled by default]

Caused by commits "percpu: remove percpu_xxx() functions" and "x86:
change percpu_read_stable() to this_cpu_read_stable()" from the akpm tree
interacting with commit 7e16838d94b5 ("i387: support lazy restore of FPU
state") from Linus' tree.

I applied the following patch for today.

From: Stephen Rothwell <sfr@...b.auug.org.au>
Date: Wed, 22 Feb 2012 16:00:44 +1100
Subject: [PATCH] percpu: fixup for added percpu_xxx calls in i387.h

Signed-off-by: Stephen Rothwell <sfr@...b.auug.org.au>
---
 arch/x86/include/asm/i387.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/i387.h b/arch/x86/include/asm/i387.h
index 2479049..df1cadd 100644
--- a/arch/x86/include/asm/i387.h
+++ b/arch/x86/include/asm/i387.h
@@ -297,14 +297,14 @@ static inline int __thread_has_fpu(struct task_struct *tsk)
 static inline void __thread_clear_has_fpu(struct task_struct *tsk)
 {
 	tsk->thread.fpu.has_fpu = 0;
-	percpu_write(fpu_owner_task, NULL);
+	__this_cpu_write(fpu_owner_task, NULL);
 }
 
 /* Must be paired with a 'clts' before! */
 static inline void __thread_set_has_fpu(struct task_struct *tsk)
 {
 	tsk->thread.fpu.has_fpu = 1;
-	percpu_write(fpu_owner_task, tsk);
+	__this_cpu_write(fpu_owner_task, tsk);
 }
 
 /*
@@ -351,7 +351,7 @@ typedef struct { int preload; } fpu_switch_t;
  */
 static inline int fpu_lazy_restore(struct task_struct *new, unsigned int cpu)
 {
-	return new == percpu_read_stable(fpu_owner_task) &&
+	return new == this_cpu_read_stable(fpu_owner_task) &&
 		cpu == new->thread.fpu.last_cpu;
 }
 
@@ -473,7 +473,7 @@ static inline void kernel_fpu_begin(void)
 		__thread_clear_has_fpu(me);
 		/* We do 'stts()' in kernel_fpu_end() */
 	} else {
-		percpu_write(fpu_owner_task, NULL);
+		__this_cpu_write(fpu_owner_task, NULL);
 		clts();
 	}
 }
-- 
1.7.9.1

-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ