Merge changes from sid up to 3.2.12-1
Drop the ABI versions and ignore lists. svn path=/dists/trunk/linux-2.6/; revision=18870
This commit is contained in:
commit
296fb7c8c7
|
@ -71,7 +71,13 @@ class Main(object):
|
|||
self.dir = tempfile.mkdtemp(prefix='abiupdate')
|
||||
try:
|
||||
self.log("Retrieve config\n")
|
||||
config = self.get_config()
|
||||
|
||||
try:
|
||||
config = self.get_config()
|
||||
except urllib2.HTTPError as e:
|
||||
self.log("Failed to retrieve %s: %s\n" % (e.filename, e))
|
||||
sys.exit(1)
|
||||
|
||||
if self.override_arch:
|
||||
arches = [self.override_arch]
|
||||
else:
|
||||
|
|
|
@ -19,6 +19,68 @@ linux-2.6 (3.3~rc6-1~experimental.1) experimental; urgency=low
|
|||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Sun, 04 Mar 2012 20:27:42 +0000
|
||||
|
||||
linux-2.6 (3.2.12-1) unstable; urgency=high
|
||||
|
||||
* New upstream stable update:
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.11
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.12
|
||||
- aio: fix io_setup/io_destroy race
|
||||
- aio: fix the "too late munmap()" race
|
||||
- vfs: fix double put after complete_walk()
|
||||
- acer-wmi: No wifi rfkill on Lenovo machines (Closes: #655941)
|
||||
- tcp: fix false reordering signal in tcp_shifted_skb
|
||||
- r8169: corrupted IP fragments fix for large mtu
|
||||
- tcp: don't fragment SACKed skbs in tcp_mark_head_lost()
|
||||
- tcp: fix tcp_shift_skb_data() to not shift SACKed data below snd_una
|
||||
- block: Fix NULL pointer dereference in sd_revalidate_disk
|
||||
(Closes: #649735)
|
||||
- block: fix __blkdev_get and add_disk race condition
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* [powerpc] Enable KVM_GUEST
|
||||
* [s390] Ignore arch_pick_mmap_layout version change; it should not be
|
||||
needed by modules (fixes FTBFS)
|
||||
* [x86] Disable POHMELFS; this version is obsolete
|
||||
* epoll: Don't limit non-nested epoll paths
|
||||
* CIFS: Fix a spurious error in cifs_push_posix_locks
|
||||
* [rt] bump rt patch to version 3.2.11-rt20
|
||||
* aufs: Update to aufs3.2-20120312
|
||||
* tcp: fix syncookie regression
|
||||
* ipv6: Don't dev_hold(dev) in ip6_mc_find_dev_rcu
|
||||
|
||||
[ Jonathan Nieder ]
|
||||
* [x86] Enable RTS5139 as module (Closes: #663912)
|
||||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Tue, 20 Mar 2012 04:32:51 +0000
|
||||
|
||||
linux-2.6 (3.2.10-1) unstable; urgency=high
|
||||
|
||||
* New upstream stable update:
|
||||
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.10
|
||||
- regset: Prevent null pointer reference on readonly regsets
|
||||
(CVE-2012-1097)
|
||||
|
||||
[ Uwe Kleine-König ]
|
||||
* [rt] bump rt patch to version 3.2.9-rt17
|
||||
* [rt] fix conflict between the security restrictions on links introduced in
|
||||
3.2.9-1 and rt (Closes: #663269)
|
||||
|
||||
[ Aurelien Jarno ]
|
||||
* [mips,mipsel] Mark ext4-modules as provided by the kernel-image udeb, remove
|
||||
ide-core-modules provide.
|
||||
|
||||
[ Ben Hutchings ]
|
||||
* [x86,ia64] PCI/hotplug: Build-in common hotplug drivers:
|
||||
- Change HOTPLUG_PCI, HOTPLUG_PCI_PCIE to built-in
|
||||
- [x86] Change HOTPLUG_PCI_ACPI to built-in (Closes: #663433)
|
||||
- [ia64] Enable HOTPLUG_PCI_SGI as built-in
|
||||
* linux-headers: Remove unused, broken symlinks to Kbuild (Closes: #663597)
|
||||
* udeb: Remove dependency of {pcmcia,usb}-storage-modules on ide-core-modules
|
||||
* [mips,mipsel] Mark ata-modules as provided by the kernel-image udeb
|
||||
for most flavours
|
||||
|
||||
-- Bastian Blank <waldi@debian.org> Tue, 13 Mar 2012 17:19:32 +0100
|
||||
|
||||
linux-2.6 (3.2.9-1) unstable; urgency=high
|
||||
|
||||
* New upstream stable update:
|
||||
|
|
|
@ -1832,7 +1832,7 @@ CONFIG_NET_VENDOR_INTEL=y
|
|||
CONFIG_E1000=m
|
||||
CONFIG_E1000E=m
|
||||
CONFIG_IGB=m
|
||||
CONFIG_IGB_DCA=m
|
||||
CONFIG_IGB_DCA=y
|
||||
CONFIG_IGBVF=m
|
||||
CONFIG_IXGB=m
|
||||
CONFIG_IXGBE=m
|
||||
|
@ -2400,7 +2400,7 @@ CONFIG_HOTPLUG_PCI_CPCI=y
|
|||
## file: drivers/pci/pcie/Kconfig
|
||||
##
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_HOTPLUG_PCI_PCIE=m
|
||||
CONFIG_HOTPLUG_PCI_PCIE=y
|
||||
CONFIG_PCIEASPM=y
|
||||
# CONFIG_PCIEASPM_DEBUG is not set
|
||||
|
||||
|
|
|
@ -25,6 +25,9 @@ featuresets:
|
|||
none
|
||||
rt
|
||||
|
||||
[featureset-rt_base]
|
||||
enabled: true
|
||||
|
||||
[description]
|
||||
part-long-up: This kernel is not suitable for SMP (multi-processor,
|
||||
multi-core or hyper-threaded) systems.
|
||||
|
@ -49,6 +52,3 @@ initramfs-tools: initramfs-tools (>= 0.99~)
|
|||
elilo: elilo (>= 3.12-3.1~)
|
||||
lilo: lilo (>= 22.8-8.2~)
|
||||
s390-tools: s390-tools (>= 1.8.3-2~)
|
||||
|
||||
[featureset-rt]
|
||||
enabled: true
|
||||
|
|
|
@ -3,3 +3,6 @@ CONFIG_PREEMPT_RT_FULL=y
|
|||
CONFIG_SCHED_TRACER=y
|
||||
CONFIG_MISSED_TIMER_OFFSETS_HIST=y
|
||||
CONFIG_WAKEUP_LATENCY_HIST=y
|
||||
|
||||
## disable aufs as it's not needed on rt and conflicts with fs-dentry-use-seqlock.patch
|
||||
# CONFIG_AUFS_FS is not set
|
||||
|
|
|
@ -590,7 +590,8 @@ CONFIG_PCMCIA_SPECTRUM=m
|
|||
##
|
||||
## file: drivers/pci/hotplug/Kconfig
|
||||
##
|
||||
CONFIG_HOTPLUG_PCI=m
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_HOTPLUG_PCI_SGI=y
|
||||
|
||||
##
|
||||
## file: drivers/pcmcia/Kconfig
|
||||
|
|
|
@ -1039,9 +1039,9 @@ CONFIG_HT_IRQ=y
|
|||
##
|
||||
## file: drivers/pci/hotplug/Kconfig
|
||||
##
|
||||
CONFIG_HOTPLUG_PCI=m
|
||||
CONFIG_HOTPLUG_PCI=y
|
||||
CONFIG_HOTPLUG_PCI_FAKE=m
|
||||
CONFIG_HOTPLUG_PCI_ACPI=m
|
||||
CONFIG_HOTPLUG_PCI_ACPI=y
|
||||
CONFIG_HOTPLUG_PCI_ACPI_IBM=m
|
||||
CONFIG_HOTPLUG_PCI_CPCI_ZT5550=m
|
||||
CONFIG_HOTPLUG_PCI_CPCI_GENERIC=m
|
||||
|
@ -1306,12 +1306,6 @@ CONFIG_LIRC_SIR=m
|
|||
CONFIG_LIRC_TTUSBIR=m
|
||||
CONFIG_LIRC_ZILOG=m
|
||||
|
||||
##
|
||||
## file: drivers/staging/pohmelfs/Kconfig
|
||||
##
|
||||
CONFIG_POHMELFS=m
|
||||
# CONFIG_POHMELFS_DEBUG is not set
|
||||
|
||||
##
|
||||
## file: drivers/staging/rtl8187se/Kconfig
|
||||
##
|
||||
|
@ -1332,6 +1326,12 @@ CONFIG_RTL8192U=m
|
|||
##
|
||||
CONFIG_R8712U=m
|
||||
|
||||
##
|
||||
## file: drivers/staging/rts5139/Kconfig
|
||||
##
|
||||
CONFIG_RTS5139=m
|
||||
# CONFIG_RTS5139_DEBUG is not set
|
||||
|
||||
##
|
||||
## file: drivers/staging/rts_pstor/Kconfig
|
||||
##
|
||||
|
|
|
@ -9,11 +9,6 @@ flavours:
|
|||
octeon
|
||||
kernel-arch: mips
|
||||
|
||||
[abi]
|
||||
ignore-changes:
|
||||
# Removal of EXT3_FS
|
||||
journal_* log_start_commit log_wait_commit
|
||||
|
||||
[image]
|
||||
configs:
|
||||
kernelarch-mips/config
|
||||
|
|
|
@ -8,11 +8,6 @@ flavours:
|
|||
loongson-2f
|
||||
kernel-arch: mips
|
||||
|
||||
[abi]
|
||||
ignore-changes:
|
||||
# Removal of EXT3_FS
|
||||
journal_* log_start_commit log_wait_commit
|
||||
|
||||
[image]
|
||||
configs:
|
||||
kernelarch-mips/config
|
||||
|
|
|
@ -38,6 +38,7 @@ CONFIG_VIRTUALIZATION=y
|
|||
##
|
||||
## file: arch/powerpc/platforms/Kconfig
|
||||
##
|
||||
CONFIG_KVM_GUEST=y
|
||||
CONFIG_RTAS_PROC=y
|
||||
CONFIG_CPU_FREQ_PMAC=y
|
||||
CONFIG_PPC601_SYNC_FIX=y
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
# It overwrites specifications from /usr/share/kernel-wedge/package-list.
|
||||
#
|
||||
Package: kernel-image
|
||||
Provides: ext2-modules, ext3-modules, rtc-modules
|
||||
Provides_4kc-malta: ext2-modules, ext3-modules, ide-core-modules, rtc-modules
|
||||
Provides_sb1-bcm91250a: ext2-modules, ext3-modules, ide-core-modules, rtc-modules
|
||||
Provides: ext2-modules, ext3-modules, ext4-modules, rtc-modules
|
||||
Provides_4kc-malta: ata-modules, ext2-modules, ext3-modules, ext4-modules, rtc-modules
|
||||
Provides_sb1-bcm91250a: ata-modules, ext2-modules, ext3-modules, ext4-modules, rtc-modules
|
||||
|
||||
Package: nbd-modules
|
||||
Depends: kernel-image
|
||||
|
|
|
@ -4,10 +4,10 @@
|
|||
# It overwrites specifications from /usr/share/kernel-wedge/package-list.
|
||||
#
|
||||
Package: kernel-image
|
||||
Provides_sb1-bcm91250a: ext2-modules, ext3-modules, ide-core-modules, rtc-modules
|
||||
Provides_r5k-cobalt: ext2-modules, ext3-modules, ide-core-modules, rtc-modules
|
||||
Provides_4kc-malta: ext2-modules, ext3-modules, ide-core-modules, rtc-modules
|
||||
Provides_loongson-2f: ext2-modules, ext3-modules, rtc-modules
|
||||
Provides_sb1-bcm91250a: ata-modules, ext2-modules, ext3-modules, ext4-modules, rtc-modules
|
||||
Provides_r5k-cobalt: ata-modules, ext2-modules, ext3-modules, ext4-modules, rtc-modules
|
||||
Provides_4kc-malta: ata-modules, ext2-modules, ext3-modules, ext4-modules, rtc-modules
|
||||
Provides_loongson-2f: ata-modules, ext2-modules, ext3-modules, ext4-modules, rtc-modules
|
||||
|
||||
Package: nbd-modules
|
||||
Depends: kernel-image
|
||||
|
|
|
@ -278,13 +278,13 @@ Description: USB support
|
|||
This package contains core USB drivers for the kernel.
|
||||
|
||||
Package: usb-storage-modules
|
||||
Depends: kernel-image, ide-core-modules, scsi-core-modules, usb-modules
|
||||
Depends: kernel-image, scsi-core-modules, usb-modules
|
||||
Priority: standard
|
||||
Description: USB storage support
|
||||
This package contains the USB storage driver for the kernel.
|
||||
|
||||
Package: pcmcia-storage-modules
|
||||
Depends: kernel-image, ide-core-modules, cdrom-core-modules, pcmcia-modules, ata-modules
|
||||
Depends: kernel-image, cdrom-core-modules, pcmcia-modules, ata-modules
|
||||
Priority: standard
|
||||
Description: PCMCIA storage drivers
|
||||
This package contains PCMCIA storage drivers for the kernel.
|
||||
|
|
|
@ -168,7 +168,7 @@ class ConfigCoreHierarchy(object):
|
|||
|
||||
for section in iter(config):
|
||||
if section[0].startswith('featureset-'):
|
||||
real = (section[-1], None, section[0].lstrip('featureset-'))
|
||||
real = (section[-1], None, section[0][11:])
|
||||
else:
|
||||
real = (section[-1],) + section[1:]
|
||||
ret[real] = config[section]
|
||||
|
|
67
debian/patches/bugfix/all/CIFS-Fix-a-spurious-error-in-cifs_push_posix_locks.patch
vendored
Normal file
67
debian/patches/bugfix/all/CIFS-Fix-a-spurious-error-in-cifs_push_posix_locks.patch
vendored
Normal file
|
@ -0,0 +1,67 @@
|
|||
From ce85852b90a214cf577fc1b4f49d99fd7e98784a Mon Sep 17 00:00:00 2001
|
||||
From: Pavel Shilovsky <piastry@etersoft.ru>
|
||||
Date: Sat, 17 Mar 2012 09:46:55 +0300
|
||||
Subject: [PATCH] CIFS: Fix a spurious error in cifs_push_posix_locks
|
||||
|
||||
Signed-off-by: Pavel Shilovsky <piastry@etersoft.ru>
|
||||
Reviewed-by: Jeff Layton <jlayton@redhat.com>
|
||||
Reported-by: Ben Hutchings <ben@decadent.org.uk>
|
||||
Signed-off-by: Steve French <stevef@smf-gateway.(none)>
|
||||
---
|
||||
fs/cifs/file.c | 19 ++++++++++---------
|
||||
1 files changed, 10 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
|
||||
index 5e64748..8e02dbd 100644
|
||||
--- a/fs/cifs/file.c
|
||||
+++ b/fs/cifs/file.c
|
||||
@@ -960,9 +960,9 @@ cifs_push_posix_locks(struct cifsFileInfo *cfile)
|
||||
INIT_LIST_HEAD(&locks_to_send);
|
||||
|
||||
/*
|
||||
- * Allocating count locks is enough because no locks can be added to
|
||||
- * the list while we are holding cinode->lock_mutex that protects
|
||||
- * locking operations of this inode.
|
||||
+ * Allocating count locks is enough because no FL_POSIX locks can be
|
||||
+ * added to the list while we are holding cinode->lock_mutex that
|
||||
+ * protects locking operations of this inode.
|
||||
*/
|
||||
for (; i < count; i++) {
|
||||
lck = kmalloc(sizeof(struct lock_to_push), GFP_KERNEL);
|
||||
@@ -973,18 +973,20 @@ cifs_push_posix_locks(struct cifsFileInfo *cfile)
|
||||
list_add_tail(&lck->llist, &locks_to_send);
|
||||
}
|
||||
|
||||
- i = 0;
|
||||
el = locks_to_send.next;
|
||||
lock_flocks();
|
||||
cifs_for_each_lock(cfile->dentry->d_inode, before) {
|
||||
+ flock = *before;
|
||||
+ if ((flock->fl_flags & FL_POSIX) == 0)
|
||||
+ continue;
|
||||
if (el == &locks_to_send) {
|
||||
- /* something is really wrong */
|
||||
+ /*
|
||||
+ * The list ended. We don't have enough allocated
|
||||
+ * structures - something is really wrong.
|
||||
+ */
|
||||
cERROR(1, "Can't push all brlocks!");
|
||||
break;
|
||||
}
|
||||
- flock = *before;
|
||||
- if ((flock->fl_flags & FL_POSIX) == 0)
|
||||
- continue;
|
||||
length = 1 + flock->fl_end - flock->fl_start;
|
||||
if (flock->fl_type == F_RDLCK || flock->fl_type == F_SHLCK)
|
||||
type = CIFS_RDLCK;
|
||||
@@ -996,7 +998,6 @@ cifs_push_posix_locks(struct cifsFileInfo *cfile)
|
||||
lck->length = length;
|
||||
lck->type = type;
|
||||
lck->offset = flock->fl_start;
|
||||
- i++;
|
||||
el = el->next;
|
||||
}
|
||||
unlock_flocks();
|
||||
--
|
||||
1.7.0.4
|
||||
|
|
@ -18,10 +18,14 @@ Cc: Clark Williams <clark.williams@gmail.com>
|
|||
Cc: stable-rt@vger.kernel.org
|
||||
Link: http://lkml.kernel.org/r/1330702617.25686.265.camel@gandalf.stny.rr.com
|
||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
diff --git a/kernel/cpu.c b/kernel/cpu.c
|
||||
index fa40834..c25b5ff 100644
|
||||
--- a/kernel/cpu.c
|
||||
+++ b/kernel/cpu.c
|
||||
---
|
||||
kernel/cpu.c | 35 ++++++++++++++++++++++++++---------
|
||||
1 file changed, 26 insertions(+), 9 deletions(-)
|
||||
|
||||
Index: linux-3.2/kernel/cpu.c
|
||||
===================================================================
|
||||
--- linux-3.2.orig/kernel/cpu.c
|
||||
+++ linux-3.2/kernel/cpu.c
|
||||
@@ -46,7 +46,12 @@ static int cpu_hotplug_disabled;
|
||||
|
||||
static struct {
|
||||
|
@ -35,22 +39,30 @@ index fa40834..c25b5ff 100644
|
|||
/*
|
||||
* Also blocks the new readers during
|
||||
* an ongoing cpu hotplug operation.
|
||||
@@ -58,6 +63,14 @@ static struct {
|
||||
@@ -54,10 +59,22 @@ static struct {
|
||||
int refcount;
|
||||
} cpu_hotplug = {
|
||||
.active_writer = NULL,
|
||||
+#ifdef CONFIG_PREEMPT_RT_FULL
|
||||
+ .lock = __SPIN_LOCK_UNLOCKED(cpu_hotplug.lock),
|
||||
+#else
|
||||
.lock = __MUTEX_INITIALIZER(cpu_hotplug.lock),
|
||||
+#endif
|
||||
.refcount = 0,
|
||||
};
|
||||
|
||||
+#ifdef CONFIG_PREEMPT_RT_FULL
|
||||
+# define hotplug_lock() spin_lock(&cpu_hotplug.lock)
|
||||
+# define hotplug_unlock() spin_unlock(&cpu_hotplug.lock)
|
||||
+# define hotplug_lock() rt_spin_lock(&cpu_hotplug.lock)
|
||||
+# define hotplug_unlock() rt_spin_unlock(&cpu_hotplug.lock)
|
||||
+#else
|
||||
+# define hotplug_lock() mutex_lock(&cpu_hotplug.lock)
|
||||
+# define hotplug_lock() mutex_unlock(&cpu_hotplug.lock)
|
||||
+# define hotplug_unlock() mutex_unlock(&cpu_hotplug.lock)
|
||||
+#endif
|
||||
+
|
||||
struct hotplug_pcp {
|
||||
struct task_struct *unplug;
|
||||
int refcount;
|
||||
@@ -87,8 +100,8 @@ retry:
|
||||
@@ -87,8 +104,8 @@ retry:
|
||||
return;
|
||||
}
|
||||
preempt_enable();
|
||||
|
@ -61,7 +73,7 @@ index fa40834..c25b5ff 100644
|
|||
preempt_disable();
|
||||
goto retry;
|
||||
}
|
||||
@@ -161,9 +174,9 @@ void get_online_cpus(void)
|
||||
@@ -161,9 +178,9 @@ void get_online_cpus(void)
|
||||
might_sleep();
|
||||
if (cpu_hotplug.active_writer == current)
|
||||
return;
|
||||
|
@ -73,7 +85,7 @@ index fa40834..c25b5ff 100644
|
|||
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(get_online_cpus);
|
||||
@@ -172,10 +185,10 @@ void put_online_cpus(void)
|
||||
@@ -172,10 +189,10 @@ void put_online_cpus(void)
|
||||
{
|
||||
if (cpu_hotplug.active_writer == current)
|
||||
return;
|
||||
|
@ -86,7 +98,7 @@ index fa40834..c25b5ff 100644
|
|||
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(put_online_cpus);
|
||||
@@ -207,11 +220,11 @@ static void cpu_hotplug_begin(void)
|
||||
@@ -207,11 +224,11 @@ static void cpu_hotplug_begin(void)
|
||||
cpu_hotplug.active_writer = current;
|
||||
|
||||
for (;;) {
|
||||
|
@ -100,7 +112,7 @@ index fa40834..c25b5ff 100644
|
|||
schedule();
|
||||
}
|
||||
}
|
||||
@@ -219,7 +232,7 @@ static void cpu_hotplug_begin(void)
|
||||
@@ -219,7 +236,7 @@ static void cpu_hotplug_begin(void)
|
||||
static void cpu_hotplug_done(void)
|
||||
{
|
||||
cpu_hotplug.active_writer = NULL;
|
||||
|
@ -109,7 +121,3 @@ index fa40834..c25b5ff 100644
|
|||
}
|
||||
|
||||
#else /* #if CONFIG_HOTPLUG_CPU */
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -36,9 +36,9 @@ Index: linux-3.2/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
|
|||
- }
|
||||
+ spin_lock_irqsave(&adapter->tx_lock, flags);
|
||||
+
|
||||
if (skb->mark == 0x01)
|
||||
type = atl1c_trans_high;
|
||||
else
|
||||
|
||||
if (atl1c_tpd_avail(adapter, type) < tpd_req) {
|
||||
/* no enough descriptor, just stop queue */
|
||||
Index: linux-3.2/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
|
||||
===================================================================
|
||||
--- linux-3.2.orig/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
fs/namei.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
--- a/fs/namei.c
|
||||
+++ b/fs/namei.c
|
||||
@@ -679,13 +679,13 @@
|
||||
return 0;
|
||||
|
||||
/* Check parent directory mode and owner. */
|
||||
- spin_lock(&dentry->d_lock);
|
||||
+ seq_spin_lock(&dentry->d_lock);
|
||||
parent = dentry->d_parent->d_inode;
|
||||
if ((parent->i_mode & (S_ISVTX|S_IWOTH)) == (S_ISVTX|S_IWOTH) &&
|
||||
parent->i_uid != inode->i_uid) {
|
||||
error = -EACCES;
|
||||
}
|
||||
- spin_unlock(&dentry->d_lock);
|
||||
+ seq_spin_unlock(&dentry->d_lock);
|
||||
|
||||
if (error)
|
||||
audit_log_link_denied("follow_link", link);
|
80
debian/patches/features/all/rt/fs-dcache-use-cpu-chill-in-trylock-loops.patch
vendored
Normal file
80
debian/patches/features/all/rt/fs-dcache-use-cpu-chill-in-trylock-loops.patch
vendored
Normal file
|
@ -0,0 +1,80 @@
|
|||
Subject: fs: dcache: Use cpu_chill() in trylock loops
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Wed, 07 Mar 2012 21:00:34 +0100
|
||||
|
||||
Retry loops on RT might loop forever when the modifying side was
|
||||
preempted. Use cpu_chill() instead of cpu_relax() to let the system
|
||||
make progress.
|
||||
|
||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
Cc: stable-rt@vger.kernel.org
|
||||
---
|
||||
fs/autofs4/autofs_i.h | 1 +
|
||||
fs/autofs4/expire.c | 2 +-
|
||||
fs/dcache.c | 7 ++++---
|
||||
3 files changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
Index: linux-3.2/fs/autofs4/autofs_i.h
|
||||
===================================================================
|
||||
--- linux-3.2.orig/fs/autofs4/autofs_i.h
|
||||
+++ linux-3.2/fs/autofs4/autofs_i.h
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <linux/sched.h>
|
||||
#include <linux/mount.h>
|
||||
#include <linux/namei.h>
|
||||
+#include <linux/delay.h>
|
||||
#include <asm/current.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
||||
Index: linux-3.2/fs/autofs4/expire.c
|
||||
===================================================================
|
||||
--- linux-3.2.orig/fs/autofs4/expire.c
|
||||
+++ linux-3.2/fs/autofs4/expire.c
|
||||
@@ -170,7 +170,7 @@ again:
|
||||
parent = p->d_parent;
|
||||
if (!seq_spin_trylock(&parent->d_lock)) {
|
||||
seq_spin_unlock(&p->d_lock);
|
||||
- cpu_relax();
|
||||
+ cpu_chill();
|
||||
goto relock;
|
||||
}
|
||||
seq_spin_unlock(&p->d_lock);
|
||||
Index: linux-3.2/fs/dcache.c
|
||||
===================================================================
|
||||
--- linux-3.2.orig/fs/dcache.c
|
||||
+++ linux-3.2/fs/dcache.c
|
||||
@@ -37,6 +37,7 @@
|
||||
#include <linux/rculist_bl.h>
|
||||
#include <linux/prefetch.h>
|
||||
#include <linux/ratelimit.h>
|
||||
+#include <linux/delay.h>
|
||||
#include "internal.h"
|
||||
|
||||
/*
|
||||
@@ -410,7 +411,7 @@ static inline struct dentry *dentry_kill
|
||||
if (inode && !spin_trylock(&inode->i_lock)) {
|
||||
relock:
|
||||
seq_spin_unlock(&dentry->d_lock);
|
||||
- cpu_relax();
|
||||
+ cpu_chill();
|
||||
return dentry; /* try again with same dentry */
|
||||
}
|
||||
if (IS_ROOT(dentry))
|
||||
@@ -796,7 +797,7 @@ relock:
|
||||
|
||||
if (!seq_spin_trylock(&dentry->d_lock)) {
|
||||
spin_unlock(&dcache_lru_lock);
|
||||
- cpu_relax();
|
||||
+ cpu_chill();
|
||||
goto relock;
|
||||
}
|
||||
|
||||
@@ -1974,7 +1975,7 @@ again:
|
||||
if (dentry->d_count == 1) {
|
||||
if (inode && !spin_trylock(&inode->i_lock)) {
|
||||
seq_spin_unlock(&dentry->d_lock);
|
||||
- cpu_relax();
|
||||
+ cpu_chill();
|
||||
goto again;
|
||||
}
|
||||
dentry->d_flags &= ~DCACHE_CANT_MOUNT;
|
|
@ -0,0 +1,35 @@
|
|||
Subject: fs: namespace: Use cpu_chill() instead of cpu_relax()
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Wed, 07 Mar 2012 21:05:19 +0100
|
||||
|
||||
Retry loops on RT might loop forever when the modifying side was
|
||||
preempted. Use cpu_chill() instead of cpu_relax() to let the system
|
||||
make progress.
|
||||
|
||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
Cc: stable-rt@vger.kernel.org
|
||||
---
|
||||
fs/namespace.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: linux-3.2/fs/namespace.c
|
||||
===================================================================
|
||||
--- linux-3.2.orig/fs/namespace.c
|
||||
+++ linux-3.2/fs/namespace.c
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <linux/idr.h>
|
||||
#include <linux/fs_struct.h>
|
||||
#include <linux/fsnotify.h>
|
||||
+#include <linux/delay.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/unistd.h>
|
||||
#include "pnode.h"
|
||||
@@ -346,7 +347,7 @@ int mnt_want_write(struct vfsmount *mnt)
|
||||
*/
|
||||
while (mnt->mnt_flags & MNT_WRITE_HOLD) {
|
||||
preempt_enable();
|
||||
- cpu_relax();
|
||||
+ cpu_chill();
|
||||
preempt_disable();
|
||||
}
|
||||
/*
|
|
@ -14,4 +14,4 @@ Index: linux-3.2/localversion-rt
|
|||
--- /dev/null
|
||||
+++ linux-3.2/localversion-rt
|
||||
@@ -0,0 +1 @@
|
||||
+-rt15
|
||||
+-rt20
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
Subject: net: Use cpu_chill() instead of cpu_relax()
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Wed, 07 Mar 2012 21:10:04 +0100
|
||||
|
||||
Retry loops on RT might loop forever when the modifying side was
|
||||
preempted. Use cpu_chill() instead of cpu_relax() to let the system
|
||||
make progress.
|
||||
|
||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
Cc: stable-rt@vger.kernel.org
|
||||
---
|
||||
net/packet/af_packet.c | 5 +++--
|
||||
net/rds/ib_rdma.c | 3 ++-
|
||||
2 files changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
Index: linux-3.2/net/packet/af_packet.c
|
||||
===================================================================
|
||||
--- linux-3.2.orig/net/packet/af_packet.c
|
||||
+++ linux-3.2/net/packet/af_packet.c
|
||||
@@ -89,6 +89,7 @@
|
||||
#include <linux/virtio_net.h>
|
||||
#include <linux/errqueue.h>
|
||||
#include <linux/net_tstamp.h>
|
||||
+#include <linux/delay.h>
|
||||
|
||||
#ifdef CONFIG_INET
|
||||
#include <net/inet_common.h>
|
||||
@@ -673,7 +674,7 @@ static void prb_retire_rx_blk_timer_expi
|
||||
if (BLOCK_NUM_PKTS(pbd)) {
|
||||
while (atomic_read(&pkc->blk_fill_in_prog)) {
|
||||
/* Waiting for skb_copy_bits to finish... */
|
||||
- cpu_relax();
|
||||
+ cpu_chill();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -928,7 +929,7 @@ static void prb_retire_current_block(str
|
||||
if (!(status & TP_STATUS_BLK_TMO)) {
|
||||
while (atomic_read(&pkc->blk_fill_in_prog)) {
|
||||
/* Waiting for skb_copy_bits to finish... */
|
||||
- cpu_relax();
|
||||
+ cpu_chill();
|
||||
}
|
||||
}
|
||||
prb_close_block(pkc, pbd, po, status);
|
||||
Index: linux-3.2/net/rds/ib_rdma.c
|
||||
===================================================================
|
||||
--- linux-3.2.orig/net/rds/ib_rdma.c
|
||||
+++ linux-3.2/net/rds/ib_rdma.c
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <linux/slab.h>
|
||||
#include <linux/rculist.h>
|
||||
#include <linux/llist.h>
|
||||
+#include <linux/delay.h>
|
||||
|
||||
#include "rds.h"
|
||||
#include "ib.h"
|
||||
@@ -286,7 +287,7 @@ static inline void wait_clean_list_grace
|
||||
for_each_online_cpu(cpu) {
|
||||
flag = &per_cpu(clean_list_grace, cpu);
|
||||
while (test_bit(CLEAN_LIST_BUSY_BIT, flag))
|
||||
- cpu_relax();
|
||||
+ cpu_chill();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
Subject: rt: Introduce cpu_chill()
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Wed, 07 Mar 2012 20:51:03 +0100
|
||||
|
||||
Retry loops on RT might loop forever when the modifying side was
|
||||
preempted. Add cpu_chill() to replace cpu_relax(). cpu_chill()
|
||||
defaults to cpu_relax() for non RT. On RT it puts the looping task to
|
||||
sleep for a tick so the preempted task can make progress.
|
||||
|
||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
Cc: stable-rt@vger.kernel.org
|
||||
---
|
||||
include/linux/delay.h | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
Index: linux-3.2/include/linux/delay.h
|
||||
===================================================================
|
||||
--- linux-3.2.orig/include/linux/delay.h
|
||||
+++ linux-3.2/include/linux/delay.h
|
||||
@@ -52,4 +52,10 @@ static inline void ssleep(unsigned int s
|
||||
msleep(seconds * 1000);
|
||||
}
|
||||
|
||||
+#ifdef CONFIG_PREEMPT_RT_FULL
|
||||
+# define cpu_chill() msleep(1)
|
||||
+#else
|
||||
+# define cpu_chill() cpu_relax()
|
||||
+#endif
|
||||
+
|
||||
#endif /* defined(_LINUX_DELAY_H) */
|
|
@ -14,7 +14,8 @@ Cc: stable-rt@vger.kernel.org
|
|||
|
||||
---
|
||||
include/linux/seqlock.h | 23 +++++++++++++++++++++++
|
||||
1 file changed, 23 insertions(+)
|
||||
include/net/neighbour.h | 2 +-
|
||||
2 files changed, 24 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: linux-3.2/include/linux/seqlock.h
|
||||
===================================================================
|
||||
|
@ -24,7 +25,7 @@ Index: linux-3.2/include/linux/seqlock.h
|
|||
/*
|
||||
* Read side functions for starting and finalizing a read side section.
|
||||
*/
|
||||
+#ifndef CONFIG_PREEMPT_RT
|
||||
+#ifndef CONFIG_PREEMPT_RT_FULL
|
||||
static inline unsigned read_seqbegin(const seqlock_t *sl)
|
||||
{
|
||||
return read_seqcount_begin(&sl->seqcount);
|
||||
|
@ -54,3 +55,16 @@ Index: linux-3.2/include/linux/seqlock.h
|
|||
|
||||
static inline unsigned read_seqretry(const seqlock_t *sl, unsigned start)
|
||||
{
|
||||
Index: linux-3.2/include/net/neighbour.h
|
||||
===================================================================
|
||||
--- linux-3.2.orig/include/net/neighbour.h
|
||||
+++ linux-3.2/include/net/neighbour.h
|
||||
@@ -385,7 +385,7 @@ struct neighbour_cb {
|
||||
|
||||
#define NEIGH_CB(skb) ((struct neighbour_cb *)(skb)->cb)
|
||||
|
||||
-static inline void neigh_ha_snapshot(char *dst, const struct neighbour *n,
|
||||
+static inline void neigh_ha_snapshot(char *dst, struct neighbour *n,
|
||||
const struct net_device *dev)
|
||||
{
|
||||
unsigned int seq;
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
############################################################
|
||||
# UPSTREAM changes queued for 3.3 or 3.2
|
||||
############################################################
|
||||
x88-derandom-tsc-delay-64-bit.patch
|
||||
x86_64-patch-for-idle-notifiers.patch
|
||||
re-possible-slab-deadlock-while-doing-ifenslave-1.patch
|
||||
|
||||
|
@ -585,8 +586,16 @@ rfc-ring-buffer-rt-check-for-irqs-disabled-before-grabbing-reader-lock.patch
|
|||
rfc-sched-rt-fix-wait_task_interactive-to-test-rt_spin_lock-state.patch
|
||||
rfc-lglock-rt-use-non-rt-for_each_cpu-in-rt-code.patch
|
||||
|
||||
# Enable full RT
|
||||
cpu-rt-make-hotplug-lock-a-sleeping-spinlock-on-rt.patch
|
||||
|
||||
softirq-preempt-fix-3-re.txt
|
||||
|
||||
rt-introduce-cpu-chill.patch
|
||||
fs-dcache-use-cpu-chill-in-trylock-loops.patch
|
||||
fs-more-cpu-chill-fixups.patch
|
||||
net-use-cpu-chill.patch
|
||||
|
||||
# Enable full RT
|
||||
kconfig-disable-a-few-options-rt.patch
|
||||
kconfig-preempt-rt-full.patch
|
||||
|
||||
|
|
|
@ -0,0 +1,153 @@
|
|||
Subject: softirq: Check preemption after reenabling interrupts
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Sun, 13 Nov 2011 17:17:09 +0100 (CET)
|
||||
|
||||
raise_softirq_irqoff() disables interrupts and wakes the softirq
|
||||
daemon, but after reenabling interrupts there is no preemption check,
|
||||
so the execution of the softirq thread might be delayed arbitrarily.
|
||||
|
||||
In principle we could add that check to local_irq_enable/restore, but
|
||||
that's overkill as the rasie_softirq_irqoff() sections are the only
|
||||
ones which show this behaviour.
|
||||
|
||||
Reported-by: Carsten Emde <cbe@osadl.org>
|
||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
Cc: stable-rt@vger.kernel.org
|
||||
---
|
||||
block/blk-iopoll.c | 3 +++
|
||||
block/blk-softirq.c | 3 +++
|
||||
include/linux/preempt.h | 3 +++
|
||||
net/core/dev.c | 6 ++++++
|
||||
4 files changed, 15 insertions(+)
|
||||
|
||||
Index: linux-3.2/block/blk-iopoll.c
|
||||
===================================================================
|
||||
--- linux-3.2.orig/block/blk-iopoll.c
|
||||
+++ linux-3.2/block/blk-iopoll.c
|
||||
@@ -38,6 +38,7 @@ void blk_iopoll_sched(struct blk_iopoll
|
||||
list_add_tail(&iop->list, &__get_cpu_var(blk_cpu_iopoll));
|
||||
__raise_softirq_irqoff(BLOCK_IOPOLL_SOFTIRQ);
|
||||
local_irq_restore(flags);
|
||||
+ preempt_check_resched_rt();
|
||||
}
|
||||
EXPORT_SYMBOL(blk_iopoll_sched);
|
||||
|
||||
@@ -135,6 +136,7 @@ static void blk_iopoll_softirq(struct so
|
||||
__raise_softirq_irqoff(BLOCK_IOPOLL_SOFTIRQ);
|
||||
|
||||
local_irq_enable();
|
||||
+ preempt_check_resched_rt();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -204,6 +206,7 @@ static int __cpuinit blk_iopoll_cpu_noti
|
||||
&__get_cpu_var(blk_cpu_iopoll));
|
||||
__raise_softirq_irqoff(BLOCK_IOPOLL_SOFTIRQ);
|
||||
local_irq_enable();
|
||||
+ preempt_check_resched_rt();
|
||||
}
|
||||
|
||||
return NOTIFY_OK;
|
||||
Index: linux-3.2/block/blk-softirq.c
|
||||
===================================================================
|
||||
--- linux-3.2.orig/block/blk-softirq.c
|
||||
+++ linux-3.2/block/blk-softirq.c
|
||||
@@ -50,6 +50,7 @@ static void trigger_softirq(void *data)
|
||||
raise_softirq_irqoff(BLOCK_SOFTIRQ);
|
||||
|
||||
local_irq_restore(flags);
|
||||
+ preempt_check_resched_rt();
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -92,6 +93,7 @@ static int __cpuinit blk_cpu_notify(stru
|
||||
&__get_cpu_var(blk_cpu_done));
|
||||
raise_softirq_irqoff(BLOCK_SOFTIRQ);
|
||||
local_irq_enable();
|
||||
+ preempt_check_resched_rt();
|
||||
}
|
||||
|
||||
return NOTIFY_OK;
|
||||
@@ -150,6 +152,7 @@ do_local:
|
||||
goto do_local;
|
||||
|
||||
local_irq_restore(flags);
|
||||
+ preempt_check_resched_rt();
|
||||
}
|
||||
|
||||
/**
|
||||
Index: linux-3.2/include/linux/preempt.h
|
||||
===================================================================
|
||||
--- linux-3.2.orig/include/linux/preempt.h
|
||||
+++ linux-3.2/include/linux/preempt.h
|
||||
@@ -56,8 +56,10 @@ do { \
|
||||
|
||||
#ifndef CONFIG_PREEMPT_RT_BASE
|
||||
# define preempt_enable_no_resched() __preempt_enable_no_resched()
|
||||
+# define preempt_check_resched_rt() do { } while (0)
|
||||
#else
|
||||
# define preempt_enable_no_resched() preempt_enable()
|
||||
+# define preempt_check_resched_rt() preempt_check_resched()
|
||||
#endif
|
||||
|
||||
#define preempt_enable() \
|
||||
@@ -105,6 +107,7 @@ do { \
|
||||
#define preempt_disable_notrace() do { } while (0)
|
||||
#define preempt_enable_no_resched_notrace() do { } while (0)
|
||||
#define preempt_enable_notrace() do { } while (0)
|
||||
+#define preempt_check_resched_rt() do { } while (0)
|
||||
|
||||
#endif /* CONFIG_PREEMPT_COUNT */
|
||||
|
||||
Index: linux-3.2/net/core/dev.c
|
||||
===================================================================
|
||||
--- linux-3.2.orig/net/core/dev.c
|
||||
+++ linux-3.2/net/core/dev.c
|
||||
@@ -1779,6 +1779,7 @@ static inline void __netif_reschedule(st
|
||||
sd->output_queue_tailp = &q->next_sched;
|
||||
raise_softirq_irqoff(NET_TX_SOFTIRQ);
|
||||
local_irq_restore(flags);
|
||||
+ preempt_check_resched_rt();
|
||||
}
|
||||
|
||||
void __netif_schedule(struct Qdisc *q)
|
||||
@@ -1800,6 +1801,7 @@ void dev_kfree_skb_irq(struct sk_buff *s
|
||||
sd->completion_queue = skb;
|
||||
raise_softirq_irqoff(NET_TX_SOFTIRQ);
|
||||
local_irq_restore(flags);
|
||||
+ preempt_check_resched_rt();
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(dev_kfree_skb_irq);
|
||||
@@ -2969,6 +2971,7 @@ enqueue:
|
||||
rps_unlock(sd);
|
||||
|
||||
local_irq_restore(flags);
|
||||
+ preempt_check_resched_rt();
|
||||
|
||||
atomic_long_inc(&skb->dev->rx_dropped);
|
||||
kfree_skb(skb);
|
||||
@@ -3789,6 +3792,7 @@ static void net_rps_action_and_irq_enabl
|
||||
} else
|
||||
#endif
|
||||
local_irq_enable();
|
||||
+ preempt_check_resched_rt();
|
||||
}
|
||||
|
||||
static int process_backlog(struct napi_struct *napi, int quota)
|
||||
@@ -3861,6 +3865,7 @@ void __napi_schedule(struct napi_struct
|
||||
local_irq_save(flags);
|
||||
____napi_schedule(&__get_cpu_var(softnet_data), n);
|
||||
local_irq_restore(flags);
|
||||
+ preempt_check_resched_rt();
|
||||
}
|
||||
EXPORT_SYMBOL(__napi_schedule);
|
||||
|
||||
@@ -6401,6 +6406,7 @@ static int dev_cpu_callback(struct notif
|
||||
|
||||
raise_softirq_irqoff(NET_TX_SOFTIRQ);
|
||||
local_irq_enable();
|
||||
+ preempt_check_resched_rt();
|
||||
|
||||
/* Process offline CPU's input_pkt_queue */
|
||||
while ((skb = __skb_dequeue(&oldsd->process_queue))) {
|
54
debian/patches/features/all/rt/staging-pohmelfs-convert-struct-fs-lock-usage-to-.patch
vendored
Normal file
54
debian/patches/features/all/rt/staging-pohmelfs-convert-struct-fs-lock-usage-to-.patch
vendored
Normal file
|
@ -0,0 +1,54 @@
|
|||
From 0bf0d69e1a358e93e5c9b256bb18cab4041e7d8f Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <u.kleine-koenig@pengutronix.de>
|
||||
Date: Sun, 11 Mar 2012 17:14:22 +0100
|
||||
Subject: [PATCH RT] staging/pohmelfs: convert struct fs->lock usage to seq_spin_{,un}lock
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
This fixes:
|
||||
|
||||
drivers/staging/pohmelfs/path_entry.c:47:2: warning: passing argument 1 of ‘rt_spin_lock’ from incompatible pointer type [enabled by default]
|
||||
include/linux/spinlock_rt.h:19:56: note: expected ‘struct spinlock_t *’ but argument is of type ‘struct seqlock_t *’
|
||||
drivers/staging/pohmelfs/path_entry.c:49:2: warning: passing argument 1 of ‘rt_spin_unlock’ from incompatible pointer type [enabled by default]
|
||||
include/linux/spinlock_rt.h:22:56: note: expected ‘struct spinlock_t *’ but argument is of type ‘struct seqlock_t *’
|
||||
drivers/staging/pohmelfs/path_entry.c:95:2: warning: passing argument 1 of ‘rt_spin_lock’ from incompatible pointer type [enabled by default]
|
||||
include/linux/spinlock_rt.h:19:56: note: expected ‘struct spinlock_t *’ but argument is of type ‘struct seqlock_t *’
|
||||
drivers/staging/pohmelfs/path_entry.c:97:2: warning: passing argument 1 of ‘rt_spin_unlock’ from incompatible pointer type [enabled by default]
|
||||
include/linux/spinlock_rt.h:22:56: note: expected ‘struct spinlock_t *’ but argument is of type ‘struct seqlock_t *’
|
||||
|
||||
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
|
||||
Forwarded: http://mid.gmane.org/1331482999-32252-1-git-send-email-u.kleine-koenig@pengutronix.de
|
||||
---
|
||||
|
||||
drivers/staging/pohmelfs/path_entry.c | 8 ++++----
|
||||
1 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/staging/pohmelfs/path_entry.c b/drivers/staging/pohmelfs/path_entry.c
|
||||
index 400a9fc..fc0c3fe 100644
|
||||
--- a/drivers/staging/pohmelfs/path_entry.c
|
||||
+++ b/drivers/staging/pohmelfs/path_entry.c
|
||||
@@ -44,9 +44,9 @@ int pohmelfs_construct_path_string(struct pohmelfs_inode *pi, void *data, int le
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
- spin_lock(¤t->fs->lock);
|
||||
+ seq_spin_lock(¤t->fs->lock);
|
||||
path.mnt = mntget(current->fs->root.mnt);
|
||||
- spin_unlock(¤t->fs->lock);
|
||||
+ seq_spin_unlock(¤t->fs->lock);
|
||||
|
||||
path.dentry = d;
|
||||
|
||||
@@ -92,9 +92,9 @@ int pohmelfs_path_length(struct pohmelfs_inode *pi)
|
||||
return -ENOENT;
|
||||
}
|
||||
|
||||
- spin_lock(¤t->fs->lock);
|
||||
+ seq_spin_lock(¤t->fs->lock);
|
||||
root = dget(current->fs->root.dentry);
|
||||
- spin_unlock(¤t->fs->lock);
|
||||
+ seq_spin_unlock(¤t->fs->lock);
|
||||
|
||||
rename_retry:
|
||||
len = 1; /* Root slash */
|
|
@ -52,3 +52,4 @@
|
|||
+ features/all/fs-hardlink-creation-restrictions.patch
|
||||
+ features/all/fs-hardlink-creation-restrictions-fix.patch
|
||||
+ features/all/fs-hardlink-creation-restriction-cleanup.patch
|
||||
+ bugfix/all/CIFS-Fix-a-spurious-error-in-cifs_push_posix_locks.patch
|
||||
|
|
|
@ -260,5 +260,12 @@
|
|||
+ features/all/rt/rfc-sched-rt-fix-wait_task_interactive-to-test-rt_spin_lock-state.patch featureset=rt
|
||||
+ features/all/rt/rfc-lglock-rt-use-non-rt-for_each_cpu-in-rt-code.patch featureset=rt
|
||||
+ features/all/rt/cpu-rt-make-hotplug-lock-a-sleeping-spinlock-on-rt.patch featureset=rt
|
||||
+ features/all/rt/softirq-preempt-fix-3-re.txt featureset=rt
|
||||
+ features/all/rt/rt-introduce-cpu-chill.patch featureset=rt
|
||||
+ features/all/rt/fs-dcache-use-cpu-chill-in-trylock-loops.patch featureset=rt
|
||||
+ features/all/rt/fs-more-cpu-chill-fixups.patch featureset=rt
|
||||
+ features/all/rt/net-use-cpu-chill.patch featureset=rt
|
||||
+ features/all/rt/kconfig-disable-a-few-options-rt.patch featureset=rt
|
||||
+ features/all/rt/kconfig-preempt-rt-full.patch featureset=rt
|
||||
+ features/all/rt/fix-rt+link-creation-restrictions featureset=rt
|
||||
+ features/all/rt/staging-pohmelfs-convert-struct-fs-lock-usage-to-.patch featureset=rt
|
||||
|
|
|
@ -215,9 +215,7 @@ install-headers_$(ARCH)_$(FEATURESET): $(STAMPS_DIR)/source_$(ARCH)_$(FEATURESET
|
|||
| \
|
||||
cpio -pd --preserve-modification-time '$(CURDIR)/$(DIR)'
|
||||
|
||||
dh_link \
|
||||
/usr/lib/$(PACKAGE_NAME_KBUILD)/Kbuild $(BASE_DIR)/Kbuild \
|
||||
/usr/lib/$(PACKAGE_NAME_KBUILD)/scripts $(BASE_DIR)/scripts
|
||||
dh_link /usr/lib/$(PACKAGE_NAME_KBUILD)/scripts $(BASE_DIR)/scripts
|
||||
|
||||
+$(MAKE_SELF) install-base
|
||||
|
||||
|
|
Loading…
Reference in New Issue