[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