From: Chris Wright <chrisw@sous-sol.org>
To: linux-kernel@vger.kernel.org, stable@kernel.org
Cc: Justin Forbes <jmforbes@linuxtx.org>,
Zwane Mwaikambo <zwane@arm.linux.org.uk>,
"Theodore Ts'o" <tytso@mit.edu>,
Randy Dunlap <rdunlap@xenotime.net>,
Dave Jones <davej@redhat.com>,
Chuck Wolber <chuckw@quantumlinux.com>,
torvalds@osdl.org, akpm@osdl.org, alan@lxorguk.ukuu.org.uk,
Norbert Tretkowski <norbert@tretkowski.de>,
Steve Langasek <vorlon@debian.org>,
Richard Henderson <rth@twiddle.net>,
Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Subject: [PATCH 23/23] [alpha] __cmpxchg() must really always be inlined
Date: Tue, 07 Feb 2006 22:45:26 -0800 [thread overview]
Message-ID: <20060208064919.231158000@sorel.sous-sol.org> (raw)
In-Reply-To: <20060208064503.924238000@sorel.sous-sol.org>
[-- Attachment #1: __cmpxchg-must-really-always-be-inlined.patch --]
[-- Type: text/plain, Size: 1603 bytes --]
-stable review patch. If anyone has any objections, please let us know.
------------------
With the latest 2.6.15 kernel builds for alpha on Debian, we ran into a
problem with undefined references to __cmpxchg_called_with_bad_pointer() in
a couple of kernel modules (xfs.ko and drm.ko; see
http://bugs.debian.org/347556).
It looks like people have been trying to out-clever each other wrt the
definition of "inline" on this architecture :), with the result that
__cmpxchg(), which must be inlined so the compiler can see its argument is
const, is not guaranteed to be inlined. Indeed, it was not being inlined
when building with -Os.
The attached patch fixes the issue by adding an
__attribute__((always_inline)) explicitly to the definition of __cmpxchg()
instead of relying on redefines of "inline" elsewhere to make this happen.
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
---
include/asm-alpha/system.h | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
--- linux-2.6.15.3.orig/include/asm-alpha/system.h
+++ linux-2.6.15.3/include/asm-alpha/system.h
@@ -562,7 +562,7 @@ __cmpxchg_u64(volatile long *m, unsigned
if something tries to do an invalid cmpxchg(). */
extern void __cmpxchg_called_with_bad_pointer(void);
-static inline unsigned long
+static __always_inline unsigned long
__cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size)
{
switch (size) {
--
next prev parent reply other threads:[~2006-02-08 6:44 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-08 6:45 [PATCH 00/23] -stable review Chris Wright
2006-02-08 6:45 ` [PATCH 01/23] SCSI: turn off ordered flush barriers Chris Wright
2006-02-08 6:45 ` [PATCH 02/23] [PATCH] dm-crypt: zero key before freeing it Chris Wright
2006-02-08 6:45 ` [PATCH 03/23] [PATCH] d_instantiate_unique / NFS inode leakage Chris Wright
2006-02-08 6:45 ` [PATCH 04/23] seclvl settime fix Chris Wright
2006-02-08 6:45 ` [PATCH 05/23] [XFS] fix regression in xfs_buf_rele Chris Wright
2006-02-08 6:45 ` [PATCH 06/23] Input: mousedev - fix memory leak Chris Wright
2006-02-08 6:45 ` [PATCH 07/23] Input: grip - fix crash when accessing device Chris Wright
2006-02-08 6:45 ` [PATCH 08/23] Input: db9 - fix possible crash with Saturn gamepads Chris Wright
2006-02-08 6:45 ` [PATCH 09/23] Input: sidewinder - fix an oops Chris Wright
2006-02-08 6:45 ` [PATCH 10/23] Input: iforce - do not return ENOMEM upon successful allocation Chris Wright
2006-02-08 6:45 ` [PATCH 11/23] Input: iforce - fix detection of USB devices Chris Wright
2006-02-08 6:45 ` [PATCH 12/23] [SPARC64]: Kill compat_sys_clock_settime sign extension stub Chris Wright
2006-02-08 6:45 ` [PATCH 13/23] Fix keyctl usage of strnlen_user() Chris Wright
2006-02-08 6:45 ` [PATCH 14/23] [PATCH] PCMCIA=m, HOSTAP_CS=y is not a legal configuration Chris Wright
2006-02-08 6:45 ` [PATCH 15/23] [PATCH] SELinux: fix size-128 slab leak Chris Wright
2006-02-08 6:45 ` [PATCH 16/23] [PPP]: Fixed hardware RX checksum handling Chris Wright
2006-02-08 6:45 ` [PATCH 17/23] [PATCH] x86_64: Let impossible CPUs point to reference per cpu data Chris Wright
2006-02-08 6:45 ` [PATCH 18/23] [PATCH] x86_64: Clear more state when ignoring empty node in SRAT parsing Chris Wright
2006-02-08 6:45 ` [PATCH 19/23] [PATCH] bridge: netfilter races on device removal Chris Wright
2006-02-08 6:45 ` [PATCH 20/23] [PATCH] bridge: fix RCU race " Chris Wright
2006-02-08 6:45 ` [PATCH 21/23] [ALSA] emu10k1 - Fix the confliction of Front control Chris Wright
2006-02-08 6:45 ` [PATCH 22/23] [PATCH] x86_64: Dont record local apic ids when they are disabled in MADT Chris Wright
2006-02-08 6:45 ` Chris Wright [this message]
2006-02-08 10:07 ` [PATCH 13/23] Fix keyctl usage of strnlen_user() David Howells
2006-02-08 23:39 ` [PATCH 24/23] md: remove slashes from disk names when creation dev names in sysfs Chris Wright
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=20060208064919.231158000@sorel.sous-sol.org \
--to=chrisw@sous-sol.org \
--cc=akpm@osdl.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=chuckw@quantumlinux.com \
--cc=davej@redhat.com \
--cc=ink@jurassic.park.msu.ru \
--cc=jmforbes@linuxtx.org \
--cc=linux-kernel@vger.kernel.org \
--cc=norbert@tretkowski.de \
--cc=rdunlap@xenotime.net \
--cc=rth@twiddle.net \
--cc=stable@kernel.org \
--cc=torvalds@osdl.org \
--cc=tytso@mit.edu \
--cc=vorlon@debian.org \
--cc=zwane@arm.linux.org.uk \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®