[linux] 01/05: Update to 3.16.7-ckt27

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Sun May 8 01:46:21 UTC 2016


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch jessie
in repository linux.

commit 05ce8593b48a3d6062c16fa4a559a9c28c4009eb
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Sat May 7 20:38:37 2016 +0100

    Update to 3.16.7-ckt27
    
    Drop patches applied upstream.
    
    Fix/revert some ABI changes.
---
 debian/changelog                                   | 150 ++++++++++++++++++++-
 debian/config/defines                              |   2 +
 ...rd-against-other-sk-in-unix_dgram_sendmsg.patch |  40 ------
 .../all/aio-properly-check-iovec-sizes.patch       |  41 ------
 .../all/crypto-blk-giv-cipher-set-has_setkey.patch |  32 -----
 ...emove-redundant-log-messages-from-drivers.patch |  24 ++--
 ...t-drm-radeon-call-hpd_irq_event-on-resume.patch |  42 ------
 ...radeon-hold-reference-to-fences-in-radeon.patch |  39 ------
 ...bata-align-ata_device-s-id-on-a-cacheline.patch |  24 ++++
 ...add-sysctl-option-accept_ra_min_hop_limit.patch | 123 +++++++++++++++++
 .../route-fix-abi-change-in-3.16.7-ckt26.patch     |  23 ++++
 .../tracing-avoid-abi-change-in-3.16.7-ckt26.patch |  26 ++++
 debian/patches/series                              |   9 +-
 13 files changed, 363 insertions(+), 212 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index ed16a12..1b743ac 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,156 @@
-linux (3.16.7-ckt25-3) UNRELEASED; urgency=medium
+linux (3.16.7-ckt27-1) UNRELEASED; urgency=medium
 
