[kernel] r22098 - in dists/wheezy-backports/linux: . debian debian/bin debian/config debian/config/alpha debian/config/amd64 debian/config/arm64 debian/config/armhf debian/config/i386 debian/config/i386/none debian/config/kernelarch-mips debian/config/kernelarch-powerpc debian/config/kernelarch-x86 debian/installer/armhf/modules/armhf-armmp debian/installer/hppa/modules/hppa debian/installer/hppa/modules/hppa-parisc64-smp debian/installer/i386 debian/lib/python/debian_linux debian/patches debian/patches/bugfix/all debian/patches/bugfix/arm64 debian/patches/bugfix/mips debian/patches/bugfix/parisc debian/patches/bugfix/x86 debian/patches/debian debian/patches/features/all debian/patches/features/all/iwlwifi-debug debian/patches/features/all/r8723au debian/patches/features/arm debian/patches/features/arm64 debian/patches/features/mips debian/patches/features/x86 debian/patches/features/x86/apple-tb debian/templates debian/templates/image.plain.bug
Ben Hutchings
benh at moszumanska.debian.org
Mon Dec 1 17:59:10 UTC 2014
Author: benh
Date: Mon Dec 1 17:59:10 2014
New Revision: 22098
Log:
Merge changes from sid up to 3.16.7-2
Added:
dists/wheezy-backports/linux/debian/config/i386/config.586
- copied unchanged from r22048, dists/sid/linux/debian/config/i386/config.586
dists/wheezy-backports/linux/debian/installer/armhf/modules/armhf-armmp/mtd-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/armhf/modules/armhf-armmp/mtd-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/ata-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/ata-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/crc-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/crc-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/event-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/event-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/isofs-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/isofs-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/jfs-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/jfs-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/mouse-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/mouse-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-shared-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-shared-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-usb-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-usb-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/sata-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/sata-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/scsi-common-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/scsi-common-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/serial-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/serial-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/squashfs-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/squashfs-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/usb-serial-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/usb-serial-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/ata-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/ata-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/crc-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/crc-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/event-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/event-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/isofs-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/isofs-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/jfs-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/jfs-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/mouse-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/mouse-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/nic-shared-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/nic-shared-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/nic-usb-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/nic-usb-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/sata-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/sata-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/scsi-common-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/scsi-common-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/serial-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/serial-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/squashfs-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/squashfs-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/usb-serial-modules
- copied unchanged from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/usb-serial-modules
dists/wheezy-backports/linux/debian/patches/bugfix/all/HID-i2c-hid-call-the-hid-driver-s-suspend-and-resume.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/HID-i2c-hid-call-the-hid-driver-s-suspend-and-resume.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/SUNRPC-Don-t-wake-tasks-during-connection-abort.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/SUNRPC-Don-t-wake-tasks-during-connection-abort.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/drivers-net-Disable-UFO-through-virtio.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/drivers-net-Disable-UFO-through-virtio.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/drivers-net-ipv6-Select-IPv6-fragment-idents-for-vir.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/drivers-net-ipv6-Select-IPv6-fragment-idents-for-vir.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/fuse-honour-max_read-and-max_write-in-direct_io-mode.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/fuse-honour-max_read-and-max_write-in-direct_io-mode.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/lockd-Try-to-reconnect-if-statd-has-moved.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/lockd-Try-to-reconnect-if-statd-has-moved.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-m25p80-get-rid-of-spi_get_device_id.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-m25p80-get-rid-of-spi_get_device_id.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-m25p80-spi-nor-Fix-module-aliases-for-m25p80.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-m25p80-spi-nor-Fix-module-aliases-for-m25p80.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-move-support-for-struct-flash_platform_data-into.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-move-support-for-struct-flash_platform_data-into.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-spi-nor-make-spi_nor_scan-take-a-chip-type-name-.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-spi-nor-make-spi_nor_scan-take-a-chip-type-name-.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/net-mv643xx-disable-tso-by-default.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/net-mv643xx-disable-tso-by-default.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-fix-panic-on-duplicate-ASCONF-chunks.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/net-sctp-fix-panic-on-duplicate-ASCONF-chunks.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-fix-remote-memory-pressure-from-excessive-q.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/net-sctp-fix-remote-memory-pressure-from-excessive-q.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-fix-skb_over_panic-when-receiving-malformed.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/net-sctp-fix-skb_over_panic-when-receiving-malformed.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/switch-iov_iter_get_pages-to-passing-maximal-number-.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/all/switch-iov_iter_get_pages-to-passing-maximal-number-.patch
dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-cp1emu-Fix-ISA-restrictions-for-cop1x_op-instru.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/mips/MIPS-cp1emu-Fix-ISA-restrictions-for-cop1x_op-instru.patch
dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-tlbex-Properly-fix-HUGE-TLB-Refill-exception-ha.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/mips/MIPS-tlbex-Properly-fix-HUGE-TLB-Refill-exception-ha.patch
dists/wheezy-backports/linux/debian/patches/bugfix/parisc/parisc-reduce-sigrtmin-from-37-to-32-to-behave-like-.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/parisc/parisc-reduce-sigrtmin-from-37-to-32-to-behave-like-.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Check-non-canonical-addresses-upon-WRMSR.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Check-non-canonical-addresses-upon-WRMSR.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Emulator-fixes-for-eip-canonical-checks-on-n.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Emulator-fixes-for-eip-canonical-checks-on-n.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Fix-wrong-masking-on-relative-jump-call.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Fix-wrong-masking-on-relative-jump-call.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Handle-errors-when-RIP-is-set-during-far-jum.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Handle-errors-when-RIP-is-set-during-far-jum.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Improve-thread-safety-in-pit.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Improve-thread-safety-in-pit.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Prevent-host-from-panicking-on-shared-MSR-wr.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Prevent-host-from-panicking-on-shared-MSR-wr.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/drm-i915-Add-some-L3-registers-to-the-parser-whiteli.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/x86/drm-i915-Add-some-L3-registers-to-the-parser-whiteli.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/drm-i915-initialise-userptr-mmu_notifier-serial-to-1.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/x86/drm-i915-initialise-userptr-mmu_notifier-serial-to-1.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/kvm-vmx-handle-invvpid-vm-exit-gracefully.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/x86/kvm-vmx-handle-invvpid-vm-exit-gracefully.patch
dists/wheezy-backports/linux/debian/patches/bugfix/x86/kvm-x86-fix-far-jump-to-non-canonical-check.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/bugfix/x86/kvm-x86-fix-far-jump-to-non-canonical-check.patch
dists/wheezy-backports/linux/debian/patches/features/all/iwlwifi-debug/
- copied from r22048, dists/sid/linux/debian/patches/features/all/iwlwifi-debug/
dists/wheezy-backports/linux/debian/patches/features/all/mmc_block-increase-max_devices.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/features/all/mmc_block-increase-max_devices.patch
dists/wheezy-backports/linux/debian/patches/features/all/r8723au/
- copied from r22048, dists/sid/linux/debian/patches/features/all/r8723au/
dists/wheezy-backports/linux/debian/patches/features/all/wireless-rt2x00-add-new-rt2800usb-device.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/features/all/wireless-rt2x00-add-new-rt2800usb-device.patch
dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-support-for-Olimex-A20-OLinuXino-LIME.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/features/arm/dts-sun7i-Add-support-for-Olimex-A20-OLinuXino-LIME.patch
dists/wheezy-backports/linux/debian/patches/features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
dists/wheezy-backports/linux/debian/patches/features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch
- copied unchanged from r22048, dists/sid/linux/debian/patches/features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch
dists/wheezy-backports/linux/debian/patches/features/x86/apple-tb/
- copied from r22048, dists/sid/linux/debian/patches/features/x86/apple-tb/
Deleted:
dists/wheezy-backports/linux/debian/config/i386/config.486
Modified:
dists/wheezy-backports/linux/ (props changed)
dists/wheezy-backports/linux/debian/bin/check-patches.sh
dists/wheezy-backports/linux/debian/bin/gencontrol.py
dists/wheezy-backports/linux/debian/changelog
dists/wheezy-backports/linux/debian/config/alpha/config
dists/wheezy-backports/linux/debian/config/amd64/defines
dists/wheezy-backports/linux/debian/config/arm64/config
dists/wheezy-backports/linux/debian/config/armhf/config.armmp
dists/wheezy-backports/linux/debian/config/config
dists/wheezy-backports/linux/debian/config/defines
dists/wheezy-backports/linux/debian/config/i386/defines
dists/wheezy-backports/linux/debian/config/i386/none/defines
dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.4kc-malta
dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.5kc-malta
dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.octeon
dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64
dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64-be
dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64-le
dists/wheezy-backports/linux/debian/config/kernelarch-x86/config
dists/wheezy-backports/linux/debian/installer/armhf/modules/armhf-armmp/usb-modules
dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/scsi-modules
dists/wheezy-backports/linux/debian/installer/i386/kernel-versions
dists/wheezy-backports/linux/debian/lib/python/debian_linux/gencontrol.py
dists/wheezy-backports/linux/debian/patches/bugfix/all/disable-some-marvell-phys.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch
dists/wheezy-backports/linux/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
dists/wheezy-backports/linux/debian/patches/bugfix/arm64/arm64-crypto-fix-makefile-rule-for-aes-glue-.o.patch
dists/wheezy-backports/linux/debian/patches/debian/i2o-disable-i2o_ext_adaptec-on-64bit.patch
dists/wheezy-backports/linux/debian/patches/debian/revert-staging-sm7xxfb-remove-driver.patch
dists/wheezy-backports/linux/debian/patches/features/all/sfc-Add-40G-link-capability-decoding.patch
dists/wheezy-backports/linux/debian/patches/features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch
dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-Banana-Pi-board.patch
dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-spi0_pins_a-pinctrl-setting.patch
dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-uart3_pins_b-pinctrl-setting.patch
dists/wheezy-backports/linux/debian/patches/features/arm/dts-sunxi-Add-pins-for-IR-controller-on-A20-to-dtsi.patch
dists/wheezy-backports/linux/debian/patches/features/arm64/drivers-net-Add-APM-X-Gene-SoC-ethernet-driver-suppo.patch
dists/wheezy-backports/linux/debian/patches/features/arm64/drivers-net-NET_XGENE-should-depend-on-HAS_DMA.patch
dists/wheezy-backports/linux/debian/patches/features/arm64/dts-Add-bindings-for-APM-X-Gene-SoC-ethernet-driver.patch
dists/wheezy-backports/linux/debian/patches/features/arm64/net-xgene-Check-negative-return-value-of-xgene_enet_.patch
dists/wheezy-backports/linux/debian/patches/features/arm64/net-xgene-fix-possible-NULL-dereference-in-xgene_ene.patch
dists/wheezy-backports/linux/debian/patches/features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch
dists/wheezy-backports/linux/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
dists/wheezy-backports/linux/debian/patches/series
dists/wheezy-backports/linux/debian/rules.real
dists/wheezy-backports/linux/debian/templates/control.image.type-plain.in
dists/wheezy-backports/linux/debian/templates/image.plain.bug/presubj
dists/wheezy-backports/linux/debian/templates/image.plain.bug/script
Modified: dists/wheezy-backports/linux/debian/bin/check-patches.sh
==============================================================================
--- dists/wheezy-backports/linux/debian/bin/check-patches.sh Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/bin/check-patches.sh Mon Dec 1 17:59:10 2014 (r22098)
@@ -15,8 +15,12 @@
echo "Patches without required headers"
echo "================================"
xargs egrep -l '^(Subject|Description):' < $TMPDIR/used | xargs egrep -l '^(From|Author|Origin):' > $TMPDIR/goodheaders || test $? = 1
-fgrep -v -f $TMPDIR/goodheaders $TMPDIR/used
+fgrep -v -f $TMPDIR/goodheaders $TMPDIR/used || test $? = 1
echo
echo "Patches without Origin or Forwarded header"
echo "=========================================="
-xargs egrep -L '^(Origin|Forwarded):' < $TMPDIR/used || test $? = 1
+xargs egrep -L '^(Origin:|Forwarded: (no\b|not-needed|http))' < $TMPDIR/used || test $? = 1
+echo
+echo "Patches to be forwarded"
+echo "======================="
+xargs egrep -l '^Forwarded: no\b' < $TMPDIR/used || test $? = 1
Modified: dists/wheezy-backports/linux/debian/bin/gencontrol.py
==============================================================================
--- dists/wheezy-backports/linux/debian/bin/gencontrol.py Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/bin/gencontrol.py Mon Dec 1 17:59:10 2014 (r22098)
@@ -60,8 +60,7 @@
makeflags.update({
'VERSION': self.version.linux_version,
'UPSTREAMVERSION': self.version.linux_upstream,
- 'ABINAME': self.abiname,
- 'ABINAME_PART': self.abiname_part,
+ 'ABINAME': self.abiname_version + self.abiname_part,
'SOURCEVERSION': self.version.complete,
})
@@ -130,8 +129,7 @@
except KeyError:
abiname_part = self.abiname_part
makeflags['ABINAME'] = vars['abiname'] = \
- self.version.linux_upstream + abiname_part
- makeflags['ABINAME_PART'] = abiname_part
+ self.abiname_version + abiname_part
if foreign_kernel:
packages_headers_arch = []
@@ -466,17 +464,21 @@
self.abiname_part = ''
else:
self.abiname_part = '-%s' % self.config['abi', ]['abiname']
- self.abiname = self.version.linux_upstream + self.abiname_part
+ # We need to keep at least three version components to avoid
+ # userland breakage (e.g. #742226, #745984).
+ self.abiname_version = re.sub('^(\d+\.\d+)(?=-|$)', r'\1.0',
+ self.version.linux_upstream)
self.vars = {
'upstreamversion': self.version.linux_upstream,
'version': self.version.linux_version,
'source_upstream': self.version.upstream,
'source_package': self.changelog[0].source,
- 'abiname': self.abiname,
+ 'abiname': self.abiname_version + self.abiname_part,
}
self.config['version', ] = {'source': self.version.complete,
'upstream': self.version.linux_upstream,
- 'abiname': self.abiname}
+ 'abiname': (self.abiname_version +
+ self.abiname_part)}
distribution = self.changelog[0].distribution
if distribution in ('unstable', ):
Modified: dists/wheezy-backports/linux/debian/changelog
==============================================================================
--- dists/wheezy-backports/linux/debian/changelog Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/changelog Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,12 +1,227 @@
-linux (3.16.5-1~bpo70+1) wheezy-backports; urgency=low
+linux (3.16.7-2~bpo70+1) wheezy-backports; urgency=low
* Rebuild for wheezy:
- Disable architectures that weren't part of wheezy
- Use gcc-4.6 for all architectures
- - Change ABI number to 0.bpo.3
+ - Change ABI number to 0.bpo.4
- [arm] btrfs: Work around bug in gcc-4.6 (fixes FTBFS)
- -- Ben Hutchings <ben at decadent.org.uk> Sun, 02 Nov 2014 01:07:24 +0000
+ -- Ben Hutchings <ben at decadent.org.uk> Mon, 01 Dec 2014 17:35:29 +0000
+
+linux (3.16.7-2) unstable; urgency=medium
+
+ [ Ian Campbell ]
+ * Disable TSO in mv643xx_eth driver by default (Closes: #764162).
+
+ [ Aurelien Jarno ]
+ * [i386] Rename 486 flavour to 586 for udebs. (Closes: #768288)
+
+ [ Ben Hutchings ]
+ * [hppa] udeb: Fix modules in multiple packages (Closes: 768297)
+
+ -- Ben Hutchings <ben at decadent.org.uk> Thu, 06 Nov 2014 17:42:26 +0000
+
+linux (3.16.7-1) unstable; urgency=medium
+
+ * New upstream stable update:
+ https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.16.6
+ - rtnetlink: fix VF info size (regression in 3.11)
+ - myri10ge: check for DMA mapping errors
+ - Revert "macvlan: simplify the structure port" (regression in 3.16)
+ - tcp: don't use timestamp from repaired skb-s to calculate RTT (v2)
+ (regression in 3.15)
+ - tcp: fix tcp_release_cb() to dispatch via address family for
+ mtu_reduced()
+ - tipc: fix message importance range check (regression in 3.15)
+ - packet: handle too big packets for PACKET_V3
+ - bnx2x: Revert UNDI flushing mechanism (regression in 3.14)
+ - net: ipv6: fib: don't sleep inside atomic lock (regression in 3.15)
+ - openvswitch: fix panic with multiple vlan headers
+ - ipv6: fix rtnl locking in setsockopt for anycast and multicast
+ - l2tp: fix race while getting PMTU on PPP pseudo-wire (regression in 3.15)
+ - ipv6: restore the behavior of ipv6_sock_ac_drop()
+ - bonding: fix div by zero while enslaving and transmitting
+ (regression in 3.12)
+ - net: filter: fix possible use after free (regression in 3.15)
+ - net: allow macvlans to move to net namespace (regression in 3.13)
+ - macvlan: allow to enqueue broadcast pkt on virtual device
+ (regression in 3.16)
+ - xfrm: Generate blackhole routes only from route lookup functions
+ - xfrm: Generate queueing routes only from route lookup functions
+ - macvtap: Fix race between device delete and open.
+ - net/mlx4_core: Allow not to specify probe_vf in SRIOV IB mode
+ (regression in 3.15)
+ - net/mlx4: Correctly configure single ported VFs from the host
+ (regression in 3.15)
+ - gro: fix aggregation for skb using frag_list (regression in 3.13)
+ - hyperv: Fix bug in netvsc_start_xmit() (potential use-after-free)
+ - team: avoid race condition in scheduling delayed work
+ - hyperv: Fix bug in netvsc_send() (potential use-after-free)
+ - sctp: handle association restarts when the socket is closed.
+ - net_sched: copy exts->type in tcf_exts_change() (regression in 3.14)
+ - crypto: caam - fix addressing of struct member
+ - driver/base/node: remove unnecessary kfree of node struct from
+ unregister_one_node (regression in 3.15)
+ https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.16.7
+ - btrfs: wake up transaction thread from SYNC_FS ioctl
+ - Btrfs: fix up bounds checking in lseek
+ - Btrfs: don't do async reclaim during log replay
+ - Btrfs: cleanup error handling in build_backref_tree
+ - Btrfs: fix build_backref_tree issue with multiple shared blocks
+ - Btrfs: fix race in WAIT_SYNC ioctl
+ - fs: Add a missing permission check to do_umount (CVE-2014-7975)
+ - kvm: fix potentially corrupt mmio cache
+ - [x86] kvm,vmx: Preserve CR4 across VM entry (CVE-2014-3690)
+ - be2iscsi: check ip buffer before copying (stack buffer overflow)
+ - mptfusion: enable no_write_same for vmware scsi disks
+ - qla2xxx: fix kernel NULL pointer access (regression in 3.16)
+ (Closes: #764804)
+ - qla2xxx: Fix shost use-after-free on device removal (regression in 3.14)
+ - dmaengine: fix xor sources continuation
+ - [arm64] debug: don't re-enable debug exceptions on return from el1_dbg
+ - mei: bus: fix possible boundaries violation
+ - nfsv4: Fixing lease renewal (regression in 3.13)
+ - lzo: check for length overrun in variable length encoding.
+ - [armhf] tty: omap-serial: fix division by zero
+ - NFSv4: Fix lock recovery when CREATE_SESSION/SETCLIENTID_CONFIRM fails
+ - NFSv4: fix open/lock state recovery error handling
+ - NFSv4.1: Fix an NFSv4.1 state renewal regression
+ - nfsd4: reserve adequate space for LOCK op (regression in 3.16)
+ - NFS: Fix an uninitialised pointer Oops in the writeback error path
+ - NFS: Fix a bogus warning in nfs_generic_pgio (regression in 3.16.4)
+ - iwlwifi: mvm: disable BT Co-running by default
+ - [armel,armhf] PCI: mvebu: Fix uninitialized variable in
+ mvebu_get_tgt_attr()
+ - Revert "ath9k_hw: reduce ANI firstep range for older chips"
+ (regression in 3.15)
+ - fanotify: enable close-on-exec on events' fd when requested in
+ fanotify_init()
+ - futex: Ensure get_futex_key_refs() always implies a barrier
+ (regression in 3.14)
+ - [ppc64el] iommu/ddw: Fix endianness
+ - [arm64] compat: fix compat types affecting struct compat_elf_prpsinfo
+ - ALSA: emu10k1: Fix deadlock in synth voice lookup
+ - ALSA: hda - Add missing terminating entry to SND_HDA_PIN_QUIRK macro
+ - [armhf] mvebu: Netgear RN104: Use Hardware BCH ECC
+ - [armhf] mvebu: Netgear RN2120: Use Hardware BCH ECC
+ - [armhf] mvebu: Netgear RN102: Use Hardware BCH ECC
+ - ecryptfs: avoid to access NULL pointer when write metadata in xattr
+ - xfs: ensure WB_SYNC_ALL writeback handles partial pages correctly
+ - [sparc*] Do not disable interrupts in nmi_cpu_busy()
+ - [sparc*] Fix pcr_ops initialization and usage bugs.
+ - [sparc*] sun4v TLB error power off events
+ - [sparc*] Fix corrupted thread fault code.
+ - [sparc*] find_node adjustment
+ - [sparc*] Let memset return the address argument
+ - [sparc*] bpf_jit: fix support for ldx/stx mem and SKF_AD_VLAN_TAG
+ - [sparc*] bpf_jit: fix loads from negative offsets
+ - [sparc*] Fix FPU register corruption with AES crypto offload.
+ - [sparc*] Do not define thread fpregs save area as zero-length array.
+ - [sparc*] Fix hibernation code refrence to PAGE_OFFSET.
+ - [sparc*] correctly recognise M6 and M7 cpu type
+ - [sparc*] T5 PMU
+ - [sparc*] Switch to 4-level page tables.
+ - [sparc*] Adjust KTSB assembler to support larger physical addresses.
+ - [sparc*] Fix physical memory management regressions with large
+ max_phys_bits.
+ - [sparc*] Use kernel page tables for vmemmap.
+ - [sparc*] Increase MAX_PHYS_ADDRESS_BITS to 53.
+ - [sparc*] sparse irq
+ - [sparc*] Fix register corruption in top-most kernel stack frame during
+ boot.
+ - [sparc*] Implement __get_user_pages_fast().
+
+ [ Ben Hutchings ]
+ * [i386] Rename 486 flavour to 586, as it has not worked on 486 processors
+ since we enabled CC_STACKPROTECTOR (Closes: #766105)
+ - Select M586TSC instead of M486
+ * [x86] r8723au: Backport changes up to Linux 3.17 (Closes: #765685)
+ * mmc_block: Increase max_devices and set MMC_BLOCK_MINORS to 256
+ (Closes: #765621)
+ * [x86] drm/i915: Initialise userptr mmu_notifier serial to 1
+ (Closes: #765590)
+ * rtsx_usb_ms: Use msleep_interruptible() in polling loop (Closes: #765717)
+ * Bump ABI to 4
+ * Add '.0' to the kernel version string (Closes: #742226, #745984)
+ * vfs,fuse: Change iov_iter_get_pages() to take both maxsize and maxpages
+ parameters (Closes: #764285)
+ * lockd: Try to reconnect if statd has moved (Closes: #767219)
+ * m25p80: Fix module device ID table
+ * HID: i2c-hid: call the hid driver's suspend and resume callbacks
+ (Closes: #767204)
+ * [x86] drm/i915: Add some L3 registers to the parser whitelist
+ (Closes: #767148)
+ * wireless: rt2x00: add new rt2800usb device (thanks to Cyril Brulebois)
+ (Closes: #766802)
+ * drivers/net,ipv6: Fix virtio/IPv6 regression in 3.16:
+ - drivers/net: Disable UFO through virtio
+ - drivers/net,ipv6: Select IPv6 fragment idents for virtio UFO packets
+ * [x86] KVM: Check non-canonical addresses upon WRMSR (CVE-2014-3610)
+ * [x86] KVM: Prevent host from panicking on shared MSR writes.
+ (CVE-2014-3610)
+ * [x86] KVM: Improve thread safety in pit (CVE-2014-3611)
+ * [x86] kvm: vmx: handle invvpid vm exit gracefully (CVE-2014-3646)
+ * [x86] KVM: Fix wrong masking on relative jump/call
+ * [x86] KVM: Emulator fixes for eip canonical checks on near branches
+ (CVE-2014-3647)
+ * [x86] KVM: Handle errors when RIP is set during far jumps (CVE-2014-3647)
+ * [x86] KVM: Fix far-jump to non-canonical check
+ * net: sctp: fix skb_over_panic when receiving malformed ASCONF chunks
+ (CVE-2014-3673)
+ * net: sctp: fix panic on duplicate ASCONF chunks (CVE-2014-3687)
+ * net: sctp: fix remote memory pressure from excessive queueing
+ (CVE-2014-3688)
+ * mnt: Prevent pivot_root from creating a loop in the mount tree
+ (CVE-2014-7970)
+ * linux-image: Recommend irqbalance if CONFIG_SMP is enabled
+ (Closes: #577788)
+ * [armhf] leds: Enable LEDS_PWM as module (for Cubox-i)
+ * [x86] Backport Thunderbolt support on Apple computers from 3.17
+ * [x86] linux-image: Remove lilo from suggested boot loaders
+ * [amd64] linux-image: Add grub-efi to suggested boot loaders
+ * [hppa] Reduce SIGRTMIN from 37 to 32 to behave like other Linux
+ architectures (Closes: #766635)
+ * [hppa] udeb: Add many more module packages (Closes: #766793)
+ * iwlwifi: Backport firmware monitor from 3.17 (Closes: #767088)
+ * bug script: Warn if the running kernel matches the ABI name of the
+ package but is not the installed version
+
+ [ Mauricio Faria de Oliveira ]
+ * [ppc64el] Disable CONFIG_CMDLINE{,_BOOL} usage for setting consoles
+ (Closes: #764745)
+
+ [ Uwe Kleine-König ]
+ * [armhf] enable rtc driver for i.MX6
+ * [armhf] add chipidea usb host driver to usb-modules-$version-armmmp-di
+ for i.MX6
+ * [armhf] enable PCI and NAND driver for Armada 370
+ * [armhf] enable RTC, GPIO_PCA953X, SENSORS_G762 and watchdog driver for
+ Netgear ReadyNAS 102/104
+
+ [ Ian Campbell ]
+ * [armhf] Build i2c-s3c2410 statically, it is used by the arndale power
+ controller.
+ * [armhf] Backport device tree file for Olimex A20-OLinuXino-LIME. (Closes: #764967)
+ * [armhf] Enable various drivers for the Nokia N900. Patch from Sebastian
+ Reichel. (Closes: #766070)
+ * [arm64] Enable EHCI and OHCI platform USB HCD drivers.
+ * Enable MTD and MTDBLOCK in top-level config.
+ * [armhf] Add mtd-modules udeb. Patch from Uwe Kleine-Koenig.
+
+ [ Aurelien Jarno ]
+ * [mips*] Backport a hugetlb fix for Octeon from 3.18.
+ * [mips*] Backport math emulation fix for MIPS32r2 from 3.18.
+ * [mips*] Only define MAX_PHYSMEM_BITS on Loongson-3, until a better fix
+ is committed upstream. Fixes Loongson-2 kernel and maybe more. Closes:
+ #764223.
+ * [mips*/octeon] Add support for the UBNT E200 board (EdgeRouter/EdgeRouter
+ Pro 8 port).
+ * [mips*/octeon] Enable SERIAL_8250_DW. Disable KEYBOARD_ATKBD, MOUSE_PS2,
+ SERIO_I8042.
+ * [mips*/octeon] Really enable USB_OCTEON_EHCI and USB_OCTEON_OHCI. Closes:
+ Closes: #762066.
+
+ -- Ben Hutchings <ben at decadent.org.uk> Tue, 04 Nov 2014 09:47:27 +0000
linux (3.16.5-1) unstable; urgency=medium
Modified: dists/wheezy-backports/linux/debian/config/alpha/config
==============================================================================
--- dists/wheezy-backports/linux/debian/config/alpha/config Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/alpha/config Mon Dec 1 17:59:10 2014 (r22098)
@@ -415,14 +415,11 @@
##
## file: drivers/mtd/Kconfig
##
-CONFIG_MTD=m
CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED=y
CONFIG_MTD_REDBOOT_PARTS_READONLY=y
CONFIG_MTD_CMDLINE_PARTS=y
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
CONFIG_FTL=m
CONFIG_NFTL=m
CONFIG_NFTL_RW=y
Modified: dists/wheezy-backports/linux/debian/config/amd64/defines
==============================================================================
--- dists/wheezy-backports/linux/debian/config/amd64/defines Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/amd64/defines Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,7 +1,3 @@
-[abi]
-ignore-changes:
- module:arch/x86/kvm/*
-
[base]
featuresets:
none
@@ -13,7 +9,7 @@
image-file: arch/x86/boot/bzImage
[image]
-bootloaders: grub-pc extlinux lilo
+bootloaders: grub-pc grub-efi extlinux
configs:
install-stem: vmlinuz
Modified: dists/wheezy-backports/linux/debian/config/arm64/config
==============================================================================
--- dists/wheezy-backports/linux/debian/config/arm64/config Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/arm64/config Mon Dec 1 17:59:10 2014 (r22098)
@@ -114,6 +114,14 @@
# CONFIG_SERIAL_8250_EM is not set
##
+## file: drivers/usb/host/Kconfig
+##
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_HCD_PLATFORM=m
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_PLATFORM=m
+
+##
## file: drivers/virtio/Kconfig
##
CONFIG_VIRTIO_MMIO=m
Modified: dists/wheezy-backports/linux/debian/config/armhf/config.armmp
==============================================================================
--- dists/wheezy-backports/linux/debian/config/armhf/config.armmp Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/armhf/config.armmp Mon Dec 1 17:59:10 2014 (r22098)
@@ -181,6 +181,7 @@
CONFIG_GPIO_SYSFS=y
CONFIG_GPIO_DA9052=m
CONFIG_GPIO_GENERIC_PLATFORM=m
+CONFIG_GPIO_PCA953X=m
CONFIG_GPIO_TWL4030=y
CONFIG_GPIO_TWL6040=y
@@ -195,6 +196,11 @@
CONFIG_DRM_I2C_NXP_TDA998X=m
##
+## file: drivers/gpu/drm/omapdrm/Kconfig
+##
+CONFIG_DRM_OMAP=m
+
+##
## file: drivers/gpu/drm/tilcdc/Kconfig
##
CONFIG_DRM_TILCDC=m
@@ -205,6 +211,11 @@
CONFIG_IMX_IPUV3_CORE=m
##
+## file: drivers/hwmon/Kconfig
+##
+CONFIG_SENSORS_G762=m
+
+##
## file: drivers/hwspinlock/Kconfig
##
CONFIG_HWSPINLOCK_OMAP=m
@@ -222,7 +233,7 @@
CONFIG_I2C_IMX=m
CONFIG_I2C_MV64XXX=m
CONFIG_I2C_OMAP=y
-CONFIG_I2C_S3C2410=m
+CONFIG_I2C_S3C2410=y
CONFIG_I2C_VERSATILE=m
##
@@ -239,6 +250,7 @@
## file: drivers/iio/adc/Kconfig
##
CONFIG_TI_AM335X_ADC=m
+CONFIG_TWL4030_MADC=m
##
## file: drivers/iio/light/Kconfig
@@ -288,6 +300,7 @@
CONFIG_LEDS_GPIO=m
CONFIG_LEDS_LP5523=m
CONFIG_LEDS_DA9052=m
+CONFIG_LEDS_PWM=m
##
## file: drivers/leds/trigger/Kconfig
@@ -385,6 +398,7 @@
##
CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_OMAP2=m
+CONFIG_MTD_NAND_PXA3xx=m
CONFIG_MTD_NAND_GPMI_NAND=m
CONFIG_MTD_NAND_ORION=m
CONFIG_MTD_NAND_MXC=m
@@ -549,6 +563,11 @@
CONFIG_WLCORE_SDIO=m
##
+## file: drivers/pci/host/Kconfig
+##
+CONFIG_PCI_MVEBU=y
+
+##
## file: drivers/phy/Kconfig
##
CONFIG_OMAP_CONTROL_PHY=m
@@ -574,6 +593,7 @@
##
## file: drivers/power/Kconfig
##
+CONFIG_CHARGER_BQ2415X=m
CONFIG_BATTERY_BQ27x00=m
CONFIG_CHARGER_ISP1704=m
@@ -612,6 +632,7 @@
##
## file: drivers/rtc/Kconfig
##
+CONFIG_RTC_DRV_ISL12057=y
CONFIG_RTC_DRV_DA9052=y
CONFIG_RTC_DRV_IMXDI=y
CONFIG_RTC_DRV_OMAP=y
@@ -620,9 +641,11 @@
CONFIG_RTC_DRV_VT8500=y
CONFIG_RTC_DRV_S5M=y
CONFIG_RTC_DRV_SUNXI=y
+CONFIG_RTC_DRV_TWL4030=y
CONFIG_RTC_DRV_MV=y
CONFIG_RTC_DRV_MC13XXX=y
CONFIG_RTC_DRV_MXC=y
+CONFIG_RTC_DRV_SNVS=y
##
## file: drivers/scsi/Kconfig
@@ -643,6 +666,22 @@
CONFIG_SPI_SPIDEV=y
##
+## file: drivers/hsi/Kconfig
+##
+CONFIG_HSI=m
+
+##
+## file: drivers/hsi/controllers/Kconfig
+##
+CONFIG_OMAP_SSI=m
+
+##
+## file: drivers/hsi/clients/Kconfig
+##
+CONFIG_NOKIA_MODEM=m
+CONFIG_SSI_PROTOCOL=m
+
+##
## file: drivers/staging/iio/accel/Kconfig
##
CONFIG_LIS3L02DQ=m
@@ -793,6 +832,11 @@
CONFIG_OMAP2_DSS_SDI=y
##
+## file: drivers/video/fbdev/omap2/displays-new/Kconfig
+##
+CONFIG_DISPLAY_PANEL_SONY_ACX565AKM=m
+
+##
## file: drivers/video/fbdev/omap2/omapfb/Kconfig
##
CONFIG_FB_OMAP2=m
@@ -808,6 +852,7 @@
CONFIG_DA9052_WATCHDOG=m
CONFIG_ARM_SP805_WATCHDOG=m
CONFIG_OMAP_WATCHDOG=m
+CONFIG_ORION_WATCHDOG=m
CONFIG_SUNXI_WATCHDOG=m
CONFIG_TWL4030_WATCHDOG=m
CONFIG_IMX2_WDT=m
Modified: dists/wheezy-backports/linux/debian/config/config
==============================================================================
--- dists/wheezy-backports/linux/debian/config/config Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/config Mon Dec 1 17:59:10 2014 (r22098)
@@ -2189,7 +2189,7 @@
##
## file: drivers/mmc/card/Kconfig
##
-CONFIG_MMC_BLOCK_MINORS=8
+CONFIG_MMC_BLOCK_MINORS=256
CONFIG_MMC_BLOCK_BOUNCE=y
CONFIG_SDIO_UART=m
# CONFIG_MMC_TEST is not set
@@ -2221,6 +2221,9 @@
##
## file: drivers/mtd/Kconfig
##
+CONFIG_MTD=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
# CONFIG_MTD_TESTS is not set
CONFIG_MTD_AR7_PARTS=m
CONFIG_RFD_FTL=m
Modified: dists/wheezy-backports/linux/debian/config/defines
==============================================================================
--- dists/wheezy-backports/linux/debian/config/defines Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/defines Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,5 +1,5 @@
[abi]
-abiname: 0.bpo.3
+abiname: 0.bpo.4
[base]
arches:
Copied: dists/wheezy-backports/linux/debian/config/i386/config.586 (from r22048, dists/sid/linux/debian/config/i386/config.586)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/config/i386/config.586 Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/config/i386/config.586)
@@ -0,0 +1,121 @@
+##
+## file: arch/x86/Kconfig
+##
+# CONFIG_SMP is not set
+CONFIG_X86_32_IRIS=m
+CONFIG_X86_UP_APIC=y
+CONFIG_X86_UP_IOAPIC=y
+# CONFIG_X86_MCE is not set
+CONFIG_MATH_EMULATION=y
+CONFIG_EISA=y
+CONFIG_OLPC=y
+CONFIG_OLPC_XO1_PM=y
+CONFIG_OLPC_XO1_RTC=y
+CONFIG_OLPC_XO1_SCI=y
+CONFIG_OLPC_XO15_SCI=y
+
+##
+## file: arch/x86/Kconfig.cpu
+##
+## choice: Processor family
+CONFIG_M586TSC=y
+# CONFIG_M686 is not set
+## end choice
+
+##
+## file: drivers/eisa/Kconfig
+##
+CONFIG_EISA_VLB_PRIMING=y
+CONFIG_EISA_PCI_EISA=y
+CONFIG_EISA_VIRTUAL_ROOT=y
+CONFIG_EISA_NAMES=y
+
+##
+## file: drivers/i2c/Kconfig
+##
+CONFIG_I2C_STUB=m
+
+##
+## file: drivers/i2c/busses/Kconfig
+##
+CONFIG_I2C_ELEKTOR=m
+
+##
+## file: drivers/idle/Kconfig
+##
+# CONFIG_INTEL_IDLE is not set
+
+##
+## file: drivers/input/mouse/Kconfig
+##
+CONFIG_MOUSE_PS2_OLPC=y
+
+##
+## file: drivers/mtd/chips/Kconfig
+##
+# CONFIG_MTD_XIP is not set
+
+##
+## file: drivers/net/ethernet/8390/Kconfig
+##
+CONFIG_NET_VENDOR_8390=y
+
+##
+## file: drivers/net/ethernet/i825xx/Kconfig
+##
+CONFIG_NET_VENDOR_I825XX=y
+
+##
+## file: drivers/net/ethernet/natsemi/Kconfig
+##
+CONFIG_NET_VENDOR_NATSEMI=y
+
+##
+## file: drivers/net/hamradio/Kconfig
+##
+CONFIG_DMASCC=m
+
+##
+## file: drivers/pci/hotplug/Kconfig
+##
+CONFIG_HOTPLUG_PCI_COMPAQ_NVRAM=y
+
+##
+## file: drivers/platform/x86/Kconfig
+##
+CONFIG_XO1_RFKILL=m
+CONFIG_XO15_EBOOK=m
+
+##
+## file: drivers/power/Kconfig
+##
+CONFIG_BATTERY_OLPC=m
+
+##
+## file: drivers/scsi/Kconfig
+##
+CONFIG_SCSI_NCR_D700=m
+CONFIG_SCSI_NCR_Q720=m
+CONFIG_SCSI_NCR53C8XX_DEFAULT_TAGS=8
+CONFIG_SCSI_NCR53C8XX_MAX_TAGS=4
+CONFIG_SCSI_NCR53C8XX_SYNC=5
+CONFIG_SCSI_SIM710=m
+
+##
+## file: drivers/tty/Kconfig
+##
+CONFIG_MOXA_INTELLIO=m
+
+##
+## file: drivers/video/fbdev/geode/Kconfig
+##
+CONFIG_FB_GEODE=y
+CONFIG_FB_GEODE_LX=m
+CONFIG_FB_GEODE_GX=m
+CONFIG_FB_GEODE_GX1=m
+
+##
+## file: mm/Kconfig
+##
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+
Modified: dists/wheezy-backports/linux/debian/config/i386/defines
==============================================================================
--- dists/wheezy-backports/linux/debian/config/i386/defines Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/i386/defines Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,7 +1,3 @@
-[abi]
-ignore-changes:
- module:arch/x86/kvm/*
-
[base]
featuresets:
none
@@ -18,22 +14,22 @@
Turion or Phenom; Transmeta Efficeon; VIA C7; and some other processors.
[image]
-bootloaders: grub-pc extlinux lilo
+bootloaders: grub-pc extlinux
configs:
install-stem: vmlinuz
[relations]
headers%gcc-4.6: linux-compiler-gcc-4.6-x86
-[486_description]
+[586_description]
hardware: older PCs
hardware-long: PCs with a single processor not supporting PAE
parts: up
-[486_image]
+[586_image]
configs:
kernelarch-x86/config-arch-32
- i386/config.486
+ i386/config.586
[686-pae_build]
debug-info: true
Modified: dists/wheezy-backports/linux/debian/config/i386/none/defines
==============================================================================
--- dists/wheezy-backports/linux/debian/config/i386/none/defines Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/i386/none/defines Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,6 +1,6 @@
[base]
flavours:
- 486
+ 586
686-pae
amd64
Modified: dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.4kc-malta
==============================================================================
--- dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.4kc-malta Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.4kc-malta Mon Dec 1 17:59:10 2014 (r22098)
@@ -186,10 +186,7 @@
##
## file: drivers/mtd/Kconfig
##
-CONFIG_MTD=m
CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
CONFIG_FTL=m
CONFIG_NFTL=m
CONFIG_NFTL_RW=y
Modified: dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.5kc-malta
==============================================================================
--- dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.5kc-malta Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.5kc-malta Mon Dec 1 17:59:10 2014 (r22098)
@@ -189,10 +189,7 @@
##
## file: drivers/mtd/Kconfig
##
-CONFIG_MTD=m
CONFIG_MTD_REDBOOT_PARTS=y
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
CONFIG_FTL=m
CONFIG_NFTL=m
CONFIG_NFTL_RW=y
Modified: dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.octeon
==============================================================================
--- dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.octeon Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/kernelarch-mips/config.octeon Mon Dec 1 17:59:10 2014 (r22098)
@@ -53,13 +53,18 @@
## file: drivers/input/keyboard/Kconfig
##
CONFIG_INPUT_KEYBOARD=y
-CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_ATKBD is not set
##
## file: drivers/input/mouse/Kconfig
##
CONFIG_INPUT_MOUSE=y
-CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_PS2 is not set
+
+##
+## file: drivers/input/serio/Kconfig
+##
+# CONFIG_SERIO_I8042 is not set
##
## file: drivers/input/touchscreen/Kconfig
@@ -116,13 +121,14 @@
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=2
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+CONFIG_SERIAL_8250_DW=y
##
## file: drivers/usb/host/Kconfig
##
CONFIG_USB_EHCI_HCD=m
-CONFIG_USB_OCTEON_EHCI=m
-CONFIG_USB_OCTEON_OHCI=m
+CONFIG_USB_OCTEON_EHCI=y
+CONFIG_USB_OCTEON_OHCI=y
CONFIG_USB_OHCI_HCD=m
##
Modified: dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64
==============================================================================
--- dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64 Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64 Mon Dec 1 17:59:10 2014 (r22098)
@@ -9,7 +9,6 @@
CONFIG_PPC_64K_PAGES=y
## end choice
CONFIG_SCHED_SMT=y
-CONFIG_CMDLINE="console=hvsi0 console=hvc0 console=ttyS0,9600 console=tty0"
CONFIG_KERNEL_START=0xc000000000000000
##
Modified: dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64-be
==============================================================================
--- dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64-be Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64-be Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,4 +1,9 @@
##
+## file: arch/powerpc/Kconfig
+##
+CONFIG_CMDLINE="console=hvsi0 console=hvc0 console=ttyS0,9600 console=tty0"
+
+##
## file: arch/powerpc/platforms/cell/Kconfig
##
CONFIG_PPC_IBM_CELL_BLADE=y
Modified: dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64-le
==============================================================================
--- dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64-le Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/kernelarch-powerpc/config-arch-64-le Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,4 +1,9 @@
##
+## file: arch/powerpc/Kconfig
+##
+# CONFIG_CMDLINE_BOOL is not set
+
+##
## file: arch/powerpc/platforms/Kconfig.cputype
##
CONFIG_NR_CPUS=2048
Modified: dists/wheezy-backports/linux/debian/config/kernelarch-x86/config
==============================================================================
--- dists/wheezy-backports/linux/debian/config/kernelarch-x86/config Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/config/kernelarch-x86/config Mon Dec 1 17:59:10 2014 (r22098)
@@ -799,14 +799,11 @@
##
## file: drivers/mtd/Kconfig
##
-CONFIG_MTD=m
CONFIG_MTD_REDBOOT_PARTS=y
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
# CONFIG_MTD_CMDLINE_PARTS is not set
-CONFIG_MTD_BLOCK=m
-CONFIG_MTD_BLOCK_RO=m
CONFIG_FTL=m
CONFIG_NFTL=m
CONFIG_NFTL_RW=y
Copied: dists/wheezy-backports/linux/debian/installer/armhf/modules/armhf-armmp/mtd-modules (from r22048, dists/sid/linux/debian/installer/armhf/modules/armhf-armmp/mtd-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/armhf/modules/armhf-armmp/mtd-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/armhf/modules/armhf-armmp/mtd-modules)
@@ -0,0 +1,3 @@
+#include <mtd-modules>
+mxc_nand
+pxa3xx_nand
Modified: dists/wheezy-backports/linux/debian/installer/armhf/modules/armhf-armmp/usb-modules
==============================================================================
--- dists/wheezy-backports/linux/debian/installer/armhf/modules/armhf-armmp/usb-modules Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/installer/armhf/modules/armhf-armmp/usb-modules Mon Dec 1 17:59:10 2014 (r22098)
@@ -4,3 +4,4 @@
ohci-exynos
ehci-exynos
phy-exynos-usb2
+ci_hdrc_imx
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/ata-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/ata-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/ata-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/ata-modules)
@@ -0,0 +1 @@
+#include "../hppa/ata-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/crc-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/crc-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/crc-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/crc-modules)
@@ -0,0 +1 @@
+#include "../hppa/crc-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/event-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/event-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/event-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/event-modules)
@@ -0,0 +1 @@
+#include "../hppa/event-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/isofs-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/isofs-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/isofs-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/isofs-modules)
@@ -0,0 +1 @@
+#include "../hppa/isofs-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/jfs-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/jfs-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/jfs-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/jfs-modules)
@@ -0,0 +1 @@
+#include "../hppa/jfs-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/mouse-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/mouse-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/mouse-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/mouse-modules)
@@ -0,0 +1 @@
+#include "../hppa/mouse-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-shared-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-shared-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-shared-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-shared-modules)
@@ -0,0 +1 @@
+#include "../hppa/nic-shared-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-usb-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-usb-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-usb-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/nic-usb-modules)
@@ -0,0 +1 @@
+#include "../hppa/nic-usb-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/sata-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/sata-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/sata-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/sata-modules)
@@ -0,0 +1 @@
+#include "../hppa/sata-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/scsi-common-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/scsi-common-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/scsi-common-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/scsi-common-modules)
@@ -0,0 +1 @@
+#include "../hppa/scsi-common-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/serial-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/serial-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/serial-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/serial-modules)
@@ -0,0 +1 @@
+#include "../hppa/serial-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/squashfs-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/squashfs-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/squashfs-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/squashfs-modules)
@@ -0,0 +1 @@
+#include "../hppa/squashfs-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/usb-serial-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/usb-serial-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa-parisc64-smp/usb-serial-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa-parisc64-smp/usb-serial-modules)
@@ -0,0 +1 @@
+#include "../hppa/usb-serial-modules"
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/ata-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/ata-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/ata-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/ata-modules)
@@ -0,0 +1 @@
+#include <ata-modules>
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/crc-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/crc-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/crc-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/crc-modules)
@@ -0,0 +1 @@
+#include <crc-modules>
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/event-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/event-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/event-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/event-modules)
@@ -0,0 +1 @@
+#include <event-modules>
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/isofs-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/isofs-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/isofs-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/isofs-modules)
@@ -0,0 +1 @@
+#include <isofs-modules>
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/jfs-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/jfs-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/jfs-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/jfs-modules)
@@ -0,0 +1 @@
+#include <jfs-modules>
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/mouse-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/mouse-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/mouse-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/mouse-modules)
@@ -0,0 +1 @@
+#include <mouse-modules>
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/nic-shared-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/nic-shared-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/nic-shared-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/nic-shared-modules)
@@ -0,0 +1 @@
+#include <nic-shared-modules>
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/nic-usb-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/nic-usb-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/nic-usb-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/nic-usb-modules)
@@ -0,0 +1 @@
+#include <nic-usb-modules>
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/sata-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/sata-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/sata-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/sata-modules)
@@ -0,0 +1,2 @@
+#include <sata-modules>
+
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/scsi-common-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/scsi-common-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/scsi-common-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/scsi-common-modules)
@@ -0,0 +1,2 @@
+#include <scsi-common-modules>
+
Modified: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/scsi-modules
==============================================================================
--- dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/scsi-modules Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/scsi-modules Mon Dec 1 17:59:10 2014 (r22098)
@@ -4,7 +4,6 @@
osst
sg
st
-sym53c8xx
zalon7xx
megaraid ?
megaraid_mbox ?
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/serial-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/serial-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/serial-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/serial-modules)
@@ -0,0 +1 @@
+#include <serial-modules>
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/squashfs-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/squashfs-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/squashfs-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/squashfs-modules)
@@ -0,0 +1 @@
+#include <squashfs-modules>
Copied: dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/usb-serial-modules (from r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/usb-serial-modules)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/installer/hppa/modules/hppa/usb-serial-modules Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/installer/hppa/modules/hppa/usb-serial-modules)
@@ -0,0 +1 @@
+#include <usb-serial-modules>
Modified: dists/wheezy-backports/linux/debian/installer/i386/kernel-versions
==============================================================================
--- dists/wheezy-backports/linux/debian/installer/i386/kernel-versions Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/installer/i386/kernel-versions Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,3 +1,3 @@
# arch version flavour installedname suffix build-depends
-i386 - 486 - - -
+i386 - 586 - - -
i386 - 686-pae - - -
Modified: dists/wheezy-backports/linux/debian/lib/python/debian_linux/gencontrol.py
==============================================================================
--- dists/wheezy-backports/linux/debian/lib/python/debian_linux/gencontrol.py Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/lib/python/debian_linux/gencontrol.py Mon Dec 1 17:59:10 2014 (r22098)
@@ -275,7 +275,7 @@
def subst(match):
return vars[match.group(1)]
- return re.sub(r'@([-_a-z]+)@', subst, six.text_type(s))
+ return re.sub(r'@([-_a-z0-9]+)@', subst, six.text_type(s))
def write(self, packages, makefile):
self.write_control(packages.values())
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/HID-i2c-hid-call-the-hid-driver-s-suspend-and-resume.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/HID-i2c-hid-call-the-hid-driver-s-suspend-and-resume.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/HID-i2c-hid-call-the-hid-driver-s-suspend-and-resume.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/HID-i2c-hid-call-the-hid-driver-s-suspend-and-resume.patch)
@@ -0,0 +1,69 @@
+From: Andrew Duggan <aduggan at synaptics.com>
+Date: Fri, 11 Jul 2014 16:34:18 -0700
+Subject: HID: i2c-hid: call the hid driver's suspend and resume callbacks
+Origin: https://git.kernel.org/linus/109571cf3ec78a39477eedd6b11927f52cbcb1e8
+
+Currently, the i2c-hid driver does not call the suspend, resume, and
+reset_resume callbacks in the hid_driver struct when those events occur.
+This means that HID drivers for i2c-hid devices will not be able to execute
+commands which may be needed during suspend or resume. One example is when a
+touchpad using the hid-multitouch driver gets reset by i2c-hid coming out of
+resume. Since the reset_resume callback never gets called the device is never
+put back into the correct input mode. This patch calls the suspend and resume
+callbacks and tries to duplicate the functionality of the usb-hid driver.
+
+Signed-off-by: Andrew Duggan <aduggan at synaptics.com>
+Signed-off-by: Vincent Huang <vincent.huang at tw.synaptics.com>
+Reviewed-by: Benjamin Tissoires <benjamin.tissoires at redhat.com>
+Signed-off-by: Jiri Kosina <jkosina at suse.cz>
+---
+ drivers/hid/i2c-hid/i2c-hid.c | 15 ++++++++++++++-
+ 1 file changed, 14 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/hid/i2c-hid/i2c-hid.c b/drivers/hid/i2c-hid/i2c-hid.c
+index 21aafc8..747d544 100644
+--- a/drivers/hid/i2c-hid/i2c-hid.c
++++ b/drivers/hid/i2c-hid/i2c-hid.c
+@@ -1054,21 +1054,29 @@ static int i2c_hid_remove(struct i2c_client *client)
+ static int i2c_hid_suspend(struct device *dev)
+ {
+ struct i2c_client *client = to_i2c_client(dev);
++ struct i2c_hid *ihid = i2c_get_clientdata(client);
++ struct hid_device *hid = ihid->hid;
++ int ret = 0;
+
+ disable_irq(client->irq);
+ if (device_may_wakeup(&client->dev))
+ enable_irq_wake(client->irq);
+
++ if (hid->driver && hid->driver->suspend)
++ ret = hid->driver->suspend(hid, PMSG_SUSPEND);
++
+ /* Save some power */
+ i2c_hid_set_power(client, I2C_HID_PWR_SLEEP);
+
+- return 0;
++ return ret;
+ }
+
+ static int i2c_hid_resume(struct device *dev)
+ {
+ int ret;
+ struct i2c_client *client = to_i2c_client(dev);
++ struct i2c_hid *ihid = i2c_get_clientdata(client);
++ struct hid_device *hid = ihid->hid;
+
+ enable_irq(client->irq);
+ ret = i2c_hid_hwreset(client);
+@@ -1078,6 +1086,11 @@ static int i2c_hid_resume(struct device *dev)
+ if (device_may_wakeup(&client->dev))
+ disable_irq_wake(client->irq);
+
++ if (hid->driver && hid->driver->reset_resume) {
++ ret = hid->driver->reset_resume(hid);
++ return ret;
++ }
++
+ return 0;
+ }
+ #endif
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/SUNRPC-Don-t-wake-tasks-during-connection-abort.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/SUNRPC-Don-t-wake-tasks-during-connection-abort.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/SUNRPC-Don-t-wake-tasks-during-connection-abort.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/SUNRPC-Don-t-wake-tasks-during-connection-abort.patch)
@@ -0,0 +1,52 @@
+From: Benjamin Coddington <bcodding at redhat.com>
+Date: Tue, 23 Sep 2014 12:26:19 -0400
+Subject: [1/2] SUNRPC: Don't wake tasks during connection abort
+Origin: https://git.kernel.org/linus/a743419f420a64d442280845c0377a915b76644f
+Bug-Debian: https://bugs.debian.org/767219
+
+When aborting a connection to preserve source ports, don't wake the task in
+xs_error_report. This allows tasks with RPC_TASK_SOFTCONN to succeed if the
+connection needs to be re-established since it preserves the task's status
+instead of setting it to the status of the aborting kernel_connect().
+
+This may also avoid a potential conflict on the socket's lock.
+
+Signed-off-by: Benjamin Coddington <bcodding at redhat.com>
+Cc: stable at vger.kernel.org # 3.14+
+Signed-off-by: Trond Myklebust <trond.myklebust at primarydata.com>
+---
+ include/linux/sunrpc/xprt.h | 1 +
+ net/sunrpc/xprtsock.c | 4 ++++
+ 2 files changed, 5 insertions(+)
+
+--- a/include/linux/sunrpc/xprt.h
++++ b/include/linux/sunrpc/xprt.h
+@@ -357,6 +357,7 @@ int xs_swapper(struct rpc_xprt *xprt,
+ #define XPRT_CONNECTION_ABORT (7)
+ #define XPRT_CONNECTION_CLOSE (8)
+ #define XPRT_CONGESTED (9)
++#define XPRT_CONNECTION_REUSE (10)
+
+ static inline void xprt_set_connected(struct rpc_xprt *xprt)
+ {
+--- a/net/sunrpc/xprtsock.c
++++ b/net/sunrpc/xprtsock.c
+@@ -842,6 +842,8 @@ static void xs_error_report(struct sock
+ dprintk("RPC: xs_error_report client %p, error=%d...\n",
+ xprt, -err);
+ trace_rpc_socket_error(xprt, sk->sk_socket, err);
++ if (test_bit(XPRT_CONNECTION_REUSE, &xprt->state))
++ goto out;
+ xprt_wake_pending_tasks(xprt, err);
+ out:
+ read_unlock_bh(&sk->sk_callback_lock);
+@@ -2241,7 +2243,9 @@ static void xs_tcp_setup_socket(struct w
+ abort_and_exit = test_and_clear_bit(XPRT_CONNECTION_ABORT,
+ &xprt->state);
+ /* "close" the socket, preserving the local port */
++ set_bit(XPRT_CONNECTION_REUSE, &xprt->state);
+ xs_tcp_reuse_connection(transport);
++ clear_bit(XPRT_CONNECTION_REUSE, &xprt->state);
+
+ if (abort_and_exit)
+ goto out_eagain;
Modified: dists/wheezy-backports/linux/debian/patches/bugfix/all/disable-some-marvell-phys.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/bugfix/all/disable-some-marvell-phys.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/disable-some-marvell-phys.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -2,6 +2,7 @@
Subject: phy/marvell: disable 4-port phys
Date: Wed, 20 Nov 2013 08:30:14 +0000
Bug-Debian: https://bugs.debian.org/723177
+Forwarded: http://thread.gmane.org/gmane.linux.debian.devel.bugs.general/1107774/
The Marvell PHY was originally disabled because it can cause networking
failures on some systems. According to Lennert Buytenhek this is because some
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/drivers-net-Disable-UFO-through-virtio.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/drivers-net-Disable-UFO-through-virtio.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/drivers-net-Disable-UFO-through-virtio.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/drivers-net-Disable-UFO-through-virtio.patch)
@@ -0,0 +1,212 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Thu, 30 Oct 2014 18:27:12 +0000
+Subject: [1/2] drivers/net: Disable UFO through virtio
+Origin: https://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit?id=3d0ad09412ffe00c9afa201d01effdb6023d09b4
+
+IPv6 does not allow fragmentation by routers, so there is no
+fragmentation ID in the fixed header. UFO for IPv6 requires the ID to
+be passed separately, but there is no provision for this in the virtio
+net protocol.
+
+Until recently our software implementation of UFO/IPv6 generated a new
+ID, but this was a bug. Now we will use ID=0 for any UFO/IPv6 packet
+passed through a tap, which is even worse.
+
+Unfortunately there is no distinction between UFO/IPv4 and v6
+features, so disable UFO on taps and virtio_net completely until we
+have a proper solution.
+
+We cannot depend on VM managers respecting the tap feature flags, so
+keep accepting UFO packets but log a warning the first time we do
+this.
+
+Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
+Fixes: 916e4cf46d02 ("ipv6: reuse ip6_frag_id from ip6_ufo_append_data")
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ drivers/net/macvtap.c | 13 +++++--------
+ drivers/net/tun.c | 19 +++++++++++--------
+ drivers/net/virtio_net.c | 24 ++++++++++++++----------
+ 3 files changed, 30 insertions(+), 26 deletions(-)
+
+--- a/drivers/net/macvtap.c
++++ b/drivers/net/macvtap.c
+@@ -65,7 +65,7 @@ static struct cdev macvtap_cdev;
+ static const struct proto_ops macvtap_socket_ops;
+
+ #define TUN_OFFLOADS (NETIF_F_HW_CSUM | NETIF_F_TSO_ECN | NETIF_F_TSO | \
+- NETIF_F_TSO6 | NETIF_F_UFO)
++ NETIF_F_TSO6)
+ #define RX_OFFLOADS (NETIF_F_GRO | NETIF_F_LRO)
+ #define TAP_FEATURES (NETIF_F_GSO | NETIF_F_SG)
+
+@@ -569,6 +569,8 @@ static int macvtap_skb_from_vnet_hdr(str
+ gso_type = SKB_GSO_TCPV6;
+ break;
+ case VIRTIO_NET_HDR_GSO_UDP:
++ pr_warn_once("macvtap: %s: using disabled UFO feature; please fix this program\n",
++ current->comm);
+ gso_type = SKB_GSO_UDP;
+ break;
+ default:
+@@ -614,8 +616,6 @@ static void macvtap_skb_to_vnet_hdr(cons
+ vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
+ else if (sinfo->gso_type & SKB_GSO_TCPV6)
+ vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
+- else if (sinfo->gso_type & SKB_GSO_UDP)
+- vnet_hdr->gso_type = VIRTIO_NET_HDR_GSO_UDP;
+ else
+ BUG();
+ if (sinfo->gso_type & SKB_GSO_TCP_ECN)
+@@ -950,9 +950,6 @@ static int set_offload(struct macvtap_qu
+ if (arg & TUN_F_TSO6)
+ feature_mask |= NETIF_F_TSO6;
+ }
+-
+- if (arg & TUN_F_UFO)
+- feature_mask |= NETIF_F_UFO;
+ }
+
+ /* tun/tap driver inverts the usage for TSO offloads, where
+@@ -963,7 +960,7 @@ static int set_offload(struct macvtap_qu
+ * When user space turns off TSO, we turn off GSO/LRO so that
+ * user-space will not receive TSO frames.
+ */
+- if (feature_mask & (NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_UFO))
++ if (feature_mask & (NETIF_F_TSO | NETIF_F_TSO6))
+ features |= RX_OFFLOADS;
+ else
+ features &= ~RX_OFFLOADS;
+@@ -1064,7 +1061,7 @@ static long macvtap_ioctl(struct file *f
+ case TUNSETOFFLOAD:
+ /* let the user check for future flags */
+ if (arg & ~(TUN_F_CSUM | TUN_F_TSO4 | TUN_F_TSO6 |
+- TUN_F_TSO_ECN | TUN_F_UFO))
++ TUN_F_TSO_ECN))
+ return -EINVAL;
+
+ rtnl_lock();
+--- a/drivers/net/tun.c
++++ b/drivers/net/tun.c
+@@ -174,7 +174,7 @@ struct tun_struct {
+ struct net_device *dev;
+ netdev_features_t set_features;
+ #define TUN_USER_FEATURES (NETIF_F_HW_CSUM|NETIF_F_TSO_ECN|NETIF_F_TSO| \
+- NETIF_F_TSO6|NETIF_F_UFO)
++ NETIF_F_TSO6)
+
+ int vnet_hdr_sz;
+ int sndbuf;
+@@ -1149,8 +1149,18 @@ static ssize_t tun_get_user(struct tun_s
+ skb_shinfo(skb)->gso_type = SKB_GSO_TCPV6;
+ break;
+ case VIRTIO_NET_HDR_GSO_UDP:
++ {
++ static bool warned;
++
++ if (!warned) {
++ warned = true;
++ netdev_warn(tun->dev,
++ "%s: using disabled UFO feature; please fix this program\n",
++ current->comm);
++ }
+ skb_shinfo(skb)->gso_type = SKB_GSO_UDP;
+ break;
++ }
+ default:
+ tun->dev->stats.rx_frame_errors++;
+ kfree_skb(skb);
+@@ -1251,8 +1261,6 @@ static ssize_t tun_put_user(struct tun_s
+ gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
+ else if (sinfo->gso_type & SKB_GSO_TCPV6)
+ gso.gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
+- else if (sinfo->gso_type & SKB_GSO_UDP)
+- gso.gso_type = VIRTIO_NET_HDR_GSO_UDP;
+ else {
+ pr_err("unexpected GSO type: "
+ "0x%x, gso_size %d, hdr_len %d\n",
+@@ -1761,11 +1769,6 @@ static int set_offload(struct tun_struct
+ features |= NETIF_F_TSO6;
+ arg &= ~(TUN_F_TSO4|TUN_F_TSO6);
+ }
+-
+- if (arg & TUN_F_UFO) {
+- features |= NETIF_F_UFO;
+- arg &= ~TUN_F_UFO;
+- }
+ }
+
+ /* This gives the user a way to test for new features in future by
+--- a/drivers/net/virtio_net.c
++++ b/drivers/net/virtio_net.c
+@@ -496,8 +496,17 @@ static void receive_buf(struct receive_q
+ skb_shinfo(skb)->gso_type = SKB_GSO_TCPV4;
+ break;
+ case VIRTIO_NET_HDR_GSO_UDP:
++ {
++ static bool warned;
++
++ if (!warned) {
++ warned = true;
++ netdev_warn(dev,
++ "host using disabled UFO feature; please fix it\n");
++ }
+ skb_shinfo(skb)->gso_type = SKB_GSO_UDP;
+ break;
++ }
+ case VIRTIO_NET_HDR_GSO_TCPV6:
+ skb_shinfo(skb)->gso_type = SKB_GSO_TCPV6;
+ break;
+@@ -836,8 +845,6 @@ static int xmit_skb(struct send_queue *s
+ hdr->hdr.gso_type = VIRTIO_NET_HDR_GSO_TCPV4;
+ else if (skb_shinfo(skb)->gso_type & SKB_GSO_TCPV6)
+ hdr->hdr.gso_type = VIRTIO_NET_HDR_GSO_TCPV6;
+- else if (skb_shinfo(skb)->gso_type & SKB_GSO_UDP)
+- hdr->hdr.gso_type = VIRTIO_NET_HDR_GSO_UDP;
+ else
+ BUG();
+ if (skb_shinfo(skb)->gso_type & SKB_GSO_TCP_ECN)
+@@ -1657,7 +1664,7 @@ static int virtnet_probe(struct virtio_d
+ dev->features |= NETIF_F_HW_CSUM|NETIF_F_SG|NETIF_F_FRAGLIST;
+
+ if (virtio_has_feature(vdev, VIRTIO_NET_F_GSO)) {
+- dev->hw_features |= NETIF_F_TSO | NETIF_F_UFO
++ dev->hw_features |= NETIF_F_TSO
+ | NETIF_F_TSO_ECN | NETIF_F_TSO6;
+ }
+ /* Individual feature bits: what can host handle? */
+@@ -1667,11 +1674,9 @@ static int virtnet_probe(struct virtio_d
+ dev->hw_features |= NETIF_F_TSO6;
+ if (virtio_has_feature(vdev, VIRTIO_NET_F_HOST_ECN))
+ dev->hw_features |= NETIF_F_TSO_ECN;
+- if (virtio_has_feature(vdev, VIRTIO_NET_F_HOST_UFO))
+- dev->hw_features |= NETIF_F_UFO;
+
+ if (gso)
+- dev->features |= dev->hw_features & (NETIF_F_ALL_TSO|NETIF_F_UFO);
++ dev->features |= dev->hw_features & NETIF_F_ALL_TSO;
+ /* (!csum && gso) case will be fixed by register_netdev() */
+ }
+ if (virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_CSUM))
+@@ -1711,8 +1716,7 @@ static int virtnet_probe(struct virtio_d
+ /* If we can receive ANY GSO packets, we must allocate large ones. */
+ if (virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO4) ||
+ virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_TSO6) ||
+- virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_ECN) ||
+- virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_UFO))
++ virtio_has_feature(vdev, VIRTIO_NET_F_GUEST_ECN))
+ vi->big_packets = true;
+
+ if (virtio_has_feature(vdev, VIRTIO_NET_F_MRG_RXBUF))
+@@ -1910,9 +1914,9 @@ static struct virtio_device_id id_table[
+ static unsigned int features[] = {
+ VIRTIO_NET_F_CSUM, VIRTIO_NET_F_GUEST_CSUM,
+ VIRTIO_NET_F_GSO, VIRTIO_NET_F_MAC,
+- VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_UFO, VIRTIO_NET_F_HOST_TSO6,
++ VIRTIO_NET_F_HOST_TSO4, VIRTIO_NET_F_HOST_TSO6,
+ VIRTIO_NET_F_HOST_ECN, VIRTIO_NET_F_GUEST_TSO4, VIRTIO_NET_F_GUEST_TSO6,
+- VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_GUEST_UFO,
++ VIRTIO_NET_F_GUEST_ECN,
+ VIRTIO_NET_F_MRG_RXBUF, VIRTIO_NET_F_STATUS, VIRTIO_NET_F_CTRL_VQ,
+ VIRTIO_NET_F_CTRL_RX, VIRTIO_NET_F_CTRL_VLAN,
+ VIRTIO_NET_F_GUEST_ANNOUNCE, VIRTIO_NET_F_MQ,
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/drivers-net-ipv6-Select-IPv6-fragment-idents-for-vir.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/drivers-net-ipv6-Select-IPv6-fragment-idents-for-vir.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/drivers-net-ipv6-Select-IPv6-fragment-idents-for-vir.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/drivers-net-ipv6-Select-IPv6-fragment-idents-for-vir.patch)
@@ -0,0 +1,135 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Thu, 30 Oct 2014 18:27:17 +0000
+Subject: [2/2] drivers/net, ipv6: Select IPv6 fragment idents for virtio UFO
+ packets
+Origin: https://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit?id=5188cd44c55db3e92cd9e77a40b5baa7ed4340f7
+
+UFO is now disabled on all drivers that work with virtio net headers,
+but userland may try to send UFO/IPv6 packets anyway. Instead of
+sending with ID=0, we should select identifiers on their behalf (as we
+used to).
+
+Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
+Fixes: 916e4cf46d02 ("ipv6: reuse ip6_frag_id from ip6_ufo_append_data")
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ drivers/net/macvtap.c | 3 +++
+ drivers/net/tun.c | 6 +++++-
+ include/net/ipv6.h | 2 ++
+ net/ipv6/output_core.c | 34 ++++++++++++++++++++++++++++++++++
+ 4 files changed, 44 insertions(+), 1 deletion(-)
+
+--- a/drivers/net/macvtap.c
++++ b/drivers/net/macvtap.c
+@@ -16,6 +16,7 @@
+ #include <linux/idr.h>
+ #include <linux/fs.h>
+
++#include <net/ipv6.h>
+ #include <net/net_namespace.h>
+ #include <net/rtnetlink.h>
+ #include <net/sock.h>
+@@ -572,6 +573,8 @@ static int macvtap_skb_from_vnet_hdr(str
+ pr_warn_once("macvtap: %s: using disabled UFO feature; please fix this program\n",
+ current->comm);
+ gso_type = SKB_GSO_UDP;
++ if (skb->protocol == htons(ETH_P_IPV6))
++ ipv6_proxy_select_ident(skb);
+ break;
+ default:
+ return -EINVAL;
+--- a/drivers/net/tun.c
++++ b/drivers/net/tun.c
+@@ -65,6 +65,7 @@
+ #include <linux/nsproxy.h>
+ #include <linux/virtio_net.h>
+ #include <linux/rcupdate.h>
++#include <net/ipv6.h>
+ #include <net/net_namespace.h>
+ #include <net/netns/generic.h>
+ #include <net/rtnetlink.h>
+@@ -1139,6 +1140,8 @@ static ssize_t tun_get_user(struct tun_s
+ break;
+ }
+
++ skb_reset_network_header(skb);
++
+ if (gso.gso_type != VIRTIO_NET_HDR_GSO_NONE) {
+ pr_debug("GSO!\n");
+ switch (gso.gso_type & ~VIRTIO_NET_HDR_GSO_ECN) {
+@@ -1159,6 +1162,8 @@ static ssize_t tun_get_user(struct tun_s
+ current->comm);
+ }
+ skb_shinfo(skb)->gso_type = SKB_GSO_UDP;
++ if (skb->protocol == htons(ETH_P_IPV6))
++ ipv6_proxy_select_ident(skb);
+ break;
+ }
+ default:
+@@ -1189,7 +1194,6 @@ static ssize_t tun_get_user(struct tun_s
+ skb_shinfo(skb)->tx_flags |= SKBTX_SHARED_FRAG;
+ }
+
+- skb_reset_network_header(skb);
+ skb_probe_transport_header(skb, 0);
+
+ rxhash = skb_get_hash(skb);
+--- a/include/net/ipv6.h
++++ b/include/net/ipv6.h
+@@ -668,6 +668,8 @@ static inline int ipv6_addr_diff(const s
+ return __ipv6_addr_diff(a1, a2, sizeof(struct in6_addr));
+ }
+
++void ipv6_proxy_select_ident(struct sk_buff *skb);
++
+ int ip6_dst_hoplimit(struct dst_entry *dst);
+
+ static inline int ip6_sk_dst_hoplimit(struct ipv6_pinfo *np, struct flowi6 *fl6,
+--- a/net/ipv6/output_core.c
++++ b/net/ipv6/output_core.c
+@@ -3,11 +3,45 @@
+ * not configured or static. These functions are needed by GSO/GRO implementation.
+ */
+ #include <linux/export.h>
++#include <net/ip.h>
+ #include <net/ipv6.h>
+ #include <net/ip6_fib.h>
+ #include <net/addrconf.h>
+ #include <net/secure_seq.h>
+
++/* This function exists only for tap drivers that must support broken
++ * clients requesting UFO without specifying an IPv6 fragment ID.
++ *
++ * This is similar to ipv6_select_ident() but we use an independent hash
++ * seed to limit information leakage.
++ *
++ * The network header must be set before calling this.
++ */
++void ipv6_proxy_select_ident(struct sk_buff *skb)
++{
++ static u32 ip6_proxy_idents_hashrnd __read_mostly;
++ struct in6_addr buf[2];
++ struct in6_addr *addrs;
++ u32 hash, id;
++
++ addrs = skb_header_pointer(skb,
++ skb_network_offset(skb) +
++ offsetof(struct ipv6hdr, saddr),
++ sizeof(buf), buf);
++ if (!addrs)
++ return;
++
++ net_get_random_once(&ip6_proxy_idents_hashrnd,
++ sizeof(ip6_proxy_idents_hashrnd));
++
++ hash = __ipv6_addr_jhash(&addrs[1], ip6_proxy_idents_hashrnd);
++ hash = __ipv6_addr_jhash(&addrs[0], hash);
++
++ id = ip_idents_reserve(hash, 1);
++ skb_shinfo(skb)->ip6_frag_id = htonl(id);
++}
++EXPORT_SYMBOL_GPL(ipv6_proxy_select_ident);
++
+ int ip6_find_1stfragopt(struct sk_buff *skb, u8 **nexthdr)
+ {
+ u16 offset = sizeof(struct ipv6hdr);
Modified: dists/wheezy-backports/linux/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/firmware_class-return-specific-errors-from-file-read.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,6 +1,7 @@
From: Ben Hutchings <ben at decadent.org.uk>
Date: Sat, 14 Dec 2013 17:14:39 +0000
Subject: firmware_class: Return specific errors from file read
+Forwarded: no
Currently several failure cases are not distinguished and are
incorrectly reported as -EINVAL or -ENOENT.
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/fuse-honour-max_read-and-max_write-in-direct_io-mode.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/fuse-honour-max_read-and-max_write-in-direct_io-mode.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/fuse-honour-max_read-and-max_write-in-direct_io-mode.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/fuse-honour-max_read-and-max_write-in-direct_io-mode.patch)
@@ -0,0 +1,123 @@
+From: Miklos Szeredi <mszeredi at suse.cz>
+Date: Wed, 24 Sep 2014 17:09:11 +0200
+Subject: fuse: honour max_read and max_write in direct_io mode
+Origin: https://git.kernel.org/linus/2c80929c4c4d54e568b07ab85877d5fd38f4b02f
+
+The third argument of fuse_get_user_pages() "nbytesp" refers to the number of
+bytes a caller asked to pack into fuse request. This value may be lesser
+than capacity of fuse request or iov_iter. So fuse_get_user_pages() must
+ensure that *nbytesp won't grow.
+
+Now, when helper iov_iter_get_pages() performs all hard work of extracting
+pages from iov_iter, it can be done by passing properly calculated
+"maxsize" to the helper.
+
+The other caller of iov_iter_get_pages() (dio_refill_pages()) doesn't need
+this capability, so pass LONG_MAX as the maxsize argument here.
+
+Fixes: c9c37e2e6378 ("fuse: switch to iov_iter_get_pages()")
+Reported-by: Werner Baumann <werner.baumann at onlinehome.de>
+Tested-by: Maxim Patlasov <mpatlasov at parallels.com>
+Signed-off-by: Miklos Szeredi <mszeredi at suse.cz>
+Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
+---
+ fs/direct-io.c | 2 +-
+ fs/fuse/file.c | 1 +
+ include/linux/uio.h | 2 +-
+ mm/iov_iter.c | 14 +++++++++-----
+ 4 files changed, 12 insertions(+), 7 deletions(-)
+
+diff --git a/fs/direct-io.c b/fs/direct-io.c
+index c311640..e181b6b 100644
+--- a/fs/direct-io.c
++++ b/fs/direct-io.c
+@@ -158,7 +158,7 @@ static inline int dio_refill_pages(struct dio *dio, struct dio_submit *sdio)
+ {
+ ssize_t ret;
+
+- ret = iov_iter_get_pages(sdio->iter, dio->pages, DIO_PAGES,
++ ret = iov_iter_get_pages(sdio->iter, dio->pages, LONG_MAX, DIO_PAGES,
+ &sdio->from);
+
+ if (ret < 0 && sdio->blocks_available && (dio->rw & WRITE)) {
+diff --git a/fs/fuse/file.c b/fs/fuse/file.c
+index 912061a..caa8d95 100644
+--- a/fs/fuse/file.c
++++ b/fs/fuse/file.c
+@@ -1305,6 +1305,7 @@ static int fuse_get_user_pages(struct fuse_req *req, struct iov_iter *ii,
+ size_t start;
+ ssize_t ret = iov_iter_get_pages(ii,
+ &req->pages[req->num_pages],
++ *nbytesp - nbytes,
+ req->max_pages - req->num_pages,
+ &start);
+ if (ret < 0)
+diff --git a/include/linux/uio.h b/include/linux/uio.h
+index 48d64e6..290fbf0 100644
+--- a/include/linux/uio.h
++++ b/include/linux/uio.h
+@@ -84,7 +84,7 @@ unsigned long iov_iter_alignment(const struct iov_iter *i);
+ void iov_iter_init(struct iov_iter *i, int direction, const struct iovec *iov,
+ unsigned long nr_segs, size_t count);
+ ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages,
+- unsigned maxpages, size_t *start);
++ size_t maxsize, unsigned maxpages, size_t *start);
+ ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages,
+ size_t maxsize, size_t *start);
+ int iov_iter_npages(const struct iov_iter *i, int maxpages);
+diff --git a/mm/iov_iter.c b/mm/iov_iter.c
+index ab88dc0..9a09f20 100644
+--- a/mm/iov_iter.c
++++ b/mm/iov_iter.c
+@@ -310,7 +310,7 @@ void iov_iter_init(struct iov_iter *i, int direction,
+ EXPORT_SYMBOL(iov_iter_init);
+
+ static ssize_t get_pages_iovec(struct iov_iter *i,
+- struct page **pages, unsigned maxpages,
++ struct page **pages, size_t maxsize, unsigned maxpages,
+ size_t *start)
+ {
+ size_t offset = i->iov_offset;
+@@ -323,6 +323,8 @@ static ssize_t get_pages_iovec(struct iov_iter *i,
+ len = iov->iov_len - offset;
+ if (len > i->count)
+ len = i->count;
++ if (len > maxsize)
++ len = maxsize;
+ addr = (unsigned long)iov->iov_base + offset;
+ len += *start = addr & (PAGE_SIZE - 1);
+ if (len > maxpages * PAGE_SIZE)
+@@ -588,13 +590,15 @@ static unsigned long alignment_bvec(const struct iov_iter *i)
+ }
+
+ static ssize_t get_pages_bvec(struct iov_iter *i,
+- struct page **pages, unsigned maxpages,
++ struct page **pages, size_t maxsize, unsigned maxpages,
+ size_t *start)
+ {
+ const struct bio_vec *bvec = i->bvec;
+ size_t len = bvec->bv_len - i->iov_offset;
+ if (len > i->count)
+ len = i->count;
++ if (len > maxsize)
++ len = maxsize;
+ /* can't be more than PAGE_SIZE */
+ *start = bvec->bv_offset + i->iov_offset;
+
+@@ -711,13 +715,13 @@ unsigned long iov_iter_alignment(const struct iov_iter *i)
+ EXPORT_SYMBOL(iov_iter_alignment);
+
+ ssize_t iov_iter_get_pages(struct iov_iter *i,
+- struct page **pages, unsigned maxpages,
++ struct page **pages, size_t maxsize, unsigned maxpages,
+ size_t *start)
+ {
+ if (i->type & ITER_BVEC)
+- return get_pages_bvec(i, pages, maxpages, start);
++ return get_pages_bvec(i, pages, maxsize, maxpages, start);
+ else
+- return get_pages_iovec(i, pages, maxpages, start);
++ return get_pages_iovec(i, pages, maxsize, maxpages, start);
+ }
+ EXPORT_SYMBOL(iov_iter_get_pages);
+
Modified: dists/wheezy-backports/linux/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -3,7 +3,7 @@
Subject: kbuild: Use -nostdinc in compile tests
Bug-Debian: https://bugs.debian.org/726861
Bug-Debian: https://bugs.debian.org/717557
-Forwarded: no
+Forwarded: http://mid.gmane.org/1415235534.3398.35.camel@decadent.org.uk
Debian's gcc 4.8 pre-includes <stdc-predef.h> by default, which in
turn includes <bits/predefs.h>. This fails when building a 64-bit
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/lockd-Try-to-reconnect-if-statd-has-moved.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/lockd-Try-to-reconnect-if-statd-has-moved.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/lockd-Try-to-reconnect-if-statd-has-moved.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/lockd-Try-to-reconnect-if-statd-has-moved.patch)
@@ -0,0 +1,34 @@
+From: Benjamin Coddington <bcodding at redhat.com>
+Date: Tue, 23 Sep 2014 12:26:20 -0400
+Subject: [2/2] lockd: Try to reconnect if statd has moved
+Origin: https://git.kernel.org/linus/173b3afceebe76fa2205b2c8808682d5b541fe3c
+Bug-Debian: https://bugs.debian.org/767219
+
+If rpc.statd is restarted, upcalls to monitor hosts can fail with
+ECONNREFUSED. In that case force a lookup of statd's new port and retry the
+upcall.
+
+Signed-off-by: Benjamin Coddington <bcodding at redhat.com>
+Cc: stable at vger.kernel.org
+Signed-off-by: Trond Myklebust <trond.myklebust at primarydata.com>
+---
+ fs/lockd/mon.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/fs/lockd/mon.c b/fs/lockd/mon.c
+index daa8e75..9106f42 100644
+--- a/fs/lockd/mon.c
++++ b/fs/lockd/mon.c
+@@ -159,6 +159,12 @@ static int nsm_mon_unmon(struct nsm_handle *nsm, u32 proc, struct nsm_res *res,
+
+ msg.rpc_proc = &clnt->cl_procinfo[proc];
+ status = rpc_call_sync(clnt, &msg, RPC_TASK_SOFTCONN);
++ if (status == -ECONNREFUSED) {
++ dprintk("lockd: NSM upcall RPC failed, status=%d, forcing rebind\n",
++ status);
++ rpc_force_rebind(clnt);
++ status = rpc_call_sync(clnt, &msg, RPC_TASK_SOFTCONN);
++ }
+ if (status < 0)
+ dprintk("lockd: NSM upcall RPC failed, status=%d\n",
+ status);
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch)
@@ -0,0 +1,42 @@
+From: "Eric W. Biederman" <ebiederm at xmission.com>
+Date: Wed, 8 Oct 2014 10:42:27 -0700
+Subject: mnt: Prevent pivot_root from creating a loop in the mount tree
+Origin: https://git.kernel.org/linus/0d0826019e529f21c84687521d03f60cd241ca7d
+
+Andy Lutomirski recently demonstrated that when chroot is used to set
+the root path below the path for the new ``root'' passed to pivot_root
+the pivot_root system call succeeds and leaks mounts.
+
+In examining the code I see that starting with a new root that is
+below the current root in the mount tree will result in a loop in the
+mount tree after the mounts are detached and then reattached to one
+another. Resulting in all kinds of ugliness including a leak of that
+mounts involved in the leak of the mount loop.
+
+Prevent this problem by ensuring that the new mount is reachable from
+the current root of the mount tree.
+
+[Added stable cc. Fixes CVE-2014-7970. --Andy]
+
+Cc: stable at vger.kernel.org
+Reported-by: Andy Lutomirski <luto at amacapital.net>
+Reviewed-by: Andy Lutomirski <luto at amacapital.net>
+Link: http://lkml.kernel.org/r/87bnpmihks.fsf@x220.int.ebiederm.org
+Signed-off-by: "Eric W. Biederman" <ebiederm at xmission.com>
+Signed-off-by: Andy Lutomirski <luto at amacapital.net>
+---
+ fs/namespace.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+--- a/fs/namespace.c
++++ b/fs/namespace.c
+@@ -2842,6 +2842,9 @@ SYSCALL_DEFINE2(pivot_root, const char _
+ /* make sure we can reach put_old from new_root */
+ if (!is_path_reachable(old_mnt, old.dentry, &new))
+ goto out4;
++ /* make certain new is below the root */
++ if (!is_path_reachable(new_mnt, new.dentry, &root))
++ goto out4;
+ root_mp->m_count++; /* pin it so it won't go away */
+ lock_mount_hash();
+ detach_mnt(new_mnt, &parent_path);
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-m25p80-get-rid-of-spi_get_device_id.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-m25p80-get-rid-of-spi_get_device_id.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-m25p80-get-rid-of-spi_get_device_id.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-m25p80-get-rid-of-spi_get_device_id.patch)
@@ -0,0 +1,46 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5 at gmail.com>
+Date: Mon, 29 Sep 2014 11:47:53 +0200
+Subject: [2/4] mtd: m25p80: get rid of spi_get_device_id
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Origin: http://git.infradead.org/l2-mtd.git/commit/90e55b3812a1245bb674afcc4410ddba7db402f6
+
+This simplifies the way we use spi_nor framework and will allow us to
+drop spi_nor_match_id.
+
+Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
+Signed-off-by: Brian Norris <computersforpeace at gmail.com>
+---
+ drivers/mtd/devices/m25p80.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
+index dcda628..822209d 100644
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -197,6 +197,7 @@ static int m25p_probe(struct spi_device *spi)
+ struct m25p *flash;
+ struct spi_nor *nor;
+ enum read_mode mode = SPI_NOR_NORMAL;
++ char *flash_name = NULL;
+ int ret;
+
+ data = dev_get_platdata(&spi->dev);
+@@ -236,12 +237,11 @@ static int m25p_probe(struct spi_device *spi)
+ * If that's the case, respect "type" and ignore a "name".
+ */
+ if (data && data->type)
+- id = spi_nor_match_id(data->type);
+-
+- /* If we didn't get name from platform, simply use "modalias". */
+- if (!id)
+- id = spi_get_device_id(spi);
++ flash_name = data->type;
++ else
++ flash_name = spi->modalias;
+
++ id = spi_nor_match_id(flash_name);
+ ret = spi_nor_scan(nor, id, mode);
+ if (ret)
+ return ret;
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-m25p80-spi-nor-Fix-module-aliases-for-m25p80.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-m25p80-spi-nor-Fix-module-aliases-for-m25p80.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-m25p80-spi-nor-Fix-module-aliases-for-m25p80.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-m25p80-spi-nor-Fix-module-aliases-for-m25p80.patch)
@@ -0,0 +1,125 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Tue, 30 Sep 2014 03:14:55 +0100
+Subject: [4/4] mtd: m25p80,spi-nor: Fix module aliases for m25p80
+Origin: http://git.infradead.org/l2-mtd.git/commit/a5b7616c55e188fe3d6ef686bef402d4703ecb62
+
+m25p80's device ID table is now spi_nor_ids, defined in spi-nor. The
+MODULE_DEVICE_TABLE() macro doesn't work with extern definitions, but
+its use was also removed at the same time. Now if m25p80 is built as
+a module it doesn't get the necessary aliases to be loaded
+automatically.
+
+A clean solution to this will involve defining the list of device
+IDs in spi-nor.h and removing struct spi_device_id from the spi-nor
+API, but this is quite a large change.
+
+As a quick fix suitable for stable, copy the device IDs back into
+m25p80.
+
+Fixes: 03e296f613af ("mtd: m25p80: use the SPI nor framework")
+Cc: <stable at vger.kernel.org> # 3.16.x: 32f1b7c8352f: mtd: move support for struct flash_platform_data into m25p80
+Cc: <stable at vger.kernel.org> # 3.16.x: 90e55b3812a1: mtd: m25p80: get rid of spi_get_device_id
+Cc: <stable at vger.kernel.org> # 3.16.x: 70f3ce0510af: mtd: spi-nor: make spi_nor_scan() take a chip type name, not spi_device_id
+Cc: <stable at vger.kernel.org> # 3.16.x
+Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
+Signed-off-by: Brian Norris <computersforpeace at gmail.com>
+---
+ drivers/mtd/devices/m25p80.c | 52 ++++++++++++++++++++++++++++++++++++++++++-
+ drivers/mtd/spi-nor/spi-nor.c | 3 +--
+ include/linux/mtd/spi-nor.h | 1 -
+ 3 files changed, 52 insertions(+), 4 deletions(-)
+
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -261,12 +261,62 @@ static int m25p_remove(struct spi_device
+ }
+
+
++/*
++ * XXX This needs to be kept in sync with spi_nor_ids. We can't share
++ * it with spi-nor, because if this is built as a module then modpost
++ * won't be able to read it and add appropriate aliases.
++ */
++static const struct spi_device_id m25p_ids[] = {
++ {"at25fs010"}, {"at25fs040"}, {"at25df041a"}, {"at25df321a"},
++ {"at25df641"}, {"at26f004"}, {"at26df081a"}, {"at26df161a"},
++ {"at26df321"}, {"at45db081d"},
++ {"en25f32"}, {"en25p32"}, {"en25q32b"}, {"en25p64"},
++ {"en25q64"}, {"en25qh128"}, {"en25qh256"},
++ {"f25l32pa"},
++ {"mr25h256"}, {"mr25h10"},
++ {"gd25q32"}, {"gd25q64"},
++ {"160s33b"}, {"320s33b"}, {"640s33b"},
++ {"mx25l2005a"}, {"mx25l4005a"}, {"mx25l8005"}, {"mx25l1606e"},
++ {"mx25l3205d"}, {"mx25l3255e"}, {"mx25l6405d"}, {"mx25l12805d"},
++ {"mx25l12855e"},{"mx25l25635e"},{"mx25l25655e"},{"mx66l51235l"},
++ {"mx66l1g55g"},
++ {"n25q064"}, {"n25q128a11"}, {"n25q128a13"}, {"n25q256a"},
++ {"n25q512a"}, {"n25q512ax3"}, {"n25q00"},
++ {"pm25lv512"}, {"pm25lv010"}, {"pm25lq032"},
++ {"s25sl032p"}, {"s25sl064p"}, {"s25fl256s0"}, {"s25fl256s1"},
++ {"s25fl512s"}, {"s70fl01gs"}, {"s25sl12800"}, {"s25sl12801"},
++ {"s25fl129p0"}, {"s25fl129p1"}, {"s25sl004a"}, {"s25sl008a"},
++ {"s25sl016a"}, {"s25sl032a"}, {"s25sl064a"}, {"s25fl008k"},
++ {"s25fl016k"}, {"s25fl064k"},
++ {"sst25vf040b"},{"sst25vf080b"},{"sst25vf016b"},{"sst25vf032b"},
++ {"sst25vf064c"},{"sst25wf512"}, {"sst25wf010"}, {"sst25wf020"},
++ {"sst25wf040"},
++ {"m25p05"}, {"m25p10"}, {"m25p20"}, {"m25p40"},
++ {"m25p80"}, {"m25p16"}, {"m25p32"}, {"m25p64"},
++ {"m25p128"}, {"n25q032"},
++ {"m25p05-nonjedec"}, {"m25p10-nonjedec"}, {"m25p20-nonjedec"},
++ {"m25p40-nonjedec"}, {"m25p80-nonjedec"}, {"m25p16-nonjedec"},
++ {"m25p32-nonjedec"}, {"m25p64-nonjedec"}, {"m25p128-nonjedec"},
++ {"m45pe10"}, {"m45pe80"}, {"m45pe16"},
++ {"m25pe20"}, {"m25pe80"}, {"m25pe16"},
++ {"m25px16"}, {"m25px32"}, {"m25px32-s0"}, {"m25px32-s1"},
++ {"m25px64"},
++ {"w25x10"}, {"w25x20"}, {"w25x40"}, {"w25x80"},
++ {"w25x16"}, {"w25x32"}, {"w25q32"}, {"w25q32dw"},
++ {"w25x64"}, {"w25q64"}, {"w25q128"}, {"w25q80"},
++ {"w25q80bl"}, {"w25q128"}, {"w25q256"}, {"cat25c11"},
++ {"cat25c03"}, {"cat25c09"}, {"cat25c17"}, {"cat25128"},
++ { },
++};
++MODULE_DEVICE_TABLE(spi, m25p_ids);
++
++
+ static struct spi_driver m25p80_driver = {
+ .driver = {
+ .name = "m25p80",
+ .owner = THIS_MODULE,
+ },
+- .id_table = spi_nor_ids,
++ .id_table = m25p_ids,
+ .probe = m25p_probe,
+ .remove = m25p_remove,
+
+--- a/drivers/mtd/spi-nor/spi-nor.c
++++ b/drivers/mtd/spi-nor/spi-nor.c
+@@ -429,7 +429,7 @@ struct flash_info {
+ * more nor chips. This current list focusses on newer chips, which
+ * have been converging on command sets which including JEDEC ID.
+ */
+-const struct spi_device_id spi_nor_ids[] = {
++static const struct spi_device_id spi_nor_ids[] = {
+ /* Atmel -- some are (confusingly) marketed as "DataFlash" */
+ { "at25fs010", INFO(0x1f6601, 0, 32 * 1024, 4, SECT_4K) },
+ { "at25fs040", INFO(0x1f6604, 0, 64 * 1024, 8, SECT_4K) },
+@@ -590,7 +590,6 @@ const struct spi_device_id spi_nor_ids[]
+ { "cat25128", CAT25_INFO(2048, 8, 64, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
+ { },
+ };
+-EXPORT_SYMBOL_GPL(spi_nor_ids);
+
+ static const struct spi_device_id *spi_nor_read_id(struct spi_nor *nor)
+ {
+--- a/include/linux/mtd/spi-nor.h
++++ b/include/linux/mtd/spi-nor.h
+@@ -195,6 +195,5 @@ struct spi_nor {
+ * Return: 0 for success, others for failure.
+ */
+ int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode);
+-extern const struct spi_device_id spi_nor_ids[];
+
+ #endif
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-move-support-for-struct-flash_platform_data-into.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-move-support-for-struct-flash_platform_data-into.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-move-support-for-struct-flash_platform_data-into.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-move-support-for-struct-flash_platform_data-into.patch)
@@ -0,0 +1,119 @@
+From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5 at gmail.com>
+Date: Sun, 28 Sep 2014 22:36:54 +0200
+Subject: [1/4] mtd: move support for struct flash_platform_data into m25p80
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Origin: http://git.infradead.org/l2-mtd.git/commit/32f1b7c8352fd33d41bcec3cfb054ccdcfd40a42
+
+This "type" seems to be an extra hint for m25p80 about the flash. Some
+archs register flash_platform_data with "name" set to "m25p80" and then
+with a real flash name set in "type". It seems to be a trick specific
+to the m25p80 so let's move it out of spi-nor.
+Btw switch to the spi_nor_match_id instead of iterating spi_nor_ids.
+
+Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
+Signed-off-by: Brian Norris <computersforpeace at gmail.com>
+---
+ drivers/mtd/devices/m25p80.c | 22 ++++++++++++++++++++--
+ drivers/mtd/spi-nor/spi-nor.c | 28 +---------------------------
+ 2 files changed, 21 insertions(+), 29 deletions(-)
+
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -193,11 +193,14 @@ static int m25p_probe(struct spi_device
+ {
+ struct mtd_part_parser_data ppdata;
+ struct flash_platform_data *data;
++ const struct spi_device_id *id = NULL;
+ struct m25p *flash;
+ struct spi_nor *nor;
+ enum read_mode mode = SPI_NOR_NORMAL;
+ int ret;
+
++ data = dev_get_platdata(&spi->dev);
++
+ flash = devm_kzalloc(&spi->dev, sizeof(*flash), GFP_KERNEL);
+ if (!flash)
+ return -ENOMEM;
+@@ -223,11 +226,26 @@ static int m25p_probe(struct spi_device
+ mode = SPI_NOR_QUAD;
+ else if (spi->mode & SPI_RX_DUAL)
+ mode = SPI_NOR_DUAL;
+- ret = spi_nor_scan(nor, spi_get_device_id(spi), mode);
++
++ if (data && data->name)
++ flash->mtd.name = data->name;
++
++ /* For some (historical?) reason many platforms provide two different
++ * names in flash_platform_data: "name" and "type". Quite often name is
++ * set to "m25p80" and then "type" provides a real chip name.
++ * If that's the case, respect "type" and ignore a "name".
++ */
++ if (data && data->type)
++ id = spi_nor_match_id(data->type);
++
++ /* If we didn't get name from platform, simply use "modalias". */
++ if (!id)
++ id = spi_get_device_id(spi);
++
++ ret = spi_nor_scan(nor, id, mode);
+ if (ret)
+ return ret;
+
+- data = dev_get_platdata(&spi->dev);
+ ppdata.of_node = spi->dev.of_node;
+
+ return mtd_device_parse_register(&flash->mtd, NULL, &ppdata,
+--- a/drivers/mtd/spi-nor/spi-nor.c
++++ b/drivers/mtd/spi-nor/spi-nor.c
+@@ -871,7 +871,6 @@ int spi_nor_scan(struct spi_nor *nor, co
+ enum read_mode mode)
+ {
+ struct flash_info *info;
+- struct flash_platform_data *data;
+ struct device *dev = nor->dev;
+ struct mtd_info *mtd = nor->mtd;
+ struct device_node *np = dev->of_node;
+@@ -882,28 +881,6 @@ int spi_nor_scan(struct spi_nor *nor, co
+ if (ret)
+ return ret;
+
+- /* Platform data helps sort out which chip type we have, as
+- * well as how this board partitions it. If we don't have
+- * a chip ID, try the JEDEC id commands; they'll work for most
+- * newer chips, even if we don't recognize the particular chip.
+- */
+- data = dev_get_platdata(dev);
+- if (data && data->type) {
+- const struct spi_device_id *plat_id;
+-
+- for (i = 0; i < ARRAY_SIZE(spi_nor_ids) - 1; i++) {
+- plat_id = &spi_nor_ids[i];
+- if (strcmp(data->type, plat_id->name))
+- continue;
+- break;
+- }
+-
+- if (i < ARRAY_SIZE(spi_nor_ids) - 1)
+- id = plat_id;
+- else
+- dev_warn(dev, "unrecognized id %s\n", data->type);
+- }
+-
+ info = (void *)id->driver_data;
+
+ if (info->jedec_id) {
+@@ -941,11 +918,8 @@ int spi_nor_scan(struct spi_nor *nor, co
+ write_sr(nor, 0);
+ }
+
+- if (data && data->name)
+- mtd->name = data->name;
+- else
++ if (!mtd->name)
+ mtd->name = dev_name(dev);
+-
+ mtd->type = MTD_NORFLASH;
+ mtd->writesize = 1;
+ mtd->flags = MTD_CAP_NORFLASH;
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-spi-nor-make-spi_nor_scan-take-a-chip-type-name-.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-spi-nor-make-spi_nor_scan-take-a-chip-type-name-.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/mtd-spi-nor-make-spi_nor_scan-take-a-chip-type-name-.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/mtd-spi-nor-make-spi_nor_scan-take-a-chip-type-name-.patch)
@@ -0,0 +1,162 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Mon, 29 Sep 2014 11:47:54 +0200
+Subject: [3/4] mtd: spi-nor: make spi_nor_scan() take a chip type name, not
+ spi_device_id
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+Origin: http://git.infradead.org/l2-mtd.git/commit/70f3ce0510afdad7cbaf27ab7ab961377205c782
+
+Drivers currently call spi_nor_match_id() and then spi_nor_scan().
+This adds a dependency on struct spi_device_id which we want to
+avoid. Make spi_nor_scan() do it for them.
+
+Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
+Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
+Signed-off-by: Brian Norris <computersforpeace at gmail.com>
+---
+ drivers/mtd/devices/m25p80.c | 4 +---
+ drivers/mtd/spi-nor/fsl-quadspi.c | 7 +------
+ drivers/mtd/spi-nor/spi-nor.c | 13 +++++++++----
+ include/linux/mtd/spi-nor.h | 20 +++-----------------
+ 4 files changed, 14 insertions(+), 30 deletions(-)
+
+--- a/drivers/mtd/devices/m25p80.c
++++ b/drivers/mtd/devices/m25p80.c
+@@ -193,7 +193,6 @@ static int m25p_probe(struct spi_device
+ {
+ struct mtd_part_parser_data ppdata;
+ struct flash_platform_data *data;
+- const struct spi_device_id *id = NULL;
+ struct m25p *flash;
+ struct spi_nor *nor;
+ enum read_mode mode = SPI_NOR_NORMAL;
+@@ -241,8 +240,7 @@ static int m25p_probe(struct spi_device
+ else
+ flash_name = spi->modalias;
+
+- id = spi_nor_match_id(flash_name);
+- ret = spi_nor_scan(nor, id, mode);
++ ret = spi_nor_scan(nor, flash_name, mode);
+ if (ret)
+ return ret;
+
+--- a/drivers/mtd/spi-nor/fsl-quadspi.c
++++ b/drivers/mtd/spi-nor/fsl-quadspi.c
+@@ -881,7 +881,6 @@ static int fsl_qspi_probe(struct platfor
+
+ /* iterate the subnodes. */
+ for_each_available_child_of_node(dev->of_node, np) {
+- const struct spi_device_id *id;
+ char modalias[40];
+
+ /* skip the holes */
+@@ -909,10 +908,6 @@ static int fsl_qspi_probe(struct platfor
+ if (of_modalias_node(np, modalias, sizeof(modalias)) < 0)
+ goto map_failed;
+
+- id = spi_nor_match_id(modalias);
+- if (!id)
+- goto map_failed;
+-
+ ret = of_property_read_u32(np, "spi-max-frequency",
+ &q->clk_rate);
+ if (ret < 0)
+@@ -921,7 +916,7 @@ static int fsl_qspi_probe(struct platfor
+ /* set the chip address for READID */
+ fsl_qspi_set_base_addr(q, nor);
+
+- ret = spi_nor_scan(nor, id, SPI_NOR_QUAD);
++ ret = spi_nor_scan(nor, modalias, SPI_NOR_QUAD);
+ if (ret)
+ goto map_failed;
+
+--- a/drivers/mtd/spi-nor/spi-nor.c
++++ b/drivers/mtd/spi-nor/spi-nor.c
+@@ -28,6 +28,8 @@
+
+ #define JEDEC_MFR(_jedec_id) ((_jedec_id) >> 16)
+
++static const struct spi_device_id *spi_nor_match_id(const char *name);
++
+ /*
+ * Read the status register, returning its value in the location
+ * Return the status register value.
+@@ -867,9 +869,9 @@ static int spi_nor_check(struct spi_nor
+ return 0;
+ }
+
+-int spi_nor_scan(struct spi_nor *nor, const struct spi_device_id *id,
+- enum read_mode mode)
++int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode)
+ {
++ const struct spi_device_id *id = NULL;
+ struct flash_info *info;
+ struct device *dev = nor->dev;
+ struct mtd_info *mtd = nor->mtd;
+@@ -881,6 +883,10 @@ int spi_nor_scan(struct spi_nor *nor, co
+ if (ret)
+ return ret;
+
++ id = spi_nor_match_id(name);
++ if (!id)
++ return -ENOENT;
++
+ info = (void *)id->driver_data;
+
+ if (info->jedec_id) {
+@@ -1062,7 +1068,7 @@ int spi_nor_scan(struct spi_nor *nor, co
+ }
+ EXPORT_SYMBOL_GPL(spi_nor_scan);
+
+-const struct spi_device_id *spi_nor_match_id(char *name)
++static const struct spi_device_id *spi_nor_match_id(const char *name)
+ {
+ const struct spi_device_id *id = spi_nor_ids;
+
+@@ -1073,7 +1079,6 @@ const struct spi_device_id *spi_nor_matc
+ }
+ return NULL;
+ }
+-EXPORT_SYMBOL_GPL(spi_nor_match_id);
+
+ MODULE_LICENSE("GPL");
+ MODULE_AUTHOR("Huang Shijie <shijie8 at gmail.com>");
+--- a/include/linux/mtd/spi-nor.h
++++ b/include/linux/mtd/spi-nor.h
+@@ -183,32 +183,18 @@ struct spi_nor {
+ /**
+ * spi_nor_scan() - scan the SPI NOR
+ * @nor: the spi_nor structure
+- * @id: the spi_device_id provided by the driver
++ * @name: the chip type name
+ * @mode: the read mode supported by the driver
+ *
+ * The drivers can use this fuction to scan the SPI NOR.
+ * In the scanning, it will try to get all the necessary information to
+ * fill the mtd_info{} and the spi_nor{}.
+ *
+- * The board may assigns a spi_device_id with @id which be used to compared with
+- * the spi_device_id detected by the scanning.
++ * The chip type name can be provided through the @name parameter.
+ *
+ * Return: 0 for success, others for failure.
+ */
+-int spi_nor_scan(struct spi_nor *nor, const struct spi_device_id *id,
+- enum read_mode mode);
++int spi_nor_scan(struct spi_nor *nor, const char *name, enum read_mode mode);
+ extern const struct spi_device_id spi_nor_ids[];
+
+-/**
+- * spi_nor_match_id() - find the spi_device_id by the name
+- * @name: the name of the spi_device_id
+- *
+- * The drivers use this function to find the spi_device_id
+- * specified by the @name.
+- *
+- * Return: returns the right spi_device_id pointer on success,
+- * and returns NULL on failure.
+- */
+-const struct spi_device_id *spi_nor_match_id(char *name);
+-
+ #endif
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/net-mv643xx-disable-tso-by-default.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/net-mv643xx-disable-tso-by-default.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/net-mv643xx-disable-tso-by-default.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/net-mv643xx-disable-tso-by-default.patch)
@@ -0,0 +1,42 @@
+Subject: [1/1] net: mv643xx_eth: Make TSO disabled by default
+From: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
+Date: Sat, 1 Nov 2014 12:30:20 -0300
+Origin: http://patchwork.ozlabs.org/patch/405792/
+
+Data corruption has been observed to be produced by TSO. For instance,
+accessing files on a NFS-server with TSO enabled results in different data
+transferred each time.
+
+This has been observed only on Kirkwood platforms, i.e. with the mv643xx_eth
+driver. Same tests on platforms using the mvneta ethernet driver have
+passed without errors.
+
+Make TSO disabled by default for now, until we can found a proper fix
+for the regression.
+
+Fixes: 3ae8f4e0b98 ('net: mv643xx_eth: Implement software TSO')
+Reported-by: Slawomir Gajzner <slawomir.gajzner at gmail.com>
+Reported-by: Julien D'Ascenzio <jdascenzio at yahoo.fr>
+Signed-off-by: Ezequiel Garcia <ezequiel.garcia at free-electrons.com>
+---
+ drivers/net/ethernet/marvell/mv643xx_eth.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
+index b151a94..8b72780 100644
+--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
++++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
+@@ -3110,11 +3110,11 @@ static int mv643xx_eth_probe(struct platform_device *pdev)
+ dev->watchdog_timeo = 2 * HZ;
+ dev->base_addr = 0;
+
+- dev->features = NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_TSO;
++ dev->features = NETIF_F_SG | NETIF_F_IP_CSUM;
+ dev->vlan_features = dev->features;
+
+ dev->features |= NETIF_F_RXCSUM;
+- dev->hw_features = dev->features;
++ dev->hw_features = dev->features | NETIF_F_TSO;
+
+ dev->priv_flags |= IFF_UNICAST_FLT;
+ dev->gso_max_segs = MV643XX_MAX_TSO_SEGS;
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-fix-panic-on-duplicate-ASCONF-chunks.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/net-sctp-fix-panic-on-duplicate-ASCONF-chunks.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-fix-panic-on-duplicate-ASCONF-chunks.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/net-sctp-fix-panic-on-duplicate-ASCONF-chunks.patch)
@@ -0,0 +1,87 @@
+From: Daniel Borkmann <dborkman at redhat.com>
+Date: Thu, 9 Oct 2014 22:55:32 +0200
+Subject: net: sctp: fix panic on duplicate ASCONF chunks
+Origin: https://git.kernel.org/linus/b69040d8e39f20d5215a03502a8e8b4c6ab78395
+
+When receiving a e.g. semi-good formed connection scan in the
+form of ...
+
+ -------------- INIT[ASCONF; ASCONF_ACK] ------------->
+ <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------
+ -------------------- COOKIE-ECHO -------------------->
+ <-------------------- COOKIE-ACK ---------------------
+ ---------------- ASCONF_a; ASCONF_b ----------------->
+
+... where ASCONF_a equals ASCONF_b chunk (at least both serials
+need to be equal), we panic an SCTP server!
+
+The problem is that good-formed ASCONF chunks that we reply with
+ASCONF_ACK chunks are cached per serial. Thus, when we receive a
+same ASCONF chunk twice (e.g. through a lost ASCONF_ACK), we do
+not need to process them again on the server side (that was the
+idea, also proposed in the RFC). Instead, we know it was cached
+and we just resend the cached chunk instead. So far, so good.
+
+Where things get nasty is in SCTP's side effect interpreter, that
+is, sctp_cmd_interpreter():
+
+While incoming ASCONF_a (chunk = event_arg) is being marked
+!end_of_packet and !singleton, and we have an association context,
+we do not flush the outqueue the first time after processing the
+ASCONF_ACK singleton chunk via SCTP_CMD_REPLY. Instead, we keep it
+queued up, although we set local_cork to 1. Commit 2e3216cd54b1
+changed the precedence, so that as long as we get bundled, incoming
+chunks we try possible bundling on outgoing queue as well. Before
+this commit, we would just flush the output queue.
+
+Now, while ASCONF_a's ASCONF_ACK sits in the corked outq, we
+continue to process the same ASCONF_b chunk from the packet. As
+we have cached the previous ASCONF_ACK, we find it, grab it and
+do another SCTP_CMD_REPLY command on it. So, effectively, we rip
+the chunk->list pointers and requeue the same ASCONF_ACK chunk
+another time. Since we process ASCONF_b, it's correctly marked
+with end_of_packet and we enforce an uncork, and thus flush, thus
+crashing the kernel.
+
+Fix it by testing if the ASCONF_ACK is currently pending and if
+that is the case, do not requeue it. When flushing the output
+queue we may relink the chunk for preparing an outgoing packet,
+but eventually unlink it when it's copied into the skb right
+before transmission.
+
+Joint work with Vlad Yasevich.
+
+Fixes: 2e3216cd54b1 ("sctp: Follow security requirement of responding with 1 packet")
+Signed-off-by: Daniel Borkmann <dborkman at redhat.com>
+Signed-off-by: Vlad Yasevich <vyasevich at gmail.com>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ include/net/sctp/sctp.h | 5 +++++
+ net/sctp/associola.c | 2 ++
+ 2 files changed, 7 insertions(+)
+
+--- a/include/net/sctp/sctp.h
++++ b/include/net/sctp/sctp.h
+@@ -433,6 +433,11 @@ static inline void sctp_assoc_pending_pm
+ asoc->pmtu_pending = 0;
+ }
+
++static inline bool sctp_chunk_pending(const struct sctp_chunk *chunk)
++{
++ return !list_empty(&chunk->list);
++}
++
+ /* Walk through a list of TLV parameters. Don't trust the
+ * individual parameter lengths and instead depend on
+ * the chunk length to indicate when to stop. Make sure
+--- a/net/sctp/associola.c
++++ b/net/sctp/associola.c
+@@ -1670,6 +1670,8 @@ struct sctp_chunk *sctp_assoc_lookup_asc
+ * ack chunk whose serial number matches that of the request.
+ */
+ list_for_each_entry(ack, &asoc->asconf_ack_list, transmitted_list) {
++ if (sctp_chunk_pending(ack))
++ continue;
+ if (ack->subh.addip_hdr->serial == serial) {
+ sctp_chunk_hold(ack);
+ return ack;
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-fix-remote-memory-pressure-from-excessive-q.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/net-sctp-fix-remote-memory-pressure-from-excessive-q.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-fix-remote-memory-pressure-from-excessive-q.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/net-sctp-fix-remote-memory-pressure-from-excessive-q.patch)
@@ -0,0 +1,149 @@
+From: Daniel Borkmann <dborkman at redhat.com>
+Date: Thu, 9 Oct 2014 22:55:33 +0200
+Subject: net: sctp: fix remote memory pressure from excessive queueing
+Origin: https://git.kernel.org/linus/26b87c7881006311828bb0ab271a551a62dcceb4
+
+This scenario is not limited to ASCONF, just taken as one
+example triggering the issue. When receiving ASCONF probes
+in the form of ...
+
+ -------------- INIT[ASCONF; ASCONF_ACK] ------------->
+ <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------
+ -------------------- COOKIE-ECHO -------------------->
+ <-------------------- COOKIE-ACK ---------------------
+ ---- ASCONF_a; [ASCONF_b; ...; ASCONF_n;] JUNK ------>
+ [...]
+ ---- ASCONF_m; [ASCONF_o; ...; ASCONF_z;] JUNK ------>
+
+... where ASCONF_a, ASCONF_b, ..., ASCONF_z are good-formed
+ASCONFs and have increasing serial numbers, we process such
+ASCONF chunk(s) marked with !end_of_packet and !singleton,
+since we have not yet reached the SCTP packet end. SCTP does
+only do verification on a chunk by chunk basis, as an SCTP
+packet is nothing more than just a container of a stream of
+chunks which it eats up one by one.
+
+We could run into the case that we receive a packet with a
+malformed tail, above marked as trailing JUNK. All previous
+chunks are here goodformed, so the stack will eat up all
+previous chunks up to this point. In case JUNK does not fit
+into a chunk header and there are no more other chunks in
+the input queue, or in case JUNK contains a garbage chunk
+header, but the encoded chunk length would exceed the skb
+tail, or we came here from an entirely different scenario
+and the chunk has pdiscard=1 mark (without having had a flush
+point), it will happen, that we will excessively queue up
+the association's output queue (a correct final chunk may
+then turn it into a response flood when flushing the
+queue ;)): I ran a simple script with incremental ASCONF
+serial numbers and could see the server side consuming
+excessive amount of RAM [before/after: up to 2GB and more].
+
+The issue at heart is that the chunk train basically ends
+with !end_of_packet and !singleton markers and since commit
+2e3216cd54b1 ("sctp: Follow security requirement of responding
+with 1 packet") therefore preventing an output queue flush
+point in sctp_do_sm() -> sctp_cmd_interpreter() on the input
+chunk (chunk = event_arg) even though local_cork is set,
+but its precedence has changed since then. In the normal
+case, the last chunk with end_of_packet=1 would trigger the
+queue flush to accommodate possible outgoing bundling.
+
+In the input queue, sctp_inq_pop() seems to do the right thing
+in terms of discarding invalid chunks. So, above JUNK will
+not enter the state machine and instead be released and exit
+the sctp_assoc_bh_rcv() chunk processing loop. It's simply
+the flush point being missing at loop exit. Adding a try-flush
+approach on the output queue might not work as the underlying
+infrastructure might be long gone at this point due to the
+side-effect interpreter run.
+
+One possibility, albeit a bit of a kludge, would be to defer
+invalid chunk freeing into the state machine in order to
+possibly trigger packet discards and thus indirectly a queue
+flush on error. It would surely be better to discard chunks
+as in the current, perhaps better controlled environment, but
+going back and forth, it's simply architecturally not possible.
+I tried various trailing JUNK attack cases and it seems to
+look good now.
+
+Joint work with Vlad Yasevich.
+
+Fixes: 2e3216cd54b1 ("sctp: Follow security requirement of responding with 1 packet")
+Signed-off-by: Daniel Borkmann <dborkman at redhat.com>
+Signed-off-by: Vlad Yasevich <vyasevich at gmail.com>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ net/sctp/inqueue.c | 33 +++++++--------------------------
+ net/sctp/sm_statefuns.c | 3 +++
+ 2 files changed, 10 insertions(+), 26 deletions(-)
+
+diff --git a/net/sctp/inqueue.c b/net/sctp/inqueue.c
+index 4de12af..7e8a16c 100644
+--- a/net/sctp/inqueue.c
++++ b/net/sctp/inqueue.c
+@@ -140,18 +140,9 @@ struct sctp_chunk *sctp_inq_pop(struct sctp_inq *queue)
+ } else {
+ /* Nothing to do. Next chunk in the packet, please. */
+ ch = (sctp_chunkhdr_t *) chunk->chunk_end;
+-
+ /* Force chunk->skb->data to chunk->chunk_end. */
+- skb_pull(chunk->skb,
+- chunk->chunk_end - chunk->skb->data);
+-
+- /* Verify that we have at least chunk headers
+- * worth of buffer left.
+- */
+- if (skb_headlen(chunk->skb) < sizeof(sctp_chunkhdr_t)) {
+- sctp_chunk_free(chunk);
+- chunk = queue->in_progress = NULL;
+- }
++ skb_pull(chunk->skb, chunk->chunk_end - chunk->skb->data);
++ /* We are guaranteed to pull a SCTP header. */
+ }
+ }
+
+@@ -187,24 +178,14 @@ struct sctp_chunk *sctp_inq_pop(struct sctp_inq *queue)
+ skb_pull(chunk->skb, sizeof(sctp_chunkhdr_t));
+ chunk->subh.v = NULL; /* Subheader is no longer valid. */
+
+- if (chunk->chunk_end < skb_tail_pointer(chunk->skb)) {
++ if (chunk->chunk_end + sizeof(sctp_chunkhdr_t) <
++ skb_tail_pointer(chunk->skb)) {
+ /* This is not a singleton */
+ chunk->singleton = 0;
+ } else if (chunk->chunk_end > skb_tail_pointer(chunk->skb)) {
+- /* RFC 2960, Section 6.10 Bundling
+- *
+- * Partial chunks MUST NOT be placed in an SCTP packet.
+- * If the receiver detects a partial chunk, it MUST drop
+- * the chunk.
+- *
+- * Since the end of the chunk is past the end of our buffer
+- * (which contains the whole packet, we can freely discard
+- * the whole packet.
+- */
+- sctp_chunk_free(chunk);
+- chunk = queue->in_progress = NULL;
+-
+- return NULL;
++ /* Discard inside state machine. */
++ chunk->pdiscard = 1;
++ chunk->chunk_end = skb_tail_pointer(chunk->skb);
+ } else {
+ /* We are at the end of the packet, so mark the chunk
+ * in case we need to send a SACK.
+diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
+index bdea3df..3ee27b7 100644
+--- a/net/sctp/sm_statefuns.c
++++ b/net/sctp/sm_statefuns.c
+@@ -170,6 +170,9 @@ sctp_chunk_length_valid(struct sctp_chunk *chunk,
+ {
+ __u16 chunk_length = ntohs(chunk->chunk_hdr->length);
+
++ /* Previously already marked? */
++ if (unlikely(chunk->pdiscard))
++ return 0;
+ if (unlikely(chunk_length < required_length))
+ return 0;
+
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-fix-skb_over_panic-when-receiving-malformed.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/net-sctp-fix-skb_over_panic-when-receiving-malformed.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/net-sctp-fix-skb_over_panic-when-receiving-malformed.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/net-sctp-fix-skb_over_panic-when-receiving-malformed.patch)
@@ -0,0 +1,336 @@
+From: Daniel Borkmann <dborkman at redhat.com>
+Date: Thu, 9 Oct 2014 22:55:31 +0200
+Subject: net: sctp: fix skb_over_panic when receiving malformed ASCONF chunks
+Origin: https://git.kernel.org/linus/9de7922bc709eee2f609cd01d98aaedc4cf5ea74
+
+Commit 6f4c618ddb0 ("SCTP : Add paramters validity check for
+ASCONF chunk") added basic verification of ASCONF chunks, however,
+it is still possible to remotely crash a server by sending a
+special crafted ASCONF chunk, even up to pre 2.6.12 kernels:
+
+skb_over_panic: text:ffffffffa01ea1c3 len:31056 put:30768
+ head:ffff88011bd81800 data:ffff88011bd81800 tail:0x7950
+ end:0x440 dev:<NULL>
+ ------------[ cut here ]------------
+kernel BUG at net/core/skbuff.c:129!
+[...]
+Call Trace:
+ <IRQ>
+ [<ffffffff8144fb1c>] skb_put+0x5c/0x70
+ [<ffffffffa01ea1c3>] sctp_addto_chunk+0x63/0xd0 [sctp]
+ [<ffffffffa01eadaf>] sctp_process_asconf+0x1af/0x540 [sctp]
+ [<ffffffff8152d025>] ? _read_unlock_bh+0x15/0x20
+ [<ffffffffa01e0038>] sctp_sf_do_asconf+0x168/0x240 [sctp]
+ [<ffffffffa01e3751>] sctp_do_sm+0x71/0x1210 [sctp]
+ [<ffffffff8147645d>] ? fib_rules_lookup+0xad/0xf0
+ [<ffffffffa01e6b22>] ? sctp_cmp_addr_exact+0x32/0x40 [sctp]
+ [<ffffffffa01e8393>] sctp_assoc_bh_rcv+0xd3/0x180 [sctp]
+ [<ffffffffa01ee986>] sctp_inq_push+0x56/0x80 [sctp]
+ [<ffffffffa01fcc42>] sctp_rcv+0x982/0xa10 [sctp]
+ [<ffffffffa01d5123>] ? ipt_local_in_hook+0x23/0x28 [iptable_filter]
+ [<ffffffff8148bdc9>] ? nf_iterate+0x69/0xb0
+ [<ffffffff81496d10>] ? ip_local_deliver_finish+0x0/0x2d0
+ [<ffffffff8148bf86>] ? nf_hook_slow+0x76/0x120
+ [<ffffffff81496d10>] ? ip_local_deliver_finish+0x0/0x2d0
+ [<ffffffff81496ded>] ip_local_deliver_finish+0xdd/0x2d0
+ [<ffffffff81497078>] ip_local_deliver+0x98/0xa0
+ [<ffffffff8149653d>] ip_rcv_finish+0x12d/0x440
+ [<ffffffff81496ac5>] ip_rcv+0x275/0x350
+ [<ffffffff8145c88b>] __netif_receive_skb+0x4ab/0x750
+ [<ffffffff81460588>] netif_receive_skb+0x58/0x60
+
+This can be triggered e.g., through a simple scripted nmap
+connection scan injecting the chunk after the handshake, for
+example, ...
+
+ -------------- INIT[ASCONF; ASCONF_ACK] ------------->
+ <----------- INIT-ACK[ASCONF; ASCONF_ACK] ------------
+ -------------------- COOKIE-ECHO -------------------->
+ <-------------------- COOKIE-ACK ---------------------
+ ------------------ ASCONF; UNKNOWN ------------------>
+
+... where ASCONF chunk of length 280 contains 2 parameters ...
+
+ 1) Add IP address parameter (param length: 16)
+ 2) Add/del IP address parameter (param length: 255)
+
+... followed by an UNKNOWN chunk of e.g. 4 bytes. Here, the
+Address Parameter in the ASCONF chunk is even missing, too.
+This is just an example and similarly-crafted ASCONF chunks
+could be used just as well.
+
+The ASCONF chunk passes through sctp_verify_asconf() as all
+parameters passed sanity checks, and after walking, we ended
+up successfully at the chunk end boundary, and thus may invoke
+sctp_process_asconf(). Parameter walking is done with
+WORD_ROUND() to take padding into account.
+
+In sctp_process_asconf()'s TLV processing, we may fail in
+sctp_process_asconf_param() e.g., due to removal of the IP
+address that is also the source address of the packet containing
+the ASCONF chunk, and thus we need to add all TLVs after the
+failure to our ASCONF response to remote via helper function
+sctp_add_asconf_response(), which basically invokes a
+sctp_addto_chunk() adding the error parameters to the given
+skb.
+
+When walking to the next parameter this time, we proceed
+with ...
+
+ length = ntohs(asconf_param->param_hdr.length);
+ asconf_param = (void *)asconf_param + length;
+
+... instead of the WORD_ROUND()'ed length, thus resulting here
+in an off-by-one that leads to reading the follow-up garbage
+parameter length of 12336, and thus throwing an skb_over_panic
+for the reply when trying to sctp_addto_chunk() next time,
+which implicitly calls the skb_put() with that length.
+
+Fix it by using sctp_walk_params() [ which is also used in
+INIT parameter processing ] macro in the verification *and*
+in ASCONF processing: it will make sure we don't spill over,
+that we walk parameters WORD_ROUND()'ed. Moreover, we're being
+more defensive and guard against unknown parameter types and
+missized addresses.
+
+Joint work with Vlad Yasevich.
+
+Fixes: b896b82be4ae ("[SCTP] ADDIP: Support for processing incoming ASCONF_ACK chunks.")
+Signed-off-by: Daniel Borkmann <dborkman at redhat.com>
+Signed-off-by: Vlad Yasevich <vyasevich at gmail.com>
+Acked-by: Neil Horman <nhorman at tuxdriver.com>
+Signed-off-by: David S. Miller <davem at davemloft.net>
+---
+ include/net/sctp/sm.h | 6 +--
+ net/sctp/sm_make_chunk.c | 99 +++++++++++++++++++++++++++---------------------
+ net/sctp/sm_statefuns.c | 18 +--------
+ 3 files changed, 60 insertions(+), 63 deletions(-)
+
+diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h
+index 7f4eeb3..72a31db 100644
+--- a/include/net/sctp/sm.h
++++ b/include/net/sctp/sm.h
+@@ -248,9 +248,9 @@ struct sctp_chunk *sctp_make_asconf_update_ip(struct sctp_association *,
+ int, __be16);
+ struct sctp_chunk *sctp_make_asconf_set_prim(struct sctp_association *asoc,
+ union sctp_addr *addr);
+-int sctp_verify_asconf(const struct sctp_association *asoc,
+- struct sctp_paramhdr *param_hdr, void *chunk_end,
+- struct sctp_paramhdr **errp);
++bool sctp_verify_asconf(const struct sctp_association *asoc,
++ struct sctp_chunk *chunk, bool addr_param_needed,
++ struct sctp_paramhdr **errp);
+ struct sctp_chunk *sctp_process_asconf(struct sctp_association *asoc,
+ struct sctp_chunk *asconf);
+ int sctp_process_asconf_ack(struct sctp_association *asoc,
+diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
+index ae0e616..ab734be 100644
+--- a/net/sctp/sm_make_chunk.c
++++ b/net/sctp/sm_make_chunk.c
+@@ -3110,50 +3110,63 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc,
+ return SCTP_ERROR_NO_ERROR;
+ }
+
+-/* Verify the ASCONF packet before we process it. */
+-int sctp_verify_asconf(const struct sctp_association *asoc,
+- struct sctp_paramhdr *param_hdr, void *chunk_end,
+- struct sctp_paramhdr **errp) {
+- sctp_addip_param_t *asconf_param;
++/* Verify the ASCONF packet before we process it. */
++bool sctp_verify_asconf(const struct sctp_association *asoc,
++ struct sctp_chunk *chunk, bool addr_param_needed,
++ struct sctp_paramhdr **errp)
++{
++ sctp_addip_chunk_t *addip = (sctp_addip_chunk_t *) chunk->chunk_hdr;
+ union sctp_params param;
+- int length, plen;
+-
+- param.v = (sctp_paramhdr_t *) param_hdr;
+- while (param.v <= chunk_end - sizeof(sctp_paramhdr_t)) {
+- length = ntohs(param.p->length);
+- *errp = param.p;
++ bool addr_param_seen = false;
+
+- if (param.v > chunk_end - length ||
+- length < sizeof(sctp_paramhdr_t))
+- return 0;
++ sctp_walk_params(param, addip, addip_hdr.params) {
++ size_t length = ntohs(param.p->length);
+
++ *errp = param.p;
+ switch (param.p->type) {
++ case SCTP_PARAM_ERR_CAUSE:
++ break;
++ case SCTP_PARAM_IPV4_ADDRESS:
++ if (length != sizeof(sctp_ipv4addr_param_t))
++ return false;
++ addr_param_seen = true;
++ break;
++ case SCTP_PARAM_IPV6_ADDRESS:
++ if (length != sizeof(sctp_ipv6addr_param_t))
++ return false;
++ addr_param_seen = true;
++ break;
+ case SCTP_PARAM_ADD_IP:
+ case SCTP_PARAM_DEL_IP:
+ case SCTP_PARAM_SET_PRIMARY:
+- asconf_param = (sctp_addip_param_t *)param.v;
+- plen = ntohs(asconf_param->param_hdr.length);
+- if (plen < sizeof(sctp_addip_param_t) +
+- sizeof(sctp_paramhdr_t))
+- return 0;
++ /* In ASCONF chunks, these need to be first. */
++ if (addr_param_needed && !addr_param_seen)
++ return false;
++ length = ntohs(param.addip->param_hdr.length);
++ if (length < sizeof(sctp_addip_param_t) +
++ sizeof(sctp_paramhdr_t))
++ return false;
+ break;
+ case SCTP_PARAM_SUCCESS_REPORT:
+ case SCTP_PARAM_ADAPTATION_LAYER_IND:
+ if (length != sizeof(sctp_addip_param_t))
+- return 0;
+-
++ return false;
+ break;
+ default:
+- break;
++ /* This is unkown to us, reject! */
++ return false;
+ }
+-
+- param.v += WORD_ROUND(length);
+ }
+
+- if (param.v != chunk_end)
+- return 0;
++ /* Remaining sanity checks. */
++ if (addr_param_needed && !addr_param_seen)
++ return false;
++ if (!addr_param_needed && addr_param_seen)
++ return false;
++ if (param.v != chunk->chunk_end)
++ return false;
+
+- return 1;
++ return true;
+ }
+
+ /* Process an incoming ASCONF chunk with the next expected serial no. and
+@@ -3162,16 +3175,17 @@ int sctp_verify_asconf(const struct sctp_association *asoc,
+ struct sctp_chunk *sctp_process_asconf(struct sctp_association *asoc,
+ struct sctp_chunk *asconf)
+ {
++ sctp_addip_chunk_t *addip = (sctp_addip_chunk_t *) asconf->chunk_hdr;
++ bool all_param_pass = true;
++ union sctp_params param;
+ sctp_addiphdr_t *hdr;
+ union sctp_addr_param *addr_param;
+ sctp_addip_param_t *asconf_param;
+ struct sctp_chunk *asconf_ack;
+-
+ __be16 err_code;
+ int length = 0;
+ int chunk_len;
+ __u32 serial;
+- int all_param_pass = 1;
+
+ chunk_len = ntohs(asconf->chunk_hdr->length) - sizeof(sctp_chunkhdr_t);
+ hdr = (sctp_addiphdr_t *)asconf->skb->data;
+@@ -3199,9 +3213,14 @@ struct sctp_chunk *sctp_process_asconf(struct sctp_association *asoc,
+ goto done;
+
+ /* Process the TLVs contained within the ASCONF chunk. */
+- while (chunk_len > 0) {
++ sctp_walk_params(param, addip, addip_hdr.params) {
++ /* Skip preceeding address parameters. */
++ if (param.p->type == SCTP_PARAM_IPV4_ADDRESS ||
++ param.p->type == SCTP_PARAM_IPV6_ADDRESS)
++ continue;
++
+ err_code = sctp_process_asconf_param(asoc, asconf,
+- asconf_param);
++ param.addip);
+ /* ADDIP 4.1 A7)
+ * If an error response is received for a TLV parameter,
+ * all TLVs with no response before the failed TLV are
+@@ -3209,28 +3228,20 @@ struct sctp_chunk *sctp_process_asconf(struct sctp_association *asoc,
+ * the failed response are considered unsuccessful unless
+ * a specific success indication is present for the parameter.
+ */
+- if (SCTP_ERROR_NO_ERROR != err_code)
+- all_param_pass = 0;
+-
++ if (err_code != SCTP_ERROR_NO_ERROR)
++ all_param_pass = false;
+ if (!all_param_pass)
+- sctp_add_asconf_response(asconf_ack,
+- asconf_param->crr_id, err_code,
+- asconf_param);
++ sctp_add_asconf_response(asconf_ack, param.addip->crr_id,
++ err_code, param.addip);
+
+ /* ADDIP 4.3 D11) When an endpoint receiving an ASCONF to add
+ * an IP address sends an 'Out of Resource' in its response, it
+ * MUST also fail any subsequent add or delete requests bundled
+ * in the ASCONF.
+ */
+- if (SCTP_ERROR_RSRC_LOW == err_code)
++ if (err_code == SCTP_ERROR_RSRC_LOW)
+ goto done;
+-
+- /* Move to the next ASCONF param. */
+- length = ntohs(asconf_param->param_hdr.length);
+- asconf_param = (void *)asconf_param + length;
+- chunk_len -= length;
+ }
+-
+ done:
+ asoc->peer.addip_serial++;
+
+diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c
+index c8f6063..bdea3df 100644
+--- a/net/sctp/sm_statefuns.c
++++ b/net/sctp/sm_statefuns.c
+@@ -3591,9 +3591,7 @@ sctp_disposition_t sctp_sf_do_asconf(struct net *net,
+ struct sctp_chunk *asconf_ack = NULL;
+ struct sctp_paramhdr *err_param = NULL;
+ sctp_addiphdr_t *hdr;
+- union sctp_addr_param *addr_param;
+ __u32 serial;
+- int length;
+
+ if (!sctp_vtag_verify(chunk, asoc)) {
+ sctp_add_cmd_sf(commands, SCTP_CMD_REPORT_BAD_TAG,
+@@ -3618,17 +3616,8 @@ sctp_disposition_t sctp_sf_do_asconf(struct net *net,
+ hdr = (sctp_addiphdr_t *)chunk->skb->data;
+ serial = ntohl(hdr->serial);
+
+- addr_param = (union sctp_addr_param *)hdr->params;
+- length = ntohs(addr_param->p.length);
+- if (length < sizeof(sctp_paramhdr_t))
+- return sctp_sf_violation_paramlen(net, ep, asoc, type, arg,
+- (void *)addr_param, commands);
+-
+ /* Verify the ASCONF chunk before processing it. */
+- if (!sctp_verify_asconf(asoc,
+- (sctp_paramhdr_t *)((void *)addr_param + length),
+- (void *)chunk->chunk_end,
+- &err_param))
++ if (!sctp_verify_asconf(asoc, chunk, true, &err_param))
+ return sctp_sf_violation_paramlen(net, ep, asoc, type, arg,
+ (void *)err_param, commands);
+
+@@ -3745,10 +3734,7 @@ sctp_disposition_t sctp_sf_do_asconf_ack(struct net *net,
+ rcvd_serial = ntohl(addip_hdr->serial);
+
+ /* Verify the ASCONF-ACK chunk before processing it. */
+- if (!sctp_verify_asconf(asoc,
+- (sctp_paramhdr_t *)addip_hdr->params,
+- (void *)asconf_ack->chunk_end,
+- &err_param))
++ if (!sctp_verify_asconf(asoc, asconf_ack, false, &err_param))
+ return sctp_sf_violation_paramlen(net, ep, asoc, type, arg,
+ (void *)err_param, commands);
+
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch)
@@ -0,0 +1,29 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sun, 26 Oct 2014 03:39:42 +0000
+Subject: rtsx_usb_ms: Use msleep_interruptible() in polling loop
+Bug-Debian: https://bugs.debian.org/765717
+Forwarded: http://mid.gmane.org/1415237557.3398.41.camel@decadent.org.uk
+
+rtsx_usb_ms creates a task that mostly sleeps, but tasks in
+uninterruptible sleep still contribute to the load average (for
+bug-compatibility with Unix). A load average of ~1 on a system that
+should be idle is somewhat alarming.
+
+Change the sleep to be interruptible, but still ignore signals.
+
+A better fix might be to replace this loop with a delayed work item.
+
+diff --git a/drivers/memstick/host/rtsx_usb_ms.c b/drivers/memstick/host/rtsx_usb_ms.c
+index a7282b7..7356780 100644
+--- a/drivers/memstick/host/rtsx_usb_ms.c
++++ b/drivers/memstick/host/rtsx_usb_ms.c
+@@ -706,7 +706,8 @@ poll_again:
+ if (host->eject)
+ break;
+
+- msleep(1000);
++ if (msleep_interruptible(1000))
++ flush_signals(current);
+ }
+
+ complete(&host->detect_ms_exit);
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/all/switch-iov_iter_get_pages-to-passing-maximal-number-.patch (from r22048, dists/sid/linux/debian/patches/bugfix/all/switch-iov_iter_get_pages-to-passing-maximal-number-.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/all/switch-iov_iter_get_pages-to-passing-maximal-number-.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/all/switch-iov_iter_get_pages-to-passing-maximal-number-.patch)
@@ -0,0 +1,119 @@
+From: Al Viro <viro at zeniv.linux.org.uk>
+Date: Wed, 18 Jun 2014 20:34:33 -0400
+Subject: switch iov_iter_get_pages() to passing maximal number of pages
+Origin: https://git.kernel.org/linus/c7f3888ad7f0932a87fb76e6e4edff2a90cc7920
+
+... instead of maximal size.
+
+Signed-off-by: Al Viro <viro at zeniv.linux.org.uk>
+---
+ fs/direct-io.c | 2 +-
+ fs/fuse/file.c | 4 ++--
+ include/linux/uio.h | 2 +-
+ mm/iov_iter.c | 17 ++++++++---------
+ 4 files changed, 12 insertions(+), 13 deletions(-)
+
+diff --git a/fs/direct-io.c b/fs/direct-io.c
+index 17e39b0..c311640 100644
+--- a/fs/direct-io.c
++++ b/fs/direct-io.c
+@@ -158,7 +158,7 @@ static inline int dio_refill_pages(struct dio *dio, struct dio_submit *sdio)
+ {
+ ssize_t ret;
+
+- ret = iov_iter_get_pages(sdio->iter, dio->pages, DIO_PAGES * PAGE_SIZE,
++ ret = iov_iter_get_pages(sdio->iter, dio->pages, DIO_PAGES,
+ &sdio->from);
+
+ if (ret < 0 && sdio->blocks_available && (dio->rw & WRITE)) {
+diff --git a/fs/fuse/file.c b/fs/fuse/file.c
+index 40ac262..912061a 100644
+--- a/fs/fuse/file.c
++++ b/fs/fuse/file.c
+@@ -1303,10 +1303,10 @@ static int fuse_get_user_pages(struct fuse_req *req, struct iov_iter *ii,
+ while (nbytes < *nbytesp && req->num_pages < req->max_pages) {
+ unsigned npages;
+ size_t start;
+- unsigned n = req->max_pages - req->num_pages;
+ ssize_t ret = iov_iter_get_pages(ii,
+ &req->pages[req->num_pages],
+- n * PAGE_SIZE, &start);
++ req->max_pages - req->num_pages,
++ &start);
+ if (ret < 0)
+ return ret;
+
+diff --git a/include/linux/uio.h b/include/linux/uio.h
+index 09a7cff..48d64e6 100644
+--- a/include/linux/uio.h
++++ b/include/linux/uio.h
+@@ -84,7 +84,7 @@ unsigned long iov_iter_alignment(const struct iov_iter *i);
+ void iov_iter_init(struct iov_iter *i, int direction, const struct iovec *iov,
+ unsigned long nr_segs, size_t count);
+ ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages,
+- size_t maxsize, size_t *start);
++ unsigned maxpages, size_t *start);
+ ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages,
+ size_t maxsize, size_t *start);
+ int iov_iter_npages(const struct iov_iter *i, int maxpages);
+diff --git a/mm/iov_iter.c b/mm/iov_iter.c
+index 7b5dbd1..ab88dc0 100644
+--- a/mm/iov_iter.c
++++ b/mm/iov_iter.c
+@@ -310,7 +310,7 @@ void iov_iter_init(struct iov_iter *i, int direction,
+ EXPORT_SYMBOL(iov_iter_init);
+
+ static ssize_t get_pages_iovec(struct iov_iter *i,
+- struct page **pages, size_t maxsize,
++ struct page **pages, unsigned maxpages,
+ size_t *start)
+ {
+ size_t offset = i->iov_offset;
+@@ -323,10 +323,10 @@ static ssize_t get_pages_iovec(struct iov_iter *i,
+ len = iov->iov_len - offset;
+ if (len > i->count)
+ len = i->count;
+- if (len > maxsize)
+- len = maxsize;
+ addr = (unsigned long)iov->iov_base + offset;
+ len += *start = addr & (PAGE_SIZE - 1);
++ if (len > maxpages * PAGE_SIZE)
++ len = maxpages * PAGE_SIZE;
+ addr &= ~(PAGE_SIZE - 1);
+ n = (len + PAGE_SIZE - 1) / PAGE_SIZE;
+ res = get_user_pages_fast(addr, n, (i->type & WRITE) != WRITE, pages);
+@@ -588,15 +588,14 @@ static unsigned long alignment_bvec(const struct iov_iter *i)
+ }
+
+ static ssize_t get_pages_bvec(struct iov_iter *i,
+- struct page **pages, size_t maxsize,
++ struct page **pages, unsigned maxpages,
+ size_t *start)
+ {
+ const struct bio_vec *bvec = i->bvec;
+ size_t len = bvec->bv_len - i->iov_offset;
+ if (len > i->count)
+ len = i->count;
+- if (len > maxsize)
+- len = maxsize;
++ /* can't be more than PAGE_SIZE */
+ *start = bvec->bv_offset + i->iov_offset;
+
+ get_page(*pages = bvec->bv_page);
+@@ -712,13 +711,13 @@ unsigned long iov_iter_alignment(const struct iov_iter *i)
+ EXPORT_SYMBOL(iov_iter_alignment);
+
+ ssize_t iov_iter_get_pages(struct iov_iter *i,
+- struct page **pages, size_t maxsize,
++ struct page **pages, unsigned maxpages,
+ size_t *start)
+ {
+ if (i->type & ITER_BVEC)
+- return get_pages_bvec(i, pages, maxsize, start);
++ return get_pages_bvec(i, pages, maxpages, start);
+ else
+- return get_pages_iovec(i, pages, maxsize, start);
++ return get_pages_iovec(i, pages, maxpages, start);
+ }
+ EXPORT_SYMBOL(iov_iter_get_pages);
+
Modified: dists/wheezy-backports/linux/debian/patches/bugfix/arm64/arm64-crypto-fix-makefile-rule-for-aes-glue-.o.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/bugfix/arm64/arm64-crypto-fix-makefile-rule-for-aes-glue-.o.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/arm64/arm64-crypto-fix-makefile-rule-for-aes-glue-.o.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,7 +1,7 @@
-From 7c2105fbe9658d6cee18751568e29579bb58bfec Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab at suse.de>
Date: Thu, 24 Jul 2014 17:03:26 +0100
Subject: [PATCH] arm64/crypto: fix makefile rule for aes-glue-%.o
+Origin: https://git.kernel.org/linus/7c2105fbe9658d6cee18751568e29579bb58bfec
This fixes the following build failure when building with CONFIG_MODVERSIONS
enabled:
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-cp1emu-Fix-ISA-restrictions-for-cop1x_op-instru.patch (from r22048, dists/sid/linux/debian/patches/bugfix/mips/MIPS-cp1emu-Fix-ISA-restrictions-for-cop1x_op-instru.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-cp1emu-Fix-ISA-restrictions-for-cop1x_op-instru.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/mips/MIPS-cp1emu-Fix-ISA-restrictions-for-cop1x_op-instru.patch)
@@ -0,0 +1,50 @@
+From: Markos Chandras <markos.chandras at imgtec.com>
+Date: Tue, 21 Oct 2014 10:21:54 +0100
+Subject: MIPS: cp1emu: Fix ISA restrictions for cop1x_op instructions
+Origin: https://git.kernel.org/linus/a5466d7bba9af83a82cc7c081b2a7d557cde3204
+
+Commit 08a07904e1828 ("MIPS: math-emu: Remove most ifdefery") removed
+the #ifdef ISA conditions and switched to runtime detection. However,
+according to the instruction set manual, the cop1x_op instructions are
+available in >=MIPS32r2 as well. This fixes a problem on MIPS32r2
+with the ntpd package which failed to execute with a SIGILL exit code due
+to the fact that a madd.d instruction was not being emulated.
+
+Signed-off-by: Markos Chandras <markos.chandras at imgtec.com>
+Fixes: 08a07904e1828 ("MIPS: math-emu: Remove most ifdefery")
+Cc: <stable at vger.kernel.org> # v3.16+
+Cc: linux-mips at linux-mips.org
+Reviewed-by: Paul Burton <paul.burton at imgtec.com>
+Reviewed-by: James Hogan <james.hogan at imgtec.com>
+Cc: Markos Chandras <markos.chandras at imgtec.com>
+Patchwork: https://patchwork.linux-mips.org/patch/8173/
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+---
+ arch/mips/math-emu/cp1emu.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/arch/mips/math-emu/cp1emu.c b/arch/mips/math-emu/cp1emu.c
+index 7a47277..51a0fde 100644
+--- a/arch/mips/math-emu/cp1emu.c
++++ b/arch/mips/math-emu/cp1emu.c
+@@ -1023,7 +1023,7 @@ emul:
+ goto emul;
+
+ case cop1x_op:
+- if (cpu_has_mips_4_5 || cpu_has_mips64)
++ if (cpu_has_mips_4_5 || cpu_has_mips64 || cpu_has_mips32r2)
+ /* its one of ours */
+ goto emul;
+
+@@ -1068,7 +1068,7 @@ emul:
+ break;
+
+ case cop1x_op:
+- if (!cpu_has_mips_4_5 && !cpu_has_mips64)
++ if (!cpu_has_mips_4_5 && !cpu_has_mips64 && !cpu_has_mips32r2)
+ return SIGILL;
+
+ sig = fpux_emu(xcp, ctx, ir, fault_addr);
+--
+2.1.1
+
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-tlbex-Properly-fix-HUGE-TLB-Refill-exception-ha.patch (from r22048, dists/sid/linux/debian/patches/bugfix/mips/MIPS-tlbex-Properly-fix-HUGE-TLB-Refill-exception-ha.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/mips/MIPS-tlbex-Properly-fix-HUGE-TLB-Refill-exception-ha.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/mips/MIPS-tlbex-Properly-fix-HUGE-TLB-Refill-exception-ha.patch)
@@ -0,0 +1,90 @@
+From: David Daney <david.daney at cavium.com>
+Date: Mon, 20 Oct 2014 15:34:23 -0700
+Subject: MIPS: tlbex: Properly fix HUGE TLB Refill exception handler
+Origin: https://git.kernel.org/linus/9e0f162a36914937a937358fcb45e0609ef2bfc4
+
+In commit 8393c524a25609 (MIPS: tlbex: Fix a missing statement for
+HUGETLB), the TLB Refill handler was fixed so that non-OCTEON targets
+would work properly with huge pages. The change was incorrect in that
+it broke the OCTEON case.
+
+The problem is shown here:
+
+ xxx0: df7a0000 ld k0,0(k1)
+ .
+ .
+ .
+ xxxc0: df610000 ld at,0(k1)
+ xxxc4: 335a0ff0 andi k0,k0,0xff0
+ xxxc8: e825ffcd bbit1 at,0x5,0x0
+ xxxcc: 003ad82d daddu k1,at,k0
+ .
+ .
+ .
+
+In the non-octeon case there is a destructive test for the huge PTE
+bit, and then at 0, $k0 is reloaded (that is what the 8393c524a25609
+patch added).
+
+In the octeon case, we modify k1 in the branch delay slot, but we
+never need k0 again, so the new load is not needed, but since k1 is
+modified, if we do the load, we load from a garbage location and then
+get a nested TLB Refill, which is seen in userspace as either SIGBUS
+or SIGSEGV (depending on the garbage).
+
+The real fix is to only do this reloading if it is needed, and never
+where it is harmful.
+
+Signed-off-by: David Daney <david.daney at cavium.com>
+Cc: Huacai Chen <chenhc at lemote.com>
+Cc: Fuxin Zhang <zhangfx at lemote.com>
+Cc: Zhangjin Wu <wuzhangjin at gmail.com>
+Cc: stable at vger.kernel.org
+Cc: linux-mips at linux-mips.org
+Patchwork: https://patchwork.linux-mips.org/patch/8151/
+Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
+---
+ arch/mips/mm/tlbex.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
+index a08dd53..b5f228e 100644
+--- a/arch/mips/mm/tlbex.c
++++ b/arch/mips/mm/tlbex.c
+@@ -1062,6 +1062,7 @@ static void build_update_entries(u32 **p, unsigned int tmp, unsigned int ptep)
+ struct mips_huge_tlb_info {
+ int huge_pte;
+ int restore_scratch;
++ bool need_reload_pte;
+ };
+
+ static struct mips_huge_tlb_info
+@@ -1076,6 +1077,7 @@ build_fast_tlb_refill_handler (u32 **p, struct uasm_label **l,
+
+ rv.huge_pte = scratch;
+ rv.restore_scratch = 0;
++ rv.need_reload_pte = false;
+
+ if (check_for_high_segbits) {
+ UASM_i_MFC0(p, tmp, C0_BADVADDR);
+@@ -1264,6 +1266,7 @@ static void build_r4000_tlb_refill_handler(void)
+ } else {
+ htlb_info.huge_pte = K0;
+ htlb_info.restore_scratch = 0;
++ htlb_info.need_reload_pte = true;
+ vmalloc_mode = refill_noscratch;
+ /*
+ * create the plain linear handler
+@@ -1300,7 +1303,8 @@ static void build_r4000_tlb_refill_handler(void)
+ }
+ #ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT
+ uasm_l_tlb_huge_update(&l, p);
+- UASM_i_LW(&p, K0, 0, K1);
++ if (htlb_info.need_reload_pte)
++ UASM_i_LW(&p, htlb_info.huge_pte, 0, K1);
+ build_huge_update_entries(&p, htlb_info.huge_pte, K1);
+ build_huge_tlb_write_entry(&p, &l, &r, K0, tlb_random,
+ htlb_info.restore_scratch);
+--
+2.1.1
+
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/parisc/parisc-reduce-sigrtmin-from-37-to-32-to-behave-like-.patch (from r22048, dists/sid/linux/debian/patches/bugfix/parisc/parisc-reduce-sigrtmin-from-37-to-32-to-behave-like-.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/parisc/parisc-reduce-sigrtmin-from-37-to-32-to-behave-like-.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/parisc/parisc-reduce-sigrtmin-from-37-to-32-to-behave-like-.patch)
@@ -0,0 +1,100 @@
+From: Helge Deller <deller at gmx.de>
+Date: Fri, 10 Oct 2014 22:20:17 +0200
+Subject: parisc: Reduce SIGRTMIN from 37 to 32 to behave like other Linux
+ architectures
+Origin: https://git.kernel.org/linus/1f25df2eff5b25f52c139d3ff31bc883eee9a0ab
+Bug-Debian: https://bugs.debian.org/766635
+
+This patch reduces the value of SIGRTMIN on PARISC from 37 to 32, thus
+increasing the number of available RT signals and bring it in sync with other
+Linux architectures.
+
+Historically we wanted to natively support HP-UX 32bit binaries with the
+PA-RISC Linux port. Because of that we carried the various available signals
+from HP-UX (e.g. SIGEMT and SIGLOST) and folded them in between the native
+Linux signals. Although this was the right decision at that time, this
+required us to increase SIGRTMIN to at least 37 which left us with 27 (64-37)
+RT signals.
+
+Those 27 RT signals haven't been a problem in the past, but with the upcoming
+importance of systemd we now got the problem that systemd alloctes (hardcoded)
+signals up to SIGRTMIN+29 which is beyond our NSIG of 64. Because of that we
+have not been able to use systemd on the PARISC Linux port yet.
+
+Of course we could ask the systemd developers to not use those hardcoded
+values, but this change is very unlikely, esp. with PA-RISC being a niche
+architecture.
+
+The other possibility would be to increase NSIG to e.g. 128, but this would
+mean to duplicate most of the existing Linux signal handling code into the
+parisc specific Linux kernel tree which would most likely introduce lots of new
+bugs beside the code duplication.
+
+The third option is to drop some HP-UX signals and shuffle some other signals
+around to bring SIGRTMIN to 32. This is of course an ABI change, but testing
+has shown that existing Linux installations are not visibly affected by this
+change - most likely because we move those signals around which are rarely used
+and move them to slots which haven't been used in Linux yet. In an existing
+installation I was able to exchange either the Linux kernel or glibc (or both)
+without affecting the boot process and installed applications.
+
+Dropping the HP-UX signals isn't an issue either, since support for HP-UX was
+basically dropped a few months back with Kernel 3.14 in commit
+f5a408d53edef3af07ac7697b8bc54a755628450 already, when we changed EWOULDBLOCK
+to be equal to EAGAIN.
+
+So, even if this is an ABI change, it's better to change it now and thus bring
+PARISC Linux in sync with other architectures to avoid other issues in the
+future.
+
+Signed-off-by: Helge Deller <deller at gmx.de>
+Cc: Carlos O'Donell <carlos at systemhalted.org>
+Cc: John David Anglin <dave.anglin at bell.net>
+Cc: James Bottomley <James.Bottomley at HansenPartnership.com>
+Cc: Aaro Koskinen <aaro.koskinen at iki.fi>
+Cc: PARISC Linux Kernel Mailinglist <linux-parisc at vger.kernel.org>
+Tested-by: Aaro Koskinen <aaro.koskinen at iki.fi>
+---
+ arch/parisc/include/uapi/asm/signal.h | 16 ++++++----------
+ 1 file changed, 6 insertions(+), 10 deletions(-)
+
+diff --git a/arch/parisc/include/uapi/asm/signal.h b/arch/parisc/include/uapi/asm/signal.h
+index f5645d6..10df707 100644
+--- a/arch/parisc/include/uapi/asm/signal.h
++++ b/arch/parisc/include/uapi/asm/signal.h
+@@ -8,12 +8,12 @@
+ #define SIGTRAP 5
+ #define SIGABRT 6
+ #define SIGIOT 6
+-#define SIGEMT 7
++#define SIGSTKFLT 7
+ #define SIGFPE 8
+ #define SIGKILL 9
+ #define SIGBUS 10
+ #define SIGSEGV 11
+-#define SIGSYS 12 /* Linux doesn't use this */
++#define SIGXCPU 12
+ #define SIGPIPE 13
+ #define SIGALRM 14
+ #define SIGTERM 15
+@@ -32,16 +32,12 @@
+ #define SIGTTIN 27
+ #define SIGTTOU 28
+ #define SIGURG 29
+-#define SIGLOST 30 /* Linux doesn't use this either */
+-#define SIGUNUSED 31
+-#define SIGRESERVE SIGUNUSED
+-
+-#define SIGXCPU 33
+-#define SIGXFSZ 34
+-#define SIGSTKFLT 36
++#define SIGXFSZ 30
++#define SIGUNUSED 31
++#define SIGSYS 31 /* Linux doesn't use this */
+
+ /* These should not be considered constants from userland. */
+-#define SIGRTMIN 37
++#define SIGRTMIN 32
+ #define SIGRTMAX _NSIG /* it's 44 under HP/UX */
+
+ /*
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Check-non-canonical-addresses-upon-WRMSR.patch (from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Check-non-canonical-addresses-upon-WRMSR.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Check-non-canonical-addresses-upon-WRMSR.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Check-non-canonical-addresses-upon-WRMSR.patch)
@@ -0,0 +1,135 @@
+From: Nadav Amit <namit at cs.technion.ac.il>
+Date: Tue, 16 Sep 2014 03:24:05 +0300
+Subject: KVM: x86: Check non-canonical addresses upon WRMSR
+Origin: https://git.kernel.org/linus/854e8bb1aa06c578c2c9145fa6bfe3680ef63b23
+
+Upon WRMSR, the CPU should inject #GP if a non-canonical value (address) is
+written to certain MSRs. The behavior is "almost" identical for AMD and Intel
+(ignoring MSRs that are not implemented in either architecture since they would
+anyhow #GP). However, IA32_SYSENTER_ESP and IA32_SYSENTER_EIP cause #GP if
+non-canonical address is written on Intel but not on AMD (which ignores the top
+32-bits).
+
+Accordingly, this patch injects a #GP on the MSRs which behave identically on
+Intel and AMD. To eliminate the differences between the architecutres, the
+value which is written to IA32_SYSENTER_ESP and IA32_SYSENTER_EIP is turned to
+canonical value before writing instead of injecting a #GP.
+
+Some references from Intel and AMD manuals:
+
+According to Intel SDM description of WRMSR instruction #GP is expected on
+WRMSR "If the source register contains a non-canonical address and ECX
+specifies one of the following MSRs: IA32_DS_AREA, IA32_FS_BASE, IA32_GS_BASE,
+IA32_KERNEL_GS_BASE, IA32_LSTAR, IA32_SYSENTER_EIP, IA32_SYSENTER_ESP."
+
+According to AMD manual instruction manual:
+LSTAR/CSTAR (SYSCALL): "The WRMSR instruction loads the target RIP into the
+LSTAR and CSTAR registers. If an RIP written by WRMSR is not in canonical
+form, a general-protection exception (#GP) occurs."
+IA32_GS_BASE and IA32_FS_BASE (WRFSBASE/WRGSBASE): "The address written to the
+base field must be in canonical form or a #GP fault will occur."
+IA32_KERNEL_GS_BASE (SWAPGS): "The address stored in the KernelGSbase MSR must
+be in canonical form."
+
+This patch fixes CVE-2014-3610.
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Nadav Amit <namit at cs.technion.ac.il>
+Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
+---
+ arch/x86/include/asm/kvm_host.h | 14 ++++++++++++++
+ arch/x86/kvm/svm.c | 2 +-
+ arch/x86/kvm/vmx.c | 2 +-
+ arch/x86/kvm/x86.c | 27 ++++++++++++++++++++++++++-
+ 4 files changed, 42 insertions(+), 3 deletions(-)
+
+--- a/arch/x86/include/asm/kvm_host.h
++++ b/arch/x86/include/asm/kvm_host.h
+@@ -989,6 +989,20 @@ static inline void kvm_inject_gp(struct
+ kvm_queue_exception_e(vcpu, GP_VECTOR, error_code);
+ }
+
++static inline u64 get_canonical(u64 la)
++{
++ return ((int64_t)la << 16) >> 16;
++}
++
++static inline bool is_noncanonical_address(u64 la)
++{
++#ifdef CONFIG_X86_64
++ return get_canonical(la) != la;
++#else
++ return false;
++#endif
++}
++
+ #define TSS_IOPB_BASE_OFFSET 0x66
+ #define TSS_BASE_SIZE 0x68
+ #define TSS_IOPB_SIZE (65536 / 8)
+--- a/arch/x86/kvm/svm.c
++++ b/arch/x86/kvm/svm.c
+@@ -3228,7 +3228,7 @@ static int wrmsr_interception(struct vcp
+ msr.host_initiated = false;
+
+ svm->next_rip = kvm_rip_read(&svm->vcpu) + 2;
+- if (svm_set_msr(&svm->vcpu, &msr)) {
++ if (kvm_set_msr(&svm->vcpu, &msr)) {
+ trace_kvm_msr_write_ex(ecx, data);
+ kvm_inject_gp(&svm->vcpu, 0);
+ } else {
+--- a/arch/x86/kvm/vmx.c
++++ b/arch/x86/kvm/vmx.c
+@@ -5246,7 +5246,7 @@ static int handle_wrmsr(struct kvm_vcpu
+ msr.data = data;
+ msr.index = ecx;
+ msr.host_initiated = false;
+- if (vmx_set_msr(vcpu, &msr) != 0) {
++ if (kvm_set_msr(vcpu, &msr) != 0) {
+ trace_kvm_msr_write_ex(ecx, data);
+ kvm_inject_gp(vcpu, 0);
+ return 1;
+--- a/arch/x86/kvm/x86.c
++++ b/arch/x86/kvm/x86.c
+@@ -948,7 +948,6 @@ void kvm_enable_efer_bits(u64 mask)
+ }
+ EXPORT_SYMBOL_GPL(kvm_enable_efer_bits);
+
+-
+ /*
+ * Writes msr value into into the appropriate "register".
+ * Returns 0 on success, non-0 otherwise.
+@@ -956,8 +955,34 @@ EXPORT_SYMBOL_GPL(kvm_enable_efer_bits);
+ */
+ int kvm_set_msr(struct kvm_vcpu *vcpu, struct msr_data *msr)
+ {
++ switch (msr->index) {
++ case MSR_FS_BASE:
++ case MSR_GS_BASE:
++ case MSR_KERNEL_GS_BASE:
++ case MSR_CSTAR:
++ case MSR_LSTAR:
++ if (is_noncanonical_address(msr->data))
++ return 1;
++ break;
++ case MSR_IA32_SYSENTER_EIP:
++ case MSR_IA32_SYSENTER_ESP:
++ /*
++ * IA32_SYSENTER_ESP and IA32_SYSENTER_EIP cause #GP if
++ * non-canonical address is written on Intel but not on
++ * AMD (which ignores the top 32-bits, because it does
++ * not implement 64-bit SYSENTER).
++ *
++ * 64-bit code should hence be able to write a non-canonical
++ * value on AMD. Making the address canonical ensures that
++ * vmentry does not fail on Intel after writing a non-canonical
++ * value, and that something deterministic happens if the guest
++ * invokes 64-bit SYSENTER.
++ */
++ msr->data = get_canonical(msr->data);
++ }
+ return kvm_x86_ops->set_msr(vcpu, msr);
+ }
++EXPORT_SYMBOL_GPL(kvm_set_msr);
+
+ /*
+ * Adapt set_msr() to msr_io()'s calling convention
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Emulator-fixes-for-eip-canonical-checks-on-n.patch (from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Emulator-fixes-for-eip-canonical-checks-on-n.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Emulator-fixes-for-eip-canonical-checks-on-n.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Emulator-fixes-for-eip-canonical-checks-on-n.patch)
@@ -0,0 +1,229 @@
+From: Nadav Amit <namit at cs.technion.ac.il>
+Date: Thu, 18 Sep 2014 22:39:38 +0300
+Subject: KVM: x86: Emulator fixes for eip canonical checks on near branches
+Origin: https://git.kernel.org/linus/234f3ce485d54017f15cf5e0699cff4100121601
+
+Before changing rip (during jmp, call, ret, etc.) the target should be asserted
+to be canonical one, as real CPUs do. During sysret, both target rsp and rip
+should be canonical. If any of these values is noncanonical, a #GP exception
+should occur. The exception to this rule are syscall and sysenter instructions
+in which the assigned rip is checked during the assignment to the relevant
+MSRs.
+
+This patch fixes the emulator to behave as real CPUs do for near branches.
+Far branches are handled by the next patch.
+
+This fixes CVE-2014-3647.
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Nadav Amit <namit at cs.technion.ac.il>
+Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
+---
+ arch/x86/kvm/emulate.c | 78 ++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 54 insertions(+), 24 deletions(-)
+
+--- a/arch/x86/kvm/emulate.c
++++ b/arch/x86/kvm/emulate.c
+@@ -572,7 +572,8 @@ static int emulate_nm(struct x86_emulate
+ return emulate_exception(ctxt, NM_VECTOR, 0, false);
+ }
+
+-static inline void assign_eip_near(struct x86_emulate_ctxt *ctxt, ulong dst)
++static inline int assign_eip_far(struct x86_emulate_ctxt *ctxt, ulong dst,
++ int cs_l)
+ {
+ switch (ctxt->op_bytes) {
+ case 2:
+@@ -582,16 +583,25 @@ static inline void assign_eip_near(struc
+ ctxt->_eip = (u32)dst;
+ break;
+ case 8:
++ if ((cs_l && is_noncanonical_address(dst)) ||
++ (!cs_l && (dst & ~(u32)-1)))
++ return emulate_gp(ctxt, 0);
+ ctxt->_eip = dst;
+ break;
+ default:
+ WARN(1, "unsupported eip assignment size\n");
+ }
++ return X86EMUL_CONTINUE;
++}
++
++static inline int assign_eip_near(struct x86_emulate_ctxt *ctxt, ulong dst)
++{
++ return assign_eip_far(ctxt, dst, ctxt->mode == X86EMUL_MODE_PROT64);
+ }
+
+-static inline void jmp_rel(struct x86_emulate_ctxt *ctxt, int rel)
++static inline int jmp_rel(struct x86_emulate_ctxt *ctxt, int rel)
+ {
+- assign_eip_near(ctxt, ctxt->_eip + rel);
++ return assign_eip_near(ctxt, ctxt->_eip + rel);
+ }
+
+ static u16 get_segment_selector(struct x86_emulate_ctxt *ctxt, unsigned seg)
+@@ -1986,13 +1996,15 @@ static int em_grp45(struct x86_emulate_c
+ case 2: /* call near abs */ {
+ long int old_eip;
+ old_eip = ctxt->_eip;
+- ctxt->_eip = ctxt->src.val;
++ rc = assign_eip_near(ctxt, ctxt->src.val);
++ if (rc != X86EMUL_CONTINUE)
++ break;
+ ctxt->src.val = old_eip;
+ rc = em_push(ctxt);
+ break;
+ }
+ case 4: /* jmp abs */
+- ctxt->_eip = ctxt->src.val;
++ rc = assign_eip_near(ctxt, ctxt->src.val);
+ break;
+ case 5: /* jmp far */
+ rc = em_jmp_far(ctxt);
+@@ -2024,10 +2036,14 @@ static int em_cmpxchg8b(struct x86_emula
+
+ static int em_ret(struct x86_emulate_ctxt *ctxt)
+ {
+- ctxt->dst.type = OP_REG;
+- ctxt->dst.addr.reg = &ctxt->_eip;
+- ctxt->dst.bytes = ctxt->op_bytes;
+- return em_pop(ctxt);
++ int rc;
++ unsigned long eip;
++
++ rc = emulate_pop(ctxt, &eip, ctxt->op_bytes);
++ if (rc != X86EMUL_CONTINUE)
++ return rc;
++
++ return assign_eip_near(ctxt, eip);
+ }
+
+ static int em_ret_far(struct x86_emulate_ctxt *ctxt)
+@@ -2305,7 +2321,7 @@ static int em_sysexit(struct x86_emulate
+ {
+ const struct x86_emulate_ops *ops = ctxt->ops;
+ struct desc_struct cs, ss;
+- u64 msr_data;
++ u64 msr_data, rcx, rdx;
+ int usermode;
+ u16 cs_sel = 0, ss_sel = 0;
+
+@@ -2321,6 +2337,9 @@ static int em_sysexit(struct x86_emulate
+ else
+ usermode = X86EMUL_MODE_PROT32;
+
++ rcx = reg_read(ctxt, VCPU_REGS_RCX);
++ rdx = reg_read(ctxt, VCPU_REGS_RDX);
++
+ cs.dpl = 3;
+ ss.dpl = 3;
+ ops->get_msr(ctxt, MSR_IA32_SYSENTER_CS, &msr_data);
+@@ -2338,6 +2357,9 @@ static int em_sysexit(struct x86_emulate
+ ss_sel = cs_sel + 8;
+ cs.d = 0;
+ cs.l = 1;
++ if (is_noncanonical_address(rcx) ||
++ is_noncanonical_address(rdx))
++ return emulate_gp(ctxt, 0);
+ break;
+ }
+ cs_sel |= SELECTOR_RPL_MASK;
+@@ -2346,8 +2368,8 @@ static int em_sysexit(struct x86_emulate
+ ops->set_segment(ctxt, cs_sel, &cs, 0, VCPU_SREG_CS);
+ ops->set_segment(ctxt, ss_sel, &ss, 0, VCPU_SREG_SS);
+
+- ctxt->_eip = reg_read(ctxt, VCPU_REGS_RDX);
+- *reg_write(ctxt, VCPU_REGS_RSP) = reg_read(ctxt, VCPU_REGS_RCX);
++ ctxt->_eip = rdx;
++ *reg_write(ctxt, VCPU_REGS_RSP) = rcx;
+
+ return X86EMUL_CONTINUE;
+ }
+@@ -2888,10 +2910,13 @@ static int em_aad(struct x86_emulate_ctx
+
+ static int em_call(struct x86_emulate_ctxt *ctxt)
+ {
++ int rc;
+ long rel = ctxt->src.val;
+
+ ctxt->src.val = (unsigned long)ctxt->_eip;
+- jmp_rel(ctxt, rel);
++ rc = jmp_rel(ctxt, rel);
++ if (rc != X86EMUL_CONTINUE)
++ return rc;
+ return em_push(ctxt);
+ }
+
+@@ -2923,11 +2948,12 @@ static int em_call_far(struct x86_emulat
+ static int em_ret_near_imm(struct x86_emulate_ctxt *ctxt)
+ {
+ int rc;
++ unsigned long eip;
+
+- ctxt->dst.type = OP_REG;
+- ctxt->dst.addr.reg = &ctxt->_eip;
+- ctxt->dst.bytes = ctxt->op_bytes;
+- rc = emulate_pop(ctxt, &ctxt->dst.val, ctxt->op_bytes);
++ rc = emulate_pop(ctxt, &eip, ctxt->op_bytes);
++ if (rc != X86EMUL_CONTINUE)
++ return rc;
++ rc = assign_eip_near(ctxt, eip);
+ if (rc != X86EMUL_CONTINUE)
+ return rc;
+ rsp_increment(ctxt, ctxt->src.val);
+@@ -3257,20 +3283,24 @@ static int em_lmsw(struct x86_emulate_ct
+
+ static int em_loop(struct x86_emulate_ctxt *ctxt)
+ {
++ int rc = X86EMUL_CONTINUE;
++
+ register_address_increment(ctxt, reg_rmw(ctxt, VCPU_REGS_RCX), -1);
+ if ((address_mask(ctxt, reg_read(ctxt, VCPU_REGS_RCX)) != 0) &&
+ (ctxt->b == 0xe2 || test_cc(ctxt->b ^ 0x5, ctxt->eflags)))
+- jmp_rel(ctxt, ctxt->src.val);
++ rc = jmp_rel(ctxt, ctxt->src.val);
+
+- return X86EMUL_CONTINUE;
++ return rc;
+ }
+
+ static int em_jcxz(struct x86_emulate_ctxt *ctxt)
+ {
++ int rc = X86EMUL_CONTINUE;
++
+ if (address_mask(ctxt, reg_read(ctxt, VCPU_REGS_RCX)) == 0)
+- jmp_rel(ctxt, ctxt->src.val);
++ rc = jmp_rel(ctxt, ctxt->src.val);
+
+- return X86EMUL_CONTINUE;
++ return rc;
+ }
+
+ static int em_in(struct x86_emulate_ctxt *ctxt)
+@@ -4671,7 +4701,7 @@ special_insn:
+ break;
+ case 0x70 ... 0x7f: /* jcc (short) */
+ if (test_cc(ctxt->b, ctxt->eflags))
+- jmp_rel(ctxt, ctxt->src.val);
++ rc = jmp_rel(ctxt, ctxt->src.val);
+ break;
+ case 0x8d: /* lea r16/r32, m */
+ ctxt->dst.val = ctxt->src.addr.mem.ea;
+@@ -4700,7 +4730,7 @@ special_insn:
+ break;
+ case 0xe9: /* jmp rel */
+ case 0xeb: /* jmp rel short */
+- jmp_rel(ctxt, ctxt->src.val);
++ rc = jmp_rel(ctxt, ctxt->src.val);
+ ctxt->dst.type = OP_NONE; /* Disable writeback. */
+ break;
+ case 0xf4: /* hlt */
+@@ -4820,7 +4850,7 @@ twobyte_insn:
+ break;
+ case 0x80 ... 0x8f: /* jnz rel, etc*/
+ if (test_cc(ctxt->b, ctxt->eflags))
+- jmp_rel(ctxt, ctxt->src.val);
++ rc = jmp_rel(ctxt, ctxt->src.val);
+ break;
+ case 0x90 ... 0x9f: /* setcc r/m8 */
+ ctxt->dst.val = test_cc(ctxt->b, ctxt->eflags);
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Fix-wrong-masking-on-relative-jump-call.patch (from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Fix-wrong-masking-on-relative-jump-call.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Fix-wrong-masking-on-relative-jump-call.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Fix-wrong-masking-on-relative-jump-call.patch)
@@ -0,0 +1,60 @@
+From: Nadav Amit <namit at cs.technion.ac.il>
+Date: Thu, 18 Sep 2014 22:39:37 +0300
+Subject: KVM: x86: Fix wrong masking on relative jump/call
+Origin: https://git.kernel.org/linus/05c83ec9b73c8124555b706f6af777b10adf0862
+
+Relative jumps and calls do the masking according to the operand size, and not
+according to the address size as the KVM emulator does today.
+
+This patch fixes KVM behavior.
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Nadav Amit <namit at cs.technion.ac.il>
+Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
+---
+ arch/x86/kvm/emulate.c | 27 ++++++++++++++++++++++-----
+ 1 file changed, 22 insertions(+), 5 deletions(-)
+
+--- a/arch/x86/kvm/emulate.c
++++ b/arch/x86/kvm/emulate.c
+@@ -499,11 +499,6 @@ static void rsp_increment(struct x86_emu
+ masked_increment(reg_rmw(ctxt, VCPU_REGS_RSP), stack_mask(ctxt), inc);
+ }
+
+-static inline void jmp_rel(struct x86_emulate_ctxt *ctxt, int rel)
+-{
+- register_address_increment(ctxt, &ctxt->_eip, rel);
+-}
+-
+ static u32 desc_limit_scaled(struct desc_struct *desc)
+ {
+ u32 limit = get_desc_limit(desc);
+@@ -577,6 +572,28 @@ static int emulate_nm(struct x86_emulate
+ return emulate_exception(ctxt, NM_VECTOR, 0, false);
+ }
+
++static inline void assign_eip_near(struct x86_emulate_ctxt *ctxt, ulong dst)
++{
++ switch (ctxt->op_bytes) {
++ case 2:
++ ctxt->_eip = (u16)dst;
++ break;
++ case 4:
++ ctxt->_eip = (u32)dst;
++ break;
++ case 8:
++ ctxt->_eip = dst;
++ break;
++ default:
++ WARN(1, "unsupported eip assignment size\n");
++ }
++}
++
++static inline void jmp_rel(struct x86_emulate_ctxt *ctxt, int rel)
++{
++ assign_eip_near(ctxt, ctxt->_eip + rel);
++}
++
+ static u16 get_segment_selector(struct x86_emulate_ctxt *ctxt, unsigned seg)
+ {
+ u16 selector;
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Handle-errors-when-RIP-is-set-during-far-jum.patch (from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Handle-errors-when-RIP-is-set-during-far-jum.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Handle-errors-when-RIP-is-set-during-far-jum.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Handle-errors-when-RIP-is-set-during-far-jum.patch)
@@ -0,0 +1,246 @@
+From: Nadav Amit <namit at cs.technion.ac.il>
+Date: Thu, 18 Sep 2014 22:39:39 +0300
+Subject: KVM: x86: Handle errors when RIP is set during far jumps
+Origin: https://git.kernel.org/linus/d1442d85cc30ea75f7d399474ca738e0bc96f715
+
+Far jmp/call/ret may fault while loading a new RIP. Currently KVM does not
+handle this case, and may result in failed vm-entry once the assignment is
+done. The tricky part of doing so is that loading the new CS affects the
+VMCS/VMCB state, so if we fail during loading the new RIP, we are left in
+unconsistent state. Therefore, this patch saves on 64-bit the old CS
+descriptor and restores it if loading RIP failed.
+
+This fixes CVE-2014-3647.
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Nadav Amit <namit at cs.technion.ac.il>
+Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
+[bwh: Backported to 3.16: Adjust context]
+---
+ arch/x86/kvm/emulate.c | 118 ++++++++++++++++++++++++++++++++++++-------------
+ 1 file changed, 88 insertions(+), 30 deletions(-)
+
+--- a/arch/x86/kvm/emulate.c
++++ b/arch/x86/kvm/emulate.c
+@@ -1439,7 +1439,9 @@ static int write_segment_descriptor(stru
+
+ /* Does not support long mode */
+ static int __load_segment_descriptor(struct x86_emulate_ctxt *ctxt,
+- u16 selector, int seg, u8 cpl, bool in_task_switch)
++ u16 selector, int seg, u8 cpl,
++ bool in_task_switch,
++ struct desc_struct *desc)
+ {
+ struct desc_struct seg_desc, old_desc;
+ u8 dpl, rpl;
+@@ -1568,6 +1570,8 @@ static int __load_segment_descriptor(str
+ }
+ load:
+ ctxt->ops->set_segment(ctxt, selector, &seg_desc, 0, seg);
++ if (desc)
++ *desc = seg_desc;
+ return X86EMUL_CONTINUE;
+ exception:
+ emulate_exception(ctxt, err_vec, err_code, true);
+@@ -1578,7 +1582,7 @@ static int load_segment_descriptor(struc
+ u16 selector, int seg)
+ {
+ u8 cpl = ctxt->ops->cpl(ctxt);
+- return __load_segment_descriptor(ctxt, selector, seg, cpl, false);
++ return __load_segment_descriptor(ctxt, selector, seg, cpl, false, NULL);
+ }
+
+ static void write_register_operand(struct operand *op)
+@@ -1975,17 +1979,31 @@ static int em_iret(struct x86_emulate_ct
+ static int em_jmp_far(struct x86_emulate_ctxt *ctxt)
+ {
+ int rc;
+- unsigned short sel;
++ unsigned short sel, old_sel;
++ struct desc_struct old_desc, new_desc;
++ const struct x86_emulate_ops *ops = ctxt->ops;
++ u8 cpl = ctxt->ops->cpl(ctxt);
++
++ /* Assignment of RIP may only fail in 64-bit mode */
++ if (ctxt->mode == X86EMUL_MODE_PROT64)
++ ops->get_segment(ctxt, &old_sel, &old_desc, NULL,
++ VCPU_SREG_CS);
+
+ memcpy(&sel, ctxt->src.valptr + ctxt->op_bytes, 2);
+
+- rc = load_segment_descriptor(ctxt, sel, VCPU_SREG_CS);
++ rc = __load_segment_descriptor(ctxt, sel, VCPU_SREG_CS, cpl, false,
++ &new_desc);
+ if (rc != X86EMUL_CONTINUE)
+ return rc;
+
+- ctxt->_eip = 0;
+- memcpy(&ctxt->_eip, ctxt->src.valptr, ctxt->op_bytes);
+- return X86EMUL_CONTINUE;
++ rc = assign_eip_far(ctxt, ctxt->src.val, new_desc.l);
++ if (rc != X86EMUL_CONTINUE) {
++ WARN_ON(!ctxt->mode != X86EMUL_MODE_PROT64);
++ /* assigning eip failed; restore the old cs */
++ ops->set_segment(ctxt, old_sel, &old_desc, 0, VCPU_SREG_CS);
++ return rc;
++ }
++ return rc;
+ }
+
+ static int em_grp45(struct x86_emulate_ctxt *ctxt)
+@@ -2049,21 +2067,34 @@ static int em_ret(struct x86_emulate_ctx
+ static int em_ret_far(struct x86_emulate_ctxt *ctxt)
+ {
+ int rc;
+- unsigned long cs;
++ unsigned long eip, cs;
++ u16 old_cs;
+ int cpl = ctxt->ops->cpl(ctxt);
++ struct desc_struct old_desc, new_desc;
++ const struct x86_emulate_ops *ops = ctxt->ops;
++
++ if (ctxt->mode == X86EMUL_MODE_PROT64)
++ ops->get_segment(ctxt, &old_cs, &old_desc, NULL,
++ VCPU_SREG_CS);
+
+- rc = emulate_pop(ctxt, &ctxt->_eip, ctxt->op_bytes);
++ rc = emulate_pop(ctxt, &eip, ctxt->op_bytes);
+ if (rc != X86EMUL_CONTINUE)
+ return rc;
+- if (ctxt->op_bytes == 4)
+- ctxt->_eip = (u32)ctxt->_eip;
+ rc = emulate_pop(ctxt, &cs, ctxt->op_bytes);
+ if (rc != X86EMUL_CONTINUE)
+ return rc;
+ /* Outer-privilege level return is not implemented */
+ if (ctxt->mode >= X86EMUL_MODE_PROT16 && (cs & 3) > cpl)
+ return X86EMUL_UNHANDLEABLE;
+- rc = load_segment_descriptor(ctxt, (u16)cs, VCPU_SREG_CS);
++ rc = __load_segment_descriptor(ctxt, (u16)cs, VCPU_SREG_CS, 0, false,
++ &new_desc);
++ if (rc != X86EMUL_CONTINUE)
++ return rc;
++ rc = assign_eip_far(ctxt, eip, new_desc.l);
++ if (rc != X86EMUL_CONTINUE) {
++ WARN_ON(!ctxt->mode != X86EMUL_MODE_PROT64);
++ ops->set_segment(ctxt, old_cs, &old_desc, 0, VCPU_SREG_CS);
++ }
+ return rc;
+ }
+
+@@ -2487,19 +2518,24 @@ static int load_state_from_tss16(struct
+ * Now load segment descriptors. If fault happens at this stage
+ * it is handled in a context of new task
+ */
+- ret = __load_segment_descriptor(ctxt, tss->ldt, VCPU_SREG_LDTR, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->ldt, VCPU_SREG_LDTR, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+- ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+- ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+- ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+- ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+
+@@ -2624,25 +2660,32 @@ static int load_state_from_tss32(struct
+ * Now load segment descriptors. If fault happenes at this stage
+ * it is handled in a context of new task
+ */
+- ret = __load_segment_descriptor(ctxt, tss->ldt_selector, VCPU_SREG_LDTR, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->ldt_selector, VCPU_SREG_LDTR,
++ cpl, true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+- ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->es, VCPU_SREG_ES, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+- ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->cs, VCPU_SREG_CS, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+- ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->ss, VCPU_SREG_SS, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+- ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->ds, VCPU_SREG_DS, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+- ret = __load_segment_descriptor(ctxt, tss->fs, VCPU_SREG_FS, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->fs, VCPU_SREG_FS, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+- ret = __load_segment_descriptor(ctxt, tss->gs, VCPU_SREG_GS, cpl, true);
++ ret = __load_segment_descriptor(ctxt, tss->gs, VCPU_SREG_GS, cpl,
++ true, NULL);
+ if (ret != X86EMUL_CONTINUE)
+ return ret;
+
+@@ -2925,24 +2968,39 @@ static int em_call_far(struct x86_emulat
+ u16 sel, old_cs;
+ ulong old_eip;
+ int rc;
++ struct desc_struct old_desc, new_desc;
++ const struct x86_emulate_ops *ops = ctxt->ops;
++ int cpl = ctxt->ops->cpl(ctxt);
+
+- old_cs = get_segment_selector(ctxt, VCPU_SREG_CS);
+ old_eip = ctxt->_eip;
++ ops->get_segment(ctxt, &old_cs, &old_desc, NULL, VCPU_SREG_CS);
+
+ memcpy(&sel, ctxt->src.valptr + ctxt->op_bytes, 2);
+- if (load_segment_descriptor(ctxt, sel, VCPU_SREG_CS))
++ rc = __load_segment_descriptor(ctxt, sel, VCPU_SREG_CS, cpl, false,
++ &new_desc);
++ if (rc != X86EMUL_CONTINUE)
+ return X86EMUL_CONTINUE;
+
+- ctxt->_eip = 0;
+- memcpy(&ctxt->_eip, ctxt->src.valptr, ctxt->op_bytes);
++ rc = assign_eip_far(ctxt, ctxt->src.val, new_desc.l);
++ if (rc != X86EMUL_CONTINUE)
++ goto fail;
+
+ ctxt->src.val = old_cs;
+ rc = em_push(ctxt);
+ if (rc != X86EMUL_CONTINUE)
+- return rc;
++ goto fail;
+
+ ctxt->src.val = old_eip;
+- return em_push(ctxt);
++ rc = em_push(ctxt);
++ /* If we failed, we tainted the memory, but the very least we should
++ restore cs */
++ if (rc != X86EMUL_CONTINUE)
++ goto fail;
++ return rc;
++fail:
++ ops->set_segment(ctxt, old_cs, &old_desc, 0, VCPU_SREG_CS);
++ return rc;
++
+ }
+
+ static int em_ret_near_imm(struct x86_emulate_ctxt *ctxt)
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Improve-thread-safety-in-pit.patch (from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Improve-thread-safety-in-pit.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Improve-thread-safety-in-pit.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Improve-thread-safety-in-pit.patch)
@@ -0,0 +1,34 @@
+From: Andy Honig <ahonig at google.com>
+Date: Wed, 27 Aug 2014 14:42:54 -0700
+Subject: KVM: x86: Improve thread safety in pit
+Origin: https://git.kernel.org/linus/2febc839133280d5a5e8e1179c94ea674489dae2
+
+There's a race condition in the PIT emulation code in KVM. In
+__kvm_migrate_pit_timer the pit_timer object is accessed without
+synchronization. If the race condition occurs at the wrong time this
+can crash the host kernel.
+
+This fixes CVE-2014-3611.
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Andrew Honig <ahonig at google.com>
+Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
+---
+ arch/x86/kvm/i8254.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c
+index 518d864..298781d 100644
+--- a/arch/x86/kvm/i8254.c
++++ b/arch/x86/kvm/i8254.c
+@@ -262,8 +262,10 @@ void __kvm_migrate_pit_timer(struct kvm_vcpu *vcpu)
+ return;
+
+ timer = &pit->pit_state.timer;
++ mutex_lock(&pit->pit_state.lock);
+ if (hrtimer_cancel(timer))
+ hrtimer_start_expires(timer, HRTIMER_MODE_ABS);
++ mutex_unlock(&pit->pit_state.lock);
+ }
+
+ static void destroy_pit_timer(struct kvm_pit *pit)
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Prevent-host-from-panicking-on-shared-MSR-wr.patch (from r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Prevent-host-from-panicking-on-shared-MSR-wr.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/KVM-x86-Prevent-host-from-panicking-on-shared-MSR-wr.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/x86/KVM-x86-Prevent-host-from-panicking-on-shared-MSR-wr.patch)
@@ -0,0 +1,81 @@
+From: Andy Honig <ahonig at google.com>
+Date: Wed, 27 Aug 2014 11:16:44 -0700
+Subject: KVM: x86: Prevent host from panicking on shared MSR writes.
+Origin: https://git.kernel.org/linus/8b3c3104c3f4f706e99365c3e0d2aa61b95f969f
+
+The previous patch blocked invalid writes directly when the MSR
+is written. As a precaution, prevent future similar mistakes by
+gracefulling handle GPs caused by writes to shared MSRs.
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Andrew Honig <ahonig at google.com>
+[Remove parts obsoleted by Nadav's patch. - Paolo]
+Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
+---
+ arch/x86/include/asm/kvm_host.h | 2 +-
+ arch/x86/kvm/vmx.c | 7 +++++--
+ arch/x86/kvm/x86.c | 11 ++++++++---
+ 3 files changed, 14 insertions(+), 6 deletions(-)
+
+--- a/arch/x86/include/asm/kvm_host.h
++++ b/arch/x86/include/asm/kvm_host.h
+@@ -1061,7 +1061,7 @@ int kvm_cpu_get_interrupt(struct kvm_vcp
+ void kvm_vcpu_reset(struct kvm_vcpu *vcpu);
+
+ void kvm_define_shared_msr(unsigned index, u32 msr);
+-void kvm_set_shared_msr(unsigned index, u64 val, u64 mask);
++int kvm_set_shared_msr(unsigned index, u64 val, u64 mask);
+
+ bool kvm_is_linear_rip(struct kvm_vcpu *vcpu, unsigned long linear_rip);
+
+--- a/arch/x86/kvm/vmx.c
++++ b/arch/x86/kvm/vmx.c
+@@ -2615,12 +2615,15 @@ static int vmx_set_msr(struct kvm_vcpu *
+ default:
+ msr = find_msr_entry(vmx, msr_index);
+ if (msr) {
++ u64 old_msr_data = msr->data;
+ msr->data = data;
+ if (msr - vmx->guest_msrs < vmx->save_nmsrs) {
+ preempt_disable();
+- kvm_set_shared_msr(msr->index, msr->data,
+- msr->mask);
++ ret = kvm_set_shared_msr(msr->index, msr->data,
++ msr->mask);
+ preempt_enable();
++ if (ret)
++ msr->data = old_msr_data;
+ }
+ break;
+ }
+--- a/arch/x86/kvm/x86.c
++++ b/arch/x86/kvm/x86.c
+@@ -227,20 +227,25 @@ static void kvm_shared_msr_cpu_online(vo
+ shared_msr_update(i, shared_msrs_global.msrs[i]);
+ }
+
+-void kvm_set_shared_msr(unsigned slot, u64 value, u64 mask)
++int kvm_set_shared_msr(unsigned slot, u64 value, u64 mask)
+ {
+ unsigned int cpu = smp_processor_id();
+ struct kvm_shared_msrs *smsr = per_cpu_ptr(shared_msrs, cpu);
++ int err;
+
+ if (((value ^ smsr->values[slot].curr) & mask) == 0)
+- return;
++ return 0;
+ smsr->values[slot].curr = value;
+- wrmsrl(shared_msrs_global.msrs[slot], value);
++ err = wrmsrl_safe(shared_msrs_global.msrs[slot], value);
++ if (err)
++ return 1;
++
+ if (!smsr->registered) {
+ smsr->urn.on_user_return = kvm_on_user_return;
+ user_return_notifier_register(&smsr->urn);
+ smsr->registered = true;
+ }
++ return 0;
+ }
+ EXPORT_SYMBOL_GPL(kvm_set_shared_msr);
+
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/drm-i915-Add-some-L3-registers-to-the-parser-whiteli.patch (from r22048, dists/sid/linux/debian/patches/bugfix/x86/drm-i915-Add-some-L3-registers-to-the-parser-whiteli.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/drm-i915-Add-some-L3-registers-to-the-parser-whiteli.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/x86/drm-i915-Add-some-L3-registers-to-the-parser-whiteli.patch)
@@ -0,0 +1,38 @@
+From: Brad Volkin <bradley.d.volkin at intel.com>
+Date: Tue, 17 Jun 2014 14:10:34 -0700
+Subject: drm/i915: Add some L3 registers to the parser whitelist
+Origin: https://git.kernel.org/linus/c9224faa59c3071ecfa2d4b24592f4eb61e57069
+
+Beignet needs these in order to program the L3 cache config for
+OpenCL workloads, particularly when using SLM.
+
+Signed-off-by: Brad Volkin <bradley.d.volkin at intel.com>
+Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
+---
+ drivers/gpu/drm/i915/i915_cmd_parser.c | 3 +++
+ drivers/gpu/drm/i915/i915_reg.h | 2 ++
+ 2 files changed, 5 insertions(+)
+
+--- a/drivers/gpu/drm/i915/i915_cmd_parser.c
++++ b/drivers/gpu/drm/i915/i915_cmd_parser.c
+@@ -426,6 +426,9 @@ static const u32 gen7_render_regs[] = {
+ GEN7_SO_WRITE_OFFSET(1),
+ GEN7_SO_WRITE_OFFSET(2),
+ GEN7_SO_WRITE_OFFSET(3),
++ GEN7_L3SQCREG1,
++ GEN7_L3CNTLREG2,
++ GEN7_L3CNTLREG3,
+ };
+
+ static const u32 gen7_blt_regs[] = {
+--- a/drivers/gpu/drm/i915/i915_reg.h
++++ b/drivers/gpu/drm/i915/i915_reg.h
+@@ -4630,6 +4630,8 @@ enum punit_power_well {
+ #define GEN7_L3CNTLREG1 0xB01C
+ #define GEN7_WA_FOR_GEN7_L3_CONTROL 0x3C47FF8C
+ #define GEN7_L3AGDIS (1<<19)
++#define GEN7_L3CNTLREG2 0xB020
++#define GEN7_L3CNTLREG3 0xB024
+
+ #define GEN7_L3_CHICKEN_MODE_REGISTER 0xB030
+ #define GEN7_WA_L3_CHICKEN_MODE 0x20000000
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/drm-i915-initialise-userptr-mmu_notifier-serial-to-1.patch (from r22048, dists/sid/linux/debian/patches/bugfix/x86/drm-i915-initialise-userptr-mmu_notifier-serial-to-1.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/drm-i915-initialise-userptr-mmu_notifier-serial-to-1.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/x86/drm-i915-initialise-userptr-mmu_notifier-serial-to-1.patch)
@@ -0,0 +1,39 @@
+From: Chris Wilson <chris at chris-wilson.co.uk>
+Date: Fri, 11 Jul 2014 11:28:01 +0100
+Subject: drm/i915: Initialise userptr mmu_notifier serial to 1
+Origin: https://git.kernel.org/linus/6c308fecb4d1f928d52f9586d976f79b37149388
+Bug-Debian: https://bugs.debian.org/765590
+
+During the range invalidate, we walk the list of buffers associated with
+the mmu_notifer and find the ones that overlap the range. An
+optimisation is made to speed up the iteration by assuming the previous
+iter is still valid whilst the tree is unmodified. This exposes a bug
+when a range invalidate is triggered after we have just created the
+mmu_notifier, but before attaching any buffers. In that case, we presume
+we have an unmodified list and start walking from the last iter which is
+NULL. Oops.
+
+The easiest fix is then to initialise the serial of the tree to 1.
+
+Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
+Cc: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
+Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
+Testecase: igt/gem_userptr_blts/stress-mm
+Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
+---
+ drivers/gpu/drm/i915/i915_gem_userptr.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/gpu/drm/i915/i915_gem_userptr.c b/drivers/gpu/drm/i915/i915_gem_userptr.c
+index 21ea928..b41614d 100644
+--- a/drivers/gpu/drm/i915/i915_gem_userptr.c
++++ b/drivers/gpu/drm/i915/i915_gem_userptr.c
+@@ -150,7 +150,7 @@ i915_mmu_notifier_get(struct drm_device *dev, struct mm_struct *mm)
+ mmu->mm = mm;
+ mmu->objects = RB_ROOT;
+ mmu->count = 0;
+- mmu->serial = 0;
++ mmu->serial = 1;
+
+ /* Protected by mmap_sem (write-lock) */
+ ret = __mmu_notifier_register(&mmu->mn, mm);
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/kvm-vmx-handle-invvpid-vm-exit-gracefully.patch (from r22048, dists/sid/linux/debian/patches/bugfix/x86/kvm-vmx-handle-invvpid-vm-exit-gracefully.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/kvm-vmx-handle-invvpid-vm-exit-gracefully.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/x86/kvm-vmx-handle-invvpid-vm-exit-gracefully.patch)
@@ -0,0 +1,72 @@
+From: Petr Matousek <pmatouse at redhat.com>
+Date: Tue, 23 Sep 2014 20:22:30 +0200
+Subject: kvm: vmx: handle invvpid vm exit gracefully
+Origin: https://git.kernel.org/linus/a642fc305053cc1c6e47e4f4df327895747ab485
+
+On systems with invvpid instruction support (corresponding bit in
+IA32_VMX_EPT_VPID_CAP MSR is set) guest invocation of invvpid
+causes vm exit, which is currently not handled and results in
+propagation of unknown exit to userspace.
+
+Fix this by installing an invvpid vm exit handler.
+
+This is CVE-2014-3646.
+
+Cc: stable at vger.kernel.org
+Signed-off-by: Petr Matousek <pmatouse at redhat.com>
+Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
+---
+ arch/x86/include/uapi/asm/vmx.h | 2 ++
+ arch/x86/kvm/vmx.c | 9 ++++++++-
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+--- a/arch/x86/include/uapi/asm/vmx.h
++++ b/arch/x86/include/uapi/asm/vmx.h
+@@ -67,6 +67,7 @@
+ #define EXIT_REASON_EPT_MISCONFIG 49
+ #define EXIT_REASON_INVEPT 50
+ #define EXIT_REASON_PREEMPTION_TIMER 52
++#define EXIT_REASON_INVVPID 53
+ #define EXIT_REASON_WBINVD 54
+ #define EXIT_REASON_XSETBV 55
+ #define EXIT_REASON_APIC_WRITE 56
+@@ -114,6 +115,7 @@
+ { EXIT_REASON_EOI_INDUCED, "EOI_INDUCED" }, \
+ { EXIT_REASON_INVALID_STATE, "INVALID_STATE" }, \
+ { EXIT_REASON_INVD, "INVD" }, \
++ { EXIT_REASON_INVVPID, "INVVPID" }, \
+ { EXIT_REASON_INVPCID, "INVPCID" }
+
+ #endif /* _UAPIVMX_H */
+--- a/arch/x86/kvm/vmx.c
++++ b/arch/x86/kvm/vmx.c
+@@ -6618,6 +6618,12 @@ static int handle_invept(struct kvm_vcpu
+ return 1;
+ }
+
++static int handle_invvpid(struct kvm_vcpu *vcpu)
++{
++ kvm_queue_exception(vcpu, UD_VECTOR);
++ return 1;
++}
++
+ /*
+ * The exit handlers return 1 if the exit was handled fully and guest execution
+ * may resume. Otherwise they set the kvm_run parameter to indicate what needs
+@@ -6663,6 +6669,7 @@ static int (*const kvm_vmx_exit_handlers
+ [EXIT_REASON_MWAIT_INSTRUCTION] = handle_mwait,
+ [EXIT_REASON_MONITOR_INSTRUCTION] = handle_monitor,
+ [EXIT_REASON_INVEPT] = handle_invept,
++ [EXIT_REASON_INVVPID] = handle_invvpid,
+ };
+
+ static const int kvm_vmx_max_exit_handlers =
+@@ -6896,7 +6903,7 @@ static bool nested_vmx_exit_handled(stru
+ case EXIT_REASON_VMPTRST: case EXIT_REASON_VMREAD:
+ case EXIT_REASON_VMRESUME: case EXIT_REASON_VMWRITE:
+ case EXIT_REASON_VMOFF: case EXIT_REASON_VMON:
+- case EXIT_REASON_INVEPT:
++ case EXIT_REASON_INVEPT: case EXIT_REASON_INVVPID:
+ /*
+ * VMX instructions trap unconditionally. This allows L1 to
+ * emulate them for its L2 guest, i.e., allows 3-level nesting!
Copied: dists/wheezy-backports/linux/debian/patches/bugfix/x86/kvm-x86-fix-far-jump-to-non-canonical-check.patch (from r22048, dists/sid/linux/debian/patches/bugfix/x86/kvm-x86-fix-far-jump-to-non-canonical-check.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/bugfix/x86/kvm-x86-fix-far-jump-to-non-canonical-check.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/bugfix/x86/kvm-x86-fix-far-jump-to-non-canonical-check.patch)
@@ -0,0 +1,58 @@
+From: Nadav Amit <namit at cs.technion.ac.il>
+Date: Tue, 28 Oct 2014 00:03:43 +0200
+Subject: KVM: x86: Fix far-jump to non-canonical check
+Origin: https://git.kernel.org/linus/7e46dddd6f6cd5dbf3c7bd04a7e75d19475ac9f2
+
+Commit d1442d85cc30 ("KVM: x86: Handle errors when RIP is set during far
+jumps") introduced a bug that caused the fix to be incomplete. Due to
+incorrect evaluation, far jump to segment with L bit cleared (i.e., 32-bit
+segment) and RIP with any of the high bits set (i.e, RIP[63:32] != 0) set may
+not trigger #GP. As we know, this imposes a security problem.
+
+In addition, the condition for two warnings was incorrect.
+
+Fixes: d1442d85cc30ea75f7d399474ca738e0bc96f715
+Reported-by: Dan Carpenter <dan.carpenter at oracle.com>
+Signed-off-by: Nadav Amit <namit at cs.technion.ac.il>
+[Add #ifdef CONFIG_X86_64 to avoid complaints of undefined behavior. - Paolo]
+Signed-off-by: Paolo Bonzini <pbonzini at redhat.com>
+---
+ arch/x86/kvm/emulate.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+--- a/arch/x86/kvm/emulate.c
++++ b/arch/x86/kvm/emulate.c
+@@ -582,12 +582,14 @@ static inline int assign_eip_far(struct
+ case 4:
+ ctxt->_eip = (u32)dst;
+ break;
++#ifdef CONFIG_X86_64
+ case 8:
+ if ((cs_l && is_noncanonical_address(dst)) ||
+- (!cs_l && (dst & ~(u32)-1)))
++ (!cs_l && (dst >> 32) != 0))
+ return emulate_gp(ctxt, 0);
+ ctxt->_eip = dst;
+ break;
++#endif
+ default:
+ WARN(1, "unsupported eip assignment size\n");
+ }
+@@ -1998,7 +2000,7 @@ static int em_jmp_far(struct x86_emulate
+
+ rc = assign_eip_far(ctxt, ctxt->src.val, new_desc.l);
+ if (rc != X86EMUL_CONTINUE) {
+- WARN_ON(!ctxt->mode != X86EMUL_MODE_PROT64);
++ WARN_ON(ctxt->mode != X86EMUL_MODE_PROT64);
+ /* assigning eip failed; restore the old cs */
+ ops->set_segment(ctxt, old_sel, &old_desc, 0, VCPU_SREG_CS);
+ return rc;
+@@ -2092,7 +2094,7 @@ static int em_ret_far(struct x86_emulate
+ return rc;
+ rc = assign_eip_far(ctxt, eip, new_desc.l);
+ if (rc != X86EMUL_CONTINUE) {
+- WARN_ON(!ctxt->mode != X86EMUL_MODE_PROT64);
++ WARN_ON(ctxt->mode != X86EMUL_MODE_PROT64);
+ ops->set_segment(ctxt, old_cs, &old_desc, 0, VCPU_SREG_CS);
+ }
+ return rc;
Modified: dists/wheezy-backports/linux/debian/patches/debian/i2o-disable-i2o_ext_adaptec-on-64bit.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/debian/i2o-disable-i2o_ext_adaptec-on-64bit.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/debian/i2o-disable-i2o_ext_adaptec-on-64bit.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,6 +1,7 @@
From: Ben Hutchings <ben at decadent.org.uk>
Date: Fri, 12 Sep 2014 13:24:26 +0100
Subject: i2o: Disable I2O_EXT_ADAPTEC on 64-bit
+Forwarded: no
The code it enables works uses 32-bit numbers for userland virtual
addresses:
Modified: dists/wheezy-backports/linux/debian/patches/debian/revert-staging-sm7xxfb-remove-driver.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/debian/revert-staging-sm7xxfb-remove-driver.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/debian/revert-staging-sm7xxfb-remove-driver.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,7 +1,7 @@
-From db0cf7f2156da3cd1b6570f939f355eb20dca69b Mon Sep 17 00:00:00 2001
From: Ben Hutchings <ben at decadent.org.uk>
Date: Sun, 7 Sep 2014 20:31:52 +0100
Subject: [PATCH] Revert "staging: sm7xxfb: remove driver"
+Forwarded: not-needed
This reverts commit dc93c85235efa5201e9a3c116bc3fbd1afc1a182.
We're still attempting to support the Loongson 2F platform which
Copied: dists/wheezy-backports/linux/debian/patches/features/all/mmc_block-increase-max_devices.patch (from r22048, dists/sid/linux/debian/patches/features/all/mmc_block-increase-max_devices.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/features/all/mmc_block-increase-max_devices.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/features/all/mmc_block-increase-max_devices.patch)
@@ -0,0 +1,49 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sun, 26 Oct 2014 02:09:23 +0000
+Subject: mmc_block: Increase max_devices
+Bug-Debian: https://bugs.debian.org/765621
+Forwarded: http://mid.gmane.org/1415244909.3398.51.camel@decadent.org.uk
+
+Currently the driver imposes a limit of 256 total minor numbers,
+apparently based on the historic Unix/Linux limit. This is quite
+restrictive, particularly if we raise the maximum number of
+partitions per card to 256 to match sd.
+
+In order to make the full minor number space available we would
+have to replace the static dev_use and name_use arrays with struct
+ida. But we can at least allow use of 256 cards rather than just
+256 minors, with only a small change.
+
+---
+--- a/drivers/mmc/card/block.c
++++ b/drivers/mmc/card/block.c
+@@ -78,13 +78,16 @@ static int perdev_minors = CONFIG_MMC_BL
+
+ /*
+ * We've only got one major, so number of mmcblk devices is
+- * limited to 256 / number of minors per device.
++ * limited to (1 << 20) / number of minors per device. It is also
++ * currently limited by the size of the static bitmaps below.
+ */
+ static int max_devices;
+
+-/* 256 minors, so at most 256 separate devices */
+-static DECLARE_BITMAP(dev_use, 256);
+-static DECLARE_BITMAP(name_use, 256);
++#define MAX_DEVICES 256
++
++/* TODO: Replace these with struct ida */
++static DECLARE_BITMAP(dev_use, MAX_DEVICES);
++static DECLARE_BITMAP(name_use, MAX_DEVICES);
+
+ /*
+ * There is one mmc_blk_data per slot.
+@@ -2558,7 +2561,7 @@ static int __init mmc_blk_init(void)
+ if (perdev_minors != CONFIG_MMC_BLOCK_MINORS)
+ pr_info("mmcblk: using %d minors per device\n", perdev_minors);
+
+- max_devices = 256 / perdev_minors;
++ max_devices = min(MAX_DEVICES, (1 << MINORBITS) / perdev_minors);
+
+ res = register_blkdev(MMC_BLOCK_MAJOR, "mmc");
+ if (res)
Modified: dists/wheezy-backports/linux/debian/patches/features/all/sfc-Add-40G-link-capability-decoding.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/all/sfc-Add-40G-link-capability-decoding.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/all/sfc-Add-40G-link-capability-decoding.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,7 +1,7 @@
-From ac331e948346f2706cd82b2d259800621b9db04f Mon Sep 17 00:00:00 2001
From: Edward Cree <ecree at solarflare.com>
Date: Mon, 14 Jul 2014 08:39:07 +0100
Subject: [PATCH 2/2] sfc: Add 40G link capability decoding
+Origin: https://git.kernel.org/linus/ac331e948346f2706cd82b2d259800621b9db04f
Needed to select 40G mode on a 10G/40G capable card.
Modified: dists/wheezy-backports/linux/debian/patches/features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,8 +1,8 @@
-From 3b06a00e65fbb5c526371143beaaa2221d39d577 Mon Sep 17 00:00:00 2001
From: Mateusz Wrzesinski <mwrzesinski at solarflare.com>
Date: Mon, 14 Jul 2014 08:38:49 +0100
Subject: [PATCH 1/2] sfc: Adding PCI ID for Solarflare 7000 series 40G network
adapter.
+Origin: https://git.kernel.org/linus/3b06a00e65fbb5c526371143beaaa2221d39d577
Signed-off-by: Shradha Shah <sshah at solarflare.com>
Signed-off-by: David S. Miller <davem at davemloft.net>
Copied: dists/wheezy-backports/linux/debian/patches/features/all/wireless-rt2x00-add-new-rt2800usb-device.patch (from r22048, dists/sid/linux/debian/patches/features/all/wireless-rt2x00-add-new-rt2800usb-device.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/features/all/wireless-rt2x00-add-new-rt2800usb-device.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/features/all/wireless-rt2x00-add-new-rt2800usb-device.patch)
@@ -0,0 +1,26 @@
+From: Cyril Brulebois <kibi at debian.org>
+Date: Sun, 26 Oct 2014 12:33:38 +0100
+Subject: wireless: rt2x00: add new rt2800usb device
+Bug-Debian: https://bugs.debian.org/766802
+Forwarded: http://article.gmane.org/gmane.linux.kernel/1815824
+
+0x1b75 0xa200 AirLive WN-200USB wireless 11b/g/n dongle
+
+References: https://bugs.debian.org/766802
+Reported-by: Martin Mokrejs <mmokrejs at fold.natur.cuni.cz>
+Cc: stable at vger.kernel.org
+Signed-off-by: Cyril Brulebois <kibi at debian.org>
+---
+ drivers/net/wireless/rt2x00/rt2800usb.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/drivers/net/wireless/rt2x00/rt2800usb.c
++++ b/drivers/net/wireless/rt2x00/rt2800usb.c
+@@ -1111,6 +1111,7 @@ static struct usb_device_id rt2800usb_de
+ /* Ovislink */
+ { USB_DEVICE(0x1b75, 0x3071) },
+ { USB_DEVICE(0x1b75, 0x3072) },
++ { USB_DEVICE(0x1b75, 0xa200) },
+ /* Para */
+ { USB_DEVICE(0x20b8, 0x8888) },
+ /* Pegatron */
Modified: dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-Banana-Pi-board.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-Banana-Pi-board.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-Banana-Pi-board.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,6 +1,7 @@
From: Hans de Goede <hdegoede at redhat.com>
Subject: [PATCH v2 3/3] ARM: dts: sun7i: Add Banana Pi board
Date: Wed, 1 Oct 2014 09:26:06 +0200
+Origin: https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=8a5b272fbf446ce475bb434b956a45a666936af4
The Banana Pi is an A20 based development board using Raspberry Pi compatible
IO headers. It comes with 1 GB RAM, 1 Gb ethernet, 2x USB host, sata, hdmi
@@ -9,6 +10,7 @@
http://www.lemaker.org/
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
---
arch/arm/boot/dts/Makefile | 1 +
arch/arm/boot/dts/sun7i-a20-bananapi.dts | 214 +++++++++++++++++++++++++++++++
Modified: dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-spi0_pins_a-pinctrl-setting.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-spi0_pins_a-pinctrl-setting.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-spi0_pins_a-pinctrl-setting.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,8 +1,10 @@
From: Hans de Goede <hdegoede at redhat.com>
Subject: [PATCH v2 1/3] ARM: dts: sun7i: Add spi0_pins_a pinctrl setting
Date: Wed, 1 Oct 2014 09:26:04 +0200
+Origin: https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=a99eb770b4ab561434c9049b7b09cf40e27d3a55
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
---
arch/arm/boot/dts/sun7i-a20.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
Copied: dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-support-for-Olimex-A20-OLinuXino-LIME.patch (from r22048, dists/sid/linux/debian/patches/features/arm/dts-sun7i-Add-support-for-Olimex-A20-OLinuXino-LIME.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-support-for-Olimex-A20-OLinuXino-LIME.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/features/arm/dts-sun7i-Add-support-for-Olimex-A20-OLinuXino-LIME.patch)
@@ -0,0 +1,165 @@
+From: FUKAUMI Naoki <naobsd at gmail.com>
+Date: Wed, 20 Aug 2014 14:25:03 +0900
+Subject: [PATCH] ARM: sun7i: Add support for Olimex A20-OLinuXino-LIME
+Origin: https://git.kernel.org/linus/a71b4438af8242f383906071205db95a8b8e7b6d
+
+This patch adds support for Olimex A20-OLinuXino-LIME board.
+
+Signed-off-by: FUKAUMI Naoki <naobsd at gmail.com>
+Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
+---
+ arch/arm/boot/dts/Makefile | 1 +
+ arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts | 137 +++++++++++++++++++++++++
+ 2 files changed, 138 insertions(+)
+ create mode 100644 arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts
+
+--- a/arch/arm/boot/dts/Makefile
++++ b/arch/arm/boot/dts/Makefile
+@@ -380,6 +380,7 @@
+ sun7i-a20-cubieboard2.dtb \
+ sun7i-a20-cubietruck.dtb \
+ sun7i-a20-i12-tvbox.dtb \
++ sun7i-a20-olinuxino-lime.dtb \
+ sun7i-a20-olinuxino-micro.dtb
+ dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
+ tegra20-iris-512.dtb \
+--- /dev/null
++++ b/arch/arm/boot/dts/sun7i-a20-olinuxino-lime.dts
+@@ -0,0 +1,137 @@
++/*
++ * This is based on sun4i-a10-olinuxino-lime.dts
++ *
++ * Copyright 2014 - Hans de Goede <hdegoede at redhat.com>
++ * Copyright (c) 2014 FUKAUMI Naoki <naobsd at gmail.com>
++ *
++ * The code contained herein is licensed under the GNU General Public
++ * License. You may obtain a copy of the GNU General Public License
++ * Version 2 or later at the following locations:
++ *
++ * http://www.opensource.org/licenses/gpl-license.html
++ * http://www.gnu.org/copyleft/gpl.html
++ */
++
++/dts-v1/;
++/include/ "sun7i-a20.dtsi"
++/include/ "sunxi-common-regulators.dtsi"
++
++/ {
++ model = "Olimex A20-OLinuXino-LIME";
++ compatible = "olimex,a20-olinuxino-lime", "allwinner,sun7i-a20";
++
++ soc at 01c00000 {
++ mmc0: mmc at 01c0f000 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>;
++ vmmc-supply = <®_vcc3v3>;
++ bus-width = <4>;
++ cd-gpios = <&pio 7 1 0>; /* PH1 */
++ cd-inverted;
++ status = "okay";
++ };
++
++ usbphy: phy at 01c13400 {
++ usb1_vbus-supply = <®_usb1_vbus>;
++ usb2_vbus-supply = <®_usb2_vbus>;
++ status = "okay";
++ };
++
++ ehci0: usb at 01c14000 {
++ status = "okay";
++ };
++
++ ohci0: usb at 01c14400 {
++ status = "okay";
++ };
++
++ ahci: sata at 01c18000 {
++ target-supply = <®_ahci_5v>;
++ status = "okay";
++ };
++
++ ehci1: usb at 01c1c000 {
++ status = "okay";
++ };
++
++ ohci1: usb at 01c1c400 {
++ status = "okay";
++ };
++
++ pinctrl at 01c20800 {
++ ahci_pwr_pin_olinuxinolime: ahci_pwr_pin at 1 {
++ allwinner,pins = "PC3";
++ allwinner,function = "gpio_out";
++ allwinner,drive = <0>;
++ allwinner,pull = <0>;
++ };
++
++ led_pins_olinuxinolime: led_pins at 0 {
++ allwinner,pins = "PH2";
++ allwinner,function = "gpio_out";
++ allwinner,drive = <1>;
++ allwinner,pull = <0>;
++ };
++ };
++
++ uart0: serial at 01c28000 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&uart0_pins_a>;
++ status = "okay";
++ };
++
++ i2c0: i2c at 01c2ac00 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&i2c0_pins_a>;
++ status = "okay";
++
++ axp209: pmic at 34 {
++ compatible = "x-powers,axp209";
++ reg = <0x34>;
++ interrupt-parent = <&nmi_intc>;
++ interrupts = <0 8>;
++
++ interrupt-controller;
++ #interrupt-cells = <1>;
++ };
++ };
++
++ gmac: ethernet at 01c50000 {
++ pinctrl-names = "default";
++ pinctrl-0 = <&gmac_pins_mii_a>;
++ phy = <&phy1>;
++ phy-mode = "mii";
++ status = "okay";
++
++ phy1: ethernet-phy at 1 {
++ reg = <1>;
++ };
++ };
++ };
++
++ leds {
++ compatible = "gpio-leds";
++ pinctrl-names = "default";
++ pinctrl-0 = <&led_pins_olinuxinolime>;
++
++ green {
++ label = "a20-olinuxino-lime:green:usr";
++ gpios = <&pio 7 2 0>;
++ default-state = "on";
++ };
++ };
++
++ reg_ahci_5v: ahci-5v {
++ pinctrl-0 = <&ahci_pwr_pin_olinuxinolime>;
++ gpio = <&pio 2 3 0>;
++ status = "okay";
++ };
++
++ reg_usb1_vbus: usb1-vbus {
++ status = "okay";
++ };
++
++ reg_usb2_vbus: usb2-vbus {
++ status = "okay";
++ };
++};
Modified: dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-uart3_pins_b-pinctrl-setting.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-uart3_pins_b-pinctrl-setting.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/arm/dts-sun7i-Add-uart3_pins_b-pinctrl-setting.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,11 +1,13 @@
From: Hans de Goede <hdegoede at redhat.com>
Subject: [PATCH v2 2/3] ARM: dts: sun7i: Add uart3_pins_b pinctrl setting
Date: Wed, 1 Oct 2014 09:26:05 +0200
+Origin: https://git.kernel.org/cgit/linux/kernel/git/mripard/linux.git/commit/?id=46e9fd407fad0e9442d0feb9b678d81839ea29a1
The uart3_pins_a multiplexes the uart3 pins to port G, add a pinctrl entry
for mapping them to port H (as used on the Bananapi).
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+Signed-off-by: Maxime Ripard <maxime.ripard at free-electrons.com>
---
arch/arm/boot/dts/sun7i-a20.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
Modified: dists/wheezy-backports/linux/debian/patches/features/arm/dts-sunxi-Add-pins-for-IR-controller-on-A20-to-dtsi.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/arm/dts-sunxi-Add-pins-for-IR-controller-on-A20-to-dtsi.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/arm/dts-sunxi-Add-pins-for-IR-controller-on-A20-to-dtsi.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,7 +1,7 @@
-From 0fc2b7af8cd5918c0101dfb178b5a3a4b021a50b Mon Sep 17 00:00:00 2001
From: Alexander Bersenev <bay at hackerdom.ru>
Date: Mon, 9 Jun 2014 00:08:11 +0600
Subject: ARM: sunxi: Add pins for IR controller on A20 to dtsi
+Origin: https://git.kernel.org/linus/0fc2b7af8cd5918c0101dfb178b5a3a4b021a50b
This patch adds pins for two IR controllers on A20
Modified: dists/wheezy-backports/linux/debian/patches/features/arm64/drivers-net-Add-APM-X-Gene-SoC-ethernet-driver-suppo.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/arm64/drivers-net-Add-APM-X-Gene-SoC-ethernet-driver-suppo.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/arm64/drivers-net-Add-APM-X-Gene-SoC-ethernet-driver-suppo.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,8 +1,8 @@
-From 6444ac4cf1506db36fb0ffb8d5c8b57cdb12adf7 Mon Sep 17 00:00:00 2001
From: Iyappan Subramanian <isubramanian at apm.com>
Date: Thu, 7 Aug 2014 15:14:28 -0700
Subject: [PATCH 1/4] drivers: net: Add APM X-Gene SoC ethernet driver
support.
+Origin: https://git.kernel.org/linus/e6ad767305eb6ea80ce06c1eaa1b0977e8361998
This patch adds network driver for APM X-Gene SoC ethernet.
Modified: dists/wheezy-backports/linux/debian/patches/features/arm64/drivers-net-NET_XGENE-should-depend-on-HAS_DMA.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/arm64/drivers-net-NET_XGENE-should-depend-on-HAS_DMA.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/arm64/drivers-net-NET_XGENE-should-depend-on-HAS_DMA.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,7 +1,7 @@
-From e7af4b1e854cdf88fa37241061352fb5b99dbb7f Mon Sep 17 00:00:00 2001
From: Geert Uytterhoeven <geert at linux-m68k.org>
Date: Fri, 29 Aug 2014 18:21:41 +0200
Subject: [PATCH 4/4] drivers: net: NET_XGENE should depend on HAS_DMA
+Origin: https://git.kernel.org/linus/e148e1bf6fcdecb19015c63ba8c6c25ed5dc3a2a
If NO_DMA=y:
Modified: dists/wheezy-backports/linux/debian/patches/features/arm64/dts-Add-bindings-for-APM-X-Gene-SoC-ethernet-driver.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/arm64/dts-Add-bindings-for-APM-X-Gene-SoC-ethernet-driver.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/arm64/dts-Add-bindings-for-APM-X-Gene-SoC-ethernet-driver.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,7 +1,7 @@
-From ad56b94346519e510355624dc2f88a11ee0fe07a Mon Sep 17 00:00:00 2001
From: Iyappan Subramanian <isubramanian at apm.com>
Date: Thu, 7 Aug 2014 15:14:27 -0700
Subject: [PATCH] dts: Add bindings for APM X-Gene SoC ethernet driver
+Origin: https://git.kernel.org/linus/3d390425a649b9eb739e53d34cd891c1631b37cd
This patch adds bindings for APM X-Gene SoC ethernet driver.
Modified: dists/wheezy-backports/linux/debian/patches/features/arm64/net-xgene-Check-negative-return-value-of-xgene_enet_.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/arm64/net-xgene-Check-negative-return-value-of-xgene_enet_.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/arm64/net-xgene-Check-negative-return-value-of-xgene_enet_.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,8 +1,8 @@
-From 42113901e335c5431e11e33711f5cdcc8e033955 Mon Sep 17 00:00:00 2001
From: Tobias Klauser <tklauser at distanz.ch>
Date: Thu, 14 Aug 2014 13:59:42 +0200
Subject: [PATCH 2/4] net: xgene: Check negative return value of
xgene_enet_get_ring_size()
+Origin: https://git.kernel.org/linus/9b9ba821b6c47b6d1a711b8f6fff931277217bab
xgene_enet_get_ring_size() returns a negative value in case of an error,
but its only caller in xgene_enet_create_desc_ring() currently uses the
Modified: dists/wheezy-backports/linux/debian/patches/features/arm64/net-xgene-fix-possible-NULL-dereference-in-xgene_ene.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/arm64/net-xgene-fix-possible-NULL-dereference-in-xgene_ene.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/arm64/net-xgene-fix-possible-NULL-dereference-in-xgene_ene.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,8 +1,8 @@
-From c04bbc2b1df7034f463ef512c34010b71c12c257 Mon Sep 17 00:00:00 2001
From: Iyappan Subramanian <isubramanian at apm.com>
Date: Thu, 21 Aug 2014 13:44:48 -0700
Subject: [PATCH 3/4] net: xgene: fix possible NULL dereference in
xgene_enet_free_desc_rings()
+Origin: https://git.kernel.org/linus/c10e4cafa2698dedb9b61bbf6d68f209e779cb19
A NULL pointer dereference is possible for the argument ring->buf_pool
which is passed to xgene_enet_free_desc_ring(), as ring could be NULL.
Modified: dists/wheezy-backports/linux/debian/patches/features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -1,7 +1,7 @@
From: Aurelien Jarno <aurelien at aurel32.net>
Date: Sun, 20 Jul 2014 19:16:31 +0200
Subject: MIPS: Loongson 3: Add Loongson LS3A RS780E 1-way machine definition
-Forwarded: not yet
+Forwarded: no
Add a Loongson LS3A RS780E 1-way machine definition, which only differs
from other Loongson 3 based machines by the UART base clock speed.
Copied: dists/wheezy-backports/linux/debian/patches/features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch (from r22048, dists/sid/linux/debian/patches/features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch)
@@ -0,0 +1,29 @@
+From: Aurelien Jarno <aurelien at aurel32.net>
+Subject: MIPS: increase MAX_PHYSMEM_BITS on Loongson 3 only
+Bug-Debian: https://bugs.debian.org/764223
+Forwarded: no
+
+Commit c4617318 broke Loongson-2 support and maybe even more by increasing
+the value of MAX_PHYSMEM_BITS. At it is currently only needed on
+Loongson-3, define it conditionally.
+
+Note: this should be replace by upstream fix when available.
+
+diff --git a/arch/mips/include/asm/sparsemem.h b/arch/mips/include/asm/sparsemem.h
+index b1071c1..778dca7 100644
+--- a/arch/mips/include/asm/sparsemem.h
++++ b/arch/mips/include/asm/sparsemem.h
+@@ -11,7 +11,12 @@
+ #else
+ # define SECTION_SIZE_BITS 28
+ #endif
+-#define MAX_PHYSMEM_BITS 48
++
++#if defined(CONFIG_CPU_LOONGSON3)
++# define MAX_PHYSMEM_BITS 48
++#else
++# define MAX_PHYSMEM_BITS 35
++#endif
+
+ #endif /* CONFIG_SPARSEMEM */
+ #endif /* _MIPS_SPARSEMEM_H */
Copied: dists/wheezy-backports/linux/debian/patches/features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch (from r22048, dists/sid/linux/debian/patches/features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/wheezy-backports/linux/debian/patches/features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch Mon Dec 1 17:59:10 2014 (r22098, copy of r22048, dists/sid/linux/debian/patches/features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch)
@@ -0,0 +1,76 @@
+From: Markos Chandras <markos.chandras at imgtec.com>
+Date: Fri, 28 Mar 2014 17:22:52 +0000
+Subject: [PATCH 01/12] MIPS: octeon: Add support for the UBNT E200 board
+Origin: not submitted yet
+
+Add support for the UBNT E200 board (EdgeRouter/EdgeRouter Pro 8 port).
+
+Signed-off-by: Markos Chandras <markos.chandras at imgtec.com>
+---
+ arch/mips/cavium-octeon/executive/cvmx-helper-board.c | 3 +++
+ arch/mips/include/asm/octeon/cvmx-bootinfo.h | 2 ++
+ arch/mips/include/asm/octeon/octeon-model.h | 3 +++
+ 3 files changed, 8 insertions(+)
+
+diff --git a/arch/mips/cavium-octeon/executive/cvmx-helper-board.c b/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
+index b764df6..04e2226 100644
+--- a/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
++++ b/arch/mips/cavium-octeon/executive/cvmx-helper-board.c
+@@ -186,6 +186,8 @@ int cvmx_helper_board_get_mii_address(int ipd_port)
+ return 7 - ipd_port;
+ else
+ return -1;
++ case CVMX_BOARD_TYPE_UBNT_E200:
++ return -1;
+ }
+
+ /* Some unknown board. Somebody forgot to update this function... */
+@@ -738,6 +740,7 @@ enum cvmx_helper_board_usb_clock_types __cvmx_helper_board_usb_get_clock_type(vo
+ case CVMX_BOARD_TYPE_LANAI2_G:
+ case CVMX_BOARD_TYPE_NIC10E_66:
+ case CVMX_BOARD_TYPE_UBNT_E100:
++ case CVMX_BOARD_TYPE_UBNT_E200:
+ return USB_CLOCK_TYPE_CRYSTAL_12;
+ case CVMX_BOARD_TYPE_NIC10E:
+ return USB_CLOCK_TYPE_REF_12;
+diff --git a/arch/mips/include/asm/octeon/cvmx-bootinfo.h b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
+index 7b7818d..13c3bbb 100644
+--- a/arch/mips/include/asm/octeon/cvmx-bootinfo.h
++++ b/arch/mips/include/asm/octeon/cvmx-bootinfo.h
+@@ -228,6 +228,7 @@ enum cvmx_board_types_enum {
+ */
+ CVMX_BOARD_TYPE_CUST_PRIVATE_MIN = 20001,
+ CVMX_BOARD_TYPE_UBNT_E100 = 20002,
++ CVMX_BOARD_TYPE_UBNT_E200 = 20003,
+ CVMX_BOARD_TYPE_CUST_PRIVATE_MAX = 30000,
+
+ /* The remaining range is reserved for future use. */
+@@ -327,6 +328,7 @@ static inline const char *cvmx_board_type_to_string(enum
+ /* Customer private range */
+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
++ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E200)
+ ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
+ }
+ return "Unsupported Board";
+diff --git a/arch/mips/include/asm/octeon/octeon-model.h b/arch/mips/include/asm/octeon/octeon-model.h
+index e2c122c..adc8fad 100644
+--- a/arch/mips/include/asm/octeon/octeon-model.h
++++ b/arch/mips/include/asm/octeon/octeon-model.h
+@@ -105,10 +105,13 @@
+ #define OCTEON_CN63XX_PASS2_X (OCTEON_CN63XX_PASS2_0 | OM_IGNORE_MINOR_REVISION)
+
+ #define OCTEON_CN61XX_PASS1_0 0x000d9300
++#define OCTEON_CN61XX_PASS1_1 0x000d9301
+
+ #define OCTEON_CN61XX (OCTEON_CN61XX_PASS1_0 | OM_IGNORE_REVISION)
+ #define OCTEON_CN61XX_PASS1_X (OCTEON_CN61XX_PASS1_0 | OM_IGNORE_MINOR_REVISION)
+
++#define OCTEON_UBNT_E200 (OCTEON_CN61XX_PASS1_1 | OM_IGNORE_REVISION)
++
+ /*
+ * CN5XXX models with new revision encoding
+ */
+--
+2.1.0
+
Modified: dists/wheezy-backports/linux/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/features/x86/x86-make-x32-syscall-support-conditional.patch Mon Dec 1 17:59:10 2014 (r22098)
@@ -2,6 +2,7 @@
Date: Fri, 25 Jul 2014 01:16:15 +0100
Subject: x86: Make x32 syscall support conditional on a kernel parameter
Bug-Debian: https://bugs.debian.org/708070
+Forwarded: http://mid.gmane.org/1415245982.3398.53.camel@decadent.org.uk
Enabling x32 in the standard amd64 kernel would increase its attack
surface while provide no benefit to the vast majority of its users.
Modified: dists/wheezy-backports/linux/debian/patches/series
==============================================================================
--- dists/wheezy-backports/linux/debian/patches/series Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/patches/series Mon Dec 1 17:59:10 2014 (r22098)
@@ -55,17 +55,33 @@
bugfix/s390/s390-3215-fix-hanging-console-issue.patch
bugfix/arm64/arm64-crypto-fix-makefile-rule-for-aes-glue-.o.patch
debian/btrfs-work-around-compiler-bug-on-arm.patch
+bugfix/mips/MIPS-cp1emu-Fix-ISA-restrictions-for-cop1x_op-instru.patch
+bugfix/mips/MIPS-tlbex-Properly-fix-HUGE-TLB-Refill-exception-ha.patch
+bugfix/s390/s390-3215-fix-tty-output-containing-tabs.patch
+bugfix/x86/drm-i915-initialise-userptr-mmu_notifier-serial-to-1.patch
+bugfix/x86/drm-i915-Add-some-L3-registers-to-the-parser-whiteli.patch
+bugfix/x86/KVM-x86-Check-non-canonical-addresses-upon-WRMSR.patch
+bugfix/x86/KVM-x86-Prevent-host-from-panicking-on-shared-MSR-wr.patch
+bugfix/x86/KVM-x86-Improve-thread-safety-in-pit.patch
+bugfix/x86/KVM-x86-Fix-wrong-masking-on-relative-jump-call.patch
+bugfix/x86/kvm-vmx-handle-invvpid-vm-exit-gracefully.patch
+bugfix/x86/KVM-x86-Emulator-fixes-for-eip-canonical-checks-on-n.patch
+bugfix/x86/KVM-x86-Handle-errors-when-RIP-is-set-during-far-jum.patch
+bugfix/x86/kvm-x86-fix-far-jump-to-non-canonical-check.patch
+bugfix/parisc/parisc-reduce-sigrtmin-from-37-to-32-to-behave-like-.patch
# Arch features
features/mips/MIPS-Support-hard-limit-of-cpu-count-nr_cpu_ids.patch
features/mips/MIPS-Support-CPU-topology-files-in-sysfs.patch
features/mips/MIPS-Loongson-Modify-ChipConfig-register-definition.patch
features/mips/MIPS-Add-NUMA-support-for-Loongson-3.patch
+features/mips/MIPS-increase-MAX-PHYSMEM-BITS-on-Loongson-3-only.patch
features/mips/MIPS-Add-numa-api-support.patch
features/mips/MIPS-Add-Loongson-3B-support.patch
features/mips/MIPS-Loongson-3-Enable-the-COP2-usage.patch
features/mips/MIPS-Loongson-Rename-CONFIG_LEMOTE_MACH3A-to-CONFIG_.patch
features/mips/MIPS-Loongson-3-Add-Loongson-LS3A-RS780E-1-way-machi.patch
+features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch
features/powerpc/KVM-prepare-for-KVM_-S-G-ET_MP_STATE-on-other-archit.patch
features/powerpc/KVM-PPC-Book3s-PR-Disable-AIL-mode-with-OPAL.patch
features/powerpc/KVM-PPC-Book3s-HV-Fix-tlbie-compile-error.patch
@@ -98,6 +114,7 @@
features/arm/dts-sun7i-Add-spi0_pins_a-pinctrl-setting.patch
features/arm/dts-sun7i-Add-uart3_pins_b-pinctrl-setting.patch
features/arm/dts-sun7i-Add-Banana-Pi-board.patch
+features/arm/dts-sun7i-Add-support-for-Olimex-A20-OLinuXino-LIME.patch
features/arm64/drivers-net-Add-APM-X-Gene-SoC-ethernet-driver-suppo.patch
features/arm64/drivers-net-NET_XGENE-should-depend-on-HAS_DMA.patch
features/arm64/net-xgene-Check-negative-return-value-of-xgene_enet_.patch
@@ -111,6 +128,25 @@
debian/i2o-disable-i2o_ext_adaptec-on-64bit.patch
bugfix/all/aic94xx-remove-broken-fallback-for-missing-ctrl-a.patch
bugfix/all/builddeb-put-the-dbg-files-into-the-correct-director.patch
+bugfix/all/fold-swapping-d_name.hash-into-switch_names.patch
+bugfix/all/vfs-Don-t-exchange-short-filenames-unconditionally.patch
+bugfix/all/rtsx_usb_ms-use-msleep_interruptible-in-polling-loop.patch
+bugfix/all/switch-iov_iter_get_pages-to-passing-maximal-number-.patch
+bugfix/all/fuse-honour-max_read-and-max_write-in-direct_io-mode.patch
+bugfix/all/SUNRPC-Don-t-wake-tasks-during-connection-abort.patch
+bugfix/all/lockd-Try-to-reconnect-if-statd-has-moved.patch
+bugfix/all/mtd-move-support-for-struct-flash_platform_data-into.patch
+bugfix/all/mtd-m25p80-get-rid-of-spi_get_device_id.patch
+bugfix/all/mtd-spi-nor-make-spi_nor_scan-take-a-chip-type-name-.patch
+bugfix/all/mtd-m25p80-spi-nor-Fix-module-aliases-for-m25p80.patch
+bugfix/all/HID-i2c-hid-call-the-hid-driver-s-suspend-and-resume.patch
+bugfix/all/drivers-net-Disable-UFO-through-virtio.patch
+bugfix/all/drivers-net-ipv6-Select-IPv6-fragment-idents-for-vir.patch
+bugfix/all/net-sctp-fix-skb_over_panic-when-receiving-malformed.patch
+bugfix/all/net-sctp-fix-panic-on-duplicate-ASCONF-chunks.patch
+bugfix/all/net-sctp-fix-remote-memory-pressure-from-excessive-q.patch
+bugfix/all/mnt-Prevent-pivot_root-from-creating-a-loop-in-the-m.patch
+bugfix/all/net-mv643xx-disable-tso-by-default.patch
# memfd_create() & kdbus backport
features/all/kdbus/mm-allow-drivers-to-prevent-new-writable-mappings.patch
@@ -135,6 +171,295 @@
debian/revert-staging-sm7xxfb-remove-driver.patch
features/all/sfc-Adding-PCI-ID-for-Solarflare-7000-series-40G-net.patch
features/all/sfc-Add-40G-link-capability-decoding.patch
-bugfix/s390/s390-3215-fix-tty-output-containing-tabs.patch
-bugfix/all/fold-swapping-d_name.hash-into-switch_names.patch
-bugfix/all/vfs-Don-t-exchange-short-filenames-unconditionally.patch
+features/all/mmc_block-increase-max_devices.patch
+features/all/wireless-rt2x00-add-new-rt2800usb-device.patch
+
+# Update r8723au to 3.17
+features/all/r8723au/0001-staging-rtl8723au-rtw_get_wps_ie23a-Remove-unused-de.patch
+features/all/r8723au/0002-staging-rtl8723au-rtw_mlme_ext.c-Convert-rtw_get_wps.patch
+features/all/r8723au/0003-staging-rtl8723au-rtw_mlme.c-Convert-rtw_get_wps_ie2.patch
+features/all/r8723au/0004-staging-rtl8723au-ioctl_cfg80211.c-Convert-rtw_get_w.patch
+features/all/r8723au/0005-staging-rtl8723au-rtw_ap.c-Convert-from-rtw_get_wps_.patch
+features/all/r8723au/0006-staging-rtl8723au-Remove-obsolete-rtw_get_wps_ie23a.patch
+features/all/r8723au/0009-staging-rtl8723au-rtw_mlme_ext.c-Fix-up-some-of-the-.patch
+features/all/r8723au/0010-staging-rtl8723au-rtw_mlme.c-Remove-some-tab-and-par.patch
+features/all/r8723au/0011-staging-rtl8723au-Use-struct-ieee80211_mcs_info-to-d.patch
+features/all/r8723au/0012-staging-rtl8723au-Use-struct-ieee80211_ht_cap-and-as.patch
+features/all/r8723au/0013-staging-rtl8723au-Use-correct-struct-for-WLAN_EID_HT.patch
+features/all/r8723au/0014-staging-rtl8723au-Eliminate-struct-HT_info_element.patch
+features/all/r8723au/0015-staging-rtl8723au-Don-t-carry-ht_cap_info-and-ht_par.patch
+features/all/r8723au/0016-staging-rtl8723au-rtw_check_bcn_info23a-Use-capabili.patch
+features/all/r8723au/0017-staging-rtl8723au-Remmove-buddy-adapter-linking.patch
+features/all/r8723au/0018-staging-rtl8723au-Rewrite-update_beacon23a_info-tto-.patch
+features/all/r8723au/0019-staging-rtl8723au-collect_bss_info23a-Collect-beacon.patch
+features/all/r8723au/0020-staging-rtl8723au-collect_bss_info23a-ieee80211_mgmt.patch
+features/all/r8723au/0021-staging-rtl8723au-rtw_update_ht_cap23a-Use-correct-m.patch
+features/all/r8723au/0022-staging-rtl8723au-rtw_get_bcn_info23a-Use-cfg80211_-.patch
+features/all/r8723au/0023-staging-rtl8723au-rtw_wlan_util.c-Use-cfg80211_-to-d.patch
+features/all/r8723au/0024-staging-rtl8723au-Remove-obsolete-rtw_get_sec_ie23a.patch
+features/all/r8723au/0025-staging-rtl8723au-Declare-rtw_get_wpa-2-_cipher_suit.patch
+features/all/r8723au/0026-staging-rtl8723au-Make-WMM_param_handler23a-and-HT_c.patch
+features/all/r8723au/0027-staging-rtl8723au-OnAssocRsp23a-Use-cfg80211_-to-par.patch
+features/all/r8723au/0028-staging-rtl8723au-Remove-WMM_-defines.patch
+features/all/r8723au/0029-staging-rtl8723au-Make-struct-ht_priv.ht_option-a-bo.patch
+features/all/r8723au/0030-staging-rtl8723au-Be-consistent-in-how-htpriv.ht_opt.patch
+features/all/r8723au/0031-staging-rtl8723au-Make-struct-htpriv.ampdu_enable-a-.patch
+features/all/r8723au/0032-staging-rtl8723au-issue_auth-Convert-to-using-struct.patch
+features/all/r8723au/0033-staging-rtl8723au-issue_assocrsp-Use-struct-ieee8021.patch
+features/all/r8723au/0034-staging-rtl8723au-_issue_deauth-Use-struct-ieee80211.patch
+features/all/r8723au/0035-staging-rtl8723au-issue_action_spct_ch_switch23a-Use.patch
+features/all/r8723au/0036-staging-rtl8723au-issue_action_BSSCoexistPacket-Use-.patch
+features/all/r8723au/0037-staging-rtl8723au-Do-not-xmit-BSS-Coexistence-manage.patch
+features/all/r8723au/0038-staging-rtl8723au-Let-cfg80211-handle-public-action-.patch
+features/all/r8723au/0039-staging-rtl8723au-ioctl_cfg80211.c-Use-struct-ieee80.patch
+features/all/r8723au/0040-staging-rtl8723au-issue_action_BA23a-Use-struct-ieee.patch
+features/all/r8723au/0041-staging-rtl8723au-Remove-obsolete-rtw_set_fixed_ie23.patch
+features/all/r8723au/0042-staging-rtl8723au-Remove-duplicate-defines-of-IEEE80.patch
+features/all/r8723au/0043-staging-rtl8723au-Remove-unused-defines-WEP_KEY_LEN-.patch
+features/all/r8723au/0044-staging-rtl8723au-Remove-some-unused-80211-header-pa.patch
+features/all/r8723au/0045-staging-rtl8723au-rtw_check_bcn_info23a-Use-ether_ad.patch
+features/all/r8723au/0046-staging-rtl8723au-rtw_check_bcn_info23a-Don-t-make-a.patch
+features/all/r8723au/0047-staging-rtl8723au-rtw_check_bcn_info23a-Don-t-search.patch
+features/all/r8723au/0048-staging-rtl8723au-Declare-rtw_update_scanned_network.patch
+features/all/r8723au/0049-staging-rtl8723au-rtw_survey_event_cb23a-Use-the-cor.patch
+features/all/r8723au/0050-staging-rtl8723au-Do-not-embed-struct-wlan_bssid_ex-.patch
+features/all/r8723au/0051-staging-rtl8723au-Allocate-struct-wlan_bssid_ex-in-c.patch
+features/all/r8723au/0052-staging-rtl8723au-collect_bss_info-Don-t-memset-what.patch
+features/all/r8723au/0053-staging-rtl8723au-free_scanqueue-Use-_rtw_free_netwo.patch
+features/all/r8723au/0054-staging-rtl8723au-rtw_stadel_event_callback23a-Remov.patch
+features/all/r8723au/0055-staging-rtl8723au-OnAuth23a-Use-ether_addr_copy.patch
+features/all/r8723au/0056-staging-rtl8723au-Get-rid-of-IW_ESSID_MAX_SIZE.patch
+features/all/r8723au/0057-staging-rtl8723au-Make-rtw_is_same_ibss23a-return-bo.patch
+features/all/r8723au/0058-staging-rtl8723au-cfg80211_rtw_connect-Check-correct.patch
+features/all/r8723au/0059-staging-rtl8723au-Fold-rtw_set_802_11_authentication.patch
+features/all/r8723au/0060-staging-rtl8723au-Move-rtw_set_802_11_ssid23a-to-ioc.patch
+features/all/r8723au/0061-staging-rtl8723au-cfg80211_rtw_connect-Clean-up-vari.patch
+features/all/r8723au/0062-staging-rtl8723au-cfg80211_rtw_connect-Remove-obfusc.patch
+features/all/r8723au/0063-staging-rtl8723au-cfg80211_rtw_connect-Simplify-ssid.patch
+features/all/r8723au/0064-staging-rtl8723au-Pass-a-struct-wlan_network-to-rtw_.patch
+features/all/r8723au/0065-staging-rtl8723au-rtw_set_ssid-This-is-never-called-.patch
+features/all/r8723au/0066-staging-rtl8723au-rtw_cfg80211_add_wep-Use-WLAN_KEY_.patch
+features/all/r8723au/0067-staging-rtl8723au-rtw_do_join23a-Use-correct-error-r.patch
+features/all/r8723au/0068-staging-rtl8723au-Minor-debug-message-fixup.patch
+features/all/r8723au/0069-staging-rtl8723au-Don-t-prepend-debug-console-messag.patch
+features/all/r8723au/0070-staging-rtl8723au-Introduce-rtw_select_candidate_fro.patch
+features/all/r8723au/0071-staging-rtl8723au-Introduce-rtw_do_join_network.patch
+features/all/r8723au/0072-staging-rtl8723au-rtw_do_join23a-Use-__func__-to-get.patch
+features/all/r8723au/0073-staging-rtl8723au-rtw_surveydone_event_callback23a-R.patch
+features/all/r8723au/0074-staging-rtl8723au-Consolidate-duplicate-adhoc-joinin.patch
+features/all/r8723au/0075-staging-rtl8723au-Remove-no-op-rtw_get_encrypt_decry.patch
+features/all/r8723au/0076-staging-rtl8723au-to_join-will-no-be-true-if-_FW_LIN.patch
+features/all/r8723au/0077-staging-rtl8723au-rtw_surveydone_event_callback23a-W.patch
+features/all/r8723au/0078-staging-rtl8723au-rtw_select_and_join_from_scanned_q.patch
+features/all/r8723au/0079-staging-rtl8723au-rtw_set_ssid-Use-rtw_do_join_netwo.patch
+features/all/r8723au/0080-staging-rtl8723au-rtw_do_join23a-Don-t-start-scannin.patch
+features/all/r8723au/0081-staging-rtl8723au-Move-rtw_do_join23a-to-rtw_mlme.c-.patch
+features/all/r8723au/0082-staging-rtl8723au-rtw_get_cur_max_rate23a-Remove-dup.patch
+features/all/r8723au/0083-staging-rtl8723au-rtw_get_cur_max_rate23a-We-are-in-.patch
+features/all/r8723au/0084-staging-rtl8723au-Move-rtw_get_cur_max_rate23a-to-io.patch
+features/all/r8723au/0085-staging-rtl8723au-rtw_set_802_11_bssid23a_list_scan-.patch
+features/all/r8723au/0086-staging-rtl8723au-Don-t-run-regular-scans-in-the-dri.patch
+features/all/r8723au/0087-staging-rtl8723au-Quiet-unused-variable-warning-when.patch
+features/all/r8723au/0088-staging-rtl8723au-Move-FillH2CCmd-prototype-to-rtl87.patch
+features/all/r8723au/0089-staging-rtl8723au-rtw_cfg80211_set_wpa_ie-Avoid-poin.patch
+features/all/r8723au/0090-staging-rtl8723au-Add-compiler-check-for-Wtype-limit.patch
+features/all/r8723au/0091-staging-rtl8723au-Remove-redundant-casting-in-rtw_ml.patch
+features/all/r8723au/0092-staging-rtl8723au-Remove-redundant-casting-in-rtw_ml.patch
+features/all/r8723au/0093-staging-rtl8723au-rtw_cfg80211_inform_bss-timestamp-.patch
+features/all/r8723au/0094-staging-rtl8723au-rtw_cfg80211_inform_bss-Use-cfg802.patch
+features/all/r8723au/0095-staging-rtl8723au-Save-timestamp-for-network-in-coll.patch
+features/all/r8723au/0096-staging-rtl8723au-rtw_cfg80211_inform_bss-Report-the.patch
+features/all/r8723au/0097-staging-rtl8723au-collect_bss_info-Save-capability-i.patch
+features/all/r8723au/0098-staging-rtl8723au-rtw_cfg80211_inform_bss-Use-the-ca.patch
+features/all/r8723au/0099-staging-rtl8723au-struct-wlan_bssid_ex-Rename-Beacon.patch
+features/all/r8723au/0100-staging-rtl8723au-rtw_add_beacon-Replace-magic-const.patch
+features/all/r8723au/0101-staging-rtl8723au-Update-bss-beacon-info-in-rtw_add_.patch
+features/all/r8723au/0102-staging-rtl8723au-is_same_network23a-Use-the-capabil.patch
+features/all/r8723au/0103-staging-rtl8723au-ConstructBeacon-Use-struct-ieee802.patch
+features/all/r8723au/0104-staging-rtl8723au-issue_beacon23a-Do-not-copy-IEs-in.patch
+features/all/r8723au/0105-staging-rtl8723au-issue_beacon23a-Use-struct-ieee802.patch
+features/all/r8723au/0106-staging-rtl8723au-issue_probersp-Do-not-copy-the-IEs.patch
+features/all/r8723au/0107-staging-rtl8723au-issue_assocrsp-Use-capability-from.patch
+features/all/r8723au/0108-staging-rtl8723au-issue_assocreq-Use-struct-ieee8021.patch
+features/all/r8723au/0109-staging-rtl8723au-rtw_get_bcn_info23a-Use-capability.patch
+features/all/r8723au/0110-staging-rtl8723au-rtw_get_bcn_info23a-Use-__func__-i.patch
+features/all/r8723au/0111-staging-rtl8723au-Remove-last-users-of-rtw_get_capab.patch
+features/all/r8723au/0112-staging-rtl8723au-Eliminate-last-rtw_get_beacon_inte.patch
+features/all/r8723au/0113-staging-rtl8723au-struct-mlme_priv-wps_beacon_ie-is-.patch
+features/all/r8723au/0114-staging-rtl8723au-Remove-unused-mlme_priv-wps_assoc_.patch
+features/all/r8723au/0115-staging-rtl8723au-Remove-unused-struct-mlme_priv-wps.patch
+features/all/r8723au/0116-staging-rtl8723au-Remove-obsolete-mlme_priv-p2p_-ent.patch
+features/all/r8723au/0117-staging-rtl8723au-Remove-unused-struct-mlme_priv-wfd.patch
+features/all/r8723au/0118-staging-rtl8723au-Remove-write-only-struct-security_.patch
+features/all/r8723au/0119-staging-rtl8723au-Remove-hopefully-last-duplicate-de.patch
+features/all/r8723au/0120-staging-rtl8723au-rtw_survey_event_cb23a-Remember-to.patch
+features/all/r8723au/0121-staging-rtl8723au-rtw_joinbss_update_network23a-upda.patch
+features/all/r8723au/0122-staging-rtl8723au-issue_probersp-Don-t-insert-beacon.patch
+features/all/r8723au/0123-staging-rtl8723au-issue_probersp-No-need-to-calculat.patch
+features/all/r8723au/0124-staging-rtl8723au-Remove-unused-size-defines-for-mgm.patch
+features/all/r8723au/0125-staging-rtl8723au-Remove-usage-of-_-RE-ASOCREQ_IE_OF.patch
+features/all/r8723au/0126-staging-rtl8723au-Remove-unused-IE-offset-defines.patch
+features/all/r8723au/0127-staging-rtl8723au-rtw_get_cur_max_rate-Use-_FIXED_IE.patch
+features/all/r8723au/0128-staging-rtl8723au-rtw_add_beacon-Construct-a-full-be.patch
+features/all/r8723au/0129-staging-rtl8723au-rtw_check_beacon_data23a-Capabilit.patch
+features/all/r8723au/0130-staging-rtl8723au-Use-_FIXED_IE_LEN_-instead-of-hard.patch
+features/all/r8723au/0131-staging-rtl8723au-ConstructProbeRsp-Use-struct-ieee8.patch
+features/all/r8723au/0132-staging-rtl8723au-Remove-no-op-CheckFwRsvdPageConten.patch
+features/all/r8723au/0133-staging-rtl8723au-Remove-unused-dump_txrpt_ccx_8723a.patch
+features/all/r8723au/0134-staging-rtl8723au-issue_beacon23a-Fix-another-case-i.patch
+features/all/r8723au/0135-staging-rtl8723au-issue_beacon23a-Determine-ie-buffe.patch
+features/all/r8723au/0136-staging-rtl8723au-rtw_generate_ie23a-update-network-.patch
+features/all/r8723au/0137-staging-rtl8723au-Stop-carrying-half-the-beacon-fram.patch
+features/all/r8723au/0138-staging-rtl8723au-Get-rid-of-obsolete-_FIXED_IE_LENG.patch
+features/all/r8723au/0139-staging-rtl8723au-Remove-unused-define-EID_BSSIntole.patch
+features/all/r8723au/0140-staging-rtl8723au-Remove-unused-define-P80211CAPTURE.patch
+features/all/r8723au/0141-staging-rtl8723au-rtw_get_wps_attr_content23a-Remove.patch
+features/all/r8723au/0142-staging-rtl8723au-Remove-unused-RSN_VERSION_BSD23A.patch
+features/all/r8723au/0143-staging-rtl8723au-rtw_cfg80211_ap_set_encryption-Use.patch
+features/all/r8723au/0144-staging-rtl8723au-rtw_cfg80211_ap_set_encryption-is-.patch
+features/all/r8723au/0145-staging-rtl8723au-rtw_cfg80211_ap_set_encryption-Use.patch
+features/all/r8723au/0146-staging-rtl8723au-rtw_cfg80211_ap_set_encryption-Sto.patch
+features/all/r8723au/0147-staging-rtl8723au-rtw_cfg80211_ap_set_encryption-Use.patch
+features/all/r8723au/0148-staging-rtl8723au-rtw_cfg80211_set_encryption-Pass-a.patch
+features/all/r8723au/0149-staging-rtl8723au-rtw_cfg80211_set_encryption-Obtain.patch
+features/all/r8723au/0150-staging-rtl8723au-rtw_cfg80211_set_encryption-Use-ke.patch
+features/all/r8723au/0151-staging-rtl8723au-rtw_cfg80211_set_encryption-Obtain.patch
+features/all/r8723au/0152-staging-rtl8723au-rtw_cfg80211_set_encryption-Pass-k.patch
+features/all/r8723au/0153-staging-rtl8723au-rtw_cfg80211_ap_set_encryption-Pas.patch
+features/all/r8723au/0154-staging-rtl8723au-rtw_cfg80211_ap_set_encryption-obt.patch
+features/all/r8723au/0155-staging-rtl8723au-rtw_cfg80211_-ap_-set_encryption-A.patch
+features/all/r8723au/0156-staging-rtl8723au-Stop-setting-ieee_parm-arguments-t.patch
+features/all/r8723au/0157-staging-rtl8723au-rtw_cfg80211_-ap_-set_encryption-N.patch
+features/all/r8723au/0158-staging-rtl8723au-rtw_cfg80211_-ap_-set_encryption-A.patch
+features/all/r8723au/0159-staging-rtl8723au-rtw_cfg80211_-ap_-set_encryption-S.patch
+features/all/r8723au/0160-staging-rtl8723au-Remove-obsolete-struct-ieee_parm.patch
+features/all/r8723au/0161-staging-rtl8723au-Validate-keys-in-cfg80211_rtw_add_.patch
+features/all/r8723au/0162-staging-rtl8723au-Eliminate-set_wep_key-and-call-set.patch
+features/all/r8723au/0163-staging-rtl8723au-rtw_restruct_wmm_ie23a-Use-cfg8021.patch
+features/all/r8723au/0164-staging-rtl8723au-rtw_append_pmkid-Adjust-for-IEs-ar.patch
+features/all/r8723au/0165-staging-rtl8723au-Only-validate-vendor-specific-ies-.patch
+features/all/r8723au/0166-staging-rtl8723au-OnAssocReq23a-Use-cfg80211_find_ve.patch
+features/all/r8723au/0167-staging-rtl8723au-fix-sparse-warning.patch
+features/all/r8723au/0168-staging-rtl8723au-usb_ops_linux.c-Add-blank-line-bet.patch
+features/all/r8723au/0169-staging-rtl8723au-rtw_sta_mgt.c-Use-ether_addr_-copy.patch
+features/all/r8723au/0170-staging-rtl8723au-rtw_sta_mgt.c-One-copy-of-the-broa.patch
+features/all/r8723au/0171-staging-rtl8723au-rtw_allow_stainfo23a-Make-hwaddr-a.patch
+features/all/r8723au/0172-staging-rtl8723au-Remove-unused-rtw_sreset_get_wifi_.patch
+features/all/r8723au/0173-staging-rtl8723au-Wifi_Error_Status-isn-t-used-for-a.patch
+features/all/r8723au/0174-staging-rtl8723au-sreset_priv-dbg_trigger_point-is-n.patch
+features/all/r8723au/0175-staging-rtl8723au-Remove-no-op-rtl8723a_sreset_linke.patch
+features/all/r8723au/0176-staging-rtl8723au-Remove-unused-rtw_pwr_wakeup_ex.patch
+features/all/r8723au/0177-staging-rtl8723au-Clean-up-rtw_pm_set_ips23a.patch
+features/all/r8723au/0178-staging-rtl8723au-Fold-power_saving_wk_hdl-into-rtw_.patch
+features/all/r8723au/0179-staging-rtl8723au-Remove-unused-pwrctrl_priv-brfoffb.patch
+features/all/r8723au/0180-staging-rtl8723au-Remove-unused-variables-from-struc.patch
+features/all/r8723au/0181-staging-rtl8723au-pnp_bstop_trx-is-never-set.patch
+features/all/r8723au/0182-staging-rtl8723au-pwrctrl_priv-ps_flag-is-never-set.patch
+features/all/r8723au/0183-staging-rtl8723au-Remove-never-set-struct-rtw_adapte.patch
+features/all/r8723au/0184-staging-rtl8723au-Sanitize-USB-read-write-functions.patch
+features/all/r8723au/0185-staging-rtl8723au-Simplify-_BlockWrite-based-on-sane.patch
+features/all/r8723au/0186-staging-rtl8723au-Remove-unnecessary-null-test-befor.patch
+features/all/r8723au/0187-staging-rtl8723au-Remove-horrendous-code-obfuscation.patch
+features/all/r8723au/0188-staging-rtl8723au-Call-to-ODM_ConfigRFWithHeaderFile.patch
+features/all/r8723au/0189-staging-rtl8723au-Eliminate-wrapper-ODM_ConfigRFWith.patch
+features/all/r8723au/0190-staging-rtl8723au-Remove-zero-value-calculation-adde.patch
+features/all/r8723au/0191-staging-rtl8723au-Remove-pointless-wrappers-for-call.patch
+features/all/r8723au/0192-staging-rtl8723au-Remove-unused-ODM_ReadAndConfig_PH.patch
+features/all/r8723au/0193-staging-rtl8723au-Remove-ugly-wrapper-ODM_ConfigBBWi.patch
+features/all/r8723au/0194-staging-rtl8723au-Remove-unused-ODM_MacStatusQuery23.patch
+features/all/r8723au/0195-staging-rtl8723au-Remove-obfuscating-wrapper-ODM_Con.patch
+features/all/r8723au/0196-staging-rtl8723au-Remove-unncessary-wrapper-PHY_RFCo.patch
+features/all/r8723au/0197-staging-rtl8723au-Eliminate-Set_MSR-wrapper-call.patch
+features/all/r8723au/0198-staging-rtl8723au-Reduce-number-of-duplicate-defines.patch
+features/all/r8723au/0199-staging-rtl8723au-Use-rtl8723au_set_media_status-to-.patch
+features/all/r8723au/0200-staging-rtl8723au-Corrections-in-the-coding-style.patch
+features/all/r8723au/0201-staging-rtl8723au-Remove-write-only-variable-UsbRxHi.patch
+features/all/r8723au/0202-staging-rtl8723au-Remove-no-op-usb_AggSetting.patch
+features/all/r8723au/0203-staging-rtl8723au-Remove-no-op-_InitOperation_mode-f.patch
+features/all/r8723au/0204-staging-rtl8723au-Remove-RegBcnCtrlVal.patch
+features/all/r8723au/0205-staging-rtl8723au-Use-proper-name-REG_CAMCMD-and-rem.patch
+features/all/r8723au/0206-staging-rtl8723au-rtl8723a_InitBeaconParameters-Remo.patch
+features/all/r8723au/0207-staging-rtl8723au-ODM_IC_11N_SERIES-is-always-true-f.patch
+features/all/r8723au/0208-staging-rtl8723au-Remove-unused-odm_RegDefine11AC.h.patch
+features/all/r8723au/0209-staging-rtl8723au-Remove-pointless-IS_STA_VALID-macr.patch
+features/all/r8723au/0210-staging-rtl8723au-Fold-odm_EdcaTurboCheck23aCE23a-in.patch
+features/all/r8723au/0211-staging-rtl8723au-Declare-odm_EdcaTurbo-functions-st.patch
+features/all/r8723au/0212-staging-rtl8723au-bDMInitialGainEnable-is-always-tru.patch
+features/all/r8723au/0213-staging-rtl8723au-Remove-unused-DefaultInitialGain-a.patch
+features/all/r8723au/0214-staging-rtl8723au-Remove-some-redundant-check-for-hw.patch
+features/all/r8723au/0215-staging-rtl8723au-Remove-no-op-rtl8723a_deinit_dm_pr.patch
+features/all/r8723au/0216-staging-rtl8723au-Remove-no-op-function-dm_CheckStat.patch
+features/all/r8723au/0217-staging-rtl8723au-Remove-write-only-struct-dm_priv-D.patch
+features/all/r8723au/0218-staging-rtl8723au-Remove-write-only-variables-struct.patch
+features/all/r8723au/0219-staging-rtl8723au-Remove-ODM_CMNINFO_-RT-X_UNI-and-r.patch
+features/all/r8723au/0220-staging-rtl8723au-Remove-useless-ODM_CMNINFO_-WM_MOD.patch
+features/all/r8723au/0221-staging-rtl8723au-Remove-another-pile-of-useless-ODM.patch
+features/all/r8723au/0222-staging-rtl8723au-Remove-another-pile-of-awful-unuse.patch
+features/all/r8723au/0223-staging-rtl8723au-We-don-t-need-two-APIs-to-set-pHal.patch
+features/all/r8723au/0224-staging-rtl8723au-ODM_DMWatchdog23a-Take-a-struct-ha.patch
+features/all/r8723au/0225-staging-rtl8723au-Eliminate-ugly-ODM_CMNINFO_SEC_CHN.patch
+features/all/r8723au/0226-staging-rtl8723au-Eliminate-ODM_CMNINFO_BW-usage.patch
+features/all/r8723au/0227-staging-rtl8723au-Eliminate-ODM_CMNINFO_CHNL-usage.patch
+features/all/r8723au/0228-staging-rtl8723au-Eliminate-ODM_CMNINFO_SCAN-related.patch
+features/all/r8723au/0229-staging-rtl8723au-Eliminate-ODM_CMNINFO_POWER_SAVING.patch
+features/all/r8723au/0230-staging-rtl8723au-Eliminate-obsolete-odm_CmnInfoHook.patch
+features/all/r8723au/0231-staging-rtl8723au-Remove-obsolete-ODM23a_CmnInfoHook.patch
+features/all/r8723au/0232-staging-rtl8723au-Merge-Init_ODM_ComInfo_8723a-into-.patch
+features/all/r8723au/0233-staging-rtl8723au-odm_CommonInfoSelfInit23a-Use-prop.patch
+features/all/r8723au/0234-staging-rtl8723au-Remove-a-pile-of-fluff-for-calling.patch
+features/all/r8723au/0235-staging-rtl8723au-Fold-rtl8723a_set_nav_upper-into-r.patch
+features/all/r8723au/0236-staging-rtl8723au-Reduce-wrapper-layers-around-hal_-.patch
+features/all/r8723au/0237-staging-rtl8723au-Fold-rtw_resume_process23a-into-rt.patch
+features/all/r8723au/0239-staging-rtl8723au-Fix-typo-in-rtw_mlme_ext.c.patch
+features/all/r8723au/0240-staging-rtl8723au-Fix-typo-in-rtw_mlme.c.patch
+features/all/r8723au/0241-staging-rtl8723au-Fix-typo-in-rtw_xmit.c.patch
+features/all/r8723au/0242-staging-rtl8723au-Fix-typo-in-rtw_ap.c.patch
+features/all/r8723au/0243-staging-rtl8723au-Fix-typo-in-rtl8723au-core.patch
+features/all/r8723au/0244-staging-rtl8723au-RSSI_test-is-never-set.patch
+features/all/r8723au/0245-staging-rtl8723au-Remove-two-never-set-variables.patch
+features/all/r8723au/0246-staging-rtl8723au-Remove-never-set-struct-pwrctrl_pr.patch
+features/all/r8723au/0247-staging-rtl8723au-Do-not-duplicate-kernel-provided-U.patch
+features/all/r8723au/0248-staging-rtl8723au-usb_dvobj_init-Remove-unused-varia.patch
+features/all/r8723au/0249-staging-rtl8723au-Fix-static-symbol-sparse-warning.patch
+
+# Add Apple Thunderbolt driver from 3.17
+features/x86/apple-tb/0001-thunderbolt-Add-initial-cactus-ridge-NHI-support.patch
+features/x86/apple-tb/0002-thunderbolt-Add-control-channel-interface.patch
+features/x86/apple-tb/0003-thunderbolt-Setup-control-channel.patch
+features/x86/apple-tb/0004-thunderbolt-Add-tb_regs.h.patch
+features/x86/apple-tb/0005-thunderbolt-Initialize-root-switch-and-ports.patch
+features/x86/apple-tb/0006-thunderbolt-Add-thunderbolt-capability-handling.patch
+features/x86/apple-tb/0007-thunderbolt-Enable-plug-events.patch
+features/x86/apple-tb/0008-thunderbolt-Scan-for-downstream-switches.patch
+features/x86/apple-tb/0009-thunderbolt-Handle-hotplug-events.patch
+features/x86/apple-tb/0010-thunderbolt-Add-path-setup-code.patch
+features/x86/apple-tb/0011-thunderbolt-Add-support-for-simple-pci-tunnels.patch
+features/x86/apple-tb/0012-thunderbolt-Read-switch-uid-from-EEPROM.patch
+features/x86/apple-tb/0013-thunderbolt-Add-suspend-hibernate-support.patch
+features/x86/apple-tb/0014-thunderbolt-Read-port-configuration-from-eeprom.patch
+features/x86/apple-tb/0015-thunderbolt-Fix-nontrivial-endpoint-devices.patch
+features/x86/apple-tb/0016-thunderbolt-Fix-build-error-in-eeprom.c.patch
+features/x86/apple-tb/0017-thunderbolt-Fix-build-error-in-switch.c.patch
+features/x86/apple-tb/0018-thunderbolt-Use-NULL-instead-of-0-in-switch.c.patch
+features/x86/apple-tb/0019-thunderbolt-Use-NULL-instead-of-0-in-ctl.c.patch
+features/x86/apple-tb/0020-thunderbolt-Use-NULL-instead-of-0-in-nhi.c.patch
+features/x86/apple-tb/0021-thunderbolt-Staticize-nhi_ids.patch
+features/x86/apple-tb/0022-thunderbolt-add-PCI-dependency.patch
+features/x86/apple-tb/0023-thunderbolt-fix-format-string-for-size_t.patch
+features/x86/apple-tb/0024-thunderbolt-Add-casts-to-prevent-endianness-warnings.patch
+features/x86/apple-tb/0025-thunderbolt-Fix-header-declaration-of-tb_find_cap.patch
+features/x86/apple-tb/0026-thunderbolt-Make-enum-tb_drom_entry_type-unsigned.patch
+features/x86/apple-tb/0027-thunderbolt-Make-tb_eeprom_get_drom_offset-static.patch
+features/x86/apple-tb/0028-thunderbolt-select-CRC32-in-Kconfig.patch
+features/x86/apple-tb/0029-thunderbolt-Correct-the-size-argument-to-devm_kzallo.patch
+features/x86/apple-tb/0030-thunderbolt-Use-kcalloc.patch
+features/x86/apple-tb/0031-thunderbolt-Clear-hops-before-overwriting.patch
+
+# Add iwlwifi firmware monitor from 3.17
+features/all/iwlwifi-debug/iwlwifi-add-device-firmware-to-fw-error-dump-file.patch
+features/all/iwlwifi-debug/iwlwifi-rename-iwl_mvm_fw_error_next_data.patch
+features/all/iwlwifi-debug/iwlwifi-pcie-add-firmware-monitor-capabilities.patch
+features/all/iwlwifi-debug/iwlwifi-remove-wrong-comment-about-alignment-in-iwl-fw-error-dump.h.patch
+features/all/iwlwifi-debug/iwlwifi-mvm-don-t-collect-logs-in-the-interrupt-thread.patch
+features/all/iwlwifi-debug/iwlwifi-mvm-kill-iwl_mvm_fw_error_rxf_dump.patch
+features/all/iwlwifi-debug/iwlwifi-mvm-update-layout-of-firmware-error-dump.patch
Modified: dists/wheezy-backports/linux/debian/rules.real
==============================================================================
--- dists/wheezy-backports/linux/debian/rules.real Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/rules.real Mon Dec 1 17:59:10 2014 (r22098)
@@ -6,10 +6,12 @@
# expected to be available (need to be exported from the parent process).
#
SHELL := bash -e
+ifdef ARCH
DEB_HOST_ARCH := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_HOST_ARCH)
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_HOST_GNU_TYPE)
DEB_HOST_MULTIARCH:= $(shell dpkg-architecture -a'$(ARCH)' -qDEB_HOST_MULTIARCH)
DEB_BUILD_ARCH := $(shell dpkg-architecture -a'$(ARCH)' -qDEB_BUILD_ARCH)
+endif
MAINTAINER := $(shell sed -ne 's,^Maintainer: .[^<]*<\([^>]*\)>,\1,p' debian/control)
DISTRIBUTION := $(shell dpkg-parsechangelog | sed -ne 's,^Distribution: ,,p')
SOURCE_DATE := $(shell dpkg-parsechangelog | sed -ne 's,^Date: ,,p')
@@ -36,7 +38,7 @@
stamp = [ -d $(dir $@) ] || mkdir $(dir $@); touch $@
-setup_env := env -u ABINAME -u ABINAME_PART -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION
+setup_env := env -u ABINAME -u ARCH -u FEATURESET -u FLAVOUR -u VERSION -u LOCALVERSION
setup_env += DISTRIBUTION_OFFICIAL_BUILD=1 DISTRIBUTOR="$(DISTRIBUTOR)" DISTRIBUTION_VERSION="$(SOURCEVERSION)" KBUILD_BUILD_TIMESTAMP="$(DISTRIBUTOR) $(SOURCEVERSION) ($(SOURCE_DATE_UTC_ISO))" KBUILD_BUILD_USER="$(word 1,$(subst @, ,$(MAINTAINER)))" KBUILD_BUILD_HOST="$(word 2,$(subst @, ,$(MAINTAINER)))"
MAKE_CLEAN = $(setup_env) $(MAKE)
@@ -366,7 +368,10 @@
+$(MAKE_SELF) \
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_bug \
PACKAGE_DIR='$(PACKAGE_DIR)' PACKAGE_NAME='$(PACKAGE_NAME)' REAL_VERSION='$(REAL_VERSION)'
- +$(MAKE_SELF) install-base
+ +$(MAKE_SELF) install-base GENCONTROL_ARGS='-Vkernel:Recommends='"$$( \
+ if grep -q '^CONFIG_SMP=y' $(DIR)/.config; then \
+ printf irqbalance,; \
+ fi)"
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_dt: DT_INSTALL_DIR = $(PACKAGE_DIR)/usr/lib/linux-image-$(REAL_VERSION)
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_dt:
@@ -387,7 +392,7 @@
dh_installdirs usr/share/bug/$(PACKAGE_NAME)
dh_install debian/templates/image.plain.bug/* usr/share/bug/$(PACKAGE_NAME)
chmod 755 $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/script
- echo "RELEASE='$(REAL_VERSION)'" > $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/info
+ printf "RELEASE='$(REAL_VERSION)'\nDISTRIBUTOR='$(DISTRIBUTOR)'\nSOURCEVERSION='$(SOURCEVERSION)'\n" > $(PACKAGE_DIR)/usr/share/bug/$(PACKAGE_NAME)/info
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): REAL_VERSION = $(ABINAME)$(LOCALVERSION)
install-image-dbg_$(ARCH)_$(FEATURESET)_$(FLAVOUR): PACKAGE_NAME = linux-image-$(REAL_VERSION)-dbg
Modified: dists/wheezy-backports/linux/debian/templates/control.image.type-plain.in
==============================================================================
--- dists/wheezy-backports/linux/debian/templates/control.image.type-plain.in Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/templates/control.image.type-plain.in Mon Dec 1 17:59:10 2014 (r22098)
@@ -2,7 +2,7 @@
Provides: linux-modules- at abiname@@localversion@
Pre-Depends: debconf | debconf-2.0
Depends: kmod | module-init-tools, linux-base (>= 3~), ${misc:Depends}
-Recommends: firmware-linux-free (>= 3~)
+Recommends: firmware-linux-free (>= 3~), ${kernel:Recommends}
Suggests: linux-doc- at version@, debian-kernel-handbook
Breaks: at (<< 3.1.12-1+squeeze1)
Description: Linux @upstreamversion@ for @class@
Modified: dists/wheezy-backports/linux/debian/templates/image.plain.bug/presubj
==============================================================================
--- dists/wheezy-backports/linux/debian/templates/image.plain.bug/presubj Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/templates/image.plain.bug/presubj Mon Dec 1 17:59:10 2014 (r22098)
@@ -6,9 +6,3 @@
camera, serial console or netconsole to record the boot messages and
attach these to your report. You can use the kernel parameter
'boot_delay=1000' to slow down the boot messages.
-
-If you are reporting a crash on a system that boots using EFI, it may
-be useful to mount the 'pstore' filesystem so that a crash log can be
-retrieved from flash memory. You can do this by running (as root):
-
- mount -t pstore pstore /sys/fs/pstore
Modified: dists/wheezy-backports/linux/debian/templates/image.plain.bug/script
==============================================================================
--- dists/wheezy-backports/linux/debian/templates/image.plain.bug/script Mon Dec 1 10:49:11 2014 (r22097)
+++ dists/wheezy-backports/linux/debian/templates/image.plain.bug/script Mon Dec 1 17:59:10 2014 (r22098)
@@ -14,6 +14,26 @@
done
if [ "$RELEASE" == "$(uname -r)" ]; then
+ running_ver="$(uname -v)"
+ running_ver="${running_ver#* $DISTRIBUTOR }"
+ running_ver="${running_ver%% *}"
+ if [ "$running_ver" != "$SOURCEVERSION" ]; then
+ cat <<EOF
+You have installed version $SOURCEVERSION of
+linux-image-$RELEASE, but version $running_ver is currently
+running.
+
+You should reboot to complete the upgrade. Until you do this, some
+modules may fail to load. This is NOT a bug.
+
+If you have already rebooted, check your boot loader configuration.
+
+EOF
+ yesno "Do you still want to report a bug? " nop
+ if [ "$REPLY" = nop ]; then
+ exit 1
+ fi
+ fi
for hook in ${hooks[@]}; do
add_$hook
done
More information about the Kernel-svn-changes
mailing list