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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061116092801.GA14322@elte.hu>
Date:	Thu, 16 Nov 2006 10:28:01 +0100
From:	Ingo Molnar <mingo@...e.hu>
To:	Andrew Morton <akpm@...l.org>
Cc:	Andi Kleen <ak@...e.de>, Linus Torvalds <torvalds@...l.org>,
	linux-kernel@...r.kernel.org
Subject: Re: [patch, -rc6] x86_64: UP build fixes


* Andrew Morton <akpm@...l.org> wrote:

> On Thu, 16 Nov 2006 09:48:55 +0100
> Ingo Molnar <mingo@...e.hu> wrote:
> 
> > +static inline int
> > +smp_call_function_single(int cpuid, void (*func) (void *info), void *info,
> > +			 int retry, int wait)
> > +{
> > +	func(info);
> > +
> > +	return 0;
> > +}
> > +
> 
> Given that on SMP the function is called with local interrupts 
> disabled, I'd suggest that it should be called with local interrupts 
> disabled on UP as well.
> 
> on_each_cpu() does this and one caller (at least) relies upon it 
> (invalidate_bh_lrus(), iirc).

ok, fair enough. Then this is a (minor) bugfix as well.

	Ingo

--------------->
Subject: x86_64: build fixes
From: Ingo Molnar <mingo@...e.hu>

x86_64 does not build cleanly on UP:

arch/x86_64/kernel/vsyscall.c: In function 'cpu_vsyscall_notifier':
arch/x86_64/kernel/vsyscall.c:282: warning: implicit declaration of function 'smp_call_function_single'
arch/x86_64/kernel/vsyscall.c: At top level:
arch/x86_64/kernel/vsyscall.c:279: warning: 'cpu_vsyscall_notifier' defined but not used

this patch fixes it.

Signed-off-by: Ingo Molnar <mingo@...e.hu>
---
 include/asm-x86_64/smp.h |   11 ++---------
 include/linux/smp.h      |   13 +++++++++++++
 2 files changed, 15 insertions(+), 9 deletions(-)

Index: linux/include/asm-x86_64/smp.h
===================================================================
--- linux.orig/include/asm-x86_64/smp.h
+++ linux/include/asm-x86_64/smp.h
@@ -115,16 +115,9 @@ static __inline int logical_smp_processo
 }
 
 #ifdef CONFIG_SMP
-#define cpu_physical_id(cpu)		x86_cpu_to_apicid[cpu]
+# define cpu_physical_id(cpu)		x86_cpu_to_apicid[cpu]
 #else
-#define cpu_physical_id(cpu)		boot_cpu_id
-static inline int smp_call_function_single(int cpuid, void (*func) (void *info),
-				void *info, int retry, int wait)
-{
-	/* Disable interrupts here? */
-	func(info);
-	return 0;
-}
+# define cpu_physical_id(cpu)		boot_cpu_id
 #endif /* !CONFIG_SMP */
 #endif
 
Index: linux/include/linux/smp.h
===================================================================
--- linux.orig/include/linux/smp.h
+++ linux/include/linux/smp.h
@@ -100,6 +100,19 @@ static inline void smp_send_reschedule(i
 #define num_booting_cpus()			1
 #define smp_prepare_boot_cpu()			do {} while (0)
 
+static inline int
+smp_call_function_single(int cpuid, void (*func) (void *info), void *info,
+			 int retry, int wait)
+{
+	unsigned long flags;
+
+	local_irq_save(flags);
+	func(info);
+	local_irq_restore(flags);
+
+	return 0;
+}
+
 #endif /* !SMP */
 
 /*
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