+  * New upstream stable update:
+    http://kernel.ubuntu.com/stable/ChangeLog-3.16.7-ckt26
+    - [x86] Revert "firmware: dmi_scan: Fix UUID endianness for SMBIOS >= 2.6"
+    - [x86] iommu/vt-d: Fix 64-bit accesses to 32-bit DMAR_GSTS_REG
+    - [x86] drm/i915/dsi: defend gpio table against out of bounds access
+    - [x86] drm/i915/dsi: don't pass arbitrary data to sideband
+    - [x86] drm/i915: fix error path in intel_setup_gmbus()
+    - cifs: fix erroneous return value
+    - [s390x] dasd: prevent incorrect length error under z/VM after PAV changes
+    - [s390x] dasd: fix refcount for PAV reassignment
+    - scsi: fix soft lockup in scsi_remove_target() on module removal
+    - ext4: fix potential integer overflow
+    - ext4: don't read blocks from disk after extents being swapped
+    - bio: return EINTR if copying to user space got interrupted
+    - ALSA: seq: Drop superfluous error/debug messages after malloc failures
+    - ALSA: seq: Fix leak of pool buffer at concurrent writes
+    - dmaengine: dw: disable BLOCK IRQs for non-cyclic xfer
+    - tracepoints: Do not trace when cpu is offline
+    - tracing: Fix freak link error caused by branch tracer
+    - ALSA: seq: Fix double port list deletion
+    - drm/radeon: use post-decrement in error handling
+    - drm/qxl: use kmalloc_array to alloc reloc_info in
+      qxl_process_single_command
+    - ext4: fix bh->b_state corruption
+    - ext4: fix crashes in dioread_nolock mode
+    - kernel/resource.c: fix muxed resource handling in __request_region()
+    - [x86] entry/compat: Add missing CLAC to entry_INT80_32
+    - nfs: fix nfs_size_to_loff_t
+    - xen/pciback: Check PF instead of VF for PCI_COMMAND_MEMORY
+    - xen/pciback: Save the number of MSI-X entries to be copied later.
+    - xen/pcifront: Fix mysterious crashes when NUMA locality information
+      was extracted.
+    - usb: dwc3: Fix assignment of EP transfer resources
+    - NFSv4: Fix a dentry leak on alias use
+    - hwmon: (ads1015) Handle negative conversion values correctly
+    - can: ems_usb: Fix possible tx overflow
+    - drm/radeon/pm: adjust display configuration after powerstate
+    - sunrpc/cache: fix off-by-one in qword_get()
+    - KVM: async_pf: do not warn on page allocation failures
+    - tracing: Fix showing function event in available_events
+    - libceph: don't bail early from try_read() when skipping a message
+    - ALSA: hda - Fixing background noise on Dell Inspiron 3162
+    - [x86] KVM: MMU: fix ubsan index-out-of-range warning
+    - [x86] ALSA: hda - Fix headset support and noise on HP EliteBook 755 G2
+    - hpfs: don't truncate the file when delete fails
+    - do_last(): don't let a bogus return value from ->open() et.al. to
+      confuse us
+    - [armel/kirkwood] dts: use unique machine name for ds112
+    - bonding: Fix ARP monitor validation
+    - af_unix: Don't set err in unix_stream_read_generic unless there was
+      an error
+    - net: phy: bcm7xxx: Fix shadow mode 2 disabling
+    - net/mlx4_en: Count HW buffer overrun only once
+    - net/mlx4_en: Choose time-stamping shift value according to HW frequency
+    - net/mlx4_en: Avoid changing dev->features directly in run-time
+    - unix_diag: fix incorrect sign extension in unix_lookup_by_ino
+    - af_iucv: Validate socket address length in iucv_sock_bind()
+    - net: dp83640: Fix tx timestamp overflow handling.
+    - tcp: fix NULL deref in tcp_v4_send_ack()
+    - ipv6/udp: use sticky pktinfo egress ifindex on connect()
+    - tg3: Fix for tg3 transmit queue 0 timed out when too many gso_segs
+    - ipv4: fix memory leaks in ip_cmsg_send() callers
+    - pppoe: fix reference counting in PPPoE proxy
+    - route: check and remove route cache when we get route
+    - rtnl: RTM_GETNETCONF: fix wrong return value
+    - sctp: Fix port hash table size computation
+    - target: Fix LUN_RESET active TMR descriptor handling
+    - target: Fix LUN_RESET active I/O handling for ACK_KREF
+    - target: Fix TAS handling for multi-session se_node_acls
+    - target: Fix remote-port TMR ABORT + se_cmd fabric stop
+    - target: Fix race with SCF_SEND_DELAYED_TAS handling
+    - libata: fix HDIO_GET_32BIT ioctl
+    - [media] adv7604: fix tx 5v detect regression
+    - [armhf] usb: chipidea: otg: change workqueue ci_otg as freezable
+    - Revert "jffs2: Fix lock acquisition order bug in jffs2_write_begin"
+    - jffs2: Fix page lock / f->sem deadlock
+    - Fix directory hardlinks from deleted directories
+    - [x86] iommu/amd: Fix boot warning when device 00:00.0 is not iommu covered
+    - vfio: fix ioctl error handling
+    - ALSA: timer: Fix broken compat timer user status ioctl
+    - cifs: fix out-of-bounds access in lease parsing
+    - CIFS: Fix SMB2+ interim response processing for read requests
+    - Fix cifs_uniqueid_to_ino_t() function for s390x
+    - [arm*] KVM: Fix ioctl error handling
+    - ALSA: hdspm: Fix wrong boolean ctl value accesses
+    - ALSA: hdspm: Fix zero-division
+    - ALSA: hdsp: Fix wrong boolean ctl value accesses
+    - ALSA: seq: oss: Don't drain at closing a client
+    - drm/ast: Fix incorrect register check for DRAM width
+    - drm/radeon/pm: update current crtc info after setting the powerstate
+    - PM / sleep / x86: Fix crash on graph trace through x86 suspend
+    - ALSA: hda - Fix mic issues on Acer Aspire E1-472
+    - [mips*] traps: Fix SIGFPE information leak from `do_ov' and
+      `do_trap_or_bp'
+    - ubi: Fix out of bounds write in volume update code
+    - IB/core: Use GRH when the path hop-limit > 0
+    - wext: fix message delay/ordering
+    - cfg80211/wext: fix message ordering
+    - mac80211: fix use of uninitialised values in RX aggregation
+    - mac80211: minstrel_ht: set default tx aggregation timeout to 0
+    - can: gs_usb: fixed disconnect bug by removing erroneous use of kfree()
+    - target: Drop incorrect ABORT_TASK put for completed commands
+    - [powerpc*] KVM: Book3S HV: Sanitize special-purpose register values
+      on guest exit
+    - [x86] KVM: VMX: disable PEBS before a guest entry
+    - Revert "drm/radeon/pm: adjust display configuration after powerstate"
+    - tcp: convert cached rtt from usec to jiffies when feeding initial rto
+    - net/mlx4_core: Allow resetting VF admin mac to zero
+    - mld, igmp: Fix reserved tailroom calculation
+    - ipv6: re-enable fragment header matching in ipv6_find_hdr
+    - net: moxa: fix an error code
+    - cdc_ncm: do not call usbnet_link_change from cdc_ncm_bind (CVE-2016-3951)
+    - ext4: iterate over buffer heads correctly in move_extent_per_page()
+    - Input: aiptek - fix crash on detecting device without endpoints
+    - bcache: add mutex lock for bch_is_open
+    - [x86] KVM: move steal time initialization to vcpu entry time
+    - efi: Use ucs2_as_utf8 in efivarfs instead of open coding a bad version
+    - efi: Do variable name validation tests in utf8
+    - efi: Make our variable validation list include the guid
+    - efi: Make efivarfs entries immutable by default
+    - efi: Add pstore variables to the deletion whitelist
+    - lib/ucs2_string: Correct ucs2 -> utf8 conversion
+    - tracing: Fix check for cpu online when event is disabled
+    http://kernel.ubuntu.com/stable/ChangeLog-3.16.7-ckt27
+    - ipv4: Don't do expensive useless work during inetdev destroy.
+      (CVE-2016-3156)
+    - Input: powermate - fix oops with malicious USB descriptors (CVE-2016-2186)
+    - USB: iowarrior: fix oops with malicious USB descriptors
+    - ALSA: usb-audio: Fix NULL dereference in create_fixed_stream_quirk()
+      (CVE-2016-2184)
+    - ALSA: usb-audio: Add sanity checks for endpoint accesses (CVE-2016-2184)
+    - include/linux/poison.h: fix LIST_POISON{1,2} offset
+    - cpu: Defer smpboot kthread unparking until CPU known to scheduler
+    - ipr: Fix out-of-bounds null overwrite
+    - ipr: Fix regression when loading firmware
+    - Input: ati_remote2 - fix crashes on detecting device with invalid
+      descriptor (CVE-2016-2185)
+    - USB: cdc-acm: more sanity checking (CVE-2016-3138)
+    - ceph: fix request time stamp encoding
+    - [amd64] iopl: Properly context-switch IOPL on Xen PV (CVE-2016-3157)
+    - staging: comedi: ni_tiocmd: change mistaken use of start_src for start_arg
+    - drm/radeon: hold reference to fences in radeon_sa_bo_new (3.17 and older)
+    - [x86] Drivers: hv: vmbus: prevent cpu offlining on newer hypervisors
+
+  [ Ben Hutchings ]
   * [amd64] KVM: bit-ops emulation ignores offset on 64-bit (Closes: #818502)
   * linux-headers: Avoid mixed implicit and normal rules in Makefile, thanks to
     Thierry Herbelot (Closes: #822666)
+  * Revert "libata: Align ata_device's id on a cacheline" to avoid ABI change
+  * Revert "net/ipv6: add sysctl option accept_ra_min_hop_limit" to avoid ABI
+    change
 
  -- Ben Hutchings <ben at decadent.org.uk>  Sat, 30 Apr 2016 22:07:22 +0200
 
diff --git a/debian/config/defines b/debian/config/defines
index 4bb19cf..e77fe68 100644
--- a/debian/config/defines
+++ b/debian/config/defines
@@ -4,6 +4,7 @@ ignore-changes:
 # Should not be used from OOT
  module:arch/x86/kvm/kvm
  module:drivers/md/dm-snapshot
+ module:drivers/misc/mei/*
  module:drivers/mtd/spi-nor/spi-nor
  module:drivers/net/ethernet/broadcom/bnx2x/bnx2x
  module:drivers/net/wireless/**
@@ -52,6 +53,7 @@ ignore-changes:
  scm_detach_fds
  scm_fp_dup
  af_alg_*
+ efivar_validate
 
 [base]
 arches:
diff --git a/debian/patches/bugfix/all/af_unix-guard-against-other-sk-in-unix_dgram_sendmsg.patch b/debian/patches/bugfix/all/af_unix-guard-against-other-sk-in-unix_dgram_sendmsg.patch
deleted file mode 100644
index b49768e..0000000
--- a/debian/patches/bugfix/all/af_unix-guard-against-other-sk-in-unix_dgram_sendmsg.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From: Rainer Weikusat <rweikusat at mobileactivedefense.com>
-Date: Thu, 11 Feb 2016 19:37:27 +0000
-Subject: af_unix: Guard against other == sk in unix_dgram_sendmsg
-Origin: http://mid.gmane.org/87r3gj11jc.fsf_-_@doppelsaurus.mobileactivedefense.com
-
-The unix_dgram_sendmsg routine use the following test
-
-if (unlikely(unix_peer(other) != sk && unix_recvq_full(other))) {
-
-to determine if sk and other are in an n:1 association (either
-established via connect or by using sendto to send messages to an
-unrelated socket identified by address). This isn't correct as the
-specified address could have been bound to the sending socket itself or
-because this socket could have been connected to itself by the time of
-the unix_peer_get but disconnected before the unix_state_lock(other). In
-both cases, the if-block would be entered despite other == sk which
-might either block the sender unintentionally or lead to trying to unlock
-the same spin lock twice for a non-blocking send. Add a other != sk
-check to guard against this.
-
-Fixes: 7d267278a9ec ("unix: avoid use-after-free in ep_remove_wait_queue")
-Reported-By: Philipp Hahn <pmhahn at pmhahn.de>
-Signed-off-by: Rainer Weikusat <rweikusat at mobileactivedefense.com>
----
---- a/net/unix/af_unix.c
-+++ b/net/unix/af_unix.c
-@@ -1722,7 +1722,12 @@ restart_locked:
- 			goto out_unlock;
- 	}
- 
--	if (unlikely(unix_peer(other) != sk && unix_recvq_full(other))) {
-+	/* other == sk && unix_peer(other) != sk if
-+	 * - unix_peer(sk) == NULL, destination address bound to sk
-+	 * - unix_peer(sk) == sk by time of get but disconnected before lock
-+	 */
-+	if (other != sk &&
-+	    unlikely(unix_peer(other) != sk && unix_recvq_full(other))) {
- 		if (timeo) {
- 			timeo = unix_wait_for_peer(other, timeo);
- 
diff --git a/debian/patches/bugfix/all/aio-properly-check-iovec-sizes.patch b/debian/patches/bugfix/all/aio-properly-check-iovec-sizes.patch
deleted file mode 100644
index 04e7d88..0000000
--- a/debian/patches/bugfix/all/aio-properly-check-iovec-sizes.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
-Date: Fri, 19 Feb 2016 17:36:21 -0800
-Subject: AIO: properly check iovec sizes
-Origin: https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit?id=c4f4b82694fe48b02f7a881a1797131a6dad1364
-
-In Linus's tree, the iovec code has been reworked massively, but in
-older kernels the AIO layer should be checking this before passing the
-request on to other layers.
-
-Many thanks to Ben Hawkes of Google Project Zero for pointing out the
-issue.
-
-Reported-by: Ben Hawkes <hawkes at google.com>
-Acked-by: Benjamin LaHaise <bcrl at kvack.org>
-Tested-by: Willy Tarreau <w at 1wt.eu>
-Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
----
- fs/aio.c | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
---- a/fs/aio.c
-+++ b/fs/aio.c
-@@ -1378,11 +1378,16 @@ static ssize_t aio_setup_single_vector(s
- 				       unsigned long *nr_segs,
- 				       struct iovec *iovec)
- {
--	if (unlikely(!access_ok(!rw, buf, kiocb->ki_nbytes)))
-+	size_t len = kiocb->ki_nbytes;
-+
-+	if (len > MAX_RW_COUNT)
-+		len = MAX_RW_COUNT;
-+
-+	if (unlikely(!access_ok(!rw, buf, len)))
- 		return -EFAULT;
- 
- 	iovec->iov_base = buf;
--	iovec->iov_len = kiocb->ki_nbytes;
-+	iovec->iov_len = len;
- 	*nr_segs = 1;
- 	return 0;
- }
diff --git a/debian/patches/bugfix/all/crypto-blk-giv-cipher-set-has_setkey.patch b/debian/patches/bugfix/all/crypto-blk-giv-cipher-set-has_setkey.patch
deleted file mode 100644
index deef666..0000000
--- a/debian/patches/bugfix/all/crypto-blk-giv-cipher-set-has_setkey.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From: Ben Hutchings <ben at decadent.org.uk>
-Date: Sun, 06 Mar 2016 19:52:46 +0000
-Subject: crypto: {blk,giv}cipher: Set has_setkey
-
-Commit a1383cd86a06 ("crypto: skcipher - Add crypto_skcipher_has_setkey")
-was incorrectly backported to the 3.2.y and 3.16.y stable branches.
-We need to set ablkcipher_tfm::has_setkey in the
-crypto_init_blkcipher_ops_async() and crypto_init_givcipher_ops()
-functions as well as crypto_init_ablkcipher_ops().
-
-Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
----
---- a/crypto/ablkcipher.c
-+++ b/crypto/ablkcipher.c
-@@ -457,6 +457,7 @@ static int crypto_init_givcipher_ops(str
- 	crt->givdecrypt = alg->givdecrypt ?: no_givdecrypt;
- 	crt->base = __crypto_ablkcipher_cast(tfm);
- 	crt->ivsize = alg->ivsize;
-+	crt->has_setkey = alg->max_keysize;
- 
- 	return 0;
- }
---- a/crypto/blkcipher.c
-+++ b/crypto/blkcipher.c
-@@ -471,6 +471,7 @@ static int crypto_init_blkcipher_ops_asy
- 	}
- 	crt->base = __crypto_ablkcipher_cast(tfm);
- 	crt->ivsize = alg->ivsize;
-+	crt->has_setkey = alg->max_keysize;
- 
- 	return 0;
- }
diff --git a/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch b/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
index 3847571..eaf44cd 100644
--- a/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
+++ b/debian/patches/bugfix/all/firmware-remove-redundant-log-messages-from-drivers.patch
@@ -96,7 +96,7 @@ upstream submission.
      fw_size = firmware->size / sizeof(u32);
 --- a/drivers/bluetooth/ath3k.c
 +++ b/drivers/bluetooth/ath3k.c
-@@ -377,10 +377,8 @@ static int ath3k_load_patch(struct usb_d
+@@ -408,10 +408,8 @@ static int ath3k_load_patch(struct usb_d
  		 le32_to_cpu(fw_version.rom_version));
  
  	ret = request_firmware(&firmware, filename, &udev->dev);
@@ -108,7 +108,7 @@ upstream submission.
  
  	pt_rom_version = get_unaligned_le32(firmware->data +
  					    firmware->size - 8);
-@@ -440,10 +438,8 @@ static int ath3k_load_syscfg(struct usb_
+@@ -471,10 +469,8 @@ static int ath3k_load_syscfg(struct usb_
  		le32_to_cpu(fw_version.rom_version), clk_value, ".dfu");
  
  	ret = request_firmware(&firmware, filename, &udev->dev);
@@ -274,7 +274,7 @@ upstream submission.
  		release_firmware(rdev->me_fw);
 --- a/drivers/gpu/drm/radeon/r100.c
 +++ b/drivers/gpu/drm/radeon/r100.c
-@@ -1017,10 +1017,7 @@ static int r100_cp_init_microcode(struct
+@@ -1021,10 +1021,7 @@ static int r100_cp_init_microcode(struct
  	}
  
  	err = request_firmware(&rdev->me_fw, fw_name, rdev->dev);
@@ -468,7 +468,7 @@ upstream submission.
  		p = kmalloc(fw->size, GFP_KERNEL);
 --- a/drivers/media/dvb-frontends/af9013.c
 +++ b/drivers/media/dvb-frontends/af9013.c
-@@ -1373,16 +1373,8 @@ static int af9013_download_firmware(stru
+@@ -1377,16 +1377,8 @@ static int af9013_download_firmware(stru
  
  	/* request the firmware, this will block and timeout */
  	ret = request_firmware(&fw, fw_file, state->i2c->dev.parent);
@@ -1240,7 +1240,7 @@ upstream submission.
  	if (bp->mips_firmware->size < sizeof(*mips_fw) ||
 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
 +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c
-@@ -12738,11 +12738,8 @@ static int bnx2x_init_firmware(struct bn
+@@ -12741,11 +12741,8 @@ static int bnx2x_init_firmware(struct bn
  	BNX2X_DEV_INFO("Loading %s\n", fw_file_name);
  
  	rc = request_firmware(&bp->firmware, fw_file_name, &bp->pdev->dev);
@@ -1255,7 +1255,7 @@ upstream submission.
  	if (rc) {
 --- a/drivers/net/ethernet/broadcom/tg3.c
 +++ b/drivers/net/ethernet/broadcom/tg3.c
-@@ -11323,11 +11323,8 @@ static int tg3_request_firmware(struct t
+@@ -11336,11 +11336,8 @@ static int tg3_request_firmware(struct t
  {
  	const struct tg3_firmware_hdr *fw_hdr;
  
@@ -1954,9 +1954,9 @@ upstream submission.
  	}
 --- a/drivers/scsi/ipr.c
 +++ b/drivers/scsi/ipr.c
-@@ -3983,10 +3983,8 @@ static ssize_t ipr_store_update_fw(struc
- 	len = snprintf(fname, 99, "%s", buf);
- 	fname[len-1] = '\0';
+@@ -3996,10 +3996,8 @@ static ssize_t ipr_store_update_fw(struc
+ 	if (endline)
+ 		*endline = '\0';
  
 -	if (request_firmware(&fw_entry, fname, &ioa_cfg->pdev->dev)) {
 -		dev_err(&ioa_cfg->pdev->dev, "Firmware file %s not found\n", fname);
@@ -2498,7 +2498,7 @@ upstream submission.
  		}
 --- a/drivers/usb/serial/ti_usb_3410_5052.c
 +++ b/drivers/usb/serial/ti_usb_3410_5052.c
-@@ -1490,10 +1490,8 @@ static int ti_download_firmware(struct t
+@@ -1492,10 +1492,8 @@ static int ti_download_firmware(struct t
  		}
  		status = request_firmware(&fw_p, buf, &dev->dev);
  	}
@@ -2641,7 +2641,7 @@ upstream submission.
  	return err;
 --- a/sound/pci/emu10k1/emu10k1_main.c
 +++ b/sound/pci/emu10k1/emu10k1_main.c
-@@ -887,12 +887,8 @@ static int snd_emu10k1_emu1010_init(stru
+@@ -892,12 +892,8 @@ static int snd_emu10k1_emu1010_init(stru
  		}
  
  		err = request_firmware(&emu->firmware, filename, &emu->pci->dev);
@@ -2657,7 +2657,7 @@ upstream submission.
  			   filename, emu->firmware->size);
 --- a/sound/pci/hda/hda_intel.c
 +++ b/sound/pci/hda/hda_intel.c
-@@ -1449,10 +1449,8 @@ static void azx_firmware_cb(const struct
+@@ -1484,10 +1484,8 @@ static void azx_firmware_cb(const struct
  	struct azx *chip = card->private_data;
  	struct pci_dev *pci = chip->pci;
  
diff --git a/debian/patches/bugfix/all/revert-drm-radeon-call-hpd_irq_event-on-resume.patch b/debian/patches/bugfix/all/revert-drm-radeon-call-hpd_irq_event-on-resume.patch
deleted file mode 100644
index d393dc2..0000000
--- a/debian/patches/bugfix/all/revert-drm-radeon-call-hpd_irq_event-on-resume.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From: Linus Torvalds <torvalds at linux-foundation.org>
-Date: Mon, 7 Mar 2016 13:15:09 -0800
-Subject: Revert "drm/radeon: call hpd_irq_event on resume"
-Origin: https://git.kernel.org/linus/256faedcfd646161477d47a1a78c32a562d2e845
-
-This reverts commit dbb17a21c131eca94eb31136eee9a7fe5aff00d9.
-
-It turns out that commit can cause problems for systems with multiple
-GPUs, and causes X to hang on at least a HP Pavilion dv7 with hybrid
-graphics.
-
-This got noticed originally in 4.4.4, where this patch had already
-gotten back-ported, but 4.5-rc7 was verified to have the same problem.
-
-Alexander Deucher says:
- "It looks like you have a muxed system so I suspect what's happening is
-  that one of the display is being reported as connected for both the
-  IGP and the dGPU and then the desktop environment gets confused or
-  there some sort problem in the detect functions since the mux is not
-  switched to the dGPU.  I don't see an easy fix unless Dave has any
-  ideas.  I'd say just revert for now"
-
-Reported-by: Jörg-Volker Peetz <jvpeetz at web.de>
-Acked-by: Alexander Deucher <Alexander.Deucher at amd.com>
-Cc: Dave Airlie <airlied at gmail.com>
-Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
----
- drivers/gpu/drm/radeon/radeon_device.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
-index f7296ca6510c..ca470fb17aa4 100644
---- a/drivers/gpu/drm/radeon/radeon_device.c
-+++ b/drivers/gpu/drm/radeon/radeon_device.c
-@@ -1649,7 +1649,6 @@ int radeon_resume_kms(struct drm_device *dev, bool resume, bool fbcon)
- 	}
- 
- 	drm_kms_helper_poll_enable(dev);
--	drm_helper_hpd_irq_event(dev);
- 
- 	/* set the power state here in case we are a PX system or headless */
- 	if ((rdev->pm.pm_method == PM_METHOD_DPM) && rdev->pm.dpm_enabled)
diff --git a/debian/patches/bugfix/all/revert-drm-radeon-hold-reference-to-fences-in-radeon.patch b/debian/patches/bugfix/all/revert-drm-radeon-hold-reference-to-fences-in-radeon.patch
deleted file mode 100644
index 6a61b43..0000000
--- a/debian/patches/bugfix/all/revert-drm-radeon-hold-reference-to-fences-in-radeon.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From: Luis Henriques <luis.henriques at canonical.com>
-Date: Wed, 9 Mar 2016 13:58:27 +0000
-Subject: Revert "drm/radeon: hold reference to fences in radeon_sa_bo_new"
-Origin: http://kernel.ubuntu.com/git/ubuntu/linux.git/commit?id=f80be5a9b1ccf679415676f761bc9efdc3ad13b5
-
-This reverts commit 73187980dfefe5198aadcfdf0a377e461eed2bfa, which was
-commit f6ff4f67cdf8455d0a4226eeeaf5af17c37d05eb upstream.
-
-This patch was triggering a Oops in stable kernel 3.10.99.  Christian
-agrees that the patch is correct but "assumes that radeon_fence_unref()
-can safely take NULL as the fence which is not the case for older
-kernels."
-
-Reported-by: Erik Andersen <andersen at codepoet.org>
-Acked-by: Christian König <christian.koenig at amd.com>
-Cc: Nicolai Hähnle <nicolai.haehnle at amd.com>
-Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
----
- drivers/gpu/drm/radeon/radeon_sa.c | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/drivers/gpu/drm/radeon/radeon_sa.c b/drivers/gpu/drm/radeon/radeon_sa.c
-index 15fd57296081..adcf3e2f07da 100644
---- a/drivers/gpu/drm/radeon/radeon_sa.c
-+++ b/drivers/gpu/drm/radeon/radeon_sa.c
-@@ -349,13 +349,8 @@ int radeon_sa_bo_new(struct radeon_device *rdev,
- 			/* see if we can skip over some allocations */
- 		} while (radeon_sa_bo_next_hole(sa_manager, fences, tries));
- 
--		for (i = 0; i < RADEON_NUM_RINGS; ++i)
--			radeon_fence_ref(fences[i]);
--
- 		spin_unlock(&sa_manager->wq.lock);
- 		r = radeon_fence_wait_any(rdev, fences, false);
--		for (i = 0; i < RADEON_NUM_RINGS; ++i)
--			radeon_fence_unref(&fences[i]);
- 		spin_lock(&sa_manager->wq.lock);
- 		/* if we have nothing to wait for block */
- 		if (r == -ENOENT) {
diff --git a/debian/patches/debian/revert-libata-align-ata_device-s-id-on-a-cacheline.patch b/debian/patches/debian/revert-libata-align-ata_device-s-id-on-a-cacheline.patch
new file mode 100644
index 0000000..0e46845
--- /dev/null
+++ b/debian/patches/debian/revert-libata-align-ata_device-s-id-on-a-cacheline.patch
@@ -0,0 +1,24 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Mon, 14 Mar 2016 17:47:16 +0000
+Subject: Revert "libata: Align ata_device's id on a cacheline"
+Forwarded: not-needed
+
+This reverts commit 740b87f7f34c4731301ae7e953a9f8c6a797e3c2, which
+was commit 4ee34ea3a12396f35b26d90a094c75db95080baa upstream.  It's a
+real fix but we've lived with the problem for many years and it
+doesn't seem worth breaking ABI to fix it right now.
+---
+ include/linux/libata.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/include/linux/libata.h
++++ b/include/linux/libata.h
+@@ -707,7 +707,7 @@ struct ata_device {
+ 	union {
+ 		u16		id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */
+ 		u32		gscr[SATA_PMP_GSCR_DWORDS]; /* PMP GSCR block */
+-	} ____cacheline_aligned;
++	};
+ 
+ 	/* DEVSLP Timing Variables from Identify Device Data Log */
+ 	u8			devslp_timing[ATA_LOG_DEVSLP_SIZE];
diff --git a/debian/patches/debian/revert-net-ipv6-add-sysctl-option-accept_ra_min_hop_limit.patch b/debian/patches/debian/revert-net-ipv6-add-sysctl-option-accept_ra_min_hop_limit.patch
new file mode 100644
index 0000000..3137f41
--- /dev/null
+++ b/debian/patches/debian/revert-net-ipv6-add-sysctl-option-accept_ra_min_hop_limit.patch
@@ -0,0 +1,123 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sun, 01 May 2016 23:15:07 +0200
+Subject: Revert "net/ipv6: add sysctl option accept_ra_min_hop_limit"
+Forwarded: not-needed
+
+This reverts commit efd019f933a538e4147aee811e6b2dd7a1aafdef which was
+commit 8013d1d7eafb0589ca766db6b74026f76b7f5cb4 upstream.  It added a
+new member to struct ipv6_devconf, which is embedded in struct
+inet6_dev, which changes the symbol versions of many functions.  I
+don't think anything outside ipv6 should be touching either structure,
+but I'm hesitant to just hide the new member from genksyms.
+
+---
+--- a/Documentation/networking/ip-sysctl.txt
++++ b/Documentation/networking/ip-sysctl.txt
+@@ -1210,14 +1210,6 @@ accept_ra_defrtr - BOOLEAN
+ 	Functional default: enabled if accept_ra is enabled.
+ 			    disabled if accept_ra is disabled.
+ 
+-accept_ra_min_hop_limit - INTEGER
+-	Minimum hop limit Information in Router Advertisement.
+-
+-	Hop limit Information in Router Advertisement less than this
+-	variable shall be ignored.
+-
+-	Default: 1
+-
+ accept_ra_pinfo - BOOLEAN
+ 	Learn Prefix Information in Router Advertisement.
+ 
+--- a/include/linux/ipv6.h
++++ b/include/linux/ipv6.h
+@@ -29,7 +29,6 @@ struct ipv6_devconf {
+ 	__s32		max_desync_factor;
+ 	__s32		max_addresses;
+ 	__s32		accept_ra_defrtr;
+-	__s32		accept_ra_min_hop_limit;
+ 	__s32		accept_ra_pinfo;
+ #ifdef CONFIG_IPV6_ROUTER_PREF
+ 	__s32		accept_ra_rtr_pref;
+--- a/include/uapi/linux/ipv6.h
++++ b/include/uapi/linux/ipv6.h
+@@ -163,12 +163,6 @@ enum {
+ 	DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL,
+ 	DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL,
+ 	DEVCONF_SUPPRESS_FRAG_NDISC,
+-	DEVCONF_ACCEPT_RA_FROM_LOCAL,
+-	DEVCONF_USE_OPTIMISTIC,
+-	DEVCONF_ACCEPT_RA_MTU,
+-	DEVCONF_STABLE_SECRET,
+-	DEVCONF_USE_OIF_ADDRS_ONLY,
+-	DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT,
+ 	DEVCONF_MAX
+ };
+ 
+--- a/net/ipv6/addrconf.c
++++ b/net/ipv6/addrconf.c
+@@ -186,7 +186,6 @@ static struct ipv6_devconf ipv6_devconf
+ 	.max_desync_factor	= MAX_DESYNC_FACTOR,
+ 	.max_addresses		= IPV6_MAX_ADDRESSES,
+ 	.accept_ra_defrtr	= 1,
+-	.accept_ra_min_hop_limit= 1,
+ 	.accept_ra_pinfo	= 1,
+ #ifdef CONFIG_IPV6_ROUTER_PREF
+ 	.accept_ra_rtr_pref	= 1,
+@@ -223,7 +222,6 @@ static struct ipv6_devconf ipv6_devconf_
+ 	.max_desync_factor	= MAX_DESYNC_FACTOR,
+ 	.max_addresses		= IPV6_MAX_ADDRESSES,
+ 	.accept_ra_defrtr	= 1,
+-	.accept_ra_min_hop_limit= 1,
+ 	.accept_ra_pinfo	= 1,
+ #ifdef CONFIG_IPV6_ROUTER_PREF
+ 	.accept_ra_rtr_pref	= 1,
+@@ -4296,7 +4294,6 @@ static inline void ipv6_store_devconf(st
+ 	array[DEVCONF_MAX_DESYNC_FACTOR] = cnf->max_desync_factor;
+ 	array[DEVCONF_MAX_ADDRESSES] = cnf->max_addresses;
+ 	array[DEVCONF_ACCEPT_RA_DEFRTR] = cnf->accept_ra_defrtr;
+-	array[DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT] = cnf->accept_ra_min_hop_limit;
+ 	array[DEVCONF_ACCEPT_RA_PINFO] = cnf->accept_ra_pinfo;
+ #ifdef CONFIG_IPV6_ROUTER_PREF
+ 	array[DEVCONF_ACCEPT_RA_RTR_PREF] = cnf->accept_ra_rtr_pref;
+@@ -5080,13 +5077,6 @@ static struct addrconf_sysctl_table
+ 			.maxlen		= sizeof(int),
+ 			.mode		= 0644,
+ 			.proc_handler	= proc_dointvec,
+-		},
+-		{
+-			.procname	= "accept_ra_min_hop_limit",
+-			.data		= &ipv6_devconf.accept_ra_min_hop_limit,
+-			.maxlen		= sizeof(int),
+-			.mode		= 0644,
+-			.proc_handler	= proc_dointvec,
+ 		},
+ 		{
+ 			.procname	= "accept_ra_pinfo",
+--- a/net/ipv6/ndisc.c
++++ b/net/ipv6/ndisc.c
+@@ -1189,16 +1189,18 @@ static void ndisc_router_discovery(struc
+ 
+ 	if (rt)
+ 		rt6_set_expires(rt, jiffies + (HZ * lifetime));
+-	if (in6_dev->cnf.accept_ra_min_hop_limit < 256 &&
+-	    ra_msg->icmph.icmp6_hop_limit) {
+-		if (in6_dev->cnf.accept_ra_min_hop_limit <= ra_msg->icmph.icmp6_hop_limit) {
++	if (ra_msg->icmph.icmp6_hop_limit) {
++		/* Only set hop_limit on the interface if it is higher than
++		 * the current hop_limit.
++		 */
++		if (in6_dev->cnf.hop_limit < ra_msg->icmph.icmp6_hop_limit) {
+ 			in6_dev->cnf.hop_limit = ra_msg->icmph.icmp6_hop_limit;
+-			if (rt)
+-				dst_metric_set(&rt->dst, RTAX_HOPLIMIT,
+-					       ra_msg->icmph.icmp6_hop_limit);
+ 		} else {
+-			ND_PRINTK(2, warn, "RA: Got route advertisement with lower hop_limit than minimum\n");
++			ND_PRINTK(2, warn, "RA: Got route advertisement with lower hop_limit than current\n");
+ 		}
++		if (rt)
++			dst_metric_set(&rt->dst, RTAX_HOPLIMIT,
++				       ra_msg->icmph.icmp6_hop_limit);
+ 	}
+ 
+ skip_defrtr:
diff --git a/debian/patches/debian/route-fix-abi-change-in-3.16.7-ckt26.patch b/debian/patches/debian/route-fix-abi-change-in-3.16.7-ckt26.patch
new file mode 100644
index 0000000..1e1cf8b
--- /dev/null
+++ b/debian/patches/debian/route-fix-abi-change-in-3.16.7-ckt26.patch
@@ -0,0 +1,23 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sun, 08 May 2016 01:24:55 +0100
+Subject: route: Fix ABI change in 3.16.7-ckt26
+Forwarded: not-needed
+
+struct fib_nh_exception is always created and destroyed in
+net/ipv4/route.c and the new 'rcu' member will also only be used
+there.  It's already at the end of the structure so just hide it from
+genksyms.
+
+---
+--- a/include/net/ip_fib.h
++++ b/include/net/ip_fib.h
+@@ -59,7 +59,9 @@ struct fib_nh_exception {
+ 	struct rtable __rcu		*fnhe_rth_input;
+ 	struct rtable __rcu		*fnhe_rth_output;
+ 	unsigned long			fnhe_stamp;
++#ifndef __GENKSYMS__
+ 	struct rcu_head			rcu;
++#endif
+ };
+ 
+ struct fnhe_hash_bucket {
diff --git a/debian/patches/debian/tracing-avoid-abi-change-in-3.16.7-ckt26.patch b/debian/patches/debian/tracing-avoid-abi-change-in-3.16.7-ckt26.patch
new file mode 100644
index 0000000..e4bcf41
--- /dev/null
+++ b/debian/patches/debian/tracing-avoid-abi-change-in-3.16.7-ckt26.patch
@@ -0,0 +1,26 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Fri, 01 Apr 2016 02:32:56 +0100
+Subject: tracing: Avoid ABI change in 3.16.7-ckt26
+Forwarded: not-needed
+
+Hide the new #include's from genksyms.
+
+---
+--- a/include/linux/tracepoint.h
++++ b/include/linux/tracepoint.h
+@@ -14,11 +14,15 @@
+  * See the file COPYING for more details.
+  */
+ 
++#ifndef __GENKSYMS__
+ #include <linux/smp.h>
++#endif
+ #include <linux/errno.h>
+ #include <linux/types.h>
++#ifndef __GENKSYMS__
+ #include <linux/percpu.h>
+ #include <linux/cpumask.h>
++#endif
+ #include <linux/rcupdate.h>
+ #include <linux/static_key.h>
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 04af377..04ff4fc 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -647,16 +647,15 @@ debian/fix-abi-changes-for-cve-2013-4312-fix.patch
 debian/drm-fix-abi-change-in-3.16.7-ckt22.patch
 bugfix/all/aufs-tiny-extract-a-new-func-xino_fwrite_wkq.patch
 bugfix/all/aufs-for-4.3-xino-handles-eintr-from-the-dying-proce.patch
-bugfix/all/af_unix-guard-against-other-sk-in-unix_dgram_sendmsg.patch
-bugfix/all/aio-properly-check-iovec-sizes.patch
 debian/enclosure-fix-abi-change-in-3.16.7-ckt23.patch
 debian/revert-cgroup-make-sure-a-parent-css-isn-t-offlined.patch
-bugfix/all/crypto-blk-giv-cipher-set-has_setkey.patch
 debian/crypto-fix-abi-change-in-3.16.7-ckt25.patch
 bugfix/all/ip_vti-ip6_vti-do-not-touch-skb-mark-on-xmit.patch
 bugfix/all/xfrm-override-skb-mark-with-tunnel-parm.i_key-in-xfr.patch
 bugfix/all/ip_vti-ip6_vti-preserve-skb-mark-after-rcv_cb-call.patch
-bugfix/all/revert-drm-radeon-hold-reference-to-fences-in-radeon.patch
-bugfix/all/revert-drm-radeon-call-hpd_irq_event-on-resume.patch
 bugfix/all/revert-usb-hub-do-not-clear-bos-field-during-reset-d.patch
 bugfix/x86/kvm-x86-bit-ops-emulation-ignores-offset-on-64-bit.patch
+debian/revert-net-ipv6-add-sysctl-option-accept_ra_min_hop_limit.patch
+debian/revert-libata-align-ata_device-s-id-on-a-cacheline.patch
+debian/tracing-avoid-abi-change-in-3.16.7-ckt26.patch
+debian/route-fix-abi-change-in-3.16.7-ckt26.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list