[linux] 01/02: Update to 3.2.72
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Wed Oct 14 02:15:31 UTC 2015
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch wheezy
in repository linux.
commit d6b190b67e72521eace9220a233e50d674ebb500
Author: Ben Hutchings <ben at decadent.org.uk>
Date: Wed Oct 14 01:27:51 2015 +0100
Update to 3.2.72
Drop patches that were included in it.
Refresh drm-3.4 patch.
Work around an ABI change.
---
debian/changelog | 93 +++++++++++++++
...rconf-validate-new-MTU-before-applying-it.patch | 61 ----------
.../md-use-kzalloc-when-bitmap-is-disabled.patch | 47 --------
...the-underlying-transport-exists-before-cr.patch | 74 ------------
.../all/virtio-net-drop-netif_f_fraglist.patch | 36 ------
.../debian/x86-mm-avoid-abi-change-in-3.2.72.patch | 28 +++++
debian/patches/features/all/drm/drm-3.4.patch | 60 ++++++++--
...-log-tail-updates-with-j_checkpoint_mutex.patch | 128 ---------------------
debian/patches/series | 6 +-
9 files changed, 173 insertions(+), 360 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 08eb1b7..69c2f7c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,96 @@
+linux (3.2.72-1) UNRELEASED; urgency=medium
+
+ * New upstream stable update:
+ http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.2.72
+ - xen/gntdevt: Fix race condition in gntdev_release()
+ - [armel/ixp4xx] crypto: Remove bogus BUG_ON on scattered dst buffer
+ - target/iscsi: Fix double free of a TUR followed by a solicited NOPOUT
+ - md/raid1: extend spinlock to protect raid1_end_read_request against
+ inconsistencies
+ - target: REPORT LUNS should return LUN 0 even for dynamic ACLs
+ - [mips*] Fix sched_getaffinity with MT FPAFF enabled
+ - xhci: fix off by one error in TRB DMA address boundary check
+ - rds: fix an integer overflow test in rds_info_getsockopt()
+ - perf: Fix fasync handling on inherited events
+ - [mips*] Make set_pte() SMP safe.
+ - ocfs2: fix BUG in ocfs2_downconvert_thread_do_work()
+ - net: Clone skb before setting peeked flag
+ - net: Fix skb_set_peeked use-after-free bug
+ - [x86] ldt: Make modify_ldt synchronous
+ - [x86] ldt: Correct LDT access in single stepping logic
+ - [x86] ldt: Correct FPU emulation access to LDT
+ - dm btree: add ref counting ops for the leaves of top level btrees
+ - libiscsi: Fix host busy blocking during connection teardown
+ - libfc: Fix fc_fcp_cleanup_each_cmd()
+ - ipc,sem: fix use after free on IPC_RMID after a task using same semaphore
+ set exits
+ - [x86] ldt: Further fix FPU emulation
+ - net: Fix RCU splat in af_key
+ - sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state
+ - [sparc] Fix userspace FPU register corruptions. (Closes: #789180)
+ - dcache: Handle escaped paths in prepend_path
+ - vfs: Test for and handle paths that are unreachable from their mnt_root
+ - rc-core: fix remove uevent generation
+ - PCI: Fix TI816X class code quirk
+ - mac80211: enable assoc check for mesh interfaces
+ - PCI: Add VPD function 0 quirk for Intel Ethernet devices
+ - usb: gadget: m66592-udc: forever loop in set_feature()
+ - KVM: MMU: fix validation of mmio page fault
+ - auxdisplay: ks0108: fix refcount
+ - devres: fix devres_get()
+ - [powerpc] windfarm: decrement client count when unregistering
+ - NFSv4: don't set SETATTR for O_RDONLY|O_EXCL
+ - usb: host: ehci-sys: delete useless bus_to_hcd conversion
+ - eCryptfs: Invalidate dcache entries when lower i_nlink is zero
+ - xfs: Fix xfs_attr_leafblock definition
+ - of/address: Don't loop forever in of_find_matching_node_by_address().
+ - drivercore: Fix unregistration path of platform devices
+ - xfs: return errors from partial I/O failures to files
+ - IB/qib: Change lkey table allocation to support more MRs
+ - SUNRPC: xs_reset_transport must mark the connection as disconnected
+ - IB/mlx4: Use correct SL on AH query under RoCE
+ - IB/uverbs: Fix race between ib_uverbs_open and remove_one
+ - IB/uverbs: reject invalid or unknown opcodes
+ - Input: evdev - do not report errors form flush()
+ - [x86] crypto: ghash-clmulni: specify context size for ghash async
+ algorithm
+ - fs: create and use seq_show_option for escaping
+ - ARM: 8429/1: disable GCC SRA optimization
+ - pagemap: hide physical addresses from non-privileged users
+ - [powerpc] MSI: Fix race condition in tearing down MSI interrupts
+ - hfs,hfsplus: cache pages correctly between bnode_create and bnode_free
+ - hfs: fix B-tree corruption after insertion at position 0
+ - perf header: Fixup reading of HEADER_NRCPUS feature
+ - USB: option: add ZTE PIDs
+ - Btrfs: fix read corruption of compressed and shared extents
+ - btrfs: skip waiting on ordered range for special files
+ - [armhf] 7880/1: Clear the IT state independent of the Thumb-2 mode
+ - [i386] platform: Fix Geode LX timekeeping in the generic x86 build
+ - [s390*] compat: correct uc_sigmask of the compat signal frame
+ - [x86] KVM: trap AMD MSRs for the TSeg base and mask
+ - usb: Use the USB_SS_MULT() macro to get the burst multiplier.
+ - xhci: give command abortion one more chance before killing xhci
+ - usb: xhci: Clear XHCI_STATE_DYING on start
+ - xhci: change xhci 1.0 only restrictions to support xhci 1.1
+ - cifs: use server timestamp for ntlmv2 authentication
+ - [x86] paravirt: Replace the paravirt nop with a bona fide empty function
+ - ocfs2/dlm: fix deadlock when dispatch assert master
+ - USB: whiteheat: fix potential null-deref at probe
+ - ipc/sem.c: fully initialize sem_array before making it visible
+ - Initialize msg/shm IPC objects before doing ipc_addid()
+ - net/tipc: initialize security state for new connection socket
+ - net: pktgen: fix race between pktgen_thread_worker() and kthread_stop()
+ - net: Fix skb csum races when peeking
+ - ipv6: lock socket in ip6_datagram_connect()
+ - bonding: correct the MAC address for "follow" fail_over_mac policy
+ - net/ipv6: Correct PIM6 mrt_lock handling
+ - fib_rules: fix fib rule dumps across multiple skbs
+ - ipv6: prevent fib6_run_gc() contention
+ - ipv6: update ip6_rt_last_gc every time GC is run
+ - jbd2: avoid infinite loop when destroying aborted journal
+
+ -- Ben Hutchings <ben at decadent.org.uk> Wed, 14 Oct 2015 01:11:17 +0100
+
linux (3.2.71-2) wheezy; urgency=medium
* Ignore ABI changes in drivers/net/wireless/* (fixes FTBFS on i386)
diff --git a/debian/patches/bugfix/all/ipv6-addrconf-validate-new-MTU-before-applying-it.patch b/debian/patches/bugfix/all/ipv6-addrconf-validate-new-MTU-before-applying-it.patch
deleted file mode 100644
index 11609b4..0000000
--- a/debian/patches/bugfix/all/ipv6-addrconf-validate-new-MTU-before-applying-it.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From: Marcelo Leitner <mleitner at redhat.com>
-Date: Mon, 23 Feb 2015 11:17:13 -0300
-Subject: ipv6: addrconf: validate new MTU before applying it
-Origin: https://git.kernel.org/linus/77751427a1ff25b27d47a4c36b12c3c8667855ac
-
-Currently we don't check if the new MTU is valid or not and this allows
-one to configure a smaller than minimum allowed by RFCs or even bigger
-than interface own MTU, which is a problem as it may lead to packet
-drops.
-
-If you have a daemon like NetworkManager running, this may be exploited
-by remote attackers by forging RA packets with an invalid MTU, possibly
-leading to a DoS. (NetworkManager currently only validates for values
-too small, but not for too big ones.)
-
-The fix is just to make sure the new value is valid. That is, between
-IPV6_MIN_MTU and interface's MTU.
-
-Note that similar check is already performed at
-ndisc_router_discovery(), for when kernel itself parses the RA.
-
-Signed-off-by: Marcelo Ricardo Leitner <mleitner at redhat.com>
-Signed-off-by: Sabrina Dubroca <sd at queasysnail.net>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
- net/ipv6/addrconf.c | 17 ++++++++++++++++-
- 1 file changed, 16 insertions(+), 1 deletion(-)
-
---- a/net/ipv6/addrconf.c
-+++ b/net/ipv6/addrconf.c
-@@ -4321,6 +4321,21 @@ int addrconf_sysctl_forward(ctl_table *c
- return ret;
- }
-
-+static
-+int addrconf_sysctl_mtu(struct ctl_table *ctl, int write,
-+ void __user *buffer, size_t *lenp, loff_t *ppos)
-+{
-+ struct inet6_dev *idev = ctl->extra1;
-+ int min_mtu = IPV6_MIN_MTU;
-+ struct ctl_table lctl;
-+
-+ lctl = *ctl;
-+ lctl.extra1 = &min_mtu;
-+ lctl.extra2 = idev ? &idev->dev->mtu : NULL;
-+
-+ return proc_dointvec_minmax(&lctl, write, buffer, lenp, ppos);
-+}
-+
- static void dev_disable_change(struct inet6_dev *idev)
- {
- if (!idev || !idev->dev)
-@@ -4421,7 +4436,7 @@ static struct addrconf_sysctl_table
- .data = &ipv6_devconf.mtu6,
- .maxlen = sizeof(int),
- .mode = 0644,
-- .proc_handler = proc_dointvec,
-+ .proc_handler = addrconf_sysctl_mtu,
- },
- {
- .procname = "accept_ra",
diff --git a/debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch b/debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch
deleted file mode 100644
index ac8669a..0000000
--- a/debian/patches/bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From: Benjamin Randazzo <benjamin at randazzo.fr>
-Date: Sat, 25 Jul 2015 16:36:50 +0200
-Subject: md: use kzalloc() when bitmap is disabled
-Origin: http://git.neil.brown.name/?p=md.git;a=commit;h=77ba0569d4c8389c0a2162ab0c7c16a6f3b199e4
-
-In drivers/md/md.c get_bitmap_file() uses kmalloc() for creating a
-mdu_bitmap_file_t called "file".
-
-5769 file = kmalloc(sizeof(*file), GFP_NOIO);
-5770 if (!file)
-5771 return -ENOMEM;
-
-This structure is copied to user space at the end of the function.
-
-5786 if (err == 0 &&
-5787 copy_to_user(arg, file, sizeof(*file)))
-5788 err = -EFAULT
-
-But if bitmap is disabled only the first byte of "file" is initialized
-with zero, so it's possible to read some bytes (up to 4095) of kernel
-space memory from user space. This is an information leak.
-
-5775 /* bitmap disabled, zero the first byte and copy out */
-5776 if (!mddev->bitmap_info.file)
-5777 file->pathname[0] = '\0';
-
-Signed-off-by: Benjamin Randazzo <benjamin at randazzo.fr>
-Signed-off-by: NeilBrown <neilb at suse.com>
-[bwh: Backported to 3.2:
- - Don't touch anything but the allocation call, as the following code is
- significantly different here
- - Patch both possible allocation calls]
----
---- a/drivers/md/md.c
-+++ b/drivers/md/md.c
-@@ -5384,9 +5384,9 @@ static int get_bitmap_file(struct mddev
- int err = -ENOMEM;
-
- if (md_allow_write(mddev))
-- file = kmalloc(sizeof(*file), GFP_NOIO);
-+ file = kzalloc(sizeof(*file), GFP_NOIO);
- else
-- file = kmalloc(sizeof(*file), GFP_KERNEL);
-+ file = kzalloc(sizeof(*file), GFP_KERNEL);
-
- if (!file)
- goto out;
diff --git a/debian/patches/bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch b/debian/patches/bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch
deleted file mode 100644
index 717aa9a..0000000
--- a/debian/patches/bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From: Sasha Levin <sasha.levin at oracle.com>
-Date: Tue, 8 Sep 2015 10:53:40 -0400
-Subject: RDS: verify the underlying transport exists before creating a
- connection
-Origin: https://git.kernel.org/linus/74e98eb085889b0d2d4908f59f6e00026063014f
-
-There was no verification that an underlying transport exists when creating
-a connection, this would cause dereferencing a NULL ptr.
-
-It might happen on sockets that weren't properly bound before attempting to
-send a message, which will cause a NULL ptr deref:
-
-[135546.047719] kasan: GPF could be caused by NULL-ptr deref or user memory accessgeneral protection fault: 0000 [#1] PREEMPT SMP DEBUG_PAGEALLOC KASAN
-[135546.051270] Modules linked in:
-[135546.051781] CPU: 4 PID: 15650 Comm: trinity-c4 Not tainted 4.2.0-next-20150902-sasha-00041-gbaa1222-dirty #2527
-[135546.053217] task: ffff8800835bc000 ti: ffff8800bc708000 task.ti: ffff8800bc708000
-[135546.054291] RIP: __rds_conn_create (net/rds/connection.c:194)
-[135546.055666] RSP: 0018:ffff8800bc70fab0 EFLAGS: 00010202
-[135546.056457] RAX: dffffc0000000000 RBX: 0000000000000f2c RCX: ffff8800835bc000
-[135546.057494] RDX: 0000000000000007 RSI: ffff8800835bccd8 RDI: 0000000000000038
-[135546.058530] RBP: ffff8800bc70fb18 R08: 0000000000000001 R09: 0000000000000000
-[135546.059556] R10: ffffed014d7a3a23 R11: ffffed014d7a3a21 R12: 0000000000000000
-[135546.060614] R13: 0000000000000001 R14: ffff8801ec3d0000 R15: 0000000000000000
-[135546.061668] FS: 00007faad4ffb700(0000) GS:ffff880252000000(0000) knlGS:0000000000000000
-[135546.062836] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
-[135546.063682] CR2: 000000000000846a CR3: 000000009d137000 CR4: 00000000000006a0
-[135546.064723] Stack:
-[135546.065048] ffffffffafe2055c ffffffffafe23fc1 ffffed00493097bf ffff8801ec3d0008
-[135546.066247] 0000000000000000 00000000000000d0 0000000000000000 ac194a24c0586342
-[135546.067438] 1ffff100178e1f78 ffff880320581b00 ffff8800bc70fdd0 ffff880320581b00
-[135546.068629] Call Trace:
-[135546.069028] ? __rds_conn_create (include/linux/rcupdate.h:856 net/rds/connection.c:134)
-[135546.069989] ? rds_message_copy_from_user (net/rds/message.c:298)
-[135546.071021] rds_conn_create_outgoing (net/rds/connection.c:278)
-[135546.071981] rds_sendmsg (net/rds/send.c:1058)
-[135546.072858] ? perf_trace_lock (include/trace/events/lock.h:38)
-[135546.073744] ? lockdep_init (kernel/locking/lockdep.c:3298)
-[135546.074577] ? rds_send_drop_to (net/rds/send.c:976)
-[135546.075508] ? __might_fault (./arch/x86/include/asm/current.h:14 mm/memory.c:3795)
-[135546.076349] ? __might_fault (mm/memory.c:3795)
-[135546.077179] ? rds_send_drop_to (net/rds/send.c:976)
-[135546.078114] sock_sendmsg (net/socket.c:611 net/socket.c:620)
-[135546.078856] SYSC_sendto (net/socket.c:1657)
-[135546.079596] ? SYSC_connect (net/socket.c:1628)
-[135546.080510] ? trace_dump_stack (kernel/trace/trace.c:1926)
-[135546.081397] ? ring_buffer_unlock_commit (kernel/trace/ring_buffer.c:2479 kernel/trace/ring_buffer.c:2558 kernel/trace/ring_buffer.c:2674)
-[135546.082390] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749)
-[135546.083410] ? trace_event_raw_event_sys_enter (include/trace/events/syscalls.h:16)
-[135546.084481] ? do_audit_syscall_entry (include/trace/events/syscalls.h:16)
-[135546.085438] ? trace_buffer_unlock_commit (kernel/trace/trace.c:1749)
-[135546.085515] rds_ib_laddr_check(): addr 36.74.25.172 ret -99 node type -1
-
-Acked-by: Santosh Shilimkar <santosh.shilimkar at oracle.com>
-Signed-off-by: Sasha Levin <sasha.levin at oracle.com>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
- net/rds/connection.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
---- a/net/rds/connection.c
-+++ b/net/rds/connection.c
-@@ -178,6 +178,12 @@ static struct rds_connection *__rds_conn
- }
- }
-
-+ if (trans == NULL) {
-+ kmem_cache_free(rds_conn_slab, conn);
-+ conn = ERR_PTR(-ENODEV);
-+ goto out;
-+ }
-+
- conn->c_trans = trans;
-
- ret = trans->conn_alloc(conn, gfp);
diff --git a/debian/patches/bugfix/all/virtio-net-drop-netif_f_fraglist.patch b/debian/patches/bugfix/all/virtio-net-drop-netif_f_fraglist.patch
deleted file mode 100644
index d4eb8bd..0000000
--- a/debian/patches/bugfix/all/virtio-net-drop-netif_f_fraglist.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From: Jason Wang <jasowang at redhat.com>
-Date: Wed, 5 Aug 2015 10:34:04 +0800
-Subject: virtio-net: drop NETIF_F_FRAGLIST
-Origin: https://git.kernel.org/linus/48900cb6af4282fa0fb6ff4d72a81aa3dadb5c39
-
-virtio declares support for NETIF_F_FRAGLIST, but assumes
-that there are at most MAX_SKB_FRAGS + 2 fragments which isn't
-always true with a fraglist.
-
-A longer fraglist in the skb will make the call to skb_to_sgvec overflow
-the sg array, leading to memory corruption.
-
-Drop NETIF_F_FRAGLIST so we only get what we can handle.
-
-Cc: Michael S. Tsirkin <mst at redhat.com>
-Signed-off-by: Jason Wang <jasowang at redhat.com>
-Acked-by: Michael S. Tsirkin <mst at redhat.com>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
- drivers/net/virtio_net.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
---- a/drivers/net/virtio_net.c
-+++ b/drivers/net/virtio_net.c
-@@ -981,9 +981,9 @@ static int virtnet_probe(struct virtio_d
- /* Do we support "hardware" checksums? */
- if (virtio_has_feature(vdev, VIRTIO_NET_F_CSUM)) {
- /* This opens up the world of extra features. */
-- dev->hw_features |= NETIF_F_HW_CSUM|NETIF_F_SG|NETIF_F_FRAGLIST;
-+ dev->hw_features |= NETIF_F_HW_CSUM | NETIF_F_SG;
- if (csum)
-- dev->features |= NETIF_F_HW_CSUM|NETIF_F_SG|NETIF_F_FRAGLIST;
-+ dev->features |= NETIF_F_HW_CSUM | NETIF_F_SG;
-
- if (virtio_has_feature(vdev, VIRTIO_NET_F_GSO)) {
- dev->hw_features |= NETIF_F_TSO | NETIF_F_UFO
diff --git a/debian/patches/debian/x86-mm-avoid-abi-change-in-3.2.72.patch b/debian/patches/debian/x86-mm-avoid-abi-change-in-3.2.72.patch
new file mode 100644
index 0000000..d85c107
--- /dev/null
+++ b/debian/patches/debian/x86-mm-avoid-abi-change-in-3.2.72.patch
@@ -0,0 +1,28 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Tue, 22 Sep 2015 18:19:39 +0200
+Subject: x86/mm: Avoid ABI change in 3.2.72
+Forwarded: not-needed
+
+Commit 37868fe113ff "x86/ldt: Make modify_ldt synchronous" was
+backported in 3.2.72 and made an incompatible change to
+mm_context_t. Luckily it shrank the structure so we can just insert
+padding to preserve the old layout. No modular code should be
+touching the members which have changed.
+
+---
+--- a/arch/x86/include/asm/mmu.h
++++ b/arch/x86/include/asm/mmu.h
+@@ -9,7 +9,13 @@
+ * we put the segment information here.
+ */
+ typedef struct {
++#ifdef __GENKSYMS__
++ void *ldt;
++ int size;
++#else
+ struct ldt_struct *ldt;
++ int pad;
++#endif
+
+ #ifdef CONFIG_X86_64
+ /* True if mm supports a task running in 32 bit compatibility mode. */
diff --git a/debian/patches/features/all/drm/drm-3.4.patch b/debian/patches/features/all/drm/drm-3.4.patch
index ea08058..2c2d2d96 100644
--- a/debian/patches/features/all/drm/drm-3.4.patch
+++ b/debian/patches/features/all/drm/drm-3.4.patch
@@ -45495,7 +45495,7 @@ index ead5d00..21a8271 100644
return ret;
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
-index a0b69ae0..e97ed61 100644
+index 9b9f447..e97ed61 100644
--- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
+++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
@@ -203,9 +203,9 @@ i915_gem_object_set_to_gpu_domain(struct drm_i915_gem_object *obj,
@@ -45729,6 +45729,21 @@ index a0b69ae0..e97ed61 100644
ret = -EFAULT;
mutex_lock(&dev->struct_mutex);
goto err;
+@@ -950,13 +1000,13 @@ i915_gem_execbuffer_move_to_active(struct list_head *objects,
+ u32 old_write = obj->base.write_domain;
+
+
+- obj->dirty = 1; /* be paranoid */
+ obj->base.read_domains = obj->base.pending_read_domains;
+ obj->base.write_domain = obj->base.pending_write_domain;
+ obj->fenced_gpu_access = obj->pending_fenced_gpu_access;
+
+ i915_gem_object_move_to_active(obj, ring, seqno);
+ if (obj->base.write_domain) {
++ obj->dirty = 1;
+ obj->pending_gpu_write = true;
+ list_move_tail(&obj->gpu_write_list,
+ &ring->gpu_write_list);
@@ -998,6 +1048,31 @@ i915_gem_execbuffer_retire_commands(struct drm_device *dev,
}
@@ -85964,7 +85979,7 @@ index b6e18c8..9c6b29a 100644
tmp = RREG32_PLL(RADEON_VCLK_ECP_CNTL);
tmp &= ~(RADEON_PIXCLK_ALWAYS_ONb |
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
-index 21e689d..cf5dd63 100644
+index 87a677e..cf5dd63 100644
--- a/drivers/gpu/drm/radeon/radeon_combios.c
+++ b/drivers/gpu/drm/radeon/radeon_combios.c
@@ -1259,15 +1259,10 @@ struct radeon_encoder_lvds *radeon_combios_get_lvds_info(struct radeon_encoder
@@ -86018,11 +86033,38 @@ index 21e689d..cf5dd63 100644
}
break;
default:
+@@ -3399,14 +3394,6 @@ void radeon_combios_asic_init(struct drm_device *dev)
+ rdev->pdev->subsystem_device == 0x30ae)
+ return;
+
+- /* quirk for rs4xx HP Compaq dc5750 Small Form Factor to make it resume
+- * - it hangs on resume inside the dynclk 1 table.
+- */
+- if (rdev->family == CHIP_RS480 &&
+- rdev->pdev->subsystem_vendor == 0x103c &&
+- rdev->pdev->subsystem_device == 0x280a)
+- return;
+-
+ /* DYN CLK 1 */
+ table = combios_get_table_offset(dev, COMBIOS_DYN_CLK_1_TABLE);
+ if (table)
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
-index 683cede1..9184bbe 100644
+index 6303fc8..9184bbe 100644
--- a/drivers/gpu/drm/radeon/radeon_connectors.c
+++ b/drivers/gpu/drm/radeon/radeon_connectors.c
-@@ -846,6 +846,27 @@ static int radeon_dvi_get_modes(struct drm_connector *connector)
+@@ -82,11 +82,6 @@ void radeon_connector_hotplug(struct drm_connector *connector)
+ if (!radeon_hpd_sense(rdev, radeon_connector->hpd.hpd)) {
+ drm_helper_connector_dpms(connector, DRM_MODE_DPMS_OFF);
+ } else if (radeon_dp_needs_link_train(radeon_connector)) {
+- /* Don't try to start link training before we
+- * have the dpcd */
+- if (!radeon_dp_getdpcd(radeon_connector))
+- return;
+-
+ /* set it to OFF so that drm_helper_connector_dpms()
+ * won't return immediately since the current state
+ * is ON at this point.
+@@ -851,6 +846,27 @@ static int radeon_dvi_get_modes(struct drm_connector *connector)
return ret;
}
@@ -86050,7 +86092,7 @@ index 683cede1..9184bbe 100644
/*
* DVI is complicated
* Do a DDC probe, if DDC probe passes, get the full EDID so
-@@ -870,6 +891,9 @@ radeon_dvi_detect(struct drm_connector *connector, bool force)
+@@ -875,6 +891,9 @@ radeon_dvi_detect(struct drm_connector *connector, bool force)
enum drm_connector_status ret = connector_status_disconnected;
bool dret = false;
@@ -86060,7 +86102,7 @@ index 683cede1..9184bbe 100644
if (radeon_connector->ddc_bus)
dret = radeon_ddc_probe(radeon_connector, false);
if (dret) {
-@@ -1080,7 +1104,7 @@ static int radeon_dvi_mode_valid(struct drm_connector *connector,
+@@ -1085,7 +1104,7 @@ static int radeon_dvi_mode_valid(struct drm_connector *connector,
(radeon_connector->connector_object_id == CONNECTOR_OBJECT_ID_HDMI_TYPE_B))
return MODE_OK;
else if (radeon_connector->connector_object_id == CONNECTOR_OBJECT_ID_HDMI_TYPE_A) {
@@ -86069,7 +86111,7 @@ index 683cede1..9184bbe 100644
/* HDMI 1.3+ supports max clock of 340 Mhz */
if (mode->clock > 340000)
return MODE_CLOCK_HIGH;
-@@ -1140,13 +1164,23 @@ static int radeon_dp_get_modes(struct drm_connector *connector)
+@@ -1145,13 +1164,23 @@ static int radeon_dp_get_modes(struct drm_connector *connector)
(connector->connector_type == DRM_MODE_CONNECTOR_LVDS)) {
struct drm_display_mode *mode;
@@ -86100,7 +86142,7 @@ index 683cede1..9184bbe 100644
if (ret > 0) {
if (encoder) {
-@@ -1157,7 +1191,6 @@ static int radeon_dp_get_modes(struct drm_connector *connector)
+@@ -1162,7 +1191,6 @@ static int radeon_dp_get_modes(struct drm_connector *connector)
return ret;
}
@@ -86108,7 +86150,7 @@ index 683cede1..9184bbe 100644
if (!encoder)
return 0;
-@@ -1264,6 +1297,9 @@ radeon_dp_detect(struct drm_connector *connector, bool force)
+@@ -1269,6 +1297,9 @@ radeon_dp_detect(struct drm_connector *connector, bool force)
struct radeon_connector_atom_dig *radeon_dig_connector = radeon_connector->con_priv;
struct drm_encoder *encoder = radeon_best_single_encoder(connector);
diff --git a/debian/patches/jbd2-protect-all-log-tail-updates-with-j_checkpoint_mutex.patch b/debian/patches/jbd2-protect-all-log-tail-updates-with-j_checkpoint_mutex.patch
deleted file mode 100644
index 1e1dfc9..0000000
--- a/debian/patches/jbd2-protect-all-log-tail-updates-with-j_checkpoint_mutex.patch
+++ /dev/null
@@ -1,128 +0,0 @@
-From: Jan Kara <jack at suse.cz>
-Date: Tue, 13 Mar 2012 15:43:04 -0400
-Subject: jbd2: protect all log tail updates with j_checkpoint_mutex
-
-commit a78bb11d7acd525623c6a0c2ff4e213d527573fa upstream.
-
-There are some log tail updates that are not protected by j_checkpoint_mutex.
-Some of these are harmless because they happen during startup or shutdown but
-updates in jbd2_journal_commit_transaction() and jbd2_journal_flush() can
-really race with other log tail updates (e.g. someone doing
-jbd2_journal_flush() with someone running jbd2_cleanup_journal_tail()). So
-protect all log tail updates with j_checkpoint_mutex.
-
-Signed-off-by: Jan Kara <jack at suse.cz>
-Signed-off-by: "Theodore Ts'o" <tytso at mit.edu>
-[bwh: Backported to 3.2:
- - Adjust context
- - Add unlock on the error path in jbd2_journal_flush()]
-Signed-off-by: Ben Hutchings <ben at decadent.org.uk>
----
- fs/jbd2/commit.c | 2 ++
- fs/jbd2/journal.c | 19 ++++++++++++++++---
- 2 files changed, 18 insertions(+), 3 deletions(-)
-
---- a/fs/jbd2/commit.c
-+++ b/fs/jbd2/commit.c
-@@ -340,6 +340,7 @@ void jbd2_journal_commit_transaction(jou
- /* Do we need to erase the effects of a prior jbd2_journal_flush? */
- if (journal->j_flags & JBD2_FLUSHED) {
- jbd_debug(3, "super block updated\n");
-+ mutex_lock(&journal->j_checkpoint_mutex);
- /*
- * We hold j_checkpoint_mutex so tail cannot change under us.
- * We don't need any special data guarantees for writing sb
-@@ -350,6 +351,7 @@ void jbd2_journal_commit_transaction(jou
- journal->j_tail_sequence,
- journal->j_tail,
- WRITE_SYNC);
-+ mutex_unlock(&journal->j_checkpoint_mutex);
- } else {
- jbd_debug(3, "superblock not updated\n");
- }
---- a/fs/jbd2/journal.c
-+++ b/fs/jbd2/journal.c
-@@ -1242,6 +1242,8 @@ static int journal_reset(journal_t *jour
- journal->j_errno);
- journal->j_flags |= JBD2_FLUSHED;
- } else {
-+ /* Lock here to make assertions happy... */
-+ mutex_lock(&journal->j_checkpoint_mutex);
- /*
- * Update log tail information. We use WRITE_FUA since new
- * transaction will start reusing journal space and so we
-@@ -1252,6 +1254,7 @@ static int journal_reset(journal_t *jour
- journal->j_tail_sequence,
- journal->j_tail,
- WRITE_FUA);
-+ mutex_unlock(&journal->j_checkpoint_mutex);
- }
- return jbd2_journal_start_thread(journal);
- }
-@@ -1314,6 +1317,7 @@ int jbd2_journal_update_sb_log_tail(jour
- journal_superblock_t *sb = journal->j_superblock;
- int ret;
-
-+ BUG_ON(!mutex_is_locked(&journal->j_checkpoint_mutex));
- jbd_debug(1, "JBD2: updating superblock (start %lu, seq %u)\n",
- tail_block, tail_tid);
-
-@@ -1344,6 +1348,7 @@ static void jbd2_mark_journal_empty(jour
- {
- journal_superblock_t *sb = journal->j_superblock;
-
-+ BUG_ON(!mutex_is_locked(&journal->j_checkpoint_mutex));
- read_lock(&journal->j_state_lock);
- jbd_debug(1, "JBD2: Marking journal as empty (seq %d)\n",
- journal->j_tail_sequence);
-@@ -1577,9 +1582,11 @@ int jbd2_journal_destroy(journal_t *jour
- spin_unlock(&journal->j_list_lock);
-
- if (journal->j_sb_buffer) {
-- if (!is_journal_aborted(journal))
-+ if (!is_journal_aborted(journal)) {
-+ mutex_lock(&journal->j_checkpoint_mutex);
- jbd2_mark_journal_empty(journal);
-- else
-+ mutex_unlock(&journal->j_checkpoint_mutex);
-+ } else
- err = -EIO;
- brelse(journal->j_sb_buffer);
- }
-@@ -1828,10 +1835,13 @@ int jbd2_journal_flush(journal_t *journa
- if (is_journal_aborted(journal))
- return -EIO;
-
-+ mutex_lock(&journal->j_checkpoint_mutex);
- if (!err) {
- err = jbd2_cleanup_journal_tail(journal);
-- if (err < 0)
-+ if (err < 0) {
-+ mutex_unlock(&journal->j_checkpoint_mutex);
- goto out;
-+ }
- err = 0;
- }
-
-@@ -1841,6 +1851,7 @@ int jbd2_journal_flush(journal_t *journa
- * commits of data to the journal will restore the current
- * s_start value. */
- jbd2_mark_journal_empty(journal);
-+ mutex_unlock(&journal->j_checkpoint_mutex);
- write_lock(&journal->j_state_lock);
- J_ASSERT(!journal->j_running_transaction);
- J_ASSERT(!journal->j_committing_transaction);
-@@ -1882,8 +1893,12 @@ int jbd2_journal_wipe(journal_t *journal
- write ? "Clearing" : "Ignoring");
-
- err = jbd2_journal_skip_recovery(journal);
-- if (write)
-+ if (write) {
-+ /* Lock to make assertions happy... */
-+ mutex_lock(&journal->j_checkpoint_mutex);
- jbd2_mark_journal_empty(journal);
-+ mutex_unlock(&journal->j_checkpoint_mutex);
-+ }
-
- no_recovery:
- return err;
diff --git a/debian/patches/series b/debian/patches/series
index 443080f..0254572 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1153,12 +1153,8 @@ features/all/hpsa/0010-hpsa-add-in-gen9-controller-model-names.patch
features/all/hpsa/0011-hpsa-add-in-P840ar-controller-model-name.patch
bugfix/all/netfilter-ipset-Check-and-reject-crazy-0-input-param.patch
-bugfix/all/md-use-kzalloc-when-bitmap-is-disabled.patch
debian/revert-acpica-utilities-split-io-address-types-from-.patch
-bugfix/all/ipv6-addrconf-validate-new-MTU-before-applying-it.patch
-bugfix/all/virtio-net-drop-netif_f_fraglist.patch
-bugfix/all/rds-verify-the-underlying-transport-exists-before-cr.patch
debian/revert-libata-ignore-spurious-phy-event-on-lpm-polic.patch
debian/usb-avoid-abi-change-in-3.2.69.patch
debian/bh-avoid-abi-change-in-3.2.71.patch
-jbd2-protect-all-log-tail-updates-with-j_checkpoint_mutex.patch
+debian/x86-mm-avoid-abi-change-in-3.2.72.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