[kernel] r19128 - in dists/trunk/linux: . debian debian/bin debian/config debian/config/kernelarch-x86 debian/config/s390 debian/config/s390x debian/lib/python/debian_linux debian/patches debian/patches/bugfix/all debian/patches/bugfix/x86 debian/patches/debian debian/patches/features/all/hidepid debian/patches/features/all/rt debian/source debian/templates

Ben Hutchings benh at alioth.debian.org
Mon Jun 11 05:21:52 UTC 2012


Author: benh
Date: Mon Jun 11 05:21:50 2012
New Revision: 19128

Log:
Merge changes from sid up to 3.2.20-1

Added:
   dists/trunk/linux/debian/patches/bugfix/all/KVM-Fix-buffer-overflow-in-kvm_set_irq.patch
      - copied unchanged from r19123, dists/sid/linux/debian/patches/bugfix/all/KVM-Fix-buffer-overflow-in-kvm_set_irq.patch
   dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-offset-calculation-when-buildin.patch
      - copied unchanged from r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-offset-calculation-when-buildin.patch
   dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-truesize-underestimation.patch
      - copied unchanged from r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-truesize-underestimation.patch
   dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-put-page-when-fail-to-get-all-reque.patch
      - copied unchanged from r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-put-page-when-fail-to-get-all-reque.patch
   dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-set-SKBTX_DEV_ZEROCOPY-only-when-sk.patch
      - copied unchanged from r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-set-SKBTX_DEV_ZEROCOPY-only-when-sk.patch
   dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-validate-vectors-before-building-sk.patch
      - copied unchanged from r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-validate-vectors-before-building-sk.patch
   dists/trunk/linux/debian/patches/bugfix/all/net-sock-validate-data_len-before-allocating-skb-in-.patch
      - copied unchanged from r19123, dists/sid/linux/debian/patches/bugfix/all/net-sock-validate-data_len-before-allocating-skb-in-.patch
   dists/trunk/linux/debian/patches/bugfix/x86/thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit-pae.patch
      - copied unchanged from r19123, dists/sid/linux/debian/patches/bugfix/x86/thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit-pae.patch
   dists/trunk/linux/debian/patches/features/all/hidepid/
      - copied from r19123, dists/sid/linux/debian/patches/features/all/hidepid/
   dists/trunk/linux/debian/patches/series
      - copied, changed from r19127, dists/trunk/linux/debian/patches/series-all
   dists/trunk/linux/debian/source/local-options
      - copied unchanged from r19123, dists/sid/linux/debian/source/local-options
   dists/trunk/linux/debian/source/options
      - copied unchanged from r19123, dists/sid/linux/debian/source/options
Deleted:
   dists/trunk/linux/debian/patches/series-all
   dists/trunk/linux/debian/patches/series-none
Modified:
   dists/trunk/linux/   (props changed)
   dists/trunk/linux/debian/README.source
   dists/trunk/linux/debian/bin/check-patches.sh
   dists/trunk/linux/debian/bin/genorig.py
   dists/trunk/linux/debian/bin/patch.apply
   dists/trunk/linux/debian/bin/test-patches
   dists/trunk/linux/debian/changelog
   dists/trunk/linux/debian/config/config
   dists/trunk/linux/debian/config/kernelarch-x86/config
   dists/trunk/linux/debian/config/s390/defines
   dists/trunk/linux/debian/config/s390x/defines
   dists/trunk/linux/debian/lib/python/debian_linux/gencontrol.py
   dists/trunk/linux/debian/patches/debian/arch-sh4-fix-uimage-build.patch
   dists/trunk/linux/debian/patches/debian/kernelvariables.patch
   dists/trunk/linux/debian/patches/debian/version.patch
   dists/trunk/linux/debian/patches/features/all/rt/check-series
   dists/trunk/linux/debian/patches/features/all/rt/revert-workqueue-skip-nr_running-sanity-check-in-wor.patch   (props changed)
   dists/trunk/linux/debian/patches/series-rt
   dists/trunk/linux/debian/rules
   dists/trunk/linux/debian/rules.real
   dists/trunk/linux/debian/source/format
   dists/trunk/linux/debian/templates/control.source.in

Modified: dists/trunk/linux/debian/README.source
==============================================================================
--- dists/trunk/linux/debian/README.source	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/README.source	Mon Jun 11 05:21:50 2012	(r19128)
@@ -23,41 +23,20 @@
 Applying patches to the Debian kernel tree
 ==========================================
 
-The Debian kernel packaging uses a custom patching system:
+The Debian kernel packaging uses the quilt patch system, but with
+multiple series to allow for featuresets.
 
 Patches are stored below debian/patches, loosely sorted in bugfix/,
 features/ and debian/. Patches are in the standard kernel patch
 format (unified diff to be applied with patch -p1) and generally have
 DEP-3 headers.
 
-The order and the selection of patches which are applied during build
-time are specified in the series/ subdirectory. The series file 'base'
-is used for all configurations and the series file 'base-extra' is
-additionally used for optional featuresets.
-
-Let's look at the actual series file for 2.6.26-12:
-
-+ bugfix/all/net-unix-gc-fix-soft-lockups-oom-issues.patch
-+ bugfix/all/inotify-watch-removal-umount-races.patch
-+ bugfix/all/atm-duplicate-listen-on-socket-corrupts-the-vcc-table.patch
-+ bugfix/all/ata-pata_marvell-vs-ahci.patch
-+ features/sparc/video-sunxvr500-intergraph.patch
-
-The patches to be applied are specified relative to debian/patches
-and must be preceded by a "+". The series files may be arbitrarily
-documented with comments starting with "#".
-
-Let's now have a look at the series file for the addon kernel flavours
-of 2.6.26-12:
-
-+ features/all/xen/dom0-fix-processor-throttling-when-pr-id-is-minus-1.patch featureset=xen
-
-The same syntax applies for specifing the patches, but an additional
-argument is needed which specifies the featureset the patch applies to.
-
+The series file 'series-all' is used for all configurations and a
+series file 'series-<featureset>' is used for each optional
+featureset.
 
 If you want to generate a source tree with all patches applied, run
-make -f debian/rules source-all
+make -f debian/rules source
 
 The resulting source can be found below debian/build.
 

Modified: dists/trunk/linux/debian/bin/check-patches.sh
==============================================================================
--- dists/trunk/linux/debian/bin/check-patches.sh	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/bin/check-patches.sh	Mon Jun 11 05:21:50 2012	(r19128)
@@ -2,7 +2,7 @@
 
 TMPDIR=$(mktemp -d)
 trap "rm -rf $TMPDIR" EXIT
-grep -v "^#"  debian/patches/series/* | awk '{if (NF >= 2) print "debian/patches/" $2}' | sort -u > $TMPDIR/used
+sed '/^#/d; /^[[:space:]]*$/d; s/^[+X] //; s,^,debian/patches/,' debian/patches/series* | sort -u > $TMPDIR/used
 find debian/patches ! -path '*/series*' -type f -name "*.diff" -o -name "*.patch" -printf "%p\n" | sort > $TMPDIR/avail
 echo "Used patches"
 echo "=============="

Modified: dists/trunk/linux/debian/bin/genorig.py
==============================================================================
--- dists/trunk/linux/debian/bin/genorig.py	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/bin/genorig.py	Mon Jun 11 05:21:50 2012	(r19128)
@@ -33,7 +33,7 @@
         self.log('Using source name %s, version %s, dfsg %s\n' % (source, version.upstream, self.version_dfsg))
 
         self.orig = '%s-%s' % (source, version.upstream)
-        self.orig_tar = '%s_%s.orig.tar.gz' % (source, version.upstream)
+        self.orig_tar = '%s_%s.orig.tar.xz' % (source, version.upstream)
         self.tag = 'v' + version.linux_upstream_full
 
     def __call__(self):
@@ -117,7 +117,7 @@
         except OSError:
             pass
         self.log("Generate tarball %s\n" % out)
-        cmdline = ['tar -czf', out, '-C', self.dir, self.orig]
+        cmdline = ['tar -caf', out, '-C', self.dir, self.orig]
         try:
             if os.spawnv(os.P_WAIT, '/bin/sh', ['sh', '-c', ' '.join(cmdline)]):
                 raise RuntimeError("Can't patch source")

Modified: dists/trunk/linux/debian/bin/patch.apply
==============================================================================
--- dists/trunk/linux/debian/bin/patch.apply	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/bin/patch.apply	Mon Jun 11 05:21:50 2012	(r19128)
@@ -1,50 +0,0 @@
-#!/usr/bin/env python
-
-import os, os.path, re, sys
-from warnings import warn
-from debian_linux.patches import PatchSeries
-
-def main():
-    options, args = parse_options()
-
-    if len(args) > 1:
-        print "Too much arguments"
-        return
-
-    home = options.home
-    name = options.featureset or "all"
-    fp = file(os.path.join(home, "series-%s" % name))
-    PatchSeries(name, home, fp)()
-
-def parse_options():
-    from optparse import OptionParser
-    parser = OptionParser(
-        usage = "%prog [OPTION]... [TARGET]",
-    )
-    parser.add_option(
-        '-f', '--featureset',
-        dest = 'featureset',
-        help = "featureset",
-    )
-    parser.add_option(
-        '-H', '--overwrite-home',
-        dest = 'home',
-        help = "overwrite home [no default]",
-    )
-
-    options, args = parser.parse_args()
-
-    return options, args
-
-if __name__ == '__main__':
-    def showwarning(message, category, filename, lineno,
-                    file=sys.stderr, line=''):
-        file.write("Warning: %s\n" % message)
-    import warnings
-    warnings.showwarning = showwarning
-    try:
-        main()
-    except RuntimeError, e:
-        sys.stderr.write("Error: %s\n" % e)
-        raise SystemExit, 1
-

Modified: dists/trunk/linux/debian/bin/test-patches
==============================================================================
--- dists/trunk/linux/debian/bin/test-patches	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/bin/test-patches	Mon Jun 11 05:21:50 2012	(r19128)
@@ -8,7 +8,7 @@
 kernelabi="$(uname -r)"
 ff="${kernelabi#+([^-])-@(trunk|+([0-9]))-}"
 if [ "x$ff" != "x$kernelabi" ]; then
-    flavour="${ff#@(openvz|vserver|xen)-}"
+    flavour="${ff#@(openvz|rt|vserver|xen)-}"
     if [ "x$flavour" != "x$ff" ]; then
 	featureset="${ff%-$flavour}"
     else
@@ -33,9 +33,9 @@
     echo >&2 "Usage: $0 [<options>] <patch>..."
     cat >&2 <<EOF
 Options:
-     -f <flavour>     specify the 'flavour' of kernel to build, e.g. 686
+     -f <flavour>     specify the 'flavour' of kernel to build, e.g. 686-pae
      -j <jobs>        specify number of compiler jobs to run in parallel
-     -s <featureset>  specify an optional featureset to apply, e.g. xen
+     -s <featureset>  specify an optional featureset to apply, e.g. rt
 EOF
     exit 2
 fi
@@ -55,23 +55,24 @@
     dch -v "$version" --distribution UNRELEASED "Testing patches $*"
 fi
 
-restrictfeature=
-series="${version##*-}"
-if [ "$featureset" != none ]; then
-    restrictfeature=" featureset=$featureset"
-    series="${series}-extra"
+# Make new directory for patches
+mkdir -p debian/patches/test
+
+# Ignore user's .quiltrc
+alias quilt='quilt --quiltrc -'
+
+# Try to clean up any previous test patches
+if [ "$featureset" = none ]; then
+    while quilt top 2>/dev/null | grep -q ^test/; do
+        quilt delete
+    done
+else
+    sed -i '/^test\//d' debian/patches/series-${featureset}
 fi
 
-# Copy all patches into a new directory
+# Prepare a new directory for the patches
 rm -rf debian/patches/test/
 mkdir debian/patches/test
-cp -t debian/patches/test/ "$@"
-
-# Generate patch series for the new version
->debian/patches/series/"$series"
-for patch in "$@"; do
-    echo "+ test/$(basename "$patch")${restrictfeature}" >>debian/patches/series/"$series"
-done
 
 # Regenerate control and included rules
 rm debian/control debian/rules.gen
@@ -79,9 +80,17 @@
 test -f debian/control
 test -f debian/rules.gen
 
-# Clean and patch source
+# Clean up old build; apply existing patches for featureset
 debian/rules clean
 debian/rules source
 
+# Apply the additional patches
+for patch in "$@"; do
+    patch_abs="$(readlink -f "$patch")"
+    (cd "debian/build/source_${featureset}" && \
+     quilt import -P "test/$(basename "$patch")" "$patch_abs" && \
+     quilt push --fuzz=0)
+done
+
 # Build selected binaries
 fakeroot make -f debian/rules.gen binary-arch_"$arch"_"$featureset"_"$flavour"

Modified: dists/trunk/linux/debian/changelog
==============================================================================
--- dists/trunk/linux/debian/changelog	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/changelog	Mon Jun 11 05:21:50 2012	(r19128)
@@ -6,6 +6,7 @@
   [ Ben Hutchings ]
   * [ia64] Export <asm/cmpxchg.h> to userland (fixes FTBFS)
   * [x86] Enable BATTERY_SBS as module (Closes: #662902)
+  * team: Enable NET_TEAM_MODE_LOADBALANCE as module
 
  -- Ben Hutchings <ben at decadent.org.uk>  Thu, 07 Jun 2012 04:45:03 +0100
 
@@ -102,25 +103,71 @@
 
  -- Ben Hutchings <ben at decadent.org.uk>  Sun, 04 Mar 2012 20:27:42 +0000
 
-linux (3.2.19-2) UNRELEASED; urgency=low
+linux (3.2.20-1) unstable; urgency=low
 
-  * The "Not Quite So Many Different Version Numbers" release
+  * The "Confused? You Won't Be" release
+
+  * New upstream stable update:
+    http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.20
+   - cifs: fix oops while traversing open file list (try #4)
+   - mm/fork: fix overflow in vma length when copying mmap on clone
+   - mm: fix faulty initialization in vmalloc_init()
+   - x86, amd, xen: Avoid NULL pointer paravirt references
+   - ext4: force ro mount if ext4_setup_super() fails
+   - ext4: disallow hard-linked directory in ext4_lookup
+   - ext4: add missing save_error_info() to ext4_error()
+   - ALSA: usb-audio: fix rate_list memory leak
+   - Bluetooth: btusb: typo in Broadcom SoftSailing id (Closes: #674565)
+   - ipv4: Do not use dead fib_info entries.
+   - ipv4: fix the rcu race between free_fib_info and ip_route_output_slow
+   - l2tp: fix oops in L2TP IP sockets for connect() AF_UNSPEC case
+   - btree: fix tree corruption in btree_get_prev()
+   - asix: allow full size 8021Q frames to be received (Closes: #676545)
+   - ext4: don't trash state flags in EXT4_IOC_SETFLAGS
+   - ext4: fix the free blocks calculation for ext3 file systems w/ uninit_bg
 
   [ Ben Hutchings ]
   * Rename source package to 'linux' (Closes: #636010)
+  * Convert source package format to 3.0 (quilt)
+    - Convert patch system to quilt, except for the 'orig' patch series
+    - Use xz compression for upstream and Debian tarballs
+    - README.source: Update description of patch system to match current
+      usage
+    - linux-patch-debian: Remove; it is no longer necessary for GPL
+      compliance and does not work with our current patch management
   * linux-image: Change package name for bugs to 'src:linux' (Closes: #644198)
   * DFSG: video: Remove nvidiafb and rivafb, which include apparently
-    obfuscated code (Closes: #383481).  The nouveau driver supports all
-    the same hardware, aside from RIVA 128 (NV3).
+    obfuscated code (Closes: #383481, #609615).  The nouveau driver supports
+    all the same hardware, aside from RIVA 128 (NV3).
   * udeb: Add udf-modules containing UDF filesystem module (Closes: #613972)
   * [mipsel/loongson2f] linux-image: Recommend libc6-loongson2f
     (Closes: #629410)
   * Build-Depend on kmod or module-init-tools, not just the latter
-  * README.source: Update description of patch system to match current usage
-  * linux-patch-debian: Remove; it is no longer necessary for GPL compliance
-    and does not work with our current patch management
+  * test-patches: Recognise the rt featureset automatically
+  * udeb: Build-Depend on kernel-wedge >= 2.84; this allows us to list
+    modules as required even if they are built-in in some configurations
+  * filter: Allow to create sk-unattached filters
+  * proc: Backport hidepid mount option from Linux 3.4 (Closes: #669028)
+  * NFSv4: Reduce the footprint of the idmapper (Closes: #657078)
+  * [i386] thp: avoid atomic64_read in pmd_read_atomic for 32bit PAE
+    (Closes: #676360)
+  * linux-source: Add single patch for each featureset
+  * [x86] Enable CRASH_DUMP, PROC_VMCORE (Closes: #623177)
+  * media/dvb: Enable DVB_DDBRIDGE as module (Closes: #676952)
+  * net: sock: validate data_len before allocating skb in
+    sock_alloc_send_pskb() (CVE-2012-2136)
+  * macvtap: zerocopy: fix offset calculation when building skb
+  * macvtap: zerocopy: fix truesize underestimation
+  * macvtap: zerocopy: put page when fail to get all requested user pages
+  * macvtap: zerocopy: set SKBTX_DEV_ZEROCOPY only when skb is built
+    successfully
+  * macvtap: zerocopy: validate vectors before building skb (CVE-2012-2119)
+  * KVM: Fix buffer overflow in kvm_set_irq() (CVE-2012-2137)
+
+  [ Bastian Blank ]
+  * [s390/s390x,s390x/s390x] Build debugging symbols.
 
- -- Ben Hutchings <ben at decadent.org.uk>  Sat, 02 Jun 2012 20:31:53 +0100
+ -- Ben Hutchings <ben at decadent.org.uk>  Mon, 11 Jun 2012 02:46:34 +0100
 
 linux-2.6 (3.2.19-1) unstable; urgency=low
 

Modified: dists/trunk/linux/debian/config/config
==============================================================================
--- dists/trunk/linux/debian/config/config	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/config/config	Mon Jun 11 05:21:50 2012	(r19128)
@@ -956,6 +956,11 @@
 CONFIG_DVB_BT8XX=m
 
 ##
+## file: drivers/media/dvb/ddbridge/Kconfig
+##
+CONFIG_DVB_DDBRIDGE=m
+
+##
 ## file: drivers/media/dvb/dm1105/Kconfig
 ##
 CONFIG_DVB_DM1105=m
@@ -2096,6 +2101,7 @@
 CONFIG_NET_TEAM=m
 CONFIG_NET_TEAM_MODE_ROUNDROBIN=m
 CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m
+CONFIG_NET_TEAM_MODE_LOADBALANCE=m
 
 ##
 ## file: drivers/net/tokenring/Kconfig

Modified: dists/trunk/linux/debian/config/kernelarch-x86/config
==============================================================================
--- dists/trunk/linux/debian/config/kernelarch-x86/config	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/config/kernelarch-x86/config	Mon Jun 11 05:21:50 2012	(r19128)
@@ -48,7 +48,7 @@
 CONFIG_SECCOMP=y
 CONFIG_CC_STACKPROTECTOR=y
 CONFIG_KEXEC=y
-# CONFIG_CRASH_DUMP is not set
+CONFIG_CRASH_DUMP=y
 # CONFIG_KEXEC_JUMP is not set
 CONFIG_RELOCATABLE=y
 CONFIG_HOTPLUG_CPU=y
@@ -1572,6 +1572,11 @@
 CONFIG_SUN_PARTITION=y
 
 ##
+## file: fs/proc/Kconfig
+##
+CONFIG_PROC_VMCORE=y
+
+##
 ## file: kernel/irq/Kconfig
 ##
 CONFIG_SPARSE_IRQ=y

Modified: dists/trunk/linux/debian/config/s390/defines
==============================================================================
--- dists/trunk/linux/debian/config/s390/defines	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/config/s390/defines	Mon Jun 11 05:21:50 2012	(r19128)
@@ -28,6 +28,9 @@
 override-localversion: s390
 type: plain-s390-tape
 
+[s390x_build]
+debug-info: true
+
 [s390x_description]
 hardware: IBM zSeries
 parts: reader

Modified: dists/trunk/linux/debian/config/s390x/defines
==============================================================================
--- dists/trunk/linux/debian/config/s390x/defines	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/config/s390x/defines	Mon Jun 11 05:21:50 2012	(r19128)
@@ -13,6 +13,9 @@
 bootloaders: s390-tools
 configs: s390/config
 
+[s390x_build]
+debug-info: true
+
 [s390x_description]
 hardware: IBM zSeries
 parts: reader

Modified: dists/trunk/linux/debian/lib/python/debian_linux/gencontrol.py
==============================================================================
--- dists/trunk/linux/debian/lib/python/debian_linux/gencontrol.py	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/lib/python/debian_linux/gencontrol.py	Mon Jun 11 05:21:50 2012	(r19128)
@@ -114,6 +114,8 @@
         pass
 
     def do_main_makefile(self, makefile, makeflags, extra):
+        makeflags = makeflags.copy()
+        makeflags['ALL_FEATURESETS'] = ' '.join(self.config['base', ]['featuresets'])
         makefile.add('binary-indep', cmds=["$(MAKE) -f debian/rules.real binary-indep %s" % makeflags])
 
     def do_main_packages(self, packages, vars, makeflags, extra):

Copied: dists/trunk/linux/debian/patches/bugfix/all/KVM-Fix-buffer-overflow-in-kvm_set_irq.patch (from r19123, dists/sid/linux/debian/patches/bugfix/all/KVM-Fix-buffer-overflow-in-kvm_set_irq.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux/debian/patches/bugfix/all/KVM-Fix-buffer-overflow-in-kvm_set_irq.patch	Mon Jun 11 05:21:50 2012	(r19128, copy of r19123, dists/sid/linux/debian/patches/bugfix/all/KVM-Fix-buffer-overflow-in-kvm_set_irq.patch)
@@ -0,0 +1,33 @@
+From: Avi Kivity <avi at redhat.com>
+Date: Sun, 22 Apr 2012 17:02:11 +0300
+Subject: [PATCH] KVM: Fix buffer overflow in kvm_set_irq()
+
+commit f2ebd422f71cda9c791f76f85d2ca102ae34a1ed upstream.
+
+kvm_set_irq() has an internal buffer of three irq routing entries, allowing
+connecting a GSI to three IRQ chips or on MSI.  However setup_routing_entry()
+does not properly enforce this, allowing three irqchip routes followed by
+an MSI route to overflow the buffer.
+
+Fix by ensuring that an MSI entry is added to an empty list.
+
+Signed-off-by: Avi Kivity <avi at redhat.com>
+---
+ virt/kvm/irq_comm.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/virt/kvm/irq_comm.c b/virt/kvm/irq_comm.c
+index a6a0365..5afb431 100644
+--- a/virt/kvm/irq_comm.c
++++ b/virt/kvm/irq_comm.c
+@@ -332,6 +332,7 @@ static int setup_routing_entry(struct kvm_irq_routing_table *rt,
+ 	 */
+ 	hlist_for_each_entry(ei, n, &rt->map[ue->gsi], link)
+ 		if (ei->type == KVM_IRQ_ROUTING_MSI ||
++		    ue->type == KVM_IRQ_ROUTING_MSI ||
+ 		    ue->u.irqchip.irqchip == ei->irqchip.irqchip)
+ 			return r;
+ 
+-- 
+1.7.10
+

Copied: dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-offset-calculation-when-buildin.patch (from r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-offset-calculation-when-buildin.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-offset-calculation-when-buildin.patch	Mon Jun 11 05:21:50 2012	(r19128, copy of r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-offset-calculation-when-buildin.patch)
@@ -0,0 +1,61 @@
+From: Jason Wang <jasowang at redhat.com>
+Date: Wed, 2 May 2012 11:41:30 +0800
+Subject: [1/5] macvtap: zerocopy: fix offset calculation when building skb
+
+commit 3afc9621f15701c557e60f61eba9242bac2771dd upstream.
+
+This patch fixes the offset calculation when building skb:
+
+- offset1 were used as skb data offset not vector offset
+- reset offset to zero only when we advance to next vector
+
+Signed-off-by: Jason Wang <jasowang at redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
+---
+ drivers/net/macvtap.c |   13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
+index 0427c65..bd4a70d 100644
+--- a/drivers/net/macvtap.c
++++ b/drivers/net/macvtap.c
+@@ -505,10 +505,11 @@ static int zerocopy_sg_from_iovec(struct sk_buff *skb, const struct iovec *from,
+ 		if (copy > size) {
+ 			++from;
+ 			--count;
+-		}
++			offset = 0;
++		} else
++			offset += size;
+ 		copy -= size;
+ 		offset1 += size;
+-		offset = 0;
+ 	}
+ 
+ 	if (len == offset1)
+@@ -519,13 +520,13 @@ static int zerocopy_sg_from_iovec(struct sk_buff *skb, const struct iovec *from,
+ 		int num_pages;
+ 		unsigned long base;
+ 
+-		len = from->iov_len - offset1;
++		len = from->iov_len - offset;
+ 		if (!len) {
+-			offset1 = 0;
++			offset = 0;
+ 			++from;
+ 			continue;
+ 		}
+-		base = (unsigned long)from->iov_base + offset1;
++		base = (unsigned long)from->iov_base + offset;
+ 		size = ((base & ~PAGE_MASK) + len + ~PAGE_MASK) >> PAGE_SHIFT;
+ 		num_pages = get_user_pages_fast(base, size, 0, &page[i]);
+ 		if ((num_pages != size) ||
+@@ -546,7 +547,7 @@ static int zerocopy_sg_from_iovec(struct sk_buff *skb, const struct iovec *from,
+ 			len -= size;
+ 			i++;
+ 		}
+-		offset1 = 0;
++		offset = 0;
+ 		++from;
+ 	}
+ 	return 0;

Copied: dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-truesize-underestimation.patch (from r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-truesize-underestimation.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-truesize-underestimation.patch	Mon Jun 11 05:21:50 2012	(r19128, copy of r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-fix-truesize-underestimation.patch)
@@ -0,0 +1,41 @@
+From: Jason Wang <jasowang at redhat.com>
+Date: Wed, 2 May 2012 11:41:44 +0800
+Subject: [2/5] macvtap: zerocopy: fix truesize underestimation
+
+commit 4ef67ebedffa44ed9939b34708ac2fee06d2f65f upstream.
+
+As the skb fragment were pinned/built from user pages, we should
+account the page instead of length for truesize.
+
+Signed-off-by: Jason Wang <jasowang at redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
+---
+ drivers/net/macvtap.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
+index bd4a70d..7cb2684 100644
+--- a/drivers/net/macvtap.c
++++ b/drivers/net/macvtap.c
+@@ -519,6 +519,7 @@ static int zerocopy_sg_from_iovec(struct sk_buff *skb, const struct iovec *from,
+ 		struct page *page[MAX_SKB_FRAGS];
+ 		int num_pages;
+ 		unsigned long base;
++		unsigned long truesize;
+ 
+ 		len = from->iov_len - offset;
+ 		if (!len) {
+@@ -533,10 +534,11 @@ static int zerocopy_sg_from_iovec(struct sk_buff *skb, const struct iovec *from,
+ 		    (num_pages > MAX_SKB_FRAGS - skb_shinfo(skb)->nr_frags))
+ 			/* put_page is in skb free */
+ 			return -EFAULT;
++		truesize = size * PAGE_SIZE;
+ 		skb->data_len += len;
+ 		skb->len += len;
+-		skb->truesize += len;
+-		atomic_add(len, &skb->sk->sk_wmem_alloc);
++		skb->truesize += truesize;
++		atomic_add(truesize, &skb->sk->sk_wmem_alloc);
+ 		while (len) {
+ 			int off = base & ~PAGE_MASK;
+ 			int size = min_t(int, len, PAGE_SIZE - off);

Copied: dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-put-page-when-fail-to-get-all-reque.patch (from r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-put-page-when-fail-to-get-all-reque.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-put-page-when-fail-to-get-all-reque.patch	Mon Jun 11 05:21:50 2012	(r19128, copy of r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-put-page-when-fail-to-get-all-reque.patch)
@@ -0,0 +1,35 @@
+From: Jason Wang <jasowang at redhat.com>
+Date: Wed, 2 May 2012 11:41:58 +0800
+Subject: [3/5] macvtap: zerocopy: put page when fail to get all requested
+ user pages
+
+commit 02ce04bb3d28c3333231f43bca677228dbc686fe upstream.
+
+When get_user_pages_fast() fails to get all requested pages, we could not use
+kfree_skb() to free it as it has not been put in the skb fragments. So we need
+to call put_page() instead.
+
+Signed-off-by: Jason Wang <jasowang at redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
+---
+ drivers/net/macvtap.c |    6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
+index 7cb2684..9ab182a 100644
+--- a/drivers/net/macvtap.c
++++ b/drivers/net/macvtap.c
+@@ -531,9 +531,11 @@ static int zerocopy_sg_from_iovec(struct sk_buff *skb, const struct iovec *from,
+ 		size = ((base & ~PAGE_MASK) + len + ~PAGE_MASK) >> PAGE_SHIFT;
+ 		num_pages = get_user_pages_fast(base, size, 0, &page[i]);
+ 		if ((num_pages != size) ||
+-		    (num_pages > MAX_SKB_FRAGS - skb_shinfo(skb)->nr_frags))
+-			/* put_page is in skb free */
++		    (num_pages > MAX_SKB_FRAGS - skb_shinfo(skb)->nr_frags)) {
++			for (i = 0; i < num_pages; i++)
++				put_page(page[i]);
+ 			return -EFAULT;
++		}
+ 		truesize = size * PAGE_SIZE;
+ 		skb->data_len += len;
+ 		skb->len += len;

Copied: dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-set-SKBTX_DEV_ZEROCOPY-only-when-sk.patch (from r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-set-SKBTX_DEV_ZEROCOPY-only-when-sk.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-set-SKBTX_DEV_ZEROCOPY-only-when-sk.patch	Mon Jun 11 05:21:50 2012	(r19128, copy of r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-set-SKBTX_DEV_ZEROCOPY-only-when-sk.patch)
@@ -0,0 +1,48 @@
+From: Jason Wang <jasowang at redhat.com>
+Date: Wed, 2 May 2012 11:42:06 +0800
+Subject: [4/5] macvtap: zerocopy: set SKBTX_DEV_ZEROCOPY only when skb is
+ built successfully
+
+commit 01d6657b388438def19c8baaea28e742b6ed32ec upstream.
+
+Current the SKBTX_DEV_ZEROCOPY is set unconditionally after
+zerocopy_sg_from_iovec(), this would lead NULL pointer when macvtap
+fails to build zerocopy skb because destructor_arg was not
+initialized. Solve this by set this flag after the skb were built
+successfully.
+
+Signed-off-by: Jason Wang <jasowang at redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
+---
+ drivers/net/macvtap.c |    9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
+index 9ab182a..a4ff694 100644
+--- a/drivers/net/macvtap.c
++++ b/drivers/net/macvtap.c
+@@ -699,10 +699,9 @@ static ssize_t macvtap_get_user(struct macvtap_queue *q, struct msghdr *m,
+ 	if (!skb)
+ 		goto err;
+ 
+-	if (zerocopy) {
++	if (zerocopy)
+ 		err = zerocopy_sg_from_iovec(skb, iv, vnet_hdr_len, count);
+-		skb_shinfo(skb)->tx_flags |= SKBTX_DEV_ZEROCOPY;
+-	} else
++	else
+ 		err = skb_copy_datagram_from_iovec(skb, 0, iv, vnet_hdr_len,
+ 						   len);
+ 	if (err)
+@@ -721,8 +720,10 @@ static ssize_t macvtap_get_user(struct macvtap_queue *q, struct msghdr *m,
+ 	rcu_read_lock_bh();
+ 	vlan = rcu_dereference_bh(q->vlan);
+ 	/* copy skb_ubuf_info for callback when skb has no error */
+-	if (zerocopy)
++	if (zerocopy) {
+ 		skb_shinfo(skb)->destructor_arg = m->msg_control;
++		skb_shinfo(skb)->tx_flags |= SKBTX_DEV_ZEROCOPY;
++	}
+ 	if (vlan)
+ 		macvlan_start_xmit(skb, vlan->dev);
+ 	else

Copied: dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-validate-vectors-before-building-sk.patch (from r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-validate-vectors-before-building-sk.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux/debian/patches/bugfix/all/macvtap-zerocopy-validate-vectors-before-building-sk.patch	Mon Jun 11 05:21:50 2012	(r19128, copy of r19123, dists/sid/linux/debian/patches/bugfix/all/macvtap-zerocopy-validate-vectors-before-building-sk.patch)
@@ -0,0 +1,78 @@
+From: Jason Wang <jasowang at redhat.com>
+Date: Wed, 2 May 2012 11:42:15 +0800
+Subject: macvtap: zerocopy: validate vectors before building skb
+
+commit b92946e2919134ebe2a4083e4302236295ea2a73 upstream.
+
+There're several reasons that the vectors need to be validated:
+
+- Return error when caller provides vectors whose num is greater than UIO_MAXIOV.
+- Linearize part of skb when userspace provides vectors grater than MAX_SKB_FRAGS.
+- Return error when userspace provides vectors whose total length may exceed
+- MAX_SKB_FRAGS * PAGE_SIZE.
+
+Signed-off-by: Jason Wang <jasowang at redhat.com>
+Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
+---
+ drivers/net/macvtap.c |   25 +++++++++++++++++++++----
+ 1 file changed, 21 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/net/macvtap.c b/drivers/net/macvtap.c
+index a4ff694..163559c 100644
+--- a/drivers/net/macvtap.c
++++ b/drivers/net/macvtap.c
+@@ -529,9 +529,10 @@ static int zerocopy_sg_from_iovec(struct sk_buff *skb, const struct iovec *from,
+ 		}
+ 		base = (unsigned long)from->iov_base + offset;
+ 		size = ((base & ~PAGE_MASK) + len + ~PAGE_MASK) >> PAGE_SHIFT;
++		if (i + size > MAX_SKB_FRAGS)
++			return -EMSGSIZE;
+ 		num_pages = get_user_pages_fast(base, size, 0, &page[i]);
+-		if ((num_pages != size) ||
+-		    (num_pages > MAX_SKB_FRAGS - skb_shinfo(skb)->nr_frags)) {
++		if (num_pages != size) {
+ 			for (i = 0; i < num_pages; i++)
+ 				put_page(page[i]);
+ 			return -EFAULT;
+@@ -651,7 +652,7 @@ static ssize_t macvtap_get_user(struct macvtap_queue *q, struct msghdr *m,
+ 	int err;
+ 	struct virtio_net_hdr vnet_hdr = { 0 };
+ 	int vnet_hdr_len = 0;
+-	int copylen;
++	int copylen = 0;
+ 	bool zerocopy = false;
+ 
+ 	if (q->flags & IFF_VNET_HDR) {
+@@ -680,15 +681,31 @@ static ssize_t macvtap_get_user(struct macvtap_queue *q, struct msghdr *m,
+ 	if (unlikely(len < ETH_HLEN))
+ 		goto err;
+ 
++	err = -EMSGSIZE;
++	if (unlikely(count > UIO_MAXIOV))
++		goto err;
++
+ 	if (m && m->msg_control && sock_flag(&q->sk, SOCK_ZEROCOPY))
+ 		zerocopy = true;
+ 
+ 	if (zerocopy) {
++		/* Userspace may produce vectors with count greater than
++		 * MAX_SKB_FRAGS, so we need to linearize parts of the skb
++		 * to let the rest of data to be fit in the frags.
++		 */
++		if (count > MAX_SKB_FRAGS) {
++			copylen = iov_length(iv, count - MAX_SKB_FRAGS);
++			if (copylen < vnet_hdr_len)
++				copylen = 0;
++			else
++				copylen -= vnet_hdr_len;
++		}
+ 		/* There are 256 bytes to be copied in skb, so there is enough
+ 		 * room for skb expand head in case it is used.
+ 		 * The rest buffer is mapped from userspace.
+ 		 */
+-		copylen = vnet_hdr.hdr_len;
++		if (copylen < vnet_hdr.hdr_len)
++			copylen = vnet_hdr.hdr_len;
+ 		if (!copylen)
+ 			copylen = GOODCOPY_LEN;
+ 	} else

Copied: dists/trunk/linux/debian/patches/bugfix/all/net-sock-validate-data_len-before-allocating-skb-in-.patch (from r19123, dists/sid/linux/debian/patches/bugfix/all/net-sock-validate-data_len-before-allocating-skb-in-.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux/debian/patches/bugfix/all/net-sock-validate-data_len-before-allocating-skb-in-.patch	Mon Jun 11 05:21:50 2012	(r19128, copy of r19123, dists/sid/linux/debian/patches/bugfix/all/net-sock-validate-data_len-before-allocating-skb-in-.patch)
@@ -0,0 +1,48 @@
+From: Jason Wang <jasowang at redhat.com>
+Date: Wed, 30 May 2012 21:18:10 +0000
+Subject: net: sock: validate data_len before allocating skb in
+ sock_alloc_send_pskb()
+
+commit cc9b17ad29ecaa20bfe426a8d4dbfb94b13ff1cc upstream.
+
+We need to validate the number of pages consumed by data_len, otherwise frags
+array could be overflowed by userspace. So this patch validate data_len and
+return -EMSGSIZE when data_len may occupies more frags than MAX_SKB_FRAGS.
+
+Signed-off-by: Jason Wang <jasowang at redhat.com>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ net/core/sock.c |    7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/net/core/sock.c b/net/core/sock.c
+index 653f8c0..9e5b71f 100644
+--- a/net/core/sock.c
++++ b/net/core/sock.c
+@@ -1592,6 +1592,11 @@ struct sk_buff *sock_alloc_send_pskb(struct sock *sk, unsigned long header_len,
+ 	gfp_t gfp_mask;
+ 	long timeo;
+ 	int err;
++	int npages = (data_len + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
++
++	err = -EMSGSIZE;
++	if (npages > MAX_SKB_FRAGS)
++		goto failure;
+ 
+ 	gfp_mask = sk->sk_allocation;
+ 	if (gfp_mask & __GFP_WAIT)
+@@ -1610,14 +1615,12 @@ struct sk_buff *sock_alloc_send_pskb(struct sock *sk, unsigned long header_len,
+ 		if (atomic_read(&sk->sk_wmem_alloc) < sk->sk_sndbuf) {
+ 			skb = alloc_skb(header_len, gfp_mask);
+ 			if (skb) {
+-				int npages;
+ 				int i;
+ 
+ 				/* No pages, we're done... */
+ 				if (!data_len)
+ 					break;
+ 
+-				npages = (data_len + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
+ 				skb->truesize += data_len;
+ 				skb_shinfo(skb)->nr_frags = npages;
+ 				for (i = 0; i < npages; i++) {

Copied: dists/trunk/linux/debian/patches/bugfix/x86/thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit-pae.patch (from r19123, dists/sid/linux/debian/patches/bugfix/x86/thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit-pae.patch)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux/debian/patches/bugfix/x86/thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit-pae.patch	Mon Jun 11 05:21:50 2012	(r19128, copy of r19123, dists/sid/linux/debian/patches/bugfix/x86/thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit-pae.patch)
@@ -0,0 +1,112 @@
+From: Andrea Arcangeli <aarcange at redhat.com>
+Subject: thp: avoid atomic64_read in pmd_read_atomic for 32bit PAE
+
+In the x86 32bit PAE CONFIG_TRANSPARENT_HUGEPAGE=y case while holding the
+mmap_sem for reading, cmpxchg8b cannot be used to read pmd contents under
+Xen.
+
+So instead of dealing only with "consistent" pmdvals in
+pmd_none_or_trans_huge_or_clear_bad() (which would be conceptually
+simpler) we let pmd_none_or_trans_huge_or_clear_bad() deal with pmdvals
+where the low 32bit and high 32bit could be inconsistent (to avoid having
+to use cmpxchg8b).
+
+The only guarantee we get from pmd_read_atomic is that if the low part of
+the pmd was found null, the high part will be null too (so the pmd will be
+considered unstable).  And if the low part of the pmd is found "stable"
+later, then it means the whole pmd was read atomically (because after a
+pmd is stable, neither MADV_DONTNEED nor page faults can alter it anymore,
+and we read the high part after the low part).
+
+In the 32bit PAE x86 case, it is enough to read the low part of the pmdval
+atomically to declare the pmd as "stable" and that's true for THP and no
+THP, furthermore in the THP case we also have a barrier() that will
+prevent any inconsistent pmdvals to be cached by a later re-read of the
+*pmd.
+
+Signed-off-by: Andrea Arcangeli <aarcange at redhat.com>
+Cc: Jonathan Nieder <jrnieder at gmail.com>
+Cc: Ulrich Obergfell <uobergfe at redhat.com>
+Cc: Mel Gorman <mgorman at suse.de>
+Cc: Hugh Dickins <hughd at google.com>
+Cc: Larry Woodman <lwoodman at redhat.com>
+Cc: Petr Matousek <pmatouse at redhat.com>
+Cc: Rik van Riel <riel at redhat.com>
+Cc: Jan Beulich <jbeulich at suse.com>
+Cc: KOSAKI Motohiro <kosaki.motohiro at gmail.com>
+Cc: <stable at vger.kernel.org>
+Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
+---
+
+ arch/x86/include/asm/pgtable-3level.h |   30 +++++++++++++-----------
+ include/asm-generic/pgtable.h         |   10 ++++++++
+ 2 files changed, 27 insertions(+), 13 deletions(-)
+
+--- a/arch/x86/include/asm/pgtable-3level.h
++++ b/arch/x86/include/asm/pgtable-3level.h
+@@ -47,16 +47,26 @@
+  * they can run pmd_offset_map_lock or pmd_trans_huge or other pmd
+  * operations.
+  *
+- * Without THP if the mmap_sem is hold for reading, the
+- * pmd can only transition from null to not null while pmd_read_atomic runs.
+- * So there's no need of literally reading it atomically.
++ * Without THP if the mmap_sem is hold for reading, the pmd can only
++ * transition from null to not null while pmd_read_atomic runs. So
++ * we can always return atomic pmd values with this function.
+  *
+  * With THP if the mmap_sem is hold for reading, the pmd can become
+- * THP or null or point to a pte (and in turn become "stable") at any
+- * time under pmd_read_atomic, so it's mandatory to read it atomically
+- * with cmpxchg8b.
++ * trans_huge or none or point to a pte (and in turn become "stable")
++ * at any time under pmd_read_atomic. We could read it really
++ * atomically here with a atomic64_read for the THP enabled case (and
++ * it would be a whole lot simpler), but to avoid using cmpxchg8b we
++ * only return an atomic pmdval if the low part of the pmdval is later
++ * found stable (i.e. pointing to a pte). And we're returning a none
++ * pmdval if the low part of the pmd is none. In some cases the high
++ * and low part of the pmdval returned may not be consistent if THP is
++ * enabled (the low part may point to previously mapped hugepage,
++ * while the high part may point to a more recently mapped hugepage),
++ * but pmd_none_or_trans_huge_or_clear_bad() only needs the low part
++ * of the pmd to be read atomically to decide if the pmd is unstable
++ * or not, with the only exception of when the low part of the pmd is
++ * zero in which case we return a none pmd.
+  */
+-#ifndef CONFIG_TRANSPARENT_HUGEPAGE
+ static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
+ {
+ 	pmdval_t ret;
+@@ -74,12 +84,6 @@
+ 
+ 	return (pmd_t) { ret };
+ }
+-#else /* CONFIG_TRANSPARENT_HUGEPAGE */
+-static inline pmd_t pmd_read_atomic(pmd_t *pmdp)
+-{
+-	return (pmd_t) { atomic64_read((atomic64_t *)pmdp) };
+-}
+-#endif /* CONFIG_TRANSPARENT_HUGEPAGE */
+ 
+ static inline void native_set_pte_atomic(pte_t *ptep, pte_t pte)
+ {
+--- a/include/asm-generic/pgtable.h
++++ b/include/asm-generic/pgtable.h
+@@ -484,6 +484,16 @@
+ 	/*
+ 	 * The barrier will stabilize the pmdval in a register or on
+ 	 * the stack so that it will stop changing under the code.
++	 *
++	 * When CONFIG_TRANSPARENT_HUGEPAGE=y on x86 32bit PAE,
++	 * pmd_read_atomic is allowed to return a not atomic pmdval
++	 * (for example pointing to an hugepage that has never been
++	 * mapped in the pmd). The below checks will only care about
++	 * the low part of the pmd with 32bit PAE x86 anyway, with the
++	 * exception of pmd_none(). So the important thing is that if
++	 * the low part of the pmd is found null, the high part will
++	 * be also null or the pmd_none() check below would be
++	 * confused.
+ 	 */
+ #ifdef CONFIG_TRANSPARENT_HUGEPAGE
+ 	barrier();

Modified: dists/trunk/linux/debian/patches/debian/arch-sh4-fix-uimage-build.patch
==============================================================================
--- dists/trunk/linux/debian/patches/debian/arch-sh4-fix-uimage-build.patch	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/patches/debian/arch-sh4-fix-uimage-build.patch	Mon Jun 11 05:21:50 2012	(r19128)
@@ -1,5 +1,5 @@
---- a/arch/sh/Makefile	2009-12-03 12:51:21.000000000 +0900
-+++ b/arch/sh/Makefile	2010-02-04 15:47:57.000000000 +0900
+--- a/arch/sh/Makefile
++++ b/arch/sh/Makefile
 @@ -75,7 +75,6 @@
  
  # Give the various platforms the opportunity to set default image types
@@ -7,4 +7,4 @@
 -defaultimage-$(CONFIG_SH_SH7785LCR)		:= uImage
  defaultimage-$(CONFIG_SH_RSK)			:= uImage
  defaultimage-$(CONFIG_SH_URQUELL)		:= uImage
- defaultimage-$(CONFIG_SH_7206_SOLUTION_ENGINE)	:= vmlinux
+ defaultimage-$(CONFIG_SH_MIGOR)			:= uImage

Modified: dists/trunk/linux/debian/patches/debian/kernelvariables.patch
==============================================================================
--- dists/trunk/linux/debian/patches/debian/kernelvariables.patch	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/patches/debian/kernelvariables.patch	Mon Jun 11 05:21:50 2012	(r19128)
@@ -13,8 +13,8 @@
 
 --- a/Makefile
 +++ b/Makefile
-@@ -198,46 +198,6 @@
- CROSS_COMPILE	?=
+@@ -195,46 +195,6 @@
+ ARCH		?= $(SUBARCH)
  CROSS_COMPILE	?= $(CONFIG_CROSS_COMPILE:"%"=%)
  
 -# Architecture as present in compile.h
@@ -60,7 +60,7 @@
  KCONFIG_CONFIG	?= .config
  export KCONFIG_CONFIG
  
-@@ -354,6 +314,44 @@ LDFLAGS_MODULE  =
+@@ -354,6 +314,44 @@
  AFLAGS_KERNEL	=
  CFLAGS_GCOV	= -fprofile-arcs -ftest-coverage
  

Modified: dists/trunk/linux/debian/patches/debian/version.patch
==============================================================================
--- dists/trunk/linux/debian/patches/debian/version.patch	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/patches/debian/version.patch	Mon Jun 11 05:21:50 2012	(r19128)
@@ -22,7 +22,7 @@
 
 --- a/init/version.c
 +++ b/init/version.c
-@@ -36,12 +36,31 @@ struct uts_namespace init_uts_ns = {
+@@ -37,12 +37,31 @@
  };
  EXPORT_SYMBOL_GPL(init_uts_ns);
  
@@ -59,7 +59,7 @@
  	" (" LINUX_COMPILER ") %s\n";
 --- a/scripts/mkcompile_h
 +++ b/scripts/mkcompile_h
-@@ -73,7 +73,25 @@ UTS_TRUNCATE="sed -e s/\(.\{1,$UTS_LEN\}\).*/\1/"
+@@ -73,8 +73,26 @@
  
    echo \#define UTS_VERSION \"`echo $UTS_VERSION | $UTS_TRUNCATE`\"
  
@@ -87,3 +87,4 @@
 +  fi
  
    echo \#define LINUX_COMPILER \"`$CC -v 2>&1 | tail -n 1`\"
+ ) > .tmpcompile

Modified: dists/trunk/linux/debian/patches/features/all/rt/check-series
==============================================================================
--- dists/trunk/linux/debian/patches/features/all/rt/check-series	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/patches/features/all/rt/check-series	Mon Jun 11 05:21:50 2012	(r19128)
@@ -1,16 +1,13 @@
 #! /bin/sh
 
-debian_series="$(mktemp)"
+debian_series=debian/patches/series-rt
 rt_series="$(mktemp)"
 
-trap 'rm "$debian_series" "$rt_series"' INT QUIT EXIT
-
-# Pick all featureset=rt patches
-grep "featureset=rt$" debian/patches/series/base-extra > "$debian_series"
+trap 'rm "$rt_series"' INT QUIT EXIT
 
 # Remove comments and empty lines. Drop localversion patch as uname version
 # shouldn't be touched. Reformat to match series format.
-sed -r -e 's/ *#.*//; /^$/d; /^....-(localversion\.patch|Linux-.*-REBASE)\.patch$/d; s,.*,+ features/all/rt/& featureset=rt,' "debian/patches/features/all/rt/series" > "$rt_series"
+sed -r -e 's/ *#.*//; /^$/d; /^....-(localversion\.patch|Linux-.*-REBASE)\.patch$/d; s,.*,features/all/rt/&,' "debian/patches/features/all/rt/series" > "$rt_series"
 
 # removed lines are OK if the rt patch contains fixes that are applied on
 # featureset=none kernels, too.

Copied and modified: dists/trunk/linux/debian/patches/series (from r19127, dists/trunk/linux/debian/patches/series-all)
==============================================================================
--- dists/trunk/linux/debian/patches/series-all	Mon Jun 11 05:06:55 2012	(r19127, copy source)
+++ dists/trunk/linux/debian/patches/series	Mon Jun 11 05:21:50 2012	(r19128)
@@ -1,90 +1,100 @@
-+ debian/version.patch
-+ debian/kernelvariables.patch
-+ debian/doc-build-parallel.patch
+debian/version.patch
+debian/kernelvariables.patch
+debian/doc-build-parallel.patch
 
-+ features/all/drivers-media-dvb-usb-af9005-request_firmware.patch
+features/all/drivers-media-dvb-usb-af9005-request_firmware.patch
 
-+ features/all/sound-pci-cs46xx-request_firmware.patch
+features/all/sound-pci-cs46xx-request_firmware.patch
 
 # Patches and source files from aufs3 repository, imported with
 # debian/patches/features/all/aufs3/gen-patch.
-+ features/all/aufs3/aufs3-base.patch
-+ features/all/aufs3/aufs3-standalone.patch
-+ features/all/aufs3/aufs3-kbuild.patch
-+ features/all/aufs3/aufs3-add.patch
+features/all/aufs3/aufs3-base.patch
+features/all/aufs3/aufs3-standalone.patch
+features/all/aufs3/aufs3-kbuild.patch
+features/all/aufs3/aufs3-add.patch
 # mark as staging/crap
-+ features/all/aufs3/mark-as-staging.patch
+features/all/aufs3/mark-as-staging.patch
 # fix added exports from security/device_cgroup.c
-+ features/all/aufs3/aufs3-fix-export-__devcgroup_inode_permission.patch
+features/all/aufs3/aufs3-fix-export-__devcgroup_inode_permission.patch
 
-+ bugfix/ia64/hardcode-arch-script-output.patch
-+ bugfix/mips/disable-advansys.patch
-+ bugfix/arm/disable-scsi_acard.patch
-+ debian/mips-disable-werror.patch
-+ bugfix/powerpc/lpar-console.patch
+bugfix/ia64/hardcode-arch-script-output.patch
+bugfix/mips/disable-advansys.patch
+bugfix/arm/disable-scsi_acard.patch
+debian/mips-disable-werror.patch
+bugfix/powerpc/lpar-console.patch
 
-+ debian/sysrq-mask.patch
+debian/sysrq-mask.patch
 
-+ debian/arch-sh4-fix-uimage-build.patch
+debian/arch-sh4-fix-uimage-build.patch
 
-+ debian/af_802154-Disable-auto-loading-as-mitigation-against.patch
-+ debian/rds-Disable-auto-loading-as-mitigation-against-local.patch
-+ debian/decnet-Disable-auto-loading-as-mitigation-against-lo.patch
+debian/af_802154-Disable-auto-loading-as-mitigation-against.patch
+debian/rds-Disable-auto-loading-as-mitigation-against-local.patch
+debian/decnet-Disable-auto-loading-as-mitigation-against-lo.patch
 
-+ bugfix/all/dm-Deal-with-merge_bvec_fn-in-component-devices-bett.patch
-+ features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch
+bugfix/all/dm-Deal-with-merge_bvec_fn-in-component-devices-bett.patch
+features/all/Kbuild-kconfig-Verbose-version-of-listnewconfig.patch
 
-+ debian/sched-autogroup-disabled.patch
+debian/sched-autogroup-disabled.patch
 #+ bugfix/all/rt2800-disable-powersaving-as-default.patch
-+ features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch
-+ debian/cgroups-Document-the-Debian-memory-resource-controll.patch
-+ bugfix/ia64/nouveau-ACPI-support-is-dependent-on-X86.patch
-+ bugfix/arm/ixp4xx_iobe.patch
-+ debian/x86-memtest-WARN-if-bad-RAM-found.patch
-+ bugfix/alpha/alpha-add-io-read-write-16-32-be-functions.patch
-
-+ features/all/fs-symlink-restrictions-on-sticky-directories.patch
-+ features/all/fs-symlink-restrictions-on-sticky-directories-fix-2.patch
-+ features/all/fs-hardlink-creation-restrictions.patch
-+ features/all/fs-hardlink-creation-restrictions-fix.patch
-+ features/all/fs-hardlink-creation-restriction-cleanup.patch
+features/all/cgroups-Allow-memory-cgroup-support-to-be-included-b.patch
+debian/cgroups-Document-the-Debian-memory-resource-controll.patch
+bugfix/ia64/nouveau-ACPI-support-is-dependent-on-X86.patch
+bugfix/arm/ixp4xx_iobe.patch
+debian/x86-memtest-WARN-if-bad-RAM-found.patch
+bugfix/alpha/alpha-add-io-read-write-16-32-be-functions.patch
+
+features/all/fs-symlink-restrictions-on-sticky-directories.patch
+features/all/fs-symlink-restrictions-on-sticky-directories-fix-2.patch
+features/all/fs-hardlink-creation-restrictions.patch
+features/all/fs-hardlink-creation-restrictions-fix.patch
+features/all/fs-hardlink-creation-restriction-cleanup.patch
 
 # Update wacom driver to 3.5ish
-+ features/all/wacom/0020-Input-wacom-add-basic-Intuos5-support.patch
-+ features/all/wacom/0021-Input-wacom-add-Intuos5-Touch-Ring-ExpressKey-suppor.patch
-+ features/all/wacom/0022-Input-wacom-add-Intuos5-Touch-Ring-LED-support.patch
-+ features/all/wacom/0023-Input-wacom-add-Intuos5-multitouch-sensor-support.patch
-+ features/all/wacom/0024-Input-wacom-retrieve-maximum-number-of-touch-points.patch
-+ features/all/wacom/0025-Input-wacom-add-0xE5-MT-device-support.patch
-+ features/all/wacom/0026-Input-wacom-return-proper-error-if-usb_get_extra_des.patch
+features/all/wacom/0020-Input-wacom-add-basic-Intuos5-support.patch
+features/all/wacom/0021-Input-wacom-add-Intuos5-Touch-Ring-ExpressKey-suppor.patch
+features/all/wacom/0022-Input-wacom-add-Intuos5-Touch-Ring-LED-support.patch
+features/all/wacom/0023-Input-wacom-add-Intuos5-multitouch-sensor-support.patch
+features/all/wacom/0024-Input-wacom-retrieve-maximum-number-of-touch-points.patch
+features/all/wacom/0025-Input-wacom-add-0xE5-MT-device-support.patch
+features/all/wacom/0026-Input-wacom-return-proper-error-if-usb_get_extra_des.patch
 
 # Update be2net driver to 3.5ish
-+ features/all/be2net/0043-be2net-fix-ethtool-get-settings.patch
-+ features/all/be2net/0044-be2net-Fix-VLAN-multicast-packet-reception.patch
-+ features/all/be2net/0045-be2net-Fix-FW-download-in-Lancer.patch
-+ features/all/be2net/0046-be2net-Fix-ethtool-self-test-for-Lancer.patch
-+ features/all/be2net/0047-be2net-Fix-traffic-stall-INTx-mode.patch
-+ features/all/be2net/0048-be2net-Fix-Lancer-statistics.patch
-+ features/all/be2net/0049-be2net-Fix-wrong-status-getting-returned-for-MCC-com.patch
-+ features/all/be2net/0050-be2net-Fix-FW-download-for-BE.patch
-+ features/all/be2net/0051-be2net-Ignore-status-of-some-ioctls-during-driver-lo.patch
-+ features/all/be2net/0052-be2net-fix-speed-displayed-by-ethtool-on-certain-SKU.patch
-+ features/all/be2net/0053-be2net-update-the-driver-version.patch
-+ features/all/be2net/0054-be2net-Fix-to-not-set-link-speed-for-disabled-functi.patch
-+ features/all/be2net/0055-be2net-Fix-to-apply-duplex-value-as-unknown-when-lin.patch
-+ features/all/be2net/0056-be2net-Record-receive-queue-index-in-skb-to-aid-RPS.patch
-+ features/all/be2net/0057-be2net-Fix-EEH-error-reset-before-a-flash-dump-compl.patch
-+ features/all/be2net/0058-be2net-avoid-disabling-sriov-while-VFs-are-assigned.patch
+features/all/be2net/0043-be2net-fix-ethtool-get-settings.patch
+features/all/be2net/0044-be2net-Fix-VLAN-multicast-packet-reception.patch
+features/all/be2net/0045-be2net-Fix-FW-download-in-Lancer.patch
+features/all/be2net/0046-be2net-Fix-ethtool-self-test-for-Lancer.patch
+features/all/be2net/0047-be2net-Fix-traffic-stall-INTx-mode.patch
+features/all/be2net/0048-be2net-Fix-Lancer-statistics.patch
+features/all/be2net/0049-be2net-Fix-wrong-status-getting-returned-for-MCC-com.patch
+features/all/be2net/0050-be2net-Fix-FW-download-for-BE.patch
+features/all/be2net/0051-be2net-Ignore-status-of-some-ioctls-during-driver-lo.patch
+features/all/be2net/0052-be2net-fix-speed-displayed-by-ethtool-on-certain-SKU.patch
+features/all/be2net/0053-be2net-update-the-driver-version.patch
+features/all/be2net/0054-be2net-Fix-to-not-set-link-speed-for-disabled-functi.patch
+features/all/be2net/0055-be2net-Fix-to-apply-duplex-value-as-unknown-when-lin.patch
+features/all/be2net/0056-be2net-Record-receive-queue-index-in-skb-to-aid-RPS.patch
+features/all/be2net/0057-be2net-Fix-EEH-error-reset-before-a-flash-dump-compl.patch
+features/all/be2net/0058-be2net-avoid-disabling-sriov-while-VFs-are-assigned.patch
 
 # Add CoDel from 3.5, and prerequisites
-+ features/all/codel/0001-codel-Controlled-Delay-AQM.patch
-+ features/all/codel/0002-codel-use-Newton-method-instead-of-sqrt-and-divides.patch
-+ features/all/codel/0003-fq_codel-Fair-Queue-Codel-AQM.patch
-+ features/all/codel/0004-net-codel-Add-missing-include-linux-prefetch.h.patch
-+ features/all/codel/0005-net-codel-fix-build-errors.patch
-+ features/all/codel/0006-codel-use-u16-field-instead-of-31bits-for-rec_inv_sq.patch
-+ features/all/codel/0007-fq_codel-should-use-qdisc-backlog-as-threshold.patch
+features/all/codel/0001-codel-Controlled-Delay-AQM.patch
+features/all/codel/0002-codel-use-Newton-method-instead-of-sqrt-and-divides.patch
+features/all/codel/0003-fq_codel-Fair-Queue-Codel-AQM.patch
+features/all/codel/0004-net-codel-Add-missing-include-linux-prefetch.h.patch
+features/all/codel/0005-net-codel-fix-build-errors.patch
+features/all/codel/0006-codel-use-u16-field-instead-of-31bits-for-rec_inv_sq.patch
+features/all/codel/0007-fq_codel-should-use-qdisc-backlog-as-threshold.patch
+
+bugfix/x86/mm-pmd_read_atomic-fix-32bit-pae-pmd-walk-vs-pmd_populate-smp-race.patch
+bugfix/x86/thp-avoid-atomic64_read-in-pmd_read_atomic-for-32bit-pae.patch
+
+bugfix/ia64/IA64-Export-asm-cmpxchg.h-to-userland.patch
+bugfix/all/net-sock-validate-data_len-before-allocating-skb-in-.patch
+
+bugfix/all/macvtap-zerocopy-fix-offset-calculation-when-buildin.patch
+bugfix/all/macvtap-zerocopy-fix-truesize-underestimation.patch
+bugfix/all/macvtap-zerocopy-put-page-when-fail-to-get-all-reque.patch
+bugfix/all/macvtap-zerocopy-set-SKBTX_DEV_ZEROCOPY-only-when-sk.patch
+bugfix/all/macvtap-zerocopy-validate-vectors-before-building-sk.patch
 
-+ bugfix/x86/mm-pmd_read_atomic-fix-32bit-pae-pmd-walk-vs-pmd_populate-smp-race.patch
-
-+ bugfix/ia64/IA64-Export-asm-cmpxchg.h-to-userland.patch
+bugfix/all/KVM-Fix-buffer-overflow-in-kvm_set_irq.patch

Modified: dists/trunk/linux/debian/patches/series-rt
==============================================================================
--- dists/trunk/linux/debian/patches/series-rt	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/patches/series-rt	Mon Jun 11 05:21:50 2012	(r19128)
@@ -1,253 +1,253 @@
-+ features/all/rt/re-possible-slab-deadlock-while-doing-ifenslave-1.patch
-+ features/all/rt/x86-kprobes-remove-bogus-preempt-enable.patch
-+ features/all/rt/tick-skew.patch
-+ features/all/rt/x86-hpet-disable-msi-on-lenovo-w510.patch
-+ features/all/rt/block-shorten-interrupt-disabled-regions.patch
-+ features/all/rt/sched-distangle-worker-accounting-from-rq-3elock.patch
-+ features/all/rt/mips-enable-interrupts-in-signal.patch
-+ features/all/rt/arm-enable-interrupts-in-signal-code.patch
-+ features/all/rt/seqlock-remove-unused-functions.patch
-+ features/all/rt/seqlock-use-seqcount.patch
-+ features/all/rt/timekeeping-split-xtime-lock.patch
-+ features/all/rt/intel_idle-convert-i7300_idle_lock-to-raw-spinlock.patch
-+ features/all/rt/tracing-account-for-preempt-off-in-preempt_schedule.patch
-+ features/all/rt/signal-revert-ptrace-preempt-magic.patch
-+ features/all/rt/arm-mark-pmu-interupt-no-thread.patch
-+ features/all/rt/arm-allow-irq-threading.patch
-+ features/all/rt/arm-convert-boot-lock-to-raw.patch
-+ features/all/rt/arm-omap-make-wakeupgen_lock-raw.patch
-+ features/all/rt/signals-do-not-wake-self.patch
-+ features/all/rt/posix-timers-no-broadcast.patch
-+ features/all/rt/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch
-+ features/all/rt/oleg-signal-rt-fix.patch
-+ features/all/rt/generic-cmpxchg-use-raw-local-irq.patch
-+ features/all/rt/drivers-random-reduce-preempt-disabled-region.patch
-+ features/all/rt/arm-at91-pit-remove-irq-handler-when-clock-is-unused.patch
-+ features/all/rt/clocksource-tclib-allow-higher-clockrates.patch
-+ features/all/rt/drivers-net-tulip-add-missing-pci-disable.patch
-+ features/all/rt/drivers-net-8139-disable-irq-nosync.patch
-+ features/all/rt/drivers-net-ehea-mark-rx-irq-no-thread.patch
-+ features/all/rt/drivers-net-at91-make-mdio-protection-rt-safe.patch
-+ features/all/rt/mm-prepare-pf-disable-discoupling.patch
-+ features/all/rt/arch-use-pagefault-disabled.patch
-+ features/all/rt/peter_zijlstra-frob-pagefault_disable.patch
-+ features/all/rt/peterz-raw_pagefault_disable.patch
-+ features/all/rt/filemap-fix-up.patch
-+ features/all/rt/mm-remove-preempt-count-from-pf.patch
-+ features/all/rt/x86-highmem-warn.patch
-+ features/all/rt/suspend-prevernt-might-sleep-splats.patch
-+ features/all/rt/of-fixup-recursive-locking.patch
-+ features/all/rt/of-convert-devtree-lock.patch
-+ features/all/rt/list-add-list-last-entry.patch
-+ features/all/rt/mm-page-alloc-use-list-last-entry.patch
-+ features/all/rt/mm-slab-move-debug-out.patch
-+ features/all/rt/pid-h-include-atomic-h.patch
-+ features/all/rt/sysctl-include-atomic-h.patch
-+ features/all/rt/net-flip-lock-dep-thingy.patch
-+ features/all/rt/softirq-thread-do-softirq.patch
-+ features/all/rt/softirq-split-out-code.patch
-+ features/all/rt/x86-io-apic-migra-no-unmask.patch
-+ features/all/rt/fix-rt-int3-x86_32-3.2-rt.patch
-+ features/all/rt/locking-various-init-fixes.patch
-+ features/all/rt/pci-access-use-__wake_up_all_locked.patch
-+ features/all/rt/latency-hist.patch
-+ features/all/rt/hwlatdetect.patch
-+ features/all/rt/localversion.patch
-+ features/all/rt/early-printk-consolidate.patch
-+ features/all/rt/printk-kill.patch
-+ features/all/rt/printk-27force_early_printk-27-boot-param-to-help-with-debugging.patch
-+ features/all/rt/rt-preempt-base-config.patch
-+ features/all/rt/bug-rt-dependend-variants.patch
-+ features/all/rt/local-irq-rt-depending-variants.patch
-+ features/all/rt/preempt-nort-rt-variants.patch
-+ features/all/rt/ata-disable-interrupts-if-non-rt.patch
-+ features/all/rt/ide-use-nort-local-irq-variants.patch
-+ features/all/rt/infiniband-mellanox-ib-use-nort-irq.patch
-+ features/all/rt/inpt-gameport-use-local-irq-nort.patch
-+ features/all/rt/acpi-use-local-irq-nort.patch
-+ features/all/rt/user-use-local-irq-nort.patch
-+ features/all/rt/resource-counters-use-localirq-nort.patch
-+ features/all/rt/usb-hcd-use-local-irq-nort.patch
-+ features/all/rt/tty-use-local-irq-nort.patch
-+ features/all/rt/mm-scatterlist-dont-disable-irqs-on-RT.patch
-+ features/all/rt/signal-fix-up-rcu-wreckage.patch
-+ features/all/rt/net-wireless-warn-nort.patch
-+ features/all/rt/mm-cgroup-page-bit-spinlock.patch
-+ features/all/rt/fs-replace-bh_uptodate_lock-for-rt.patch
-+ features/all/rt/fs-jbd-replace-bh_state-lock.patch
-+ features/all/rt/genirq-nodebug-shirq.patch
-+ features/all/rt/genirq-disable-random-call-on-preempt-rt.patch
-+ features/all/rt/genirq-disable-irqpoll-on-rt.patch
-+ features/all/rt/genirq-force-threading.patch
-+ features/all/rt/drivers-net-fix-livelock-issues.patch
-+ features/all/rt/drivers-net-vortex-fix-locking-issues.patch
-+ features/all/rt/drivers-net-gianfar-make-rt-aware.patch
-+ features/all/rt/usb-fix-mouse-problem-copying-large-data.patch
-+ features/all/rt/local-var.patch
-+ features/all/rt/rt-local-irq-lock.patch
-+ features/all/rt/cpu-rt-variants.patch
-+ features/all/rt/mm-slab-wrap-functions.patch
-+ features/all/rt/rt-slab-fix-__do_drain-to-use-the-right-array-cache.patch
-+ features/all/rt/mm-slab-more-lock-breaks.patch
-+ features/all/rt/mm-page_alloc-rt-friendly-per-cpu-pages.patch
-+ features/all/rt/mm-page_alloc-reduce-lock-sections-further.patch
-+ features/all/rt/mm-page-alloc-fix.patch
-+ features/all/rt/mm-convert-swap-to-percpu-locked.patch
-+ features/all/rt/mm-make-vmstat-rt-aware.patch
-+ features/all/rt/mm-shrink-the-page-frame-to-rt-size.patch
-+ features/all/rt/re-preempt_rt_full-arm-coredump-fails-for-cpu-3e-3d-4.patch
-+ features/all/rt/mm-allow-slab-rt.patch
-+ features/all/rt/radix-tree-rt-aware.patch
-+ features/all/rt/panic-disable-random-on-rt.patch
-+ features/all/rt/ipc-make-rt-aware.patch
-+ features/all/rt/ipc-mqueue-add-a-critical-section-to-avoid-a-deadlock.patch
-+ features/all/rt/relay-fix-timer-madness.patch
-+ features/all/rt/net-ipv4-route-use-locks-on-up-rt.patch
-+ features/all/rt/workqueue-avoid-the-lock-in-cpu-dying.patch
-+ features/all/rt/timers-prepare-for-full-preemption.patch
-+ features/all/rt/timers-preempt-rt-support.patch
-+ features/all/rt/timers-fix-timer-hotplug-on-rt.patch
-+ features/all/rt/timers-mov-printk_tick-to-soft-interrupt.patch
-+ features/all/rt/timer-delay-waking-softirqs-from-the-jiffy-tick.patch
-+ features/all/rt/timers-avoid-the-base-null-otptimization-on-rt.patch
-+ features/all/rt/rfc-printk-don-27t-call-printk_tick-in-printk_needs_cpu.patch
-+ features/all/rt/hrtimers-prepare-full-preemption.patch
-+ features/all/rt/hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch
-+ features/all/rt/peter_zijlstra-frob-hrtimer.patch
-+ features/all/rt/hrtimer-add-missing-debug_activate-aid-was-re-announce-3-0-6-rt17.patch
-+ features/all/rt/hrtimer-fix-reprogram-madness.patch
-+ features/all/rt/timer-fd-avoid-live-lock.patch
-+ features/all/rt/posix-timers-thread-posix-cpu-timers-on-rt.patch
-+ features/all/rt/posix-timers-shorten-cpu-timers-thread.patch
-+ features/all/rt/posix-timers-avoid-wakeups-when-no-timers-are-active.patch
-+ features/all/rt/sched-delay-put-task.patch
-+ features/all/rt/sched-limit-nr-migrate.patch
-+ features/all/rt/sched-mmdrop-delayed.patch
-+ features/all/rt/sched-rt-mutex-wakeup.patch
-+ features/all/rt/sched-might-sleep-do-not-account-rcu-depth.patch
-+ features/all/rt/sched-cond-resched.patch
-+ features/all/rt/cond-resched-softirq-rt.patch
-+ features/all/rt/cond-resched-lock-rt-tweak.patch
-+ features/all/rt/sched-disable-ttwu-queue.patch
-+ features/all/rt/sched-disable-rt-group-sched-on-rt.patch
-+ features/all/rt/sched-ttwu-ensure-success-return-is-correct.patch
-+ features/all/rt/stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch
-+ features/all/rt/stomp-machine-mark-stomper-thread.patch
-+ features/all/rt/stomp-machine-raw-lock.patch
-+ features/all/rt/hotplug-light-get-online-cpus.patch
-+ features/all/rt/hotplug-sync_unplug-no-27-5cn-27-in-task-name.patch
-+ features/all/rt/re-migrate_disable-race-with-cpu-hotplug-3f.patch
-+ features/all/rt/sched-migrate-disable.patch
-+ features/all/rt/hotplug-use-migrate-disable.patch
-+ features/all/rt/hotplug-call-cpu_unplug_begin-a-little-early.patch
-+ features/all/rt/ftrace-migrate-disable-tracing.patch
-+ features/all/rt/rt-tracing-show-padding-as-unsigned-short.patch
-+ features/all/rt/migrate-disable-rt-variant.patch
-+ features/all/rt/peter_zijlstra-frob-migrate_disable.patch
-+ features/all/rt/peter_zijlstra-frob-migrate_disable-2.patch
-+ features/all/rt/sched-rt-fix-migrate_enable-thinko.patch
-+ features/all/rt/sched-teach-migrate_disable-about-atomic-contexts.patch
-+ features/all/rt/rt-sched-postpone-actual-migration-disalbe-to-schedule.patch
-+ features/all/rt/rt-sched-do-not-compare-cpu-masks-in-scheduler.patch
-+ features/all/rt/rt-sched-have-migrate_disable-ignore-bounded-threads.patch
-+ features/all/rt/sched-clear-pf-thread-bound-on-fallback-rq.patch
-+ features/all/rt/ftrace-crap.patch
-+ features/all/rt/rt-ring-buffer-convert-reader_lock-from-raw_spin_lock-into-spin_lock.patch
-+ features/all/rt/net-netif_rx_ni-migrate-disable.patch
-+ features/all/rt/softirq-sanitize-softirq-pending.patch
-+ features/all/rt/lockdep-no-softirq-accounting-on-rt.patch
-+ features/all/rt/mutex-no-spin-on-rt.patch
-+ features/all/rt/softirq-local-lock.patch
-+ features/all/rt/softirq-export-in-serving-softirq.patch
-+ features/all/rt/harirq-h-define-softirq_count-as-oul-to-kill-build-warning.patch
-+ features/all/rt/softirq-fix-unplug-deadlock.patch
-+ features/all/rt/softirq-disable-softirq-stacks-for-rt.patch
-+ features/all/rt/softirq-make-fifo.patch
-+ features/all/rt/tasklet-rt-prevent-tasklets-from-going-into-infinite-spin-in-rt.patch
-+ features/all/rt/irq-allow-disabling-of-softirq-processing-in-irq-thread-context.patch
-+ features/all/rt/local-vars-migrate-disable.patch
-+ features/all/rt/md-raid5-percpu-handling-rt-aware.patch
-+ features/all/rt/rtmutex-lock-killable.patch
-+ features/all/rt/rtmutex-futex-prepare-rt.patch
-+ features/all/rt/futex-requeue-pi-fix.patch
-+ features/all/rt/rt-mutex-add-sleeping-spinlocks-support.patch
-+ features/all/rt/spinlock-types-separate-raw.patch
-+ features/all/rt/rtmutex-avoid-include-hell.patch
-+ features/all/rt/rt-add-rt-spinlock-to-headers.patch
-+ features/all/rt/rt-add-rt-to-mutex-headers.patch
-+ features/all/rt/rwsem-add-rt-variant.patch
-+ features/all/rt/rt-add-rt-locks.patch
-+ features/all/rt/tasklist-lock-fix-section-conflict.patch
-+ features/all/rt/timer-handle-idle-trylock-in-get-next-timer-irq.patch
-+ features/all/rt/rcu-force-preempt-rcu-for-rt.patch
-+ features/all/rt/peter_zijlstra-frob-rcu.patch
-+ features/all/rt/rcu-merge-rcu-bh-into-rcu-preempt-for-rt.patch
-+ features/all/rt/rcu-fix-macro-substitution.patch
-+ features/all/rt/rcu-tiny-merge-bh.patch
-+ features/all/rt/patch-to-introduce-rcu-bh-qs-where-safe-from-softirq.patch
-+ features/all/rt/rcu-fix-build-break.patch
-+ features/all/rt/rt-rcutree-warn-fix.patch
-+ features/all/rt/lglocks-rt.patch
-+ features/all/rt/drivers-serial-cleanup-locking-for-rt.patch
-+ features/all/rt/drivers-serial-call-flush_to_ldisc-when-the-irq-is-t.patch
-+ features/all/rt/drivers-tty-fix-omap-lock-crap.patch
-+ features/all/rt/rt-serial-warn-fix.patch
-+ features/all/rt/fs-namespace-preemption-fix.patch
-+ features/all/rt/mm-protect-activate-switch-mm.patch
-+ features/all/rt/mm-protect-activate_mm-by-preempt_-disable-7cenable-_rt.patch
-+ features/all/rt/fs-block-rt-support.patch
-+ features/all/rt/fs-ntfs-disable-interrupt-non-rt.patch
-+ features/all/rt/x86-mce-timer-hrtimer.patch
-+ features/all/rt/x86-stackprot-no-random-on-rt.patch
-+ features/all/rt/x86-use-gen-rwsem-spinlocks-rt.patch
-+ features/all/rt/x86-disable-debug-stack.patch
-+ features/all/rt/workqueue-use-get-cpu-light.patch
-+ features/all/rt/epoll-use-get-cpu-light.patch
-+ features/all/rt/mm-vmalloc-use-get-cpu-light.patch
-+ features/all/rt/revert-workqueue-skip-nr_running-sanity-check-in-wor.patch
-+ features/all/rt/workqueue-sanity.patch
-+ features/all/rt/workqueue-fix-PF_THREAD_BOUND.patch
-+ features/all/rt/workqueue-hotplug-fix.patch
-+ features/all/rt/workqueue-more-hotplug-fallout.patch
-+ features/all/rt/debugobjects-rt.patch
-+ features/all/rt/jump-label-rt.patch
-+ features/all/rt/skbufhead-raw-lock.patch
-+ features/all/rt/perf-move-irq-work-to-softirq-in-rt.patch
-+ features/all/rt/console-make-rt-friendly.patch
-+ features/all/rt/fix-printk-flush-of-messages-1.patch
-+ features/all/rt/power-use-generic-rwsem-on-rt.patch
-+ features/all/rt/power-disable-highmem-on-rt.patch
-+ features/all/rt/arm-disable-highmem-on-rt.patch
-+ features/all/rt/arm-at91-tclib-default-to-tclib-timer-for-rt.patch
-+ features/all/rt/mips-disable-highmem-on-rt.patch
-+ features/all/rt/net-tx-action-avoid-livelock-on-rt.patch
-+ features/all/rt/ping-sysrq.patch
-+ features/all/rt/kgb-serial-hackaround.patch
-+ features/all/rt/sysfs-realtime-entry.patch
-+ features/all/rt/peter_zijlstra-re-_3_0-rt4.patch
-+ features/all/rt/ipc-sem-rework-semaphore-wakeups.patch
-+ features/all/rt/x86-kvm-require-const-tsc-for-rt.patch
-+ features/all/rt/scsi-fcoe-rt-aware.patch
-+ features/all/rt/x86-crypto-reduce-preempt-disabled-regions.patch
-+ features/all/rt/dm-make-rt-aware.patch
-+ features/all/rt/cpumask-disable-offstack-on-rt.patch
-+ features/all/rt/seqlock-prevent-rt-starvation.patch
-+ features/all/rt/rfc-timer-fix-hotplug-for-rt.patch
-+ features/all/rt/rfc-futex-rt-fix-possible-lockup-when-taking-pi_lock-in-proxy-handler.patch
-+ features/all/rt/rfc-ring-buffer-rt-check-for-irqs-disabled-before-grabbing-reader-lock.patch
-+ features/all/rt/rfc-sched-rt-fix-wait_task_interactive-to-test-rt_spin_lock-state.patch
-+ features/all/rt/rfc-lglock-rt-use-non-rt-for_each_cpu-in-rt-code.patch
-+ features/all/rt/cpu-rt-make-hotplug-lock-a-sleeping-spinlock-on-rt.patch
-+ features/all/rt/softirq-preempt-fix-3-re.txt
-+ features/all/rt/scsi-qla2xxx-fix-bug-sleeping-function-called-from-invalid-context.patch
-+ features/all/rt/upstream-net-rt-remove-preemption-disabling-in-netif_rx.patch
-+ features/all/rt/rt-introduce-cpu-chill.patch
-+ features/all/rt/fs-dcache-use-cpu-chill-in-trylock-loops.patch
-+ features/all/rt/net-use-cpu-chill.patch
-+ features/all/rt/ntp-make-ntp-lock-raw-sigh.patch
-+ features/all/rt/mips-remove-smp-reserve-lock.patch
-+ features/all/rt/lockdep-selftest-convert-spinlock-to-raw-spinlock.patch
-+ features/all/rt/lockdep-selftest-only-do-hardirq-context-test-for-raw-spinlock.patch
-+ features/all/rt/genirq-add-default-mask-cmdline-option.patch
-+ features/all/rt/kconfig-disable-a-few-options-rt.patch
-+ features/all/rt/kconfig-preempt-rt-full.patch
+features/all/rt/re-possible-slab-deadlock-while-doing-ifenslave-1.patch
+features/all/rt/x86-kprobes-remove-bogus-preempt-enable.patch
+features/all/rt/tick-skew.patch
+features/all/rt/x86-hpet-disable-msi-on-lenovo-w510.patch
+features/all/rt/block-shorten-interrupt-disabled-regions.patch
+features/all/rt/sched-distangle-worker-accounting-from-rq-3elock.patch
+features/all/rt/mips-enable-interrupts-in-signal.patch
+features/all/rt/arm-enable-interrupts-in-signal-code.patch
+features/all/rt/seqlock-remove-unused-functions.patch
+features/all/rt/seqlock-use-seqcount.patch
+features/all/rt/timekeeping-split-xtime-lock.patch
+features/all/rt/intel_idle-convert-i7300_idle_lock-to-raw-spinlock.patch
+features/all/rt/tracing-account-for-preempt-off-in-preempt_schedule.patch
+features/all/rt/signal-revert-ptrace-preempt-magic.patch
+features/all/rt/arm-mark-pmu-interupt-no-thread.patch
+features/all/rt/arm-allow-irq-threading.patch
+features/all/rt/arm-convert-boot-lock-to-raw.patch
+features/all/rt/arm-omap-make-wakeupgen_lock-raw.patch
+features/all/rt/signals-do-not-wake-self.patch
+features/all/rt/posix-timers-no-broadcast.patch
+features/all/rt/signals-allow-rt-tasks-to-cache-one-sigqueue-struct.patch
+features/all/rt/oleg-signal-rt-fix.patch
+features/all/rt/generic-cmpxchg-use-raw-local-irq.patch
+features/all/rt/drivers-random-reduce-preempt-disabled-region.patch
+features/all/rt/arm-at91-pit-remove-irq-handler-when-clock-is-unused.patch
+features/all/rt/clocksource-tclib-allow-higher-clockrates.patch
+features/all/rt/drivers-net-tulip-add-missing-pci-disable.patch
+features/all/rt/drivers-net-8139-disable-irq-nosync.patch
+features/all/rt/drivers-net-ehea-mark-rx-irq-no-thread.patch
+features/all/rt/drivers-net-at91-make-mdio-protection-rt-safe.patch
+features/all/rt/mm-prepare-pf-disable-discoupling.patch
+features/all/rt/arch-use-pagefault-disabled.patch
+features/all/rt/peter_zijlstra-frob-pagefault_disable.patch
+features/all/rt/peterz-raw_pagefault_disable.patch
+features/all/rt/filemap-fix-up.patch
+features/all/rt/mm-remove-preempt-count-from-pf.patch
+features/all/rt/x86-highmem-warn.patch
+features/all/rt/suspend-prevernt-might-sleep-splats.patch
+features/all/rt/of-fixup-recursive-locking.patch
+features/all/rt/of-convert-devtree-lock.patch
+features/all/rt/list-add-list-last-entry.patch
+features/all/rt/mm-page-alloc-use-list-last-entry.patch
+features/all/rt/mm-slab-move-debug-out.patch
+features/all/rt/pid-h-include-atomic-h.patch
+features/all/rt/sysctl-include-atomic-h.patch
+features/all/rt/net-flip-lock-dep-thingy.patch
+features/all/rt/softirq-thread-do-softirq.patch
+features/all/rt/softirq-split-out-code.patch
+features/all/rt/x86-io-apic-migra-no-unmask.patch
+features/all/rt/fix-rt-int3-x86_32-3.2-rt.patch
+features/all/rt/locking-various-init-fixes.patch
+features/all/rt/pci-access-use-__wake_up_all_locked.patch
+features/all/rt/latency-hist.patch
+features/all/rt/hwlatdetect.patch
+features/all/rt/localversion.patch
+features/all/rt/early-printk-consolidate.patch
+features/all/rt/printk-kill.patch
+features/all/rt/printk-27force_early_printk-27-boot-param-to-help-with-debugging.patch
+features/all/rt/rt-preempt-base-config.patch
+features/all/rt/bug-rt-dependend-variants.patch
+features/all/rt/local-irq-rt-depending-variants.patch
+features/all/rt/preempt-nort-rt-variants.patch
+features/all/rt/ata-disable-interrupts-if-non-rt.patch
+features/all/rt/ide-use-nort-local-irq-variants.patch
+features/all/rt/infiniband-mellanox-ib-use-nort-irq.patch
+features/all/rt/inpt-gameport-use-local-irq-nort.patch
+features/all/rt/acpi-use-local-irq-nort.patch
+features/all/rt/user-use-local-irq-nort.patch
+features/all/rt/resource-counters-use-localirq-nort.patch
+features/all/rt/usb-hcd-use-local-irq-nort.patch
+features/all/rt/tty-use-local-irq-nort.patch
+features/all/rt/mm-scatterlist-dont-disable-irqs-on-RT.patch
+features/all/rt/signal-fix-up-rcu-wreckage.patch
+features/all/rt/net-wireless-warn-nort.patch
+features/all/rt/mm-cgroup-page-bit-spinlock.patch
+features/all/rt/fs-replace-bh_uptodate_lock-for-rt.patch
+features/all/rt/fs-jbd-replace-bh_state-lock.patch
+features/all/rt/genirq-nodebug-shirq.patch
+features/all/rt/genirq-disable-random-call-on-preempt-rt.patch
+features/all/rt/genirq-disable-irqpoll-on-rt.patch
+features/all/rt/genirq-force-threading.patch
+features/all/rt/drivers-net-fix-livelock-issues.patch
+features/all/rt/drivers-net-vortex-fix-locking-issues.patch
+features/all/rt/drivers-net-gianfar-make-rt-aware.patch
+features/all/rt/usb-fix-mouse-problem-copying-large-data.patch
+features/all/rt/local-var.patch
+features/all/rt/rt-local-irq-lock.patch
+features/all/rt/cpu-rt-variants.patch
+features/all/rt/mm-slab-wrap-functions.patch
+features/all/rt/rt-slab-fix-__do_drain-to-use-the-right-array-cache.patch
+features/all/rt/mm-slab-more-lock-breaks.patch
+features/all/rt/mm-page_alloc-rt-friendly-per-cpu-pages.patch
+features/all/rt/mm-page_alloc-reduce-lock-sections-further.patch
+features/all/rt/mm-page-alloc-fix.patch
+features/all/rt/mm-convert-swap-to-percpu-locked.patch
+features/all/rt/mm-make-vmstat-rt-aware.patch
+features/all/rt/mm-shrink-the-page-frame-to-rt-size.patch
+features/all/rt/re-preempt_rt_full-arm-coredump-fails-for-cpu-3e-3d-4.patch
+features/all/rt/mm-allow-slab-rt.patch
+features/all/rt/radix-tree-rt-aware.patch
+features/all/rt/panic-disable-random-on-rt.patch
+features/all/rt/ipc-make-rt-aware.patch
+features/all/rt/ipc-mqueue-add-a-critical-section-to-avoid-a-deadlock.patch
+features/all/rt/relay-fix-timer-madness.patch
+features/all/rt/net-ipv4-route-use-locks-on-up-rt.patch
+features/all/rt/workqueue-avoid-the-lock-in-cpu-dying.patch
+features/all/rt/timers-prepare-for-full-preemption.patch
+features/all/rt/timers-preempt-rt-support.patch
+features/all/rt/timers-fix-timer-hotplug-on-rt.patch
+features/all/rt/timers-mov-printk_tick-to-soft-interrupt.patch
+features/all/rt/timer-delay-waking-softirqs-from-the-jiffy-tick.patch
+features/all/rt/timers-avoid-the-base-null-otptimization-on-rt.patch
+features/all/rt/rfc-printk-don-27t-call-printk_tick-in-printk_needs_cpu.patch
+features/all/rt/hrtimers-prepare-full-preemption.patch
+features/all/rt/hrtimer-fixup-hrtimer-callback-changes-for-preempt-r.patch
+features/all/rt/peter_zijlstra-frob-hrtimer.patch
+features/all/rt/hrtimer-add-missing-debug_activate-aid-was-re-announce-3-0-6-rt17.patch
+features/all/rt/hrtimer-fix-reprogram-madness.patch
+features/all/rt/timer-fd-avoid-live-lock.patch
+features/all/rt/posix-timers-thread-posix-cpu-timers-on-rt.patch
+features/all/rt/posix-timers-shorten-cpu-timers-thread.patch
+features/all/rt/posix-timers-avoid-wakeups-when-no-timers-are-active.patch
+features/all/rt/sched-delay-put-task.patch
+features/all/rt/sched-limit-nr-migrate.patch
+features/all/rt/sched-mmdrop-delayed.patch
+features/all/rt/sched-rt-mutex-wakeup.patch
+features/all/rt/sched-might-sleep-do-not-account-rcu-depth.patch
+features/all/rt/sched-cond-resched.patch
+features/all/rt/cond-resched-softirq-rt.patch
+features/all/rt/cond-resched-lock-rt-tweak.patch
+features/all/rt/sched-disable-ttwu-queue.patch
+features/all/rt/sched-disable-rt-group-sched-on-rt.patch
+features/all/rt/sched-ttwu-ensure-success-return-is-correct.patch
+features/all/rt/stop_machine-convert-stop_machine_run-to-PREEMPT_RT.patch
+features/all/rt/stomp-machine-mark-stomper-thread.patch
+features/all/rt/stomp-machine-raw-lock.patch
+features/all/rt/hotplug-light-get-online-cpus.patch
+features/all/rt/hotplug-sync_unplug-no-27-5cn-27-in-task-name.patch
+features/all/rt/re-migrate_disable-race-with-cpu-hotplug-3f.patch
+features/all/rt/sched-migrate-disable.patch
+features/all/rt/hotplug-use-migrate-disable.patch
+features/all/rt/hotplug-call-cpu_unplug_begin-a-little-early.patch
+features/all/rt/ftrace-migrate-disable-tracing.patch
+features/all/rt/rt-tracing-show-padding-as-unsigned-short.patch
+features/all/rt/migrate-disable-rt-variant.patch
+features/all/rt/peter_zijlstra-frob-migrate_disable.patch
+features/all/rt/peter_zijlstra-frob-migrate_disable-2.patch
+features/all/rt/sched-rt-fix-migrate_enable-thinko.patch
+features/all/rt/sched-teach-migrate_disable-about-atomic-contexts.patch
+features/all/rt/rt-sched-postpone-actual-migration-disalbe-to-schedule.patch
+features/all/rt/rt-sched-do-not-compare-cpu-masks-in-scheduler.patch
+features/all/rt/rt-sched-have-migrate_disable-ignore-bounded-threads.patch
+features/all/rt/sched-clear-pf-thread-bound-on-fallback-rq.patch
+features/all/rt/ftrace-crap.patch
+features/all/rt/rt-ring-buffer-convert-reader_lock-from-raw_spin_lock-into-spin_lock.patch
+features/all/rt/net-netif_rx_ni-migrate-disable.patch
+features/all/rt/softirq-sanitize-softirq-pending.patch
+features/all/rt/lockdep-no-softirq-accounting-on-rt.patch
+features/all/rt/mutex-no-spin-on-rt.patch
+features/all/rt/softirq-local-lock.patch
+features/all/rt/softirq-export-in-serving-softirq.patch
+features/all/rt/harirq-h-define-softirq_count-as-oul-to-kill-build-warning.patch
+features/all/rt/softirq-fix-unplug-deadlock.patch
+features/all/rt/softirq-disable-softirq-stacks-for-rt.patch
+features/all/rt/softirq-make-fifo.patch
+features/all/rt/tasklet-rt-prevent-tasklets-from-going-into-infinite-spin-in-rt.patch
+features/all/rt/irq-allow-disabling-of-softirq-processing-in-irq-thread-context.patch
+features/all/rt/local-vars-migrate-disable.patch
+features/all/rt/md-raid5-percpu-handling-rt-aware.patch
+features/all/rt/rtmutex-lock-killable.patch
+features/all/rt/rtmutex-futex-prepare-rt.patch
+features/all/rt/futex-requeue-pi-fix.patch
+features/all/rt/rt-mutex-add-sleeping-spinlocks-support.patch
+features/all/rt/spinlock-types-separate-raw.patch
+features/all/rt/rtmutex-avoid-include-hell.patch
+features/all/rt/rt-add-rt-spinlock-to-headers.patch
+features/all/rt/rt-add-rt-to-mutex-headers.patch
+features/all/rt/rwsem-add-rt-variant.patch
+features/all/rt/rt-add-rt-locks.patch
+features/all/rt/tasklist-lock-fix-section-conflict.patch
+features/all/rt/timer-handle-idle-trylock-in-get-next-timer-irq.patch
+features/all/rt/rcu-force-preempt-rcu-for-rt.patch
+features/all/rt/peter_zijlstra-frob-rcu.patch
+features/all/rt/rcu-merge-rcu-bh-into-rcu-preempt-for-rt.patch
+features/all/rt/rcu-fix-macro-substitution.patch
+features/all/rt/rcu-tiny-merge-bh.patch
+features/all/rt/patch-to-introduce-rcu-bh-qs-where-safe-from-softirq.patch
+features/all/rt/rcu-fix-build-break.patch
+features/all/rt/rt-rcutree-warn-fix.patch
+features/all/rt/lglocks-rt.patch
+features/all/rt/drivers-serial-cleanup-locking-for-rt.patch
+features/all/rt/drivers-serial-call-flush_to_ldisc-when-the-irq-is-t.patch
+features/all/rt/drivers-tty-fix-omap-lock-crap.patch
+features/all/rt/rt-serial-warn-fix.patch
+features/all/rt/fs-namespace-preemption-fix.patch
+features/all/rt/mm-protect-activate-switch-mm.patch
+features/all/rt/mm-protect-activate_mm-by-preempt_-disable-7cenable-_rt.patch
+features/all/rt/fs-block-rt-support.patch
+features/all/rt/fs-ntfs-disable-interrupt-non-rt.patch
+features/all/rt/x86-mce-timer-hrtimer.patch
+features/all/rt/x86-stackprot-no-random-on-rt.patch
+features/all/rt/x86-use-gen-rwsem-spinlocks-rt.patch
+features/all/rt/x86-disable-debug-stack.patch
+features/all/rt/workqueue-use-get-cpu-light.patch
+features/all/rt/epoll-use-get-cpu-light.patch
+features/all/rt/mm-vmalloc-use-get-cpu-light.patch
+features/all/rt/revert-workqueue-skip-nr_running-sanity-check-in-wor.patch
+features/all/rt/workqueue-sanity.patch
+features/all/rt/workqueue-fix-PF_THREAD_BOUND.patch
+features/all/rt/workqueue-hotplug-fix.patch
+features/all/rt/workqueue-more-hotplug-fallout.patch
+features/all/rt/debugobjects-rt.patch
+features/all/rt/jump-label-rt.patch
+features/all/rt/skbufhead-raw-lock.patch
+features/all/rt/perf-move-irq-work-to-softirq-in-rt.patch
+features/all/rt/console-make-rt-friendly.patch
+features/all/rt/fix-printk-flush-of-messages-1.patch
+features/all/rt/power-use-generic-rwsem-on-rt.patch
+features/all/rt/power-disable-highmem-on-rt.patch
+features/all/rt/arm-disable-highmem-on-rt.patch
+features/all/rt/arm-at91-tclib-default-to-tclib-timer-for-rt.patch
+features/all/rt/mips-disable-highmem-on-rt.patch
+features/all/rt/net-tx-action-avoid-livelock-on-rt.patch
+features/all/rt/ping-sysrq.patch
+features/all/rt/kgb-serial-hackaround.patch
+features/all/rt/sysfs-realtime-entry.patch
+features/all/rt/peter_zijlstra-re-_3_0-rt4.patch
+features/all/rt/ipc-sem-rework-semaphore-wakeups.patch
+features/all/rt/x86-kvm-require-const-tsc-for-rt.patch
+features/all/rt/scsi-fcoe-rt-aware.patch
+features/all/rt/x86-crypto-reduce-preempt-disabled-regions.patch
+features/all/rt/dm-make-rt-aware.patch
+features/all/rt/cpumask-disable-offstack-on-rt.patch
+features/all/rt/seqlock-prevent-rt-starvation.patch
+features/all/rt/rfc-timer-fix-hotplug-for-rt.patch
+features/all/rt/rfc-futex-rt-fix-possible-lockup-when-taking-pi_lock-in-proxy-handler.patch
+features/all/rt/rfc-ring-buffer-rt-check-for-irqs-disabled-before-grabbing-reader-lock.patch
+features/all/rt/rfc-sched-rt-fix-wait_task_interactive-to-test-rt_spin_lock-state.patch
+features/all/rt/rfc-lglock-rt-use-non-rt-for_each_cpu-in-rt-code.patch
+features/all/rt/cpu-rt-make-hotplug-lock-a-sleeping-spinlock-on-rt.patch
+features/all/rt/softirq-preempt-fix-3-re.txt
+features/all/rt/scsi-qla2xxx-fix-bug-sleeping-function-called-from-invalid-context.patch
+features/all/rt/upstream-net-rt-remove-preemption-disabling-in-netif_rx.patch
+features/all/rt/rt-introduce-cpu-chill.patch
+features/all/rt/fs-dcache-use-cpu-chill-in-trylock-loops.patch
+features/all/rt/net-use-cpu-chill.patch
+features/all/rt/ntp-make-ntp-lock-raw-sigh.patch
+features/all/rt/mips-remove-smp-reserve-lock.patch
+features/all/rt/lockdep-selftest-convert-spinlock-to-raw-spinlock.patch
+features/all/rt/lockdep-selftest-only-do-hardirq-context-test-for-raw-spinlock.patch
+features/all/rt/genirq-add-default-mask-cmdline-option.patch
+features/all/rt/kconfig-disable-a-few-options-rt.patch
+features/all/rt/kconfig-preempt-rt-full.patch

Modified: dists/trunk/linux/debian/rules
==============================================================================
--- dists/trunk/linux/debian/rules	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/rules	Mon Jun 11 05:21:50 2012	(r19128)
@@ -39,18 +39,19 @@
 	@$(stamp)
 
 DIR_ORIG = ../orig/$(SOURCE)-$(VERSION_UPSTREAM)
-TAR_ORIG_NAME = $(SOURCE)_$(VERSION_UPSTREAM).orig.tar.gz
+TAR_ORIG_NAME = $(SOURCE)_$(VERSION_UPSTREAM).orig.tar.xz
 TAR_ORIG = $(firstword $(wildcard ../$(TAR_ORIG_NAME)) $(wildcard ../orig/$(TAR_ORIG_NAME)))
 
 orig: $(DIR_ORIG)
-	rsync --delete --exclude debian --exclude .svk --exclude .svn --link-dest=$(DIR_ORIG)/ -a $(DIR_ORIG)/ .
+	rsync --delete --exclude /debian --exclude .svk --exclude .svn --link-dest=$(DIR_ORIG)/ -a $(DIR_ORIG)/ .
+	QUILT_PATCHES='$(CURDIR)/debian/patches' quilt push --quiltrc - -a -q --fuzz=0
 
 $(DIR_ORIG):
 ifeq ($(TAR_ORIG),)
 	$(error Cannot find orig tarball $(TAR_ORIG_NAME))
 else
 	mkdir -p ../orig
-	tar -C ../orig -xzf $(TAR_ORIG)
+	tar -C ../orig -xaf $(TAR_ORIG)
 endif
 
 maintainerclean:

Modified: dists/trunk/linux/debian/rules.real
==============================================================================
--- dists/trunk/linux/debian/rules.real	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/rules.real	Mon Jun 11 05:21:50 2012	(r19128)
@@ -60,34 +60,53 @@
 $(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR): $(KCONFIG)
 	python debian/bin/kconfig.py '$@' $(KCONFIG) $(KCONFIG_OPTIONS)
 
-$(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2: SOURCE_DIR=$(BUILD_DIR)/source
+define copy_source
+mkdir -p '$(1)'
+cp -al $(filter-out debian .pc .svk .svn, $(wildcard * .[^.]*)) '$(1)'
+endef
+
 $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2: DIR = $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION)
 $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2: $(STAMPS_DIR)/source
 	rm -rf '$@' '$(DIR)'
-	cp -al '$(SOURCE_DIR)' '$(DIR)'
+	$(call copy_source,$(DIR))
 	chmod -R u+rw,go=rX '$(DIR)'
 	cd '$(BUILD_DIR)'; tar -cjf 'linux-source-$(UPSTREAMVERSION).tar.bz2' 'linux-source-$(UPSTREAMVERSION)'
 	rm -rf '$(DIR)'
 
+$(BUILD_DIR)/linux-patch-$(UPSTREAMVERSION)-%.patch.bz2: $(STAMPS_DIR)/source_none $(STAMPS_DIR)/source_%
+	set -o pipefail;						\
+	(cd '$(BUILD_DIR)';						\
+	 set +e;							\
+         diff -urN -p -x debian -x .pc -x .svk -x .svn source_none source_$*; \
+	 test $$? -eq 1) |						\
+	filterdiff --remove-timestamps --strip=1 --addoldprefix=a/ --addnewprefix=b/ | \
+	bzip2 -c >$@ ||							\
+	(rm -f $@; exit 1)
+
 define patch_cmd
-cd '$(DIR)'; python '$(CURDIR)/debian/bin/patch.apply' --overwrite-home='$(CURDIR)/debian/patches'
+cd '$(DIR)' && QUILT_PATCHES='$(CURDIR)/debian/patches' QUILT_SERIES=series-$(1) quilt push --quiltrc - -a -q --fuzz=0
 endef
 
-$(STAMPS_DIR)/source: SOURCE_FILES = $(filter-out debian, $(wildcard * .[^.]*))
-$(STAMPS_DIR)/source: DIR = $(BUILD_DIR)/source
 $(STAMPS_DIR)/source:
-	rm -rf '$(DIR)'
-	mkdir -p '$(DIR)'
-	cp -al $(SOURCE_FILES) '$(DIR)'
-	$(patch_cmd)
+	test -d .pc
+	set +e; quilt unapplied --quiltrc - >/dev/null && echo 'Patch series not fully applied'; test $$? -eq 1
 	@$(stamp)
 
-$(STAMPS_DIR)/source_$(FEATURESET): SOURCE_DIR=$(BUILD_DIR)/source
-$(STAMPS_DIR)/source_$(FEATURESET): DIR=$(BUILD_DIR)/source_$(FEATURESET)
-$(STAMPS_DIR)/source_$(FEATURESET): $(STAMPS_DIR)/source
+$(STAMPS_DIR)/source_%: SOURCE_DIR=$(BUILD_DIR)/source
+$(STAMPS_DIR)/source_%: DIR=$(BUILD_DIR)/source_$*
+$(STAMPS_DIR)/source_%: $(STAMPS_DIR)/source
+	mkdir -p '$(BUILD_DIR)'
 	rm -rf '$(DIR)'
-	cp -al '$(SOURCE_DIR)' '$(DIR)'
-	$(patch_cmd) -f $(FEATURESET)
+	$(call copy_source,$(DIR))
+	$(call patch_cmd,$*)
+	@$(stamp)
+.PRECIOUS: $(STAMPS_DIR)/source_%
+
+$(STAMPS_DIR)/source_none: DIR=$(BUILD_DIR)/source_none
+$(STAMPS_DIR)/source_none: $(STAMPS_DIR)/source
+	mkdir -p '$(BUILD_DIR)'
+	rm -f '$(DIR)'
+	ln -s '$(CURDIR)' '$(DIR)'
 	@$(stamp)
 
 $(STAMPS_DIR)/setup_$(ARCH)_$(FEATURESET)_$(FLAVOUR): CONFIG=$(BUILD_DIR)/config.$(ARCH)_$(FEATURESET)_$(FLAVOUR)
@@ -131,13 +150,12 @@
 	python debian/bin/buildcheck.py $(DIR) $(ARCH) $(FEATURESET) $(FLAVOUR)
 	@$(stamp)
 
-$(STAMPS_DIR)/build-doc: SOURCE_DIR=$(BUILD_DIR)/source
 $(STAMPS_DIR)/build-doc: DIR=$(BUILD_DIR)/build-doc
 $(STAMPS_DIR)/build-doc: $(STAMPS_DIR)/source
 	rm -rf $(DIR)
-	mkdir $(DIR)
-	+$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' xmldocs
-	+$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' htmldocs mandocs
+	mkdir -p $(DIR)
+	+$(MAKE_CLEAN) O='$(CURDIR)/$(DIR)' xmldocs
+	+$(MAKE_CLEAN) O='$(CURDIR)/$(DIR)' htmldocs mandocs
 	@$(stamp)
 
 install-base:
@@ -159,14 +177,13 @@
 
 install-doc: PACKAGE_NAME = linux-doc-$(VERSION)
 install-doc: DIR = $(BUILD_DIR)/build-doc
-install-doc: SOURCE_DIR = $(BUILD_DIR)/source
 install-doc: PACKAGE_DIR = debian/$(PACKAGE_NAME)
 install-doc: OUT_DIR = $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)
 install-doc: DH_OPTIONS = -p$(PACKAGE_NAME)
 install-doc: $(STAMPS_DIR)/build-doc
 	dh_prep
 	mkdir -p $(OUT_DIR)
-	cp -a $(addprefix $(SOURCE_DIR)/, CREDITS MAINTAINERS README REPORTING-BUGS Documentation) $(OUT_DIR)
+	cp -a CREDITS MAINTAINERS README REPORTING-BUGS Documentation $(OUT_DIR)
 	rm -rf $(OUT_DIR)/Documentation/DocBook
 	cd $(DIR)/Documentation/DocBook; \
 	find * -name '*.html' -print \
@@ -273,7 +290,6 @@
 
 install-libc-dev_$(ARCH): PACKAGE_NAME = linux-libc-dev
 install-libc-dev_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
-install-libc-dev_$(ARCH): SOURCE_DIR = $(BUILD_DIR)/source
 install-libc-dev_$(ARCH): DIR = $(BUILD_DIR)/build-libc-dev
 install-libc-dev_$(ARCH): OUT_DIR = debian/$(PACKAGE_NAME)/usr
 install-libc-dev_$(ARCH):
@@ -281,9 +297,9 @@
 	dh_testroot
 	dh_prep
 	rm -rf '$(DIR)'
-	mkdir $(DIR)
-	+$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' headers_check ARCH=$(KERNEL_ARCH)
-	+$(MAKE_CLEAN) -C $(SOURCE_DIR) O='$(CURDIR)/$(DIR)' headers_install ARCH=$(KERNEL_ARCH) INSTALL_HDR_PATH='$(CURDIR)'/$(OUT_DIR)
+	mkdir -p $(DIR)
+	+$(MAKE_CLEAN) O='$(CURDIR)/$(DIR)' headers_check ARCH=$(KERNEL_ARCH)
+	+$(MAKE_CLEAN) O='$(CURDIR)/$(DIR)' headers_install ARCH=$(KERNEL_ARCH) INSTALL_HDR_PATH='$(CURDIR)'/$(OUT_DIR)
 
 	rm -rf $(OUT_DIR)/include/drm $(OUT_DIR)/include/scsi
 	find $(OUT_DIR)/include \( -name .install -o -name ..install.cmd \) -execdir rm {} +
@@ -470,10 +486,10 @@
 	dh_builddeb
 
 install-source: DH_OPTIONS = -plinux-source-$(VERSION)
-install-source: $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2
+install-source: $(BUILD_DIR)/linux-source-$(UPSTREAMVERSION).tar.bz2 $(foreach FEATURESET,$(filter-out none,$(ALL_FEATURESETS)),$(BUILD_DIR)/linux-patch-$(UPSTREAMVERSION)-$(FEATURESET).patch.bz2)
 	dh_testdir
 	dh_testroot
-	dh_install '$<' /usr/src
+	dh_install '$^' /usr/src
 	+$(MAKE_SELF) install-base
 
 # vim: filetype=make

Modified: dists/trunk/linux/debian/source/format
==============================================================================
--- dists/trunk/linux/debian/source/format	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/source/format	Mon Jun 11 05:21:50 2012	(r19128)
@@ -1,2 +1,2 @@
-1.0
+3.0 (quilt)
 

Copied: dists/trunk/linux/debian/source/local-options (from r19123, dists/sid/linux/debian/source/local-options)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux/debian/source/local-options	Mon Jun 11 05:21:50 2012	(r19128, copy of r19123, dists/sid/linux/debian/source/local-options)
@@ -0,0 +1 @@
+abort-on-upstream-changes

Copied: dists/trunk/linux/debian/source/options (from r19123, dists/sid/linux/debian/source/options)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ dists/trunk/linux/debian/source/options	Mon Jun 11 05:21:50 2012	(r19128, copy of r19123, dists/sid/linux/debian/source/options)
@@ -0,0 +1 @@
+compression = "xz"

Modified: dists/trunk/linux/debian/templates/control.source.in
==============================================================================
--- dists/trunk/linux/debian/templates/control.source.in	Mon Jun 11 05:06:55 2012	(r19127)
+++ dists/trunk/linux/debian/templates/control.source.in	Mon Jun 11 05:21:50 2012	(r19128)
@@ -3,7 +3,7 @@
 Maintainer: Debian Kernel Team <debian-kernel at lists.debian.org>
 Uploaders: Bastian Blank <waldi at debian.org>, Frederik Schüler <fs at debian.org>, maximilian attems <maks at debian.org>, Ben Hutchings <ben at decadent.org.uk>
 Standards-Version: 3.9.2
-Build-Depends: debhelper (>> 7), cpio, kmod | module-init-tools, python (>= 2.6.6-3~), lzma [armel], kernel-wedge (>= 2.83)
+Build-Depends: debhelper (>> 7), cpio, kmod | module-init-tools, python (>= 2.6.6-3~), lzma [armel], kernel-wedge (>= 2.84), quilt, patchutils
 Build-Depends-Indep: bzip2, xmlto
 Vcs-Svn: svn://svn.debian.org/svn/kernel/dists/trunk/linux/
 Vcs-Browser: http://anonscm.debian.org/viewvc/kernel/dists/trunk/linux/



More information about the Kernel-svn-changes mailing list