[linux] 02/02: Update to 4.7.5
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Sun Sep 25 03:40:52 UTC 2016
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch sid
in repository linux.
commit bdec0fe8f0345ab494b80c14a509070c1932df32
Author: Ben Hutchings <ben at decadent.org.uk>
Date: Sun Sep 25 01:33:08 2016 +0100
Update to 4.7.5
---
debian/changelog | 137 ++++++++++++++++++++-
...ent-premature-oom-killer-invocation-for-h.patch | 121 ------------------
...e-after-free-in-tcp_xmit_retransmit_queue.patch | 50 --------
.../debian/uaccess-avoid-abi-change-in-4.7.5.patch | 33 +++++
.../debian/uio-fix-abi-change-in-4.7.5.patch | 28 +++++
debian/patches/series | 4 +-
6 files changed, 199 insertions(+), 174 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 890cd95..c781418 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,144 @@
-linux (4.7.4-3) UNRELEASED; urgency=medium
+linux (4.7.5-1) UNRELEASED; urgency=medium
+ * New upstream stable update:
+ https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.7.5
+ - [armhf] clocksource/drivers/sun4i: Clear interrupts after stopping timer
+ in probe function
+ - fscrypto: require write access to mount to set encryption policy
+ - [arm64] drm/msm: protect against faults from copy_from_user() in submit
+ ioctl
+ - bpf: fix method of PTR_TO_PACKET reg id generation
+ - ipv4: panic in leaf_walk_rcu due to stale node pointer
+ - vti: flush x-netns xfrm cache when vti interface is removed
+ - bpf: fix write helpers with regards to non-linear parts
+ - net/irda: handle iriap_register_lsap() allocation failure
+ - net/sctp: always initialise sctp_ht_iter::start_fail
+ - net: ipv6: Do not keep IPv6 addresses when IPv6 is disabled
+ - tipc: fix NULL pointer dereference in shutdown()
+ - net/mlx5: Fix pci error recovery flow
+ - net/mlx5: Added missing check of msg length in verifying its signature
+ - net/mlx5e: Use correct flow dissector key on flower offloading
+ - net sched: fix encoding to use real length
+ - udp: fix poll() issue with zero sized packets
+ - tcp: properly scale window in tcp_v[46]_reqsk_send_ack()
+ - sctp: fix overrun in sctp_diag_dump_one()
+ - tun: fix transmit timestamp support
+ - [armhf] net: dsa: bcm_sf2: Fix race condition while unmasking interrupts
+ - Revert "phy: IRQ cannot be shared"
+ - net: smc91x: fix SMC accesses
+ - bridge: re-introduce 'fix parsing of MLDv2 reports'
+ - bonding: Fix bonding crash
+ - Revert "af_unix: Fix splice-bind deadlock"
+ - af_unix: split 'u->readlock' into two: 'iolock' and 'bindlock'
+ - ipv6: release dst in ping_v6_sendmsg
+ - [arm64] bnxt_en: Fix TX push operation on ARM64.
+ - ipv6: addrconf: fix dev refcont leak when DAD failed
+ - tcp: fastopen: avoid negative sk_forward_alloc
+ - net/mlx5e: Fix parsing of vlan packets when updating lro header
+ - tcp: cwnd does not increase in TCP YeAH
+ - [powerpc*] tm: do not use r13 for tabort_syscall
+ - [powerpc*] powernv : Drop reference added by kset_find_obj()
+ - [powerpc*] sysdev: cpm: fix gpio save_regs functions
+ - [powerpc*] mm: Don't alias user region to other regions below PAGE_OFFSET
+ - [powerpc*] powernv: Fix corrupted PE allocation bitmap on releasing PE
+ - kernfs: don't depend on d_find_any_alias() when generating notifications
+ - pNFS/flexfiles: Fix an Oopsable condition when connection to the DS fails
+ - pNFS: The client must not do I/O to the DS if it's lease has expired
+ - NFSv4.1: Fix Oopsable condition in server callback races
+ - NFSv4.x: Fix a refcount leak in nfs_callback_up_net
+ - nfsd: Close race between nfsd4_release_lockowner and nfsd4_lock
+ - pNFS: Ensure LAYOUTGET and LAYOUTRETURN are properly serialised
+ - NFSv4.1: Fix the CREATE_SESSION slot number accounting
+ - kexec: fix double-free when failing to relocate the purgatory
+ - mm, mempolicy: task->mempolicy must be NULL before dropping final
+ reference
+ - ahci: disable correct irq for dummy ports
+ - audit: fix exe_file access in audit_exe_compare
+ - dm flakey: fix reads to be issued if drop_writes configured
+ - IB/hfi1,IB/qib: Fix qp_stats sleep with rcu read lock held
+ - IB/uverbs: Fix race between uverbs_close and remove_one
+ - IB/hfi1: Reset QSFP on every run through channel tuning
+ - [amd64] mm: fix cache mode of dax pmd mappings
+ - [x86] paravirt: Do not trace _paravirt_ident_*() functions
+ - [x86] AMD: Apply erratum 665 on machines without a BIOS fix
+ - [s390x] KVM: don't use current->thread.fpu.* when accessing registers
+ - [armhf,arm64] kvm-arm: Unmap shadow pagetables properly
+ - [x86] kvm: correctly reset dest_map->vector when restoring LAPIC state
+ - iio: sw-trigger: Fix config group initialization
+ - [armhf] iio: adc: rockchip_saradc: reset saradc controller before
+ programming it
+ - [armhf] iio: adc: ti_am335x_adc: Protect FIFO1 from concurrent access
+ - [armhf] iio: adc: ti_am335x_adc: Increase timeout value waiting for ADC
+ sample
+ - iio:ti-ads1015: fix a wrong pointer definition.
+ - [x86] iio: accel: bmc150: reset chip at init time
+ - iio: fix pressure data output unit in hid-sensor-attributes
+ - iio:core: fix IIO_VAL_FRACTIONAL sign handling
+ - iio: ensure ret is initialized to zero before entering do loop
+ - serial: 8250_mid: fix divide error bug if baud rate is 0
+ - serial: 8250: added acces i/o products quad and octal serial cards
+ - [armhf,arm64] usb: chipidea: udc: fix NULL ptr dereference in
+ isr_setup_status_phase
+ - USB: change bInterval default to 10 ms
+ - devpts: return NULL pts 'priv' entry for non-devpts nodes
+ - cpuset: make sure new tasks conform to the current config of the cpuset
+ - [armhf] dts: rockchip: add reset node for the exist saradc SoCs
+ - [armhf] imx6: add missing BM_CLPCR_BYP_MMDC_CH0_LPM_HS setting for imx6ul
+ - [armhf] imx6: add missing BM_CLPCR_BYPASS_PMIC_READY setting for imx6sx
+ - [armel] kirkwood: ib62x0: fix size of u-boot environment partition
+ - [armhf] OMAP3: hwmod data: Add sysc information for DSI
+ - [armel] dts: kirkwood: Fix PCIe label on OpenRD
+ - [armhf] dts: imx6qdl: Fix SPDIF regression
+ - [armhf] dts: armada-388-clearfog: number LAN ports properly
+ - dm log writes: fix check of kthread_run() return value
+ - dm crypt: fix free of bad values after tfm allocation failure
+ - dm log writes: move IO accounting earlier to fix error path
+ - dm crypt: fix error with too large bios
+ - [armhf] pinctrl: sunxi: fix uart1 CTS/RTS pins at PG on A23/A33
+ - [armhf] memory: omap-gpmc: allow probe of child nodes to fail
+ - [arm64] spinlocks: implement smp_mb__before_spinlock() as smp_mb()
+ - crypto: cryptd - initialize child shash_desc on import
+ - Btrfs: remove root_log_ctx from ctx list before btrfs_sync_log returns
+ - fuse: direct-io: don't dirty ITER_BVEC pages
+ - xhci: fix null pointer dereference in stop command timeout function
+ - brcmfmac: avoid potential stack overflow in brcmf_cfg80211_start_ap()
+ - md-cluster: make md-cluster also can work when compiled into kernel
+ - ath9k: fix using sta->drv_priv before initializing it
+ - ath9k: bring back direction setting in ath9k_{start_stop}
+ - [x86] perf/intel: Fix PEBSv3 record drain
+ - [x86] perf/intel/cqm: Check cqm/mbm enabled state in event init
+ - [x86] perf/amd: Make HW_CACHE_REFERENCES and HW_CACHE_MISSES measure L2
+ - [x86] perf/intel/pt: Fix an off-by-one in address filter configuration
+ - [x86] perf/intel/pt: Fix kernel address filter's offset validation
+ - [x86] perf/intel/pt: Do validate the size of a kernel address filter
+ - Revert "wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel"
+ - sched/core: Fix a race between try_to_wake_up() and a woken up task
+ - ipv6: Don't unset flowi6_proto in ipxip6_tnl_xmit()
+ - efi: Make for_each_efi_memory_desc_in_map() cope with running on Xen
+ - efi/libstub: Allocate headspace in efi_get_memory_map()
+ - efi/libstub: Introduce ExitBootServices helper
+ - efi/libstub: Use efi_exit_boot_services() in FDT
+ - [x86] efi: Use efi_exit_boot_services()
+ - [powerpc,powerpcspe] Fix csum_partial_copy_generic()
+ - [powerpc,powerpcspe] Fix again csum_partial_copy_generic()
+ - [x86] drm/i915: Ignore OpRegion panel type except on select machines
+ - [x86] drm: Only use compat ioctl for addfb2 on X86/IA64
+ - svcauth_gss: Revert 64c59a3726f2 ("Remove unnecessary allocation")
+ - genirq: Provide irq_gc_{lock_irqsave,unlock_irqrestore}() helpers
+ - fix iov_iter_fault_in_readable()
+ - [x86] fix minor infoleak in get_user_ex()
+ - [s390x] get_user() should zero on failure
+ - asm-generic: make get_user() clear the destination on errors
+ - asm-generic: make copy_from_user() zero the destination properly
+ - [alpha,hppa,mips*,powerpc,powerpcspe,sh4] make copy_from_user() zero the
+ destination properly
+
+ [ Ben Hutchings ]
* [hppa,mips*,powerpc*] linux-image: Strip debug symbols from vmlinux
(really closes: #837588)
* [hppa] tracing: Re-enable FTRACE
* [powerpc,powerpcspe,ppc64] linux-image: Suppress automatic dbgsym packages
+ * uaccess,uio: Fix ABI changes in 4.7.5
-- Ben Hutchings <ben at decadent.org.uk> Fri, 23 Sep 2016 00:50:40 +0100
diff --git a/debian/patches/bugfix/all/mm-oom-prevent-premature-oom-killer-invocation-for-h.patch b/debian/patches/bugfix/all/mm-oom-prevent-premature-oom-killer-invocation-for-h.patch
deleted file mode 100644
index 85f96ad..0000000
--- a/debian/patches/bugfix/all/mm-oom-prevent-premature-oom-killer-invocation-for-h.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From: Michal Hocko <mhocko at suse.com>
-Date: Thu, 1 Sep 2016 16:14:41 -0700
-Subject: mm, oom: prevent premature OOM killer invocation for high order
- request
-Origin: https://git.kernel.org/linus/6b4e3181d7bd5ca5ab6f45929e4a5ffa7ab4ab7f
-
-There have been several reports about pre-mature OOM killer invocation
-in 4.7 kernel when order-2 allocation request (for the kernel stack)
-invoked OOM killer even during basic workloads (light IO or even kernel
-compile on some filesystems). In all reported cases the memory is
-fragmented and there are no order-2+ pages available. There is usually
-a large amount of slab memory (usually dentries/inodes) and further
-debugging has shown that there are way too many unmovable blocks which
-are skipped during the compaction. Multiple reporters have confirmed
-that the current linux-next which includes [1] and [2] helped and OOMs
-are not reproducible anymore.
-
-A simpler fix for the late rc and stable is to simply ignore the
-compaction feedback and retry as long as there is a reclaim progress and
-we are not getting OOM for order-0 pages. We already do that for
-CONFING_COMPACTION=n so let's reuse the same code when compaction is
-enabled as well.
-
-[1] http://lkml.kernel.org/r/20160810091226.6709-1-vbabka@suse.cz
-[2] http://lkml.kernel.org/r/f7a9ea9d-bb88-bfd6-e340-3a933559305a@suse.cz
-
-Fixes: 0a0337e0d1d1 ("mm, oom: rework oom detection")
-Link: http://lkml.kernel.org/r/20160823074339.GB23577@dhcp22.suse.cz
-Signed-off-by: Michal Hocko <mhocko at suse.com>
-Tested-by: Olaf Hering <olaf at aepfle.de>
-Tested-by: Ralf-Peter Rohbeck <Ralf-Peter.Rohbeck at quantum.com>
-Cc: Markus Trippelsdorf <markus at trippelsdorf.de>
-Cc: Arkadiusz Miskiewicz <a.miskiewicz at gmail.com>
-Cc: Ralf-Peter Rohbeck <Ralf-Peter.Rohbeck at quantum.com>
-Cc: Jiri Slaby <jslaby at suse.com>
-Cc: Vlastimil Babka <vbabka at suse.cz>
-Cc: Joonsoo Kim <js1304 at gmail.com>
-Cc: Tetsuo Handa <penguin-kernel at i-love.sakura.ne.jp>
-Cc: David Rientjes <rientjes at google.com>
-Cc: <stable at vger.kernel.org> [4.7.x]
-Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
-Signed-off-by: Linus Torvalds <torvalds at linux-foundation.org>
-[bwh: Backported to 4.7: should_compact_retry() takes a parameter of type
- enum migrate_node * instead of enum compact_priority *]
----
- mm/page_alloc.c | 51 ++-------------------------------------------------
- 1 file changed, 2 insertions(+), 49 deletions(-)
-
---- a/mm/page_alloc.c
-+++ b/mm/page_alloc.c
-@@ -3254,53 +3254,6 @@ __alloc_pages_direct_compact(gfp_t gfp_m
- return NULL;
- }
-
--static inline bool
--should_compact_retry(struct alloc_context *ac, int order, int alloc_flags,
-- enum compact_result compact_result, enum migrate_mode *migrate_mode,
-- int compaction_retries)
--{
-- int max_retries = MAX_COMPACT_RETRIES;
--
-- if (!order)
-- return false;
--
-- /*
-- * compaction considers all the zone as desperately out of memory
-- * so it doesn't really make much sense to retry except when the
-- * failure could be caused by weak migration mode.
-- */
-- if (compaction_failed(compact_result)) {
-- if (*migrate_mode == MIGRATE_ASYNC) {
-- *migrate_mode = MIGRATE_SYNC_LIGHT;
-- return true;
-- }
-- return false;
-- }
--
-- /*
-- * make sure the compaction wasn't deferred or didn't bail out early
-- * due to locks contention before we declare that we should give up.
-- * But do not retry if the given zonelist is not suitable for
-- * compaction.
-- */
-- if (compaction_withdrawn(compact_result))
-- return compaction_zonelist_suitable(ac, order, alloc_flags);
--
-- /*
-- * !costly requests are much more important than __GFP_REPEAT
-- * costly ones because they are de facto nofail and invoke OOM
-- * killer to move on while costly can fail and users are ready
-- * to cope with that. 1/4 retries is rather arbitrary but we
-- * would need much more detailed feedback from compaction to
-- * make a better decision.
-- */
-- if (order > PAGE_ALLOC_COSTLY_ORDER)
-- max_retries /= 4;
-- if (compaction_retries <= max_retries)
-- return true;
--
-- return false;
--}
- #else
- static inline struct page *
- __alloc_pages_direct_compact(gfp_t gfp_mask, unsigned int order,
-@@ -3311,6 +3264,8 @@ __alloc_pages_direct_compact(gfp_t gfp_m
- return NULL;
- }
-
-+#endif /* CONFIG_COMPACTION */
-+
- static inline bool
- should_compact_retry(struct alloc_context *ac, unsigned int order, int alloc_flags,
- enum compact_result compact_result,
-@@ -3337,7 +3292,6 @@ should_compact_retry(struct alloc_contex
- }
- return false;
- }
--#endif /* CONFIG_COMPACTION */
-
- /* Perform direct synchronous page reclaim */
- static int
diff --git a/debian/patches/bugfix/all/tcp-fix-use-after-free-in-tcp_xmit_retransmit_queue.patch b/debian/patches/bugfix/all/tcp-fix-use-after-free-in-tcp_xmit_retransmit_queue.patch
deleted file mode 100644
index 47edeb3..0000000
--- a/debian/patches/bugfix/all/tcp-fix-use-after-free-in-tcp_xmit_retransmit_queue.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From: Eric Dumazet <edumazet at google.com>
-Date: Wed, 17 Aug 2016 05:56:26 -0700
-Subject: tcp: fix use after free in tcp_xmit_retransmit_queue()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-Origin: https://git.kernel.org/cgit/linux/kernel/git/davem/net.git/commit?id=bb1fceca22492109be12640d49f5ea5a544c6bb4
-
-When tcp_sendmsg() allocates a fresh and empty skb, it puts it at the
-tail of the write queue using tcp_add_write_queue_tail()
-
-Then it attempts to copy user data into this fresh skb.
-
-If the copy fails, we undo the work and remove the fresh skb.
-
-Unfortunately, this undo lacks the change done to tp->highest_sack and
-we can leave a dangling pointer (to a freed skb)
-
-Later, tcp_xmit_retransmit_queue() can dereference this pointer and
-access freed memory. For regular kernels where memory is not unmapped,
-this might cause SACK bugs because tcp_highest_sack_seq() is buggy,
-returning garbage instead of tp->snd_nxt, but with various debug
-features like CONFIG_DEBUG_PAGEALLOC, this can crash the kernel.
-
-This bug was found by Marco Grassi thanks to syzkaller.
-
-Fixes: 6859d49475d4 ("[TCP]: Abstract tp->highest_sack accessing & point to next skb")
-Reported-by: Marco Grassi <marco.gra at gmail.com>
-Signed-off-by: Eric Dumazet <edumazet at google.com>
-Cc: Ilpo Järvinen <ilpo.jarvinen at helsinki.fi>
-Cc: Yuchung Cheng <ycheng at google.com>
-Cc: Neal Cardwell <ncardwell at google.com>
-Acked-by: Neal Cardwell <ncardwell at google.com>
-Reviewed-by: Cong Wang <xiyou.wangcong at gmail.com>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
- include/net/tcp.h | 2 ++
- 1 file changed, 2 insertions(+)
-
---- a/include/net/tcp.h
-+++ b/include/net/tcp.h
-@@ -1522,6 +1522,8 @@ static inline void tcp_check_send_head(s
- {
- if (sk->sk_send_head == skb_unlinked)
- sk->sk_send_head = NULL;
-+ if (tcp_sk(sk)->highest_sack == skb_unlinked)
-+ tcp_sk(sk)->highest_sack = NULL;
- }
-
- static inline void tcp_init_send_head(struct sock *sk)
diff --git a/debian/patches/debian/uaccess-avoid-abi-change-in-4.7.5.patch b/debian/patches/debian/uaccess-avoid-abi-change-in-4.7.5.patch
new file mode 100644
index 0000000..3296e44
--- /dev/null
+++ b/debian/patches/debian/uaccess-avoid-abi-change-in-4.7.5.patch
@@ -0,0 +1,33 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sun, 25 Sep 2016 01:36:13 +0100
+Subject: uaccess: Avoid ABI change in 4.7.5
+Forwarded: not-needed
+
+Hide the new #include's from genksyms. I'm not sure whether they'll
+change symbol versions but it's a possibility.
+
+---
+--- a/arch/mips/include/asm/uaccess.h
++++ b/arch/mips/include/asm/uaccess.h
+@@ -14,7 +14,9 @@
+ #include <linux/kernel.h>
+ #include <linux/errno.h>
+ #include <linux/thread_info.h>
++#ifndef __GENKSYMS__
+ #include <linux/string.h>
++#endif
+ #include <asm/asm-eva.h>
+
+ /*
+--- a/arch/parisc/include/asm/uaccess.h
++++ b/arch/parisc/include/asm/uaccess.h
+@@ -10,7 +10,9 @@
+ #include <asm-generic/uaccess-unaligned.h>
+
+ #include <linux/bug.h>
++#ifndef __GENKSYMS__
+ #include <linux/string.h>
++#endif
+
+ #define VERIFY_READ 0
+ #define VERIFY_WRITE 1
diff --git a/debian/patches/debian/uio-fix-abi-change-in-4.7.5.patch b/debian/patches/debian/uio-fix-abi-change-in-4.7.5.patch
new file mode 100644
index 0000000..32d0351
--- /dev/null
+++ b/debian/patches/debian/uio-fix-abi-change-in-4.7.5.patch
@@ -0,0 +1,28 @@
+From: Ben Hutchings <ben at decadent.org.uk>
+Date: Sun, 25 Sep 2016 01:42:34 +0100
+Subject: uio: Fix ABI change in 4.7.5
+Forwarded: not-needed
+
+iov_iter_fault_in_readable() and
+iov_iter_fault_in_multipages_readable() are now equivalent, with the
+latter name defined as a macro. Restore it as a real function too for
+ABI compatibility.
+
+---
+--- a/lib/iov_iter.c
++++ b/lib/iov_iter.c
+@@ -301,6 +301,14 @@ done:
+ return wanted - bytes;
+ }
+
++/* bwh: Retained for ABI compatibility */
++#undef iov_iter_fault_in_multipages_readable
++int iov_iter_fault_in_multipages_readable(struct iov_iter *i, size_t bytes)
++{
++ return iov_iter_fault_in_readable(i, bytes);
++}
++EXPORT_SYMBOL(iov_iter_fault_in_multipages_readable);
++
+ /*
+ * Fault in one or more iovecs of the given iov_iter, to a maximum length of
+ * bytes. For each iovec, fault in each page that constitutes the iovec.
diff --git a/debian/patches/series b/debian/patches/series
index 9956b1d..52fdabd 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -74,7 +74,6 @@ bugfix/all/kbuild-use-nostdinc-in-compile-tests.patch
bugfix/all/disable-some-marvell-phys.patch
bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
bugfix/all/kbuild-do-not-use-hyphen-in-exported-variable-name.patch
-bugfix/all/mm-oom-prevent-premature-oom-killer-invocation-for-h.patch
# Miscellaneous features
@@ -111,11 +110,12 @@ features/all/securelevel/arm64-add-kernel-config-option-to-set-securelevel-wh.pa
# Security fixes
bugfix/all/ptrace-being-capable-wrt-a-process-requires-mapped-uids-gids.patch
debian/i386-686-pae-pci-set-pci-nobios-by-default.patch
-bugfix/all/tcp-fix-use-after-free-in-tcp_xmit_retransmit_queue.patch
# ABI maintenance
debian/i8042-revert-abi-break-in-4.7.3.patch
debian/revert-arm64-define-at_vector_size_arch-for-arch_dlinfo.patch
+debian/uaccess-avoid-abi-change-in-4.7.5.patch
+debian/uio-fix-abi-change-in-4.7.5.patch
# Tools bug fixes
bugfix/all/usbip-document-tcp-wrappers.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