[kernel] r18946 - in dists/squeeze-backports/linux-2.6: . debian debian/config debian/config/armhf debian/config/mips debian/config/mipsel debian/config/s390 debian/config/s390x debian/patches/bugfix/all debian/patches/bugfix/arm debian/patches/bugfix/ia64 debian/patches/bugfix/mips debian/patches/bugfix/powerpc debian/patches/bugfix/x86 debian/patches/debian debian/patches/features/all/rt debian/patches/features/arm debian/patches/features/x86/hyperv debian/patches/series
Ben Hutchings
benh at alioth.debian.org
Mon Apr 23 01:25:20 UTC 2012
Author: benh
Date: Mon Apr 23 01:25:17 2012
New Revision: 18946
Log:
Merge changes from sid up to 3.2.15-1
Added:
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/hugetlb-fix-race-condition-in-hugetlb_fault.patch
- copied unchanged from r18927, dists/sid/linux-2.6/debian/patches/bugfix/all/hugetlb-fix-race-condition-in-hugetlb_fault.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/kbuild-do-not-check-for-ancient-modutils-tools.patch
- copied unchanged from r18927, dists/sid/linux-2.6/debian/patches/bugfix/all/kbuild-do-not-check-for-ancient-modutils-tools.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/net-fix-proc-net-dev-regression.patch
- copied unchanged from r18927, dists/sid/linux-2.6/debian/patches/bugfix/all/net-fix-proc-net-dev-regression.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/ARM-orion5x-Fix-GPIO-enable-bits-for-MPP9.patch
- copied unchanged from r18927, dists/sid/linux-2.6/debian/patches/bugfix/arm/ARM-orion5x-Fix-GPIO-enable-bits-for-MPP9.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/x86/drm-i915-mask-transcoder-select-bits-before-setting-.patch
- copied unchanged from r18927, dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-mask-transcoder-select-bits-before-setting-.patch
dists/squeeze-backports/linux-2.6/debian/patches/debian/nls-Avoid-ABI-change-from-improvement-to-utf8s_to_ut.patch
- copied unchanged from r18927, dists/sid/linux-2.6/debian/patches/debian/nls-Avoid-ABI-change-from-improvement-to-utf8s_to_ut.patch
dists/squeeze-backports/linux-2.6/debian/patches/debian/revert-CIFS-Respect-negotiated-MaxMpxCount.patch
- copied unchanged from r18927, dists/sid/linux-2.6/debian/patches/debian/revert-CIFS-Respect-negotiated-MaxMpxCount.patch
dists/squeeze-backports/linux-2.6/debian/patches/debian/revert-rtc-Provide-flag-for-rtc-devices-that-don-t-s.patch
- copied unchanged from r18927, dists/sid/linux-2.6/debian/patches/debian/revert-rtc-Provide-flag-for-rtc-devices-that-don-t-s.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/vfs-fstruct-move-code-out-of-seqcount-write-sections.patch
- copied unchanged from r18927, dists/sid/linux-2.6/debian/patches/features/all/rt/vfs-fstruct-move-code-out-of-seqcount-write-sections.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/x86/hyperv/
- copied from r18927, dists/sid/linux-2.6/debian/patches/features/x86/hyperv/
Deleted:
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/CIFS-Fix-a-spurious-error-in-cifs_push_posix_locks.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/ipv6-don-t-dev_hold-dev-in-ip6_mc_find_dev_rcu.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/tcp-fix-syncookie-regression.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/ARM-ixp4xx-mtd-oops.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/x86/KVM-x86-extend-struct-x86_emulate_ops-with-get_cpuid.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/x86/KVM-x86-fix-missing-checks-in-syscall-emulation.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/fix-rt+link-creation-restrictions
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/fs-dentry-use-seqlock.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/fs-more-cpu-chill-fixups.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/fs-protect-opencoded-isize-seqcount.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/fs-struct-use-seqlock.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/net-u64-stat-protect-seqcount.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/seqlock-provide-seq-spin-lock.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/staging-pohmelfs-convert-struct-fs-lock-usage-to-.patch
Modified:
dists/squeeze-backports/linux-2.6/ (props changed)
dists/squeeze-backports/linux-2.6/debian/changelog
dists/squeeze-backports/linux-2.6/debian/config/armhf/config.mx5
dists/squeeze-backports/linux-2.6/debian/config/config
dists/squeeze-backports/linux-2.6/debian/config/defines
dists/squeeze-backports/linux-2.6/debian/config/mips/config.octeon
dists/squeeze-backports/linux-2.6/debian/config/mipsel/config.loongson-2f
dists/squeeze-backports/linux-2.6/debian/config/s390/config
dists/squeeze-backports/linux-2.6/debian/config/s390x/defines
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/disable-scsi_acard.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/ixp4xx_iobe.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/ia64/hardcode-arch-script-output.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/mips/disable-advansys.patch
dists/squeeze-backports/linux-2.6/debian/patches/bugfix/powerpc/lpar-console.patch
dists/squeeze-backports/linux-2.6/debian/patches/debian/bcma-Do-not-claim-PCI-device-IDs-also-claimed-by-brc.patch
dists/squeeze-backports/linux-2.6/debian/patches/debian/doc-build-parallel.patch
dists/squeeze-backports/linux-2.6/debian/patches/debian/kernelvariables.patch
dists/squeeze-backports/linux-2.6/debian/patches/debian/sched-autogroup-disabled.patch
dists/squeeze-backports/linux-2.6/debian/patches/debian/sysrq-mask.patch
dists/squeeze-backports/linux-2.6/debian/patches/debian/version.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/drivers-net-fix-livelock-issues.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/fs-dcache-use-cpu-chill-in-trylock-loops.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/localversion.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/seqlock-prevent-rt-starvation.patch
dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/series
dists/squeeze-backports/linux-2.6/debian/patches/features/arm/ARM-kirkwood-6282A1.patch
dists/squeeze-backports/linux-2.6/debian/patches/series/base
dists/squeeze-backports/linux-2.6/debian/patches/series/base-extra
Modified: dists/squeeze-backports/linux-2.6/debian/changelog
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/changelog Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/changelog Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,4 +1,4 @@
-linux-2.6 (3.2.12-1~bpo60+1) squeeze-backports; urgency=low
+linux-2.6 (3.2.15-1~bpo60+1) squeeze-backports; urgency=low
* Rebuild for squeeze:
- Use gcc-4.4 for all architectures
@@ -6,7 +6,81 @@
- Change ABI number to 0.bpo.2
- Monkey-patch Python collections module to add OrderedDict if necessary
- -- Ben Hutchings <ben at decadent.org.uk> Thu, 22 Mar 2012 15:19:06 +0000
+ -- Ben Hutchings <ben at decadent.org.uk> Mon, 23 Apr 2012 02:06:56 +0100
+
+linux-2.6 (3.2.15-1) unstable; urgency=high
+
+ * New upstream stable update:
+ http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.15
+ - drm/radeon/kms: fix fans after resume (Closes: #596741)
+ - sysctl: fix write access to dmesg_restrict/kptr_restrict
+ - [x86] PCI: use host bridge _CRS info on MSI MS-7253 (Closes: #619034)
+ - nfs: Fix length of buffer copied in __nfs4_get_acl_uncached
+ - [x86] ioat: fix size of 'completion' for Xen (Closes: #660554)
+ - cred: copy_process() should clear child->replacement_session_keyring
+
+ [ Ben Hutchings ]
+ * net: fix /proc/net/dev regression (Closes: #659499)
+ * [armel/orion5x] Fix GPIO enable bits for MPP9 (Closes: #667446)
+ * [x86] drm/i915: mask transcoder select bits before setting them on LVDS
+ * [armhf/mx5,mipsel/loongson-2f] input: Enable INPUT_TOUCHSCREEN
+ (Closes: #668036)
+ * [x86] hv: Update all Hyper-V drivers to 3.4-rc1 (Closes: #661318)
+ * hugetlb: fix race condition in hugetlb_fault()
+
+ -- Ben Hutchings <ben at decadent.org.uk> Sat, 14 Apr 2012 18:23:44 +0100
+
+linux-2.6 (3.2.14-1) unstable; urgency=low
+
+ * New upstream stable update:
+ http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.14
+ - mm: thp: fix pmd_bad() triggering in code paths holding mmap_sem
+ read mode (CVE-2012-1179)
+ - hugetlbfs: avoid taking i_mutex from hugetlbfs_read()
+ - md/bitmap: ensure to load bitmap when creating via sysfs
+ (Closes: #661558)
+ - md: dont set md arrays to readonly on shutdown
+ - md/raid1,raid10: avoid deadlock during resync/recovery (Closes: #584881)
+ - md: fix clearing of the changed flags for the bad blocks list
+ - xfs: fix inode lookup race
+ - sysctl: protect poll() in entries that may go away
+ - NFSv4: Rate limit the state manager warning messages (Closes: #666121)
+ - jbd2: clear BH_Delay & BH_Unwritten in journal_unmap_buffer
+ - ext4: ignore EXT4_INODE_JOURNAL_DATA flag with delalloc
+ - ext4: fix race between sync and completed io work
+ - ext4: check for zero length extent
+ - vfs: fix d_ancestor() case in d_materialize_unique
+ - udf: Fix deadlock in udf_release_file()
+ - dm crypt: add missing error handling
+ - dm thin: fix stacked bi_next usage
+ - xfs: Fix oops on IO error during xlog_recover_process_iunlinks()
+ - NFSv4: Fix two infinite loops in the mount code
+ - drm/i915: suspend fbdev device around suspend/hibernate
+ (Closes: #645547)
+ - net: fix a potential rcu_read_lock() imbalance in rt6_fill_node()
+ - [x86] tls: Off by one limit check
+ - PCI: ASPM: Fix pcie devices with non-pcie children (Closes: #665420)
+
+ [ Jonathan Nieder ]
+ * ata: Enable PATA_IT8213 as module (Closes: #666506)
+
+ -- Ben Hutchings <ben at decadent.org.uk> Thu, 05 Apr 2012 05:02:45 +0100
+
+linux-2.6 (3.2.13-1) unstable; urgency=low
+
+ * New upstream stable update:
+ http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.13
+
+ [ Ben Hutchings ]
+ * kbuild: do not check for ancient modutils tools
+
+ [ Uwe Kleine-König ]
+ * [rt] bump version to 3.2.12-rt22
+
+ [ Bastian Blank ]
+ * [s390x] Ignore ABI change.
+
+ -- Bastian Blank <waldi at debian.org> Wed, 28 Mar 2012 13:40:26 +0200
linux-2.6 (3.2.12-1) unstable; urgency=high
Modified: dists/squeeze-backports/linux-2.6/debian/config/armhf/config.mx5
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/config/armhf/config.mx5 Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/config/armhf/config.mx5 Mon Apr 23 01:25:17 2012 (r18946)
@@ -67,6 +67,11 @@
CONFIG_I2C_IMX=y
##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_INPUT_TOUCHSCREEN=y
+
+##
## file: drivers/leds/Kconfig
##
CONFIG_LEDS_GPIO=y
Modified: dists/squeeze-backports/linux-2.6/debian/config/config
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/config/config Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/config/config Mon Apr 23 01:25:17 2012 (r18946)
@@ -128,7 +128,7 @@
# CONFIG_PATA_HPT37X is not set
# CONFIG_PATA_HPT3X2N is not set
# CONFIG_PATA_HPT3X3 is not set
-# CONFIG_PATA_IT8213 is not set
+CONFIG_PATA_IT8213=m
CONFIG_PATA_IT821X=m
CONFIG_PATA_JMICRON=m
CONFIG_PATA_MARVELL=m
Modified: dists/squeeze-backports/linux-2.6/debian/config/defines
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/config/defines Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/config/defines Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,6 +1,7 @@
[abi]
abiname: 0.bpo.2
ignore-changes: module:drivers/net/wireless/ath/ath9k/*
+ module:drivers/hv/*
[base]
arches:
Modified: dists/squeeze-backports/linux-2.6/debian/config/mips/config.octeon
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/config/mips/config.octeon Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/config/mips/config.octeon Mon Apr 23 01:25:17 2012 (r18946)
@@ -64,6 +64,11 @@
CONFIG_MOUSE_PS2=y
##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
## file: drivers/message/fusion/Kconfig
##
CONFIG_FUSION=y
Modified: dists/squeeze-backports/linux-2.6/debian/config/mipsel/config.loongson-2f
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/config/mipsel/config.loongson-2f Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/config/mipsel/config.loongson-2f Mon Apr 23 01:25:17 2012 (r18946)
@@ -44,6 +44,11 @@
## end choice
##
+## file: drivers/input/touchscreen/Kconfig
+##
+CONFIG_INPUT_TOUCHSCREEN=y
+
+##
## file: drivers/net/ethernet/amd/Kconfig
##
# CONFIG_PCNET32 is not set
Modified: dists/squeeze-backports/linux-2.6/debian/config/s390/config
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/config/s390/config Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/config/s390/config Mon Apr 23 01:25:17 2012 (r18946)
@@ -50,6 +50,11 @@
CONFIG_S390_PRNG=m
##
+## file: drivers/input/touchscreen/Kconfig
+##
+# CONFIG_INPUT_TOUCHSCREEN is not set
+
+##
## file: drivers/memstick/Kconfig
##
# CONFIG_MEMSTICK is not set
Modified: dists/squeeze-backports/linux-2.6/debian/config/s390x/defines
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/config/s390x/defines Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/config/s390x/defines Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,3 +1,8 @@
+[abi]
+ignore-changes:
+# Seems to be exported by mistake; no other architecture does
+ arch_pick_mmap_layout
+
[base]
flavours:
s390x
Copied: dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/hugetlb-fix-race-condition-in-hugetlb_fault.patch (from r18927, dists/sid/linux-2.6/debian/patches/bugfix/all/hugetlb-fix-race-condition-in-hugetlb_fault.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/hugetlb-fix-race-condition-in-hugetlb_fault.patch Mon Apr 23 01:25:17 2012 (r18946, copy of r18927, dists/sid/linux-2.6/debian/patches/bugfix/all/hugetlb-fix-race-condition-in-hugetlb_fault.patch)
@@ -0,0 +1,88 @@
+From: Chris Metcalf <cmetcalf at tilera.com>
+Date: Thu, 12 Apr 2012 12:49:15 -0700
+Subject: [PATCH] hugetlb: fix race condition in hugetlb_fault()
+
+commit 66aebce747eaf9bc456bf1f1b217d8db843031d0 upstream.
+
+The race is as follows:
+
+Suppose a multi-threaded task forks a new process (on cpu A), thus
+bumping up the ref count on all the pages. While the fork is occurring
+(and thus we have marked all the PTEs as read-only), another thread in
+the original process (on cpu B) tries to write to a huge page, taking an
+access violation from the write-protect and calling hugetlb_cow(). Now,
+suppose the fork() fails. It will undo the COW and decrement the ref
+count on the pages, so the ref count on the huge page drops back to 1.
+Meanwhile hugetlb_cow() also decrements the ref count by one on the
+original page, since the original address space doesn't need it any
+more, having copied a new page to replace the original page. This
+leaves the ref count at zero, and when we call unlock_page(), we panic.
+
+ fork on CPU A fault on CPU B
+ ============= ==============
+ ...
+ down_write(&parent->mmap_sem);
+ down_write_nested(&child->mmap_sem);
+ ...
+ while duplicating vmas
+ if error
+ break;
+ ...
+ up_write(&child->mmap_sem);
+ up_write(&parent->mmap_sem); ...
+ down_read(&parent->mmap_sem);
+ ...
+ lock_page(page);
+ handle COW
+ page_mapcount(old_page) == 2
+ alloc and prepare new_page
+ ...
+ handle error
+ page_remove_rmap(page);
+ put_page(page);
+ ...
+ fold new_page into pte
+ page_remove_rmap(page);
+ put_page(page);
+ ...
+ oops ==> unlock_page(page);
+ up_read(&parent->mmap_sem);
+
+The solution is to take an extra reference to the page while we are
+holding the lock on it.
+
+Signed-off-by: Chris Metcalf <cmetcalf at tilera.com>
+Cc: Hillf Danton <dhillf at gmail.com>
+Cc: Michal Hocko <mhocko at suse.cz>
+Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
+Cc: Hugh Dickins <hughd at google.com>
+Cc: <stable at vger.kernel.org>
+Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
+---
+ mm/hugetlb.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/mm/hugetlb.c b/mm/hugetlb.c
+index b8ce6f4..cd65cb1 100644
+--- a/mm/hugetlb.c
++++ b/mm/hugetlb.c
+@@ -2791,6 +2791,7 @@ int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
+ * so no worry about deadlock.
+ */
+ page = pte_page(entry);
++ get_page(page);
+ if (page != pagecache_page)
+ lock_page(page);
+
+@@ -2822,6 +2823,7 @@ out_page_table_lock:
+ }
+ if (page != pagecache_page)
+ unlock_page(page);
++ put_page(page);
+
+ out_mutex:
+ mutex_unlock(&hugetlb_instantiation_mutex);
+--
+1.7.9.5
+
Copied: dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/kbuild-do-not-check-for-ancient-modutils-tools.patch (from r18927, dists/sid/linux-2.6/debian/patches/bugfix/all/kbuild-do-not-check-for-ancient-modutils-tools.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/kbuild-do-not-check-for-ancient-modutils-tools.patch Mon Apr 23 01:25:17 2012 (r18946, copy of r18927, dists/sid/linux-2.6/debian/patches/bugfix/all/kbuild-do-not-check-for-ancient-modutils-tools.patch)
@@ -0,0 +1,45 @@
+From: Lucas De Marchi <lucas.demarchi at profusion.mobi>
+Date: Tue, 17 Jan 2012 14:50:51 -0200
+Subject: [PATCH] kbuild: do not check for ancient modutils tools
+
+commit 620c231c7a7f48745094727bb612f6321cfc8844 upstream.
+
+scripts/depmod.sh checks for the output of '-V' expecting that it has
+module-init-tools in it. It's a hack to prevent users from using
+modutils instead of module-init-tools, that only works with 2.4.x
+kernels. This however prints an annoying warning for kmod tool, that is
+currently replacing module-init-tools.
+
+Rather than putting another check for kmod's version, just remove it
+since users of 2.4.x kernel are unlikely to upgrade to 3.x, and if they
+do, let depmod fail in that case because they should know what they are
+doing.
+
+Signed-off-by: Lucas De Marchi <lucas.demarchi at profusion.mobi>
+Acked-by: WANG Cong <amwang at redhat.com>
+Acked-By: Kay Sievers <kay.sievers at vrfy.org>
+Signed-off-by: Michal Marek <mmarek at suse.cz>
+---
+ scripts/depmod.sh | 6 ------
+ 1 files changed, 0 insertions(+), 6 deletions(-)
+
+diff --git a/scripts/depmod.sh b/scripts/depmod.sh
+index a272356..2ae4817 100755
+--- a/scripts/depmod.sh
++++ b/scripts/depmod.sh
+@@ -9,12 +9,6 @@ fi
+ DEPMOD=$1
+ KERNELRELEASE=$2
+
+-if ! "$DEPMOD" -V 2>/dev/null | grep -q module-init-tools; then
+- echo "Warning: you may need to install module-init-tools" >&2
+- echo "See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt" >&2
+- sleep 1
+-fi
+-
+ if ! test -r System.map -a -x "$DEPMOD"; then
+ exit 0
+ fi
+--
+1.7.9.1
+
Copied: dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/net-fix-proc-net-dev-regression.patch (from r18927, dists/sid/linux-2.6/debian/patches/bugfix/all/net-fix-proc-net-dev-regression.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/squeeze-backports/linux-2.6/debian/patches/bugfix/all/net-fix-proc-net-dev-regression.patch Mon Apr 23 01:25:17 2012 (r18946, copy of r18927, dists/sid/linux-2.6/debian/patches/bugfix/all/net-fix-proc-net-dev-regression.patch)
@@ -0,0 +1,183 @@
+From: Eric Dumazet <eric.dumazet at gmail.com>
+Date: Mon, 2 Apr 2012 22:33:02 +0000
+Subject: [PATCH] net: fix /proc/net/dev regression
+
+commit 2def16ae6b0c77571200f18ba4be049b03d75579 upstream.
+
+Commit f04565ddf52 (dev: use name hash for dev_seq_ops) added a second
+regression, as some devices are missing from /proc/net/dev if many
+devices are defined.
+
+When seq_file buffer is filled, the last ->next/show() method is
+canceled (pos value is reverted to value prior ->next() call)
+
+Problem is after above commit, we dont restart the lookup at right
+position in ->start() method.
+
+Fix this by removing the internal 'pos' pointer added in commit, since
+we need to use the 'loff_t *pos' provided by seq_file layer.
+
+This also reverts commit 5cac98dd0 (net: Fix corruption
+in /proc/*/net/dev_mcast), since its not needed anymore.
+
+Reported-by: Ben Greear <greearb at candelatech.com>
+Signed-off-by: Eric Dumazet <eric.dumazet at gmail.com>
+Cc: Mihai Maruseac <mmaruseac at ixiacom.com>
+Tested-by: Ben Greear <greearb at candelatech.com>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ include/linux/netdevice.h | 2 --
+ net/core/dev.c | 58 ++++++++++-----------------------------------
+ net/core/dev_addr_lists.c | 3 ++-
+ 3 files changed, 15 insertions(+), 48 deletions(-)
+
+diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
+index 1f77540..5cbaa20 100644
+--- a/include/linux/netdevice.h
++++ b/include/linux/netdevice.h
+@@ -2604,8 +2604,6 @@ extern void net_disable_timestamp(void);
+ extern void *dev_seq_start(struct seq_file *seq, loff_t *pos);
+ extern void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos);
+ extern void dev_seq_stop(struct seq_file *seq, void *v);
+-extern int dev_seq_open_ops(struct inode *inode, struct file *file,
+- const struct seq_operations *ops);
+ #endif
+
+ extern int netdev_class_create_file(struct class_attribute *class_attr);
+diff --git a/net/core/dev.c b/net/core/dev.c
+index 6c7dc9d..c25d453 100644
+--- a/net/core/dev.c
++++ b/net/core/dev.c
+@@ -4028,54 +4028,41 @@ static int dev_ifconf(struct net *net, char __user *arg)
+
+ #ifdef CONFIG_PROC_FS
+
+-#define BUCKET_SPACE (32 - NETDEV_HASHBITS)
+-
+-struct dev_iter_state {
+- struct seq_net_private p;
+- unsigned int pos; /* bucket << BUCKET_SPACE + offset */
+-};
++#define BUCKET_SPACE (32 - NETDEV_HASHBITS - 1)
+
+ #define get_bucket(x) ((x) >> BUCKET_SPACE)
+ #define get_offset(x) ((x) & ((1 << BUCKET_SPACE) - 1))
+ #define set_bucket_offset(b, o) ((b) << BUCKET_SPACE | (o))
+
+-static inline struct net_device *dev_from_same_bucket(struct seq_file *seq)
++static inline struct net_device *dev_from_same_bucket(struct seq_file *seq, loff_t *pos)
+ {
+- struct dev_iter_state *state = seq->private;
+ struct net *net = seq_file_net(seq);
+ struct net_device *dev;
+ struct hlist_node *p;
+ struct hlist_head *h;
+- unsigned int count, bucket, offset;
++ unsigned int count = 0, offset = get_offset(*pos);
+
+- bucket = get_bucket(state->pos);
+- offset = get_offset(state->pos);
+- h = &net->dev_name_head[bucket];
+- count = 0;
++ h = &net->dev_name_head[get_bucket(*pos)];
+ hlist_for_each_entry_rcu(dev, p, h, name_hlist) {
+- if (count++ == offset) {
+- state->pos = set_bucket_offset(bucket, count);
++ if (++count == offset)
+ return dev;
+- }
+ }
+
+ return NULL;
+ }
+
+-static inline struct net_device *dev_from_new_bucket(struct seq_file *seq)
++static inline struct net_device *dev_from_bucket(struct seq_file *seq, loff_t *pos)
+ {
+- struct dev_iter_state *state = seq->private;
+ struct net_device *dev;
+ unsigned int bucket;
+
+- bucket = get_bucket(state->pos);
+ do {
+- dev = dev_from_same_bucket(seq);
++ dev = dev_from_same_bucket(seq, pos);
+ if (dev)
+ return dev;
+
+- bucket++;
+- state->pos = set_bucket_offset(bucket, 0);
++ bucket = get_bucket(*pos) + 1;
++ *pos = set_bucket_offset(bucket, 1);
+ } while (bucket < NETDEV_HASHENTRIES);
+
+ return NULL;
+@@ -4088,33 +4075,20 @@ static inline struct net_device *dev_from_new_bucket(struct seq_file *seq)
+ void *dev_seq_start(struct seq_file *seq, loff_t *pos)
+ __acquires(RCU)
+ {
+- struct dev_iter_state *state = seq->private;
+-
+ rcu_read_lock();
+ if (!*pos)
+ return SEQ_START_TOKEN;
+
+- /* check for end of the hash */
+- if (state->pos == 0 && *pos > 1)
++ if (get_bucket(*pos) >= NETDEV_HASHENTRIES)
+ return NULL;
+
+- return dev_from_new_bucket(seq);
++ return dev_from_bucket(seq, pos);
+ }
+
+ void *dev_seq_next(struct seq_file *seq, void *v, loff_t *pos)
+ {
+- struct net_device *dev;
+-
+ ++*pos;
+-
+- if (v == SEQ_START_TOKEN)
+- return dev_from_new_bucket(seq);
+-
+- dev = dev_from_same_bucket(seq);
+- if (dev)
+- return dev;
+-
+- return dev_from_new_bucket(seq);
++ return dev_from_bucket(seq, pos);
+ }
+
+ void dev_seq_stop(struct seq_file *seq, void *v)
+@@ -4213,13 +4187,7 @@ static const struct seq_operations dev_seq_ops = {
+ static int dev_seq_open(struct inode *inode, struct file *file)
+ {
+ return seq_open_net(inode, file, &dev_seq_ops,
+- sizeof(struct dev_iter_state));
+-}
+-
+-int dev_seq_open_ops(struct inode *inode, struct file *file,
+- const struct seq_operations *ops)
+-{
+- return seq_open_net(inode, file, ops, sizeof(struct dev_iter_state));
++ sizeof(struct seq_net_private));
+ }
+
+ static const struct file_operations dev_seq_fops = {
+diff --git a/net/core/dev_addr_lists.c b/net/core/dev_addr_lists.c
+index 29c07fe..626698f 100644
+--- a/net/core/dev_addr_lists.c
++++ b/net/core/dev_addr_lists.c
+@@ -696,7 +696,8 @@ static const struct seq_operations dev_mc_seq_ops = {
+
+ static int dev_mc_seq_open(struct inode *inode, struct file *file)
+ {
+- return dev_seq_open_ops(inode, file, &dev_mc_seq_ops);
++ return seq_open_net(inode, file, &dev_mc_seq_ops,
++ sizeof(struct seq_net_private));
+ }
+
+ static const struct file_operations dev_mc_seq_fops = {
+--
+1.7.9.5
+
Copied: dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/ARM-orion5x-Fix-GPIO-enable-bits-for-MPP9.patch (from r18927, dists/sid/linux-2.6/debian/patches/bugfix/arm/ARM-orion5x-Fix-GPIO-enable-bits-for-MPP9.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/ARM-orion5x-Fix-GPIO-enable-bits-for-MPP9.patch Mon Apr 23 01:25:17 2012 (r18946, copy of r18927, dists/sid/linux-2.6/debian/patches/bugfix/arm/ARM-orion5x-Fix-GPIO-enable-bits-for-MPP9.patch)
@@ -0,0 +1,36 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sat, 7 Apr 2012 04:57:36 +0100
+Subject: [PATCH] ARM: orion5x: Fix GPIO enable bits for MPP9
+
+Commit 554cdaefd1cf7bb54b209c4e68c7cec87ce442a9 seems to have
+accidentally inverted the GPIO valid bits for MPP9 (only). For the
+mv2120 platform which uses MPP9 as a GPIO LED device, this results in
+the error:
+
+[ 12.711476] leds-gpio: probe of leds-gpio failed with error -22
+
+Reported-by: Henry von Tresckow <hvontres at gmail.com>
+References: http://bugs.debian.org/667446
+Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
+---
+ arch/arm/mach-orion5x/mpp.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/arm/mach-orion5x/mpp.h b/arch/arm/mach-orion5x/mpp.h
+index eac6897..db70e79 100644
+--- a/arch/arm/mach-orion5x/mpp.h
++++ b/arch/arm/mach-orion5x/mpp.h
+@@ -65,8 +65,8 @@
+ #define MPP8_GIGE MPP(8, 0x1, 0, 0, 1, 1, 1)
+
+ #define MPP9_UNUSED MPP(9, 0x0, 0, 0, 1, 1, 1)
+-#define MPP9_GPIO MPP(9, 0x0, 0, 0, 1, 1, 1)
+-#define MPP9_GIGE MPP(9, 0x1, 1, 1, 1, 1, 1)
++#define MPP9_GPIO MPP(9, 0x0, 1, 1, 1, 1, 1)
++#define MPP9_GIGE MPP(9, 0x1, 0, 0, 1, 1, 1)
+
+ #define MPP10_UNUSED MPP(10, 0x0, 0, 0, 1, 1, 1)
+ #define MPP10_GPIO MPP(10, 0x0, 1, 1, 1, 1, 1)
+--
+1.7.9.5
+
Modified: dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/disable-scsi_acard.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/disable-scsi_acard.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/disable-scsi_acard.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,3 +1,7 @@
+From: Gordon Farquharson <gordonfarquharson at gmail.com>
+Subject: [arm] Disable SCSI_ACARD
+Date: Mon, 12 Nov 2007 04:08:38 +0000
+
ERROR: "__bad_udelay" [drivers/scsi/atp870u.ko] undefined!
make[1]: *** [__modpost] Error 1
Modified: dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/ixp4xx_iobe.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/ixp4xx_iobe.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/bugfix/arm/ixp4xx_iobe.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,4 +1,6 @@
-ixp4xx: add io{read,write}{16,32}be functions
+From: Arnaud Patard <arnaud.patard at rtp-net.org>
+Subject: ixp4xx: add io{read,write}{16,32}be functions
+Date: 2011-11-13 19:27:56 +0000
Some driver are now requiring some be io functions, add noted in
commit (06901bd83412db5a31de7526e637101ed0c2c472). Otherwise, it may lead
Modified: dists/squeeze-backports/linux-2.6/debian/patches/bugfix/ia64/hardcode-arch-script-output.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/bugfix/ia64/hardcode-arch-script-output.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/bugfix/ia64/hardcode-arch-script-output.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,3 +1,25 @@
+From: dann frazier <dannf at debian.org>
+Subject: Hardcode arch script output
+Date: Mon, 26 Mar 2007 16:30:51 -0600
+Bug-Debian: http://bugs.debian.org/392592
+
+Here's a patch that simply uses hardcoded definitions instead of
+doing the dynamic tests that require architecture-specific scripts.
+
+I don't particularly like this approach because it restricts
+portability and diverts from upstream. But, it is simpler, and this
+really needs to be fixed somehow before etch (along with a rebuild of
+linux-modules-extra-2.6), so I'm willing to live with it if my other
+patch is deemed unacceptable.
+
+My primary concern is that, in the future, the output of these scripts
+will change and we (or our successors) will either not notice or
+forget to update the hardcoded values.
+
+Including the scripts in linux-kbuild will avoid this manual step
+altogether, and allow for the possibility of other archs to provide
+their own scripts in the future.
+
diff --git a/arch/ia64/Makefile b/arch/ia64/Makefile
index e7cbaa0..c8af869 100644
--- a/arch/ia64/Makefile
Modified: dists/squeeze-backports/linux-2.6/debian/patches/bugfix/mips/disable-advansys.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/bugfix/mips/disable-advansys.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/bugfix/mips/disable-advansys.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,3 +1,7 @@
+From: Martin Michlmayr <tbm at cyrius.com>
+Date: Sat, 19 Jan 2008 18:25:02 +0000
+Subject: [arm, mips] Disable Advansys
+
Florian Lohoff <flo at rfc822.org> reports the following build failure on IP32:
MODPOST 552 modules
Modified: dists/squeeze-backports/linux-2.6/debian/patches/bugfix/powerpc/lpar-console.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/bugfix/powerpc/lpar-console.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/bugfix/powerpc/lpar-console.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,3 +1,11 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Subject: Fix console selection in PowerPC LPAR environment
+Date: Tue, 27 Sep 2011 06:04:39 +0100
+
+Do not override the preferred console set through the kernel parameter.
+
+Original version by Bastian Blank <waldi at debian.org>.
+
--- a/drivers/tty/hvc/hvc_vio.c
+++ b/drivers/tty/hvc/hvc_vio.c
@@ -48,6 +48,7 @@
Copied: dists/squeeze-backports/linux-2.6/debian/patches/bugfix/x86/drm-i915-mask-transcoder-select-bits-before-setting-.patch (from r18927, dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-mask-transcoder-select-bits-before-setting-.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/squeeze-backports/linux-2.6/debian/patches/bugfix/x86/drm-i915-mask-transcoder-select-bits-before-setting-.patch Mon Apr 23 01:25:17 2012 (r18946, copy of r18927, dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-mask-transcoder-select-bits-before-setting-.patch)
@@ -0,0 +1,47 @@
+From: Jesse Barnes <jbarnes at virtuousgeek.org>
+Date: Thu, 12 Jan 2012 14:51:17 -0800
+Subject: [PATCH] drm/i915: mask transcoder select bits before setting them on
+ LVDS
+
+commit 7885d2052bd94395e337709cfba093a41f273ff1 upstream.
+
+The transcoder port may changed from mode set to mode set, so make sure
+to mask out the selection bits before setting the right ones or we'll
+get black screens when going from transcoder B to A.
+
+Tested-by: Vincent Vanackere <vincent.vanackere at gmail.com>
+Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
+Reviewed-by: Keith Packard <keithp at keithp.com>
+Signed-off-by: Keith Packard <keithp at keithp.com>
+---
+ drivers/gpu/drm/i915/intel_display.c | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index 2a3f707..96cea08 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -5808,12 +5808,15 @@ static int ironlake_crtc_mode_set(struct drm_crtc *crtc,
+ if (is_lvds) {
+ temp = I915_READ(PCH_LVDS);
+ temp |= LVDS_PORT_EN | LVDS_A0A2_CLKA_POWER_UP;
+- if (HAS_PCH_CPT(dev))
++ if (HAS_PCH_CPT(dev)) {
++ temp &= ~PORT_TRANS_SEL_MASK;
+ temp |= PORT_TRANS_SEL_CPT(pipe);
+- else if (pipe == 1)
+- temp |= LVDS_PIPEB_SELECT;
+- else
+- temp &= ~LVDS_PIPEB_SELECT;
++ } else {
++ if (pipe == 1)
++ temp |= LVDS_PIPEB_SELECT;
++ else
++ temp &= ~LVDS_PIPEB_SELECT;
++ }
+
+ /* set the corresponsding LVDS_BORDER bit */
+ temp |= dev_priv->lvds_border_bits;
+--
+1.7.9.5
+
Modified: dists/squeeze-backports/linux-2.6/debian/patches/debian/bcma-Do-not-claim-PCI-device-IDs-also-claimed-by-brc.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/debian/bcma-Do-not-claim-PCI-device-IDs-also-claimed-by-brc.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/debian/bcma-Do-not-claim-PCI-device-IDs-also-claimed-by-brc.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -2,6 +2,10 @@
Date: Thu, 24 Nov 2011 07:45:52 +0000
Subject: [PATCH] bcma: Do not claim PCI device IDs also claimed by brcmsmac
+brcmsmac was not updated to use the bcma bus driver until Linux 3.3.
+For 3.2 we want bcma to claim only the devices that brcmsmac doesn't
+support.
+
Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
---
drivers/bcma/host_pci.c | 4 +++-
Modified: dists/squeeze-backports/linux-2.6/debian/patches/debian/doc-build-parallel.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/debian/doc-build-parallel.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/debian/doc-build-parallel.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,3 +1,14 @@
+From: Bastian Blank <waldi at debian.org>
+Subject: DocBook: Make Documentation/DocBook -j clean
+Date: Tue, 14 Jun 2006 00:05:06 +0200
+
+Two concurrent calls to cmd_db2man may attempt to compress manual
+pages generated by each other. gzip can then fail due to an input
+file having already been compressed and removed.
+
+Since dh_compress will compress manual pages later, we don't need
+to run gzip here at all.
+
diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile
index 5a2882d..71c7077 100644
--- a/Documentation/DocBook/Makefile
Modified: dists/squeeze-backports/linux-2.6/debian/patches/debian/kernelvariables.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/debian/kernelvariables.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/debian/kernelvariables.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,3 +1,16 @@
+From: Bastian Blank <waldi at debian.org>
+Subject: kbuild: Make the toolchain variables easily overwritable
+Date: Sun, 22 Feb 2009 15:39:35 +0100
+
+Allow make variables to be overridden for each flavour by a file in
+the build tree, .kernelvariables.
+
+We currently use this for ARCH, KERNELRELEASE, CC, and in some cases
+also CROSS_COMPILE, CFLAGS_KERNEL and CFLAGS_MODULE.
+
+This file can only be read after we establish the build tree, and all
+use of $(ARCH) needs to be moved after this.
+
--- a/Makefile
+++ b/Makefile
@@ -198,46 +198,6 @@
Copied: dists/squeeze-backports/linux-2.6/debian/patches/debian/nls-Avoid-ABI-change-from-improvement-to-utf8s_to_ut.patch (from r18927, dists/sid/linux-2.6/debian/patches/debian/nls-Avoid-ABI-change-from-improvement-to-utf8s_to_ut.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/squeeze-backports/linux-2.6/debian/patches/debian/nls-Avoid-ABI-change-from-improvement-to-utf8s_to_ut.patch Mon Apr 23 01:25:17 2012 (r18946, copy of r18927, dists/sid/linux-2.6/debian/patches/debian/nls-Avoid-ABI-change-from-improvement-to-utf8s_to_ut.patch)
@@ -0,0 +1,60 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Mon, 9 Apr 2012 00:51:37 +0100
+Subject: [PATCH] nls: Avoid ABI change from improvement to utf8s_to_utf16s
+
+It's easy to add a temporary wrapper for binary-compatibility.
+---
+ fs/nls/nls_base.c | 13 ++++++++++++-
+ include/linux/nls.h | 4 +++-
+ 2 files changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/fs/nls/nls_base.c b/fs/nls/nls_base.c
+index 0eb059e..91f145a 100644
+--- a/fs/nls/nls_base.c
++++ b/fs/nls/nls_base.c
+@@ -129,7 +129,7 @@ static inline void put_utf16(wchar_t *s, unsigned c, enum utf16_endian endian)
+ }
+ }
+
+-int utf8s_to_utf16s(const u8 *s, int len, enum utf16_endian endian,
++int utf8s_to_utf16s_new(const u8 *s, int len, enum utf16_endian endian,
+ wchar_t *pwcs, int maxlen)
+ {
+ u16 *op;
+@@ -171,6 +171,17 @@ int utf8s_to_utf16s(const u8 *s, int len, enum utf16_endian endian,
+ }
+ EXPORT_SYMBOL(utf8s_to_utf16s);
+
++/* Binary-compatibility wrapper */
++#undef utf8s_to_utf16s
++int utf8s_to_utf16s(const u8 *s, int len, wchar_t *pwcs)
++{
++ /* Output length in code units is never longer than input
++ * length in bytes, so we can trivially set maxlen = len.
++ */
++ return utf8s_to_utf16s_new(s, len, UTF16_HOST_ENDIAN, pwcs, len);
++}
++EXPORT_SYMBOL(utf8s_to_utf16s);
++
+ static inline unsigned long get_utf16(unsigned c, enum utf16_endian endian)
+ {
+ switch (endian) {
+diff --git a/include/linux/nls.h b/include/linux/nls.h
+index 5dc635f..6a2a00c 100644
+--- a/include/linux/nls.h
++++ b/include/linux/nls.h
+@@ -52,8 +52,10 @@ extern struct nls_table *load_nls_default(void);
+
+ extern int utf8_to_utf32(const u8 *s, int len, unicode_t *pu);
+ extern int utf32_to_utf8(unicode_t u, u8 *s, int maxlen);
+-extern int utf8s_to_utf16s(const u8 *s, int len,
++extern int utf8s_to_utf16s(const u8 *s, int len, wchar_t *pwcs);
++extern int utf8s_to_utf16s_new(const u8 *s, int len,
+ enum utf16_endian endian, wchar_t *pwcs, int maxlen);
++#define utf8s_to_utf16s utf8s_to_utf16s_new
+ extern int utf16s_to_utf8s(const wchar_t *pwcs, int len,
+ enum utf16_endian endian, u8 *s, int maxlen);
+
+--
+1.7.9.5
+
Copied: dists/squeeze-backports/linux-2.6/debian/patches/debian/revert-CIFS-Respect-negotiated-MaxMpxCount.patch (from r18927, dists/sid/linux-2.6/debian/patches/debian/revert-CIFS-Respect-negotiated-MaxMpxCount.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/squeeze-backports/linux-2.6/debian/patches/debian/revert-CIFS-Respect-negotiated-MaxMpxCount.patch Mon Apr 23 01:25:17 2012 (r18946, copy of r18927, dists/sid/linux-2.6/debian/patches/debian/revert-CIFS-Respect-negotiated-MaxMpxCount.patch)
@@ -0,0 +1,205 @@
+From a7a1dde3ec3bc0503a0c5ecbcabf27b42b9f51d0 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Tue, 3 Apr 2012 04:07:11 +0100
+Subject: [PATCH] Revert "CIFS: Respect negotiated MaxMpxCount"
+
+This reverts commit a3f7edf2fcb8e3e9c530c596a6c07479aeed418b.
+It's a high-risk change which hasn't been well-tested yet. Leave it a
+while to see if further fixes are needed.
+---
+ fs/cifs/cifsfs.c | 8 ++++----
+ fs/cifs/cifsglob.h | 10 +++++++---
+ fs/cifs/cifssmb.c | 9 ++-------
+ fs/cifs/connect.c | 11 +++++++----
+ fs/cifs/dir.c | 6 ++----
+ fs/cifs/file.c | 4 ++--
+ fs/cifs/transport.c | 4 ++--
+ 7 files changed, 26 insertions(+), 26 deletions(-)
+
+diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
+index b4c2c99..8f1fe32 100644
+--- a/fs/cifs/cifsfs.c
++++ b/fs/cifs/cifsfs.c
+@@ -76,7 +76,7 @@ MODULE_PARM_DESC(cifs_min_small, "Small network buffers in pool. Default: 30 "
+ unsigned int cifs_max_pending = CIFS_MAX_REQ;
+ module_param(cifs_max_pending, int, 0444);
+ MODULE_PARM_DESC(cifs_max_pending, "Simultaneous requests to server. "
+- "Default: 32767 Range: 2 to 32767.");
++ "Default: 50 Range: 2 to 256");
+ unsigned short echo_retries = 5;
+ module_param(echo_retries, ushort, 0644);
+ MODULE_PARM_DESC(echo_retries, "Number of echo attempts before giving up and "
+@@ -1116,9 +1116,9 @@ init_cifs(void)
+ if (cifs_max_pending < 2) {
+ cifs_max_pending = 2;
+ cFYI(1, "cifs_max_pending set to min of 2");
+- } else if (cifs_max_pending > CIFS_MAX_REQ) {
+- cifs_max_pending = CIFS_MAX_REQ;
+- cFYI(1, "cifs_max_pending set to max of %u", CIFS_MAX_REQ);
++ } else if (cifs_max_pending > 256) {
++ cifs_max_pending = 256;
++ cFYI(1, "cifs_max_pending set to max of 256");
+ }
+
+ rc = cifs_fscache_register();
+diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
+index c467ac8..8238aa1 100644
+--- a/fs/cifs/cifsglob.h
++++ b/fs/cifs/cifsglob.h
+@@ -55,9 +55,14 @@
+
+ /*
+ * MAX_REQ is the maximum number of requests that WE will send
+- * on one socket concurrently.
++ * on one socket concurrently. It also matches the most common
++ * value of max multiplex returned by servers. We may
++ * eventually want to use the negotiated value (in case
++ * future servers can handle more) when we are more confident that
++ * we will not have problems oveloading the socket with pending
++ * write data.
+ */
+-#define CIFS_MAX_REQ 32767
++#define CIFS_MAX_REQ 50
+
+ #define RFC1001_NAME_LEN 15
+ #define RFC1001_NAME_LEN_WITH_NULL (RFC1001_NAME_LEN + 1)
+@@ -258,7 +263,6 @@ struct TCP_Server_Info {
+ bool session_estab; /* mark when very first sess is established */
+ u16 dialect; /* dialect index that server chose */
+ enum securityEnum secType;
+- bool oplocks:1; /* enable oplocks */
+ unsigned int maxReq; /* Clients should submit no more */
+ /* than maxReq distinct unanswered SMBs to the server when using */
+ /* multiplexed reads or writes */
+diff --git a/fs/cifs/cifssmb.c b/fs/cifs/cifssmb.c
+index 0e6adac..6600aa2 100644
+--- a/fs/cifs/cifssmb.c
++++ b/fs/cifs/cifssmb.c
+@@ -458,10 +458,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifs_ses *ses)
+ goto neg_err_exit;
+ }
+ server->sec_mode = (__u8)le16_to_cpu(rsp->SecurityMode);
+- server->maxReq = min_t(unsigned int,
+- le16_to_cpu(rsp->MaxMpxCount),
+- cifs_max_pending);
+- server->oplocks = server->maxReq > 1 ? enable_oplocks : false;
++ server->maxReq = le16_to_cpu(rsp->MaxMpxCount);
+ server->maxBuf = le16_to_cpu(rsp->MaxBufSize);
+ server->max_vcs = le16_to_cpu(rsp->MaxNumberVcs);
+ /* even though we do not use raw we might as well set this
+@@ -567,9 +564,7 @@ CIFSSMBNegotiate(unsigned int xid, struct cifs_ses *ses)
+
+ /* one byte, so no need to convert this or EncryptionKeyLen from
+ little endian */
+- server->maxReq = min_t(unsigned int, le16_to_cpu(pSMBr->MaxMpxCount),
+- cifs_max_pending);
+- server->oplocks = server->maxReq > 1 ? enable_oplocks : false;
++ server->maxReq = le16_to_cpu(pSMBr->MaxMpxCount);
+ /* probably no need to store and check maxvcs */
+ server->maxBuf = le32_to_cpu(pSMBr->MaxBufferSize);
+ server->max_rw = le32_to_cpu(pSMBr->MaxRawSize);
+diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c
+index 9e0675a..bdb62c8 100644
+--- a/fs/cifs/connect.c
++++ b/fs/cifs/connect.c
+@@ -625,10 +625,14 @@ static void clean_demultiplex_info(struct TCP_Server_Info *server)
+ spin_unlock(&GlobalMid_Lock);
+ wake_up_all(&server->response_q);
+
+- /* Check if we have blocked requests that need to free. */
++ /*
++ * Check if we have blocked requests that need to free. Note that
++ * cifs_max_pending is normally 50, but can be set at module install
++ * time to as little as two.
++ */
+ spin_lock(&GlobalMid_Lock);
+- if (atomic_read(&server->inFlight) >= server->maxReq)
+- atomic_set(&server->inFlight, server->maxReq - 1);
++ if (atomic_read(&server->inFlight) >= cifs_max_pending)
++ atomic_set(&server->inFlight, cifs_max_pending - 1);
+ /*
+ * We do not want to set the max_pending too low or we could end up
+ * with the counter going negative.
+@@ -1886,7 +1890,6 @@ cifs_get_tcp_session(struct smb_vol *volume_info)
+ tcp_ses->noautotune = volume_info->noautotune;
+ tcp_ses->tcp_nodelay = volume_info->sockopt_tcp_nodelay;
+ atomic_set(&tcp_ses->inFlight, 0);
+- tcp_ses->maxReq = 1; /* enough to send negotiate request */
+ init_waitqueue_head(&tcp_ses->response_q);
+ init_waitqueue_head(&tcp_ses->request_q);
+ INIT_LIST_HEAD(&tcp_ses->pending_mid_q);
+diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c
+index 6937e7c..bf68b4f 100644
+--- a/fs/cifs/dir.c
++++ b/fs/cifs/dir.c
+@@ -171,7 +171,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
+ }
+ tcon = tlink_tcon(tlink);
+
+- if (tcon->ses->server->oplocks)
++ if (enable_oplocks)
+ oplock = REQ_OPLOCK;
+
+ if (nd)
+@@ -492,7 +492,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
+ {
+ int xid;
+ int rc = 0; /* to get around spurious gcc warning, set to zero here */
+- __u32 oplock;
++ __u32 oplock = enable_oplocks ? REQ_OPLOCK : 0;
+ __u16 fileHandle = 0;
+ bool posix_open = false;
+ struct cifs_sb_info *cifs_sb;
+@@ -518,8 +518,6 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
+ }
+ pTcon = tlink_tcon(tlink);
+
+- oplock = pTcon->ses->server->oplocks ? REQ_OPLOCK : 0;
+-
+ /*
+ * Don't allow the separator character in a path component.
+ * The VFS will not allow "/", but "\" is allowed by posix.
+diff --git a/fs/cifs/file.c b/fs/cifs/file.c
+index 159fcc5..8e02dbd 100644
+--- a/fs/cifs/file.c
++++ b/fs/cifs/file.c
+@@ -380,7 +380,7 @@ int cifs_open(struct inode *inode, struct file *file)
+ cFYI(1, "inode = 0x%p file flags are 0x%x for %s",
+ inode, file->f_flags, full_path);
+
+- if (tcon->ses->server->oplocks)
++ if (enable_oplocks)
+ oplock = REQ_OPLOCK;
+ else
+ oplock = 0;
+@@ -505,7 +505,7 @@ static int cifs_reopen_file(struct cifsFileInfo *pCifsFile, bool can_flush)
+ cFYI(1, "inode = 0x%p file flags 0x%x for %s",
+ inode, pCifsFile->f_flags, full_path);
+
+- if (tcon->ses->server->oplocks)
++ if (enable_oplocks)
+ oplock = REQ_OPLOCK;
+ else
+ oplock = 0;
+diff --git a/fs/cifs/transport.c b/fs/cifs/transport.c
+index 99a27cf..0cc9584 100644
+--- a/fs/cifs/transport.c
++++ b/fs/cifs/transport.c
+@@ -265,12 +265,12 @@ static int wait_for_free_request(struct TCP_Server_Info *server,
+
+ spin_lock(&GlobalMid_Lock);
+ while (1) {
+- if (atomic_read(&server->inFlight) >= server->maxReq) {
++ if (atomic_read(&server->inFlight) >= cifs_max_pending) {
+ spin_unlock(&GlobalMid_Lock);
+ cifs_num_waiters_inc(server);
+ wait_event(server->request_q,
+ atomic_read(&server->inFlight)
+- < server->maxReq);
++ < cifs_max_pending);
+ cifs_num_waiters_dec(server);
+ spin_lock(&GlobalMid_Lock);
+ } else {
+--
+1.7.9.5
+
Copied: dists/squeeze-backports/linux-2.6/debian/patches/debian/revert-rtc-Provide-flag-for-rtc-devices-that-don-t-s.patch (from r18927, dists/sid/linux-2.6/debian/patches/debian/revert-rtc-Provide-flag-for-rtc-devices-that-don-t-s.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/squeeze-backports/linux-2.6/debian/patches/debian/revert-rtc-Provide-flag-for-rtc-devices-that-don-t-s.patch Mon Apr 23 01:25:17 2012 (r18946, copy of r18927, dists/sid/linux-2.6/debian/patches/debian/revert-rtc-Provide-flag-for-rtc-devices-that-don-t-s.patch)
@@ -0,0 +1,60 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Wed, 4 Apr 2012 05:32:11 +0100
+Subject: [PATCH] Revert "rtc: Provide flag for rtc devices that don't support
+ UIE"
+
+This reverts commit 61d38cd909ad35ff497bf1a84cd57b2baf6d9c49.
+It changes ABI and is only needed for rtc-mpc5121 which we don't
+enable.
+---
+ drivers/rtc/interface.c | 5 -----
+ drivers/rtc/rtc-mpc5121.c | 2 --
+ include/linux/rtc.h | 3 +--
+ 3 files changed, 1 insertion(+), 9 deletions(-)
+
+diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c
+index 565742b..c1edbf8 100644
+--- a/drivers/rtc/interface.c
++++ b/drivers/rtc/interface.c
+@@ -445,11 +445,6 @@ int rtc_update_irq_enable(struct rtc_device *rtc, unsigned int enabled)
+ if (rtc->uie_rtctimer.enabled == enabled)
+ goto out;
+
+- if (rtc->uie_unsupported) {
+- err = -EINVAL;
+- goto out;
+- }
+-
+ if (enabled) {
+ struct rtc_time tm;
+ ktime_t now, onesec;
+diff --git a/drivers/rtc/rtc-mpc5121.c b/drivers/rtc/rtc-mpc5121.c
+index 0fc2d22..da60915 100644
+--- a/drivers/rtc/rtc-mpc5121.c
++++ b/drivers/rtc/rtc-mpc5121.c
+@@ -360,8 +360,6 @@ static int __devinit mpc5121_rtc_probe(struct platform_device *op)
+ &mpc5200_rtc_ops, THIS_MODULE);
+ }
+
+- rtc->rtc->uie_unsupported = 1;
+-
+ if (IS_ERR(rtc->rtc)) {
+ err = PTR_ERR(rtc->rtc);
+ goto out_free_irq;
+diff --git a/include/linux/rtc.h b/include/linux/rtc.h
+index fcabfb4..93f4d03 100644
+--- a/include/linux/rtc.h
++++ b/include/linux/rtc.h
+@@ -202,8 +202,7 @@ struct rtc_device
+ struct hrtimer pie_timer; /* sub second exp, so needs hrtimer */
+ int pie_enabled;
+ struct work_struct irqwork;
+- /* Some hardware can't support UIE mode */
+- int uie_unsupported;
++
+
+ #ifdef CONFIG_RTC_INTF_DEV_UIE_EMUL
+ struct work_struct uie_task;
+--
+1.7.9.5
+
Modified: dists/squeeze-backports/linux-2.6/debian/patches/debian/sched-autogroup-disabled.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/debian/sched-autogroup-disabled.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/debian/sched-autogroup-disabled.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,3 +1,10 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Subject: sched: Do not enable autogrouping by default
+Date: Wed, 16 Mar 2011 03:17:06 +0000
+
+We want to provide the option of autogrouping but without enabling
+it by default yet.
+
diff --git a/kernel/sched_autogroup.c b/kernel/sched_autogroup.c
index 9fb6562..96abaaf 100644
--- a/kernel/sched_autogroup.c
Modified: dists/squeeze-backports/linux-2.6/debian/patches/debian/sysrq-mask.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/debian/sysrq-mask.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/debian/sysrq-mask.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,3 +1,10 @@
+From: Bastian Blank <waldi at debian.org>
+Subject: Allow access to sensitive SysRq keys to be restricted by default
+Date: Sun, 14 Feb 2010 16:11:35 +0100
+
+Add a Kconfig variable to set the initial value of the Magic
+SysRq mask (sysctl: kernel.sysrq).
+
--- a/include/linux/sysrq.h
+++ b/include/linux/sysrq.h
@@ -18,7 +18,7 @@
Modified: dists/squeeze-backports/linux-2.6/debian/patches/debian/version.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/debian/version.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/debian/version.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,3 +1,25 @@
+From: Bastian Blank <waldi at debian.org>
+Subject: Add debian version information to kernel version string
+Date: Sun, 20 May 2007 11:46:51 +0200
+
+Include the package version in /proc/version and the initial log
+banner.
+
+Determine the target distribution ($DISTRIBUTION) with lsb_release,
+defaulting to Debian.
+
+For distribution binary packages we assume
+$DISTRIBUTION_OFFICIAL_BUILD is set. Add $DISTRIBUTION and
+$DISTRIBUTION_VERSION after the kernel version (UTS_RELEASE), and
+replace the account name used to build the package with
+$DISTRIBUTION_UPLOADER.
+
+[bwh: Changed $DISTRIBUTION_UPLOADER to $DISTRIBUTION_MAINTAINER.]
+
+For custom packages built from a linux-source package, read the
+package version from version.$DISTRIBUTION and add that after
+the kernel version string.
+
--- a/init/version.c
+++ b/init/version.c
@@ -36,12 +36,31 @@ struct uts_namespace init_uts_ns = {
Modified: dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/drivers-net-fix-livelock-issues.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/drivers-net-fix-livelock-issues.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/drivers-net-fix-livelock-issues.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -12,20 +12,20 @@
Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
---
- drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 7 ++-----
+ drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 6 +-----
drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 3 +--
drivers/net/ethernet/chelsio/cxgb/sge.c | 3 +--
drivers/net/ethernet/neterion/s2io.c | 7 +------
drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 7 +++----
drivers/net/ethernet/tehuti/tehuti.c | 9 ++-------
drivers/net/rionet.c | 6 +-----
- 7 files changed, 11 insertions(+), 31 deletions(-)
+ 7 files changed, 10 insertions(+), 31 deletions(-)
Index: linux-3.2/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
===================================================================
--- linux-3.2.orig/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
+++ linux-3.2/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
-@@ -2236,11 +2236,8 @@ static netdev_tx_t atl1c_xmit_frame(stru
+@@ -2236,11 +2236,7 @@ static netdev_tx_t atl1c_xmit_frame(stru
}
tpd_req = atl1c_cal_tpd_req(skb);
@@ -35,7 +35,6 @@
- return NETDEV_TX_LOCKED;
- }
+ spin_lock_irqsave(&adapter->tx_lock, flags);
-+
if (atl1c_tpd_avail(adapter, type) < tpd_req) {
/* no enough descriptor, just stop queue */
Modified: dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/fs-dcache-use-cpu-chill-in-trylock-loops.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/fs-dcache-use-cpu-chill-in-trylock-loops.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/fs-dcache-use-cpu-chill-in-trylock-loops.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -12,7 +12,8 @@
fs/autofs4/autofs_i.h | 1 +
fs/autofs4/expire.c | 2 +-
fs/dcache.c | 7 ++++---
- 3 files changed, 6 insertions(+), 4 deletions(-)
+ fs/namespace.c | 3 ++-
+ 4 files changed, 8 insertions(+), 5 deletions(-)
Index: linux-3.2/fs/autofs4/autofs_i.h
===================================================================
@@ -32,13 +33,13 @@
+++ 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);
+ if (!spin_trylock(&parent->d_lock)) {
+ spin_unlock(&p->d_lock);
- cpu_relax();
+ cpu_chill();
goto relock;
}
- seq_spin_unlock(&p->d_lock);
+ spin_unlock(&p->d_lock);
Index: linux-3.2/fs/dcache.c
===================================================================
--- linux-3.2.orig/fs/dcache.c
@@ -54,7 +55,7 @@
@@ -410,7 +411,7 @@ static inline struct dentry *dentry_kill
if (inode && !spin_trylock(&inode->i_lock)) {
relock:
- seq_spin_unlock(&dentry->d_lock);
+ spin_unlock(&dentry->d_lock);
- cpu_relax();
+ cpu_chill();
return dentry; /* try again with same dentry */
@@ -62,19 +63,40 @@
if (IS_ROOT(dentry))
@@ -796,7 +797,7 @@ relock:
- if (!seq_spin_trylock(&dentry->d_lock)) {
+ if (!spin_trylock(&dentry->d_lock)) {
spin_unlock(&dcache_lru_lock);
- cpu_relax();
+ cpu_chill();
goto relock;
}
-@@ -1974,7 +1975,7 @@ again:
+@@ -1975,7 +1976,7 @@ again:
if (dentry->d_count == 1) {
if (inode && !spin_trylock(&inode->i_lock)) {
- seq_spin_unlock(&dentry->d_lock);
+ spin_unlock(&dentry->d_lock);
- cpu_relax();
+ cpu_chill();
goto again;
}
dentry->d_flags &= ~DCACHE_CANT_MOUNT;
+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();
+ }
+ /*
Modified: dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/localversion.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/localversion.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/localversion.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -14,4 +14,4 @@
--- /dev/null
+++ linux-3.2/localversion-rt
@@ -0,0 +1 @@
-+-rt20
++-rt22
Modified: dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/seqlock-prevent-rt-starvation.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/seqlock-prevent-rt-starvation.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/seqlock-prevent-rt-starvation.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -9,19 +9,56 @@
eventually boosts the writer. This way the writer can proceed and
endless spinning is prevented.
+For seqcount writers we disable preemption over the update code
+path. Thaanks to Al Viro for distangling some VFS code to make that
+possible.
+
Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
Cc: stable-rt at vger.kernel.org
---
- include/linux/seqlock.h | 23 +++++++++++++++++++++++
- include/net/neighbour.h | 2 +-
- 2 files changed, 24 insertions(+), 1 deletion(-)
+ include/linux/seqlock.h | 55 +++++++++++++++++++++++++++++++++++++++---------
+ include/net/neighbour.h | 2 -
+ 2 files changed, 46 insertions(+), 11 deletions(-)
Index: linux-3.2/include/linux/seqlock.h
===================================================================
--- linux-3.2.orig/include/linux/seqlock.h
+++ linux-3.2/include/linux/seqlock.h
-@@ -177,10 +177,33 @@ typedef struct {
+@@ -125,18 +125,30 @@ static inline int read_seqcount_retry(co
+ * Sequence counter only version assumes that callers are using their
+ * own mutexing.
+ */
+-static inline void write_seqcount_begin(seqcount_t *s)
++static inline void __write_seqcount_begin(seqcount_t *s)
+ {
+ s->sequence++;
+ smp_wmb();
+ }
+
+-static inline void write_seqcount_end(seqcount_t *s)
++static inline void write_seqcount_begin(seqcount_t *s)
++{
++ preempt_disable_rt();
++ __write_seqcount_begin(s);
++}
++
++static inline void __write_seqcount_end(seqcount_t *s)
+ {
+ smp_wmb();
+ s->sequence++;
+ }
+
++static inline void write_seqcount_end(seqcount_t *s)
++{
++ __write_seqcount_end(s);
++ preempt_enable_rt();
++}
++
+ /**
+ * write_seqcount_barrier - invalidate in-progress read-side seq operations
+ * @s: pointer to seqcount_t
+@@ -177,10 +189,33 @@ typedef struct {
/*
* Read side functions for starting and finalizing a read side section.
*/
@@ -55,6 +92,67 @@
static inline unsigned read_seqretry(const seqlock_t *sl, unsigned start)
{
+@@ -195,36 +230,36 @@ static inline unsigned read_seqretry(con
+ static inline void write_seqlock(seqlock_t *sl)
+ {
+ spin_lock(&sl->lock);
+- write_seqcount_begin(&sl->seqcount);
++ __write_seqcount_begin(&sl->seqcount);
+ }
+
+ static inline void write_sequnlock(seqlock_t *sl)
+ {
+- write_seqcount_end(&sl->seqcount);
++ __write_seqcount_end(&sl->seqcount);
+ spin_unlock(&sl->lock);
+ }
+
+ static inline void write_seqlock_bh(seqlock_t *sl)
+ {
+ spin_lock_bh(&sl->lock);
+- write_seqcount_begin(&sl->seqcount);
++ __write_seqcount_begin(&sl->seqcount);
+ }
+
+ static inline void write_sequnlock_bh(seqlock_t *sl)
+ {
+- write_seqcount_end(&sl->seqcount);
++ __write_seqcount_end(&sl->seqcount);
+ spin_unlock_bh(&sl->lock);
+ }
+
+ static inline void write_seqlock_irq(seqlock_t *sl)
+ {
+ spin_lock_irq(&sl->lock);
+- write_seqcount_begin(&sl->seqcount);
++ __write_seqcount_begin(&sl->seqcount);
+ }
+
+ static inline void write_sequnlock_irq(seqlock_t *sl)
+ {
+- write_seqcount_end(&sl->seqcount);
++ __write_seqcount_end(&sl->seqcount);
+ spin_unlock_irq(&sl->lock);
+ }
+
+@@ -233,7 +268,7 @@ static inline unsigned long __write_seql
+ unsigned long flags;
+
+ spin_lock_irqsave(&sl->lock, flags);
+- write_seqcount_begin(&sl->seqcount);
++ __write_seqcount_begin(&sl->seqcount);
+ return flags;
+ }
+
+@@ -243,7 +278,7 @@ static inline unsigned long __write_seql
+ static inline void
+ write_sequnlock_irqrestore(seqlock_t *sl, unsigned long flags)
+ {
+- write_seqcount_end(&sl->seqcount);
++ __write_seqcount_end(&sl->seqcount);
+ spin_unlock_irqrestore(&sl->lock, flags);
+ }
+
Index: linux-3.2/include/net/neighbour.h
===================================================================
--- linux-3.2.orig/include/net/neighbour.h
Modified: dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/series
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/series Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/series Mon Apr 23 01:25:17 2012 (r18946)
@@ -5,7 +5,6 @@
############################################################
# 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
@@ -106,9 +105,12 @@
# SEQLOCK
seqlock-remove-unused-functions.patch
seqlock-use-seqcount.patch
-seqlock-provide-seq-spin-lock.patch
-fs-struct-use-seqlock.patch
-fs-dentry-use-seqlock.patch
+#seqlock-provide-seq-spin-lock.patch
+#fs-struct-use-seqlock.patch
+#fs-dentry-use-seqlock.patch
+
+# VFS. Al Viro provided this so we can deal with the seqcount simpler
+vfs-fstruct-move-code-out-of-seqcount-write-sections.patch
# RAW SPINLOCKS
timekeeping-split-xtime-lock.patch
@@ -578,8 +580,8 @@
# Various fixes - fold them back
seqlock-prevent-rt-starvation.patch
-fs-protect-opencoded-isize-seqcount.patch
-net-u64-stat-protect-seqcount.patch
+#fs-protect-opencoded-isize-seqcount.patch
+#net-u64-stat-protect-seqcount.patch
rfc-timer-fix-hotplug-for-rt.patch
rfc-futex-rt-fix-possible-lockup-when-taking-pi_lock-in-proxy-handler.patch
rfc-ring-buffer-rt-check-for-irqs-disabled-before-grabbing-reader-lock.patch
@@ -592,7 +594,6 @@
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
Copied: dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/vfs-fstruct-move-code-out-of-seqcount-write-sections.patch (from r18927, dists/sid/linux-2.6/debian/patches/features/all/rt/vfs-fstruct-move-code-out-of-seqcount-write-sections.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/squeeze-backports/linux-2.6/debian/patches/features/all/rt/vfs-fstruct-move-code-out-of-seqcount-write-sections.patch Mon Apr 23 01:25:17 2012 (r18946, copy of r18927, dists/sid/linux-2.6/debian/patches/features/all/rt/vfs-fstruct-move-code-out-of-seqcount-write-sections.patch)
@@ -0,0 +1,85 @@
+Subject: vfs: fs_struct: Move code out of seqcount write sections
+From: Al Viro <viro at ZenIV.linux.org.uk>
+Date: Thu, 15 Mar 2012 18:39:40 +0000
+
+RT cannot disable preemption in the seqcount write sections due to
+functions called which take "sleeping" spinlocks.
+
+Move the code out of those sections. It does not need to be there.
+
+Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
+
+diff --git a/fs/fs_struct.c b/fs/fs_struct.c
+index 78b519c..f5818c4 100644
+--- a/fs/fs_struct.c
++++ b/fs/fs_struct.c
+@@ -26,11 +26,11 @@ void set_fs_root(struct fs_struct *fs, struct path *path)
+ {
+ struct path old_root;
+
++ path_get_longterm(path);
+ spin_lock(&fs->lock);
+ write_seqcount_begin(&fs->seq);
+ old_root = fs->root;
+ fs->root = *path;
+- path_get_longterm(path);
+ write_seqcount_end(&fs->seq);
+ spin_unlock(&fs->lock);
+ if (old_root.dentry)
+@@ -45,11 +45,11 @@ void set_fs_pwd(struct fs_struct *fs, struct path *path)
+ {
+ struct path old_pwd;
+
++ path_get_longterm(path);
+ spin_lock(&fs->lock);
+ write_seqcount_begin(&fs->seq);
+ old_pwd = fs->pwd;
+ fs->pwd = *path;
+- path_get_longterm(path);
+ write_seqcount_end(&fs->seq);
+ spin_unlock(&fs->lock);
+
+@@ -57,6 +57,14 @@ void set_fs_pwd(struct fs_struct *fs, struct path *path)
+ path_put_longterm(&old_pwd);
+ }
+
++static inline int replace_path(struct path *p, const struct path *old, const struct path *new)
++{
++ if (likely(p->dentry != old->dentry || p->mnt != old->mnt))
++ return 0;
++ *p = *new;
++ return 1;
++}
++
+ void chroot_fs_refs(struct path *old_root, struct path *new_root)
+ {
+ struct task_struct *g, *p;
+@@ -68,21 +76,16 @@ void chroot_fs_refs(struct path *old_root, struct path *new_root)
+ task_lock(p);
+ fs = p->fs;
+ if (fs) {
++ int hits = 0;
+ spin_lock(&fs->lock);
+ write_seqcount_begin(&fs->seq);
+- if (fs->root.dentry == old_root->dentry
+- && fs->root.mnt == old_root->mnt) {
+- path_get_longterm(new_root);
+- fs->root = *new_root;
++ hits += replace_path(&fs->root, old_root, new_root);
++ hits += replace_path(&fs->pwd, old_root, new_root);
++ write_seqcount_end(&fs->seq);
++ while (hits--) {
+ count++;
+- }
+- if (fs->pwd.dentry == old_root->dentry
+- && fs->pwd.mnt == old_root->mnt) {
+ path_get_longterm(new_root);
+- fs->pwd = *new_root;
+- count++;
+ }
+- write_seqcount_end(&fs->seq);
+ spin_unlock(&fs->lock);
+ }
+ task_unlock(p);
+
+
Modified: dists/squeeze-backports/linux-2.6/debian/patches/features/arm/ARM-kirkwood-6282A1.patch
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/features/arm/ARM-kirkwood-6282A1.patch Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/features/arm/ARM-kirkwood-6282A1.patch Mon Apr 23 01:25:17 2012 (r18946)
@@ -1,15 +1,15 @@
-commit a87d89e74f0a4b56eaee8c3ef74bce69277b780f
-Author: Martin Michlmayr <tbm at cyrius.com>
-Date: Thu Nov 3 12:57:43 2011 +0000
+From: Martin Michlmayr <tbm at cyrius.com>
+Date: Thu Nov 3 12:57:43 2011 +0000
+Subject: ARM: Kirkwood: Recognize A1 revision of 6282 chip
- ARM: Kirkwood: Recognize A1 revision of 6282 chip
-
- Recognize the Kirkwood 6282 revision A1 chip since products using
- this chip are shipping now, such as the QNAP TS-x19P II devices.
-
- Signed-off-by: Martin Michlmayr <tbm at cyrius.com>
- Acked-by: Lennert Buytenhek <buytenh at wantstofly.org>
- Signed-off-by: Nicolas Pitre <nico at fluxnic.net>
+commit a87d89e74f0a4b56eaee8c3ef74bce69277b780f upstream.
+
+Recognize the Kirkwood 6282 revision A1 chip since products using
+this chip are shipping now, such as the QNAP TS-x19P II devices.
+
+Signed-off-by: Martin Michlmayr <tbm at cyrius.com>
+Acked-by: Lennert Buytenhek <buytenh at wantstofly.org>
+Signed-off-by: Nicolas Pitre <nico at fluxnic.net>
diff --git a/arch/arm/mach-kirkwood/common.c b/arch/arm/mach-kirkwood/common.c
index f3248cf..b9632ee 100644
Modified: dists/squeeze-backports/linux-2.6/debian/patches/series/base
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/series/base Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/series/base Mon Apr 23 01:25:17 2012 (r18946)
@@ -67,11 +67,8 @@
+ features/all/Input-ALPS-add-semi-MT-support-for-v3-protocol.patch
+ bugfix/x86/KVM-nVMX-Add-KVM_REQ_IMMEDIATE_EXIT.patch
+ bugfix/x86/KVM-nVMX-Fix-warning-causing-idt-vectoring-info-beha.patch
-+ bugfix/x86/KVM-x86-extend-struct-x86_emulate_ops-with-get_cpuid.patch
-+ bugfix/x86/KVM-x86-fix-missing-checks-in-syscall-emulation.patch
+ features/all/hwmon-it87-Add-IT8728F-support.patch
-+ bugfix/arm/ARM-ixp4xx-mtd-oops.patch
+ bugfix/x86/drm-i915-do-not-enable-RC6p-on-Sandy-Bridge.patch
+ bugfix/x86/drm-i915-fix-operator-precedence-when-enabling-RC6p.patch
@@ -82,6 +79,96 @@
+ features/all/fs-hardlink-creation-restrictions-fix.patch
+ features/all/fs-hardlink-creation-restriction-cleanup.patch
+ bugfix/all/Don-t-limit-non-nested-epoll-paths.patch
-+ bugfix/all/CIFS-Fix-a-spurious-error-in-cifs_push_posix_locks.patch
-+ bugfix/all/tcp-fix-syncookie-regression.patch
-+ bugfix/all/ipv6-don-t-dev_hold-dev-in-ip6_mc_find_dev_rcu.patch
++ bugfix/all/kbuild-do-not-check-for-ancient-modutils-tools.patch
+
+# Temporary, until the original change has been tested some more
++ debian/revert-CIFS-Respect-negotiated-MaxMpxCount.patch
+
++ bugfix/all/net-fix-proc-net-dev-regression.patch
++ bugfix/arm/ARM-orion5x-Fix-GPIO-enable-bits-for-MPP9.patch
++ bugfix/x86/drm-i915-mask-transcoder-select-bits-before-setting-.patch
+
+# Update all Hyper-V drivers to 3.4-rc1 (no longer staging)
++ features/x86/hyperv/0001-NLS-improve-UTF8-UTF16-string-conversion-routine.patch
++ features/x86/hyperv/0002-HID-Move-the-hid-hyperv-driver-out-of-staging.patch
++ features/x86/hyperv/0003-Staging-hv-storvsc-Use-mempools-to-allocate-struct-s.patch
++ features/x86/hyperv/0004-Staging-hv-storvsc-Cleanup-error-handling-in-the-pro.patch
++ features/x86/hyperv/0005-Staging-hv-storvsc-Fixup-the-error-when-processing-S.patch
++ features/x86/hyperv/0006-Staging-hv-storvsc-Fix-error-handling-storvsc_host_r.patch
++ features/x86/hyperv/0007-Staging-hv-storvsc-Use-the-accessor-function-shost_p.patch
++ features/x86/hyperv/0008-Staging-hv-storvsc-Use-the-unlocked-version-queuecom.patch
++ features/x86/hyperv/0009-Staging-hv-storvsc-use-the-macro-KBUILD_MODNAME.patch
++ features/x86/hyperv/0010-Staging-hv-storvsc-Get-rid-of-an-unnecessary-forward.patch
++ features/x86/hyperv/0011-Staging-hv-storvsc-Upgrade-the-vmstor-protocol-versi.patch
++ features/x86/hyperv/0012-Staging-hv-storvsc-Support-hot-add-of-scsi-disks.patch
++ features/x86/hyperv/0013-Staging-hv-storvsc-Support-hot-removing-of-scsi-devi.patch
++ features/x86/hyperv/0014-staging-hv-Use-kmemdup-rather-than-duplicating-its-i.patch
++ features/x86/hyperv/0015-Staging-hv-vmbus-Support-building-the-vmbus-driver-a.patch
++ features/x86/hyperv/0016-hv-Add-Kconfig-menu-entry.patch
++ features/x86/hyperv/0017-Staging-hv-mousevsc-Remove-the-mouse-driver-from-the.patch
++ features/x86/hyperv/0018-staging-hv-move-hv_netvsc-out-of-staging-area.patch
++ features/x86/hyperv/0019-net-hyperv-Fix-long-lines-in-netvsc.c.patch
++ features/x86/hyperv/0020-net-hyperv-Add-support-for-promiscuous-mode-setting.patch
++ features/x86/hyperv/0021-Staging-hv-storvsc-Disable-clustering.patch
++ features/x86/hyperv/0022-Staging-hv-storvsc-Cleanup-storvsc_device_alloc.patch
++ features/x86/hyperv/0023-Staging-hv-storvsc-Fix-a-bug-in-storvsc_command_comp.patch
++ features/x86/hyperv/0024-Staging-hv-storvsc-Fix-a-bug-in-copy_from_bounce_buf.patch
++ features/x86/hyperv/0025-Staging-hv-storvsc-Implement-per-device-memory-pools.patch
++ features/x86/hyperv/0026-Staging-hv-update-TODO-file.patch
++ features/x86/hyperv/0027-HID-hv_mouse-Properly-add-the-hid-device.patch
++ features/x86/hyperv/0028-Staging-hv-storvsc-Fix-a-bug-in-create_bounce_buffer.patch
++ features/x86/hyperv/0029-net-hyperv-Fix-the-stop-wake-queue-mechanism.patch
++ features/x86/hyperv/0030-Drivers-hv-Fix-a-memory-leak.patch
++ features/x86/hyperv/0031-Drivers-hv-Make-the-vmbus-driver-unloadable.patch
++ features/x86/hyperv/0032-Drivers-hv-Get-rid-of-an-unnecessary-check-in-hv.c.patch
++ features/x86/hyperv/0033-net-hyperv-Remove-unnecessary-kmap_atomic-in-netvsc-.patch
++ features/x86/hyperv/0034-net-hyperv-Add-NETVSP-protocol-version-negotiation.patch
++ features/x86/hyperv/0035-net-hyperv-Add-support-for-jumbo-frame-up-to-64KB.patch
++ features/x86/hyperv/0036-net-hyperv-fix-possible-memory-leak-in-do_set_multic.patch
++ features/x86/hyperv/0037-drivers-hv-Get-rid-of-some-unnecessary-code.patch
++ features/x86/hyperv/0038-net-hyperv-rx_bytes-should-account-the-ether-header-.patch
++ features/x86/hyperv/0039-HID-hyperv-Properly-disconnect-the-input-device.patch
++ features/x86/hyperv/0040-net-hyperv-fix-the-issue-that-large-packets-be-dropp.patch
++ features/x86/hyperv/0041-net-hyperv-Use-netif_tx_disable-instead-of-netif_sto.patch
++ features/x86/hyperv/0042-net-hyperv-Fix-the-page-buffer-when-an-RNDIS-message.patch
++ features/x86/hyperv/0043-drivers-hv-kvp-Add-cleanup-connector-defines.patch
++ features/x86/hyperv/0044-drivers-hv-kvp-Move-the-contents-of-hv_kvp.h-to-hype.patch
++ features/x86/hyperv/0045-net-hyperv-Convert-camel-cased-variables-in-rndis_fi.patch
++ features/x86/hyperv/0046-net-hyperv-Correct-the-assignment-in-netvsc_recv_cal.patch
++ features/x86/hyperv/0047-net-hyperv-Remove-the-unnecessary-memset-in-rndis_fi.patch
++ features/x86/hyperv/0048-Staging-hv-storvsc-Cleanup-some-comments.patch
++ features/x86/hyperv/0049-Staging-hv-storvsc-Cleanup-storvsc_probe.patch
++ features/x86/hyperv/0050-Staging-hv-storvsc-Cleanup-storvsc_queuecommand.patch
++ features/x86/hyperv/0051-Staging-hv-storvsc-Introduce-defines-for-srb-status-.patch
++ features/x86/hyperv/0052-Staging-hv-storvsc-Cleanup-storvsc_host_reset_handle.patch
++ features/x86/hyperv/0053-Staging-hv-storvsc-Move-and-cleanup-storvsc_remove.patch
++ features/x86/hyperv/0054-Staging-hv-storvsc-Add-a-comment-to-explain-life-cyc.patch
++ features/x86/hyperv/0055-Staging-hv-storvsc-Get-rid-of-the-on_io_completion-i.patch
++ features/x86/hyperv/0056-Staging-hv-storvsc-Rename-the-context-field-in-hv_st.patch
++ features/x86/hyperv/0057-Staging-hv-storvsc-Miscellaneous-cleanup-of-storvsc-.patch
++ features/x86/hyperv/0058-Staging-hv-storvsc-Cleanup-the-code-for-generating-p.patch
++ features/x86/hyperv/0059-Staging-hv-storvsc-Cleanup-some-protocol-related-con.patch
++ features/x86/hyperv/0060-Staging-hv-storvsc-Get-rid-of-some-unused-defines.patch
++ features/x86/hyperv/0061-Staging-hv-storvsc-Consolidate-the-request-structure.patch
++ features/x86/hyperv/0062-Staging-hv-storvsc-Consolidate-all-the-wire-protocol.patch
++ features/x86/hyperv/0063-drivers-hv-Cleanup-the-kvp-related-state-in-hyperv.h.patch
++ features/x86/hyperv/0064-tools-hv-Use-hyperv.h-to-get-the-KVP-definitions.patch
++ features/x86/hyperv/0065-drivers-hv-kvp-Cleanup-the-kernel-user-protocol.patch
++ features/x86/hyperv/0066-drivers-hv-Increase-the-number-of-VCPUs-supported-in.patch
++ features/x86/hyperv/0067-Staging-hv-storvsc-Move-the-storage-driver-out-of-th.patch
++ features/x86/hyperv/0068-net-hyperv-Use-the-built-in-macro-KBUILD_MODNAME-for.patch
++ features/x86/hyperv/0069-net-hyperv-Fix-data-corruption-in-rndis_filter_recei.patch
++ features/x86/hyperv/0070-net-hyperv-Add-support-for-vlan-trunking-from-guests.patch
++ features/x86/hyperv/0071-Drivers-hv-Add-new-message-types-to-enhance-KVP.patch
++ features/x86/hyperv/0072-net-hyperv-fix-erroneous-NETDEV_TX_BUSY-use.patch
++ features/x86/hyperv/0073-Drivers-hv-Support-the-newly-introduced-KVP-messages.patch
++ features/x86/hyperv/0074-Tools-hv-Fully-support-the-new-KVP-verbs-in-the-user.patch
++ features/x86/hyperv/0075-Tools-hv-Support-enumeration-from-all-the-pools.patch
++ features/x86/hyperv/0076-net-hyperv-Fix-the-code-handling-tx-busy.patch
++ features/x86/hyperv/0077-hv-remove-the-second-argument-of-k-un-map_atomic.patch
+
+# Temporary, until the next ABI bump
++ debian/revert-rtc-Provide-flag-for-rtc-devices-that-don-t-s.patch
++ debian/nls-Avoid-ABI-change-from-improvement-to-utf8s_to_ut.patch
+
++ bugfix/all/hugetlb-fix-race-condition-in-hugetlb_fault.patch
Modified: dists/squeeze-backports/linux-2.6/debian/patches/series/base-extra
==============================================================================
--- dists/squeeze-backports/linux-2.6/debian/patches/series/base-extra Mon Apr 23 01:03:13 2012 (r18945)
+++ dists/squeeze-backports/linux-2.6/debian/patches/series/base-extra Mon Apr 23 01:25:17 2012 (r18946)
@@ -18,9 +18,7 @@
+ features/all/rt/ia64-vdso-use-seqcount.patch featureset=rt
+ features/all/rt/seqlock-remove-unused-functions.patch featureset=rt
+ features/all/rt/seqlock-use-seqcount.patch featureset=rt
-+ features/all/rt/seqlock-provide-seq-spin-lock.patch featureset=rt
-+ features/all/rt/fs-struct-use-seqlock.patch featureset=rt
-+ features/all/rt/fs-dentry-use-seqlock.patch featureset=rt
++ features/all/rt/vfs-fstruct-move-code-out-of-seqcount-write-sections.patch featureset=rt
+ features/all/rt/timekeeping-split-xtime-lock.patch featureset=rt
+ features/all/rt/intel_idle-convert-i7300_idle_lock-to-raw-spinlock.patch featureset=rt
+ features/all/rt/mm-memcg-shorten-preempt-disabled-section-around-event-checks.patch featureset=rt
@@ -252,8 +250,6 @@
+ features/all/rt/dm-make-rt-aware.patch featureset=rt
+ features/all/rt/cpumask-disable-offstack-on-rt.patch featureset=rt
+ features/all/rt/seqlock-prevent-rt-starvation.patch featureset=rt
-+ features/all/rt/fs-protect-opencoded-isize-seqcount.patch featureset=rt
-+ features/all/rt/net-u64-stat-protect-seqcount.patch featureset=rt
+ features/all/rt/rfc-timer-fix-hotplug-for-rt.patch featureset=rt
+ features/all/rt/rfc-futex-rt-fix-possible-lockup-when-taking-pi_lock-in-proxy-handler.patch featureset=rt
+ features/all/rt/rfc-ring-buffer-rt-check-for-irqs-disabled-before-grabbing-reader-lock.patch featureset=rt
@@ -263,9 +259,6 @@
+ 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
More information about the Kernel-svn-changes
mailing list