summaryrefslogtreecommitdiff
path: root/block/blk-sysfs.c
diff options
context:
space:
mode:
authorTony Luck <tony.luck@intel.com>2010-09-09 15:16:56 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2010-09-26 17:18:35 -0700
commit749d278c05e0d81327647ba7ea71bf01422844c2 (patch)
treeb60840a67d513094dcad86fc453488385c12d117 /block/blk-sysfs.c
parentd963ca2b66d33935a858dc01a899dec0b3c77fc9 (diff)
IA64: fix siglock
commit f574c843191728d9407b766a027f779dcd27b272 upstream. When ia64 converted to using ticket locks, an inline implementation of trylock/unlock in fsys.S was missed. This was not noticed because in most circumstances it simply resulted in using the slow path because the siglock was apparently not available (under old spinlock rules). Problems occur when the ticket spinlock has value 0x0 (when first initialised, or when it wraps around). At this point the fsys.S code acquires the lock (changing the 0x0 to 0x1. If another process attempts to get the lock at this point, it will change the value from 0x1 to 0x2 (using new ticket lock rules). Then the fsys.S code will free the lock using old spinlock rules by writing 0x0 to it. From here a variety of bad things can happen. Signed-off-by: Tony Luck <tony.luck@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'block/blk-sysfs.c')
0 files changed, 0 insertions, 0 deletions