I'm announcing the release of the 3.16.72 kernel. All users of the 3.16 kernel series should upgrade. The updated 3.16.y git tree can be found at: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-3.16.y and can be browsed at the normal kernel.org git web browser: https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git The diff from 3.16.71 is attached to this message. Ben. ------------ Documentation/kernel-parameters.txt | 5 + Documentation/siphash.txt | 100 ++++++++++ Documentation/usb/power-management.txt | 14 +- Documentation/virtual/kvm/api.txt | 16 +- MAINTAINERS | 7 + Makefile | 2 +- arch/arm/boot/dts/imx6qdl-phytec-pfla02.dtsi | 1 + arch/arm/mach-imx/cpuidle-imx6q.c | 27 +-- arch/mips/kernel/scall64-o32.S | 2 +- arch/powerpc/include/asm/vdso_datapage.h | 8 +- arch/powerpc/kernel/signal_32.c | 3 + arch/powerpc/kernel/signal_64.c | 5 + arch/powerpc/kernel/vdso32/gettimeofday.S | 2 +- arch/powerpc/kernel/vdso64/gettimeofday.S | 2 +- arch/x86/include/asm/calling.h | 18 ++ arch/x86/include/asm/cpufeatures.h | 41 ++-- arch/x86/include/asm/kvm_host.h | 13 +- arch/x86/include/asm/xen/hypercall.h | 3 + arch/x86/kernel/cpu/bugs.c | 105 +++++++++- arch/x86/kernel/cpu/common.c | 42 ++-- arch/x86/kernel/entry_64.S | 73 +++++-- arch/x86/kernel/kprobes/core.c | 48 ++++- arch/x86/kernel/process.c | 8 +- arch/x86/kvm/cpuid.c | 5 + arch/x86/kvm/mmu.c | 13 +- arch/x86/kvm/mmu.h | 2 +- arch/x86/kvm/vmx.c | 15 -- arch/x86/kvm/x86.c | 18 +- arch/xtensa/kernel/stacktrace.c | 6 +- block/bio.c | 5 +- drivers/acpi/acpica/nsobject.c | 4 + drivers/block/floppy.c | 32 +++- drivers/block/xsysace.c | 2 + drivers/bluetooth/hci_ath.c | 3 + drivers/bluetooth/hci_ldisc.c | 9 + drivers/bluetooth/hci_uart.h | 1 + drivers/gpio/gpio-adnp.c | 6 +- drivers/iio/adc/ad_sigma_delta.c | 1 + drivers/iio/adc/at91_adc.c | 28 +-- drivers/iio/dac/mcp4725.c | 1 + drivers/iio/industrialio-buffer.c | 6 +- drivers/iio/industrialio-core.c | 4 +- drivers/infiniband/hw/mlx4/alias_GUID.c | 2 +- drivers/input/tablet/gtco.c | 20 +- drivers/iommu/amd_iommu_init.c | 2 +- drivers/iommu/intel-iommu.c | 3 + drivers/md/dm-table.c | 39 ++++ drivers/md/dm.c | 31 ++- drivers/media/usb/tlg2300/pd-common.h | 2 +- drivers/mtd/chips/cfi_cmdset_0002.c | 6 +- drivers/net/ethernet/3com/3c515.c | 2 +- drivers/net/ethernet/8390/mac8390.c | 37 ++-- drivers/net/ethernet/neterion/vxge/vxge-config.c | 1 + drivers/net/macvtap.c | 3 - drivers/net/phy/phy_device.c | 5 +- drivers/net/ppp/pptp.c | 2 +- drivers/net/slip/slhc.c | 2 +- drivers/net/team/team.c | 6 + drivers/net/tun.c | 6 +- drivers/net/wireless/rt2x00/rt2x00.h | 1 - drivers/net/wireless/rt2x00/rt2x00mac.c | 10 - drivers/net/wireless/rt2x00/rt2x00queue.c | 15 +- drivers/pci/quirks.c | 2 + drivers/s390/scsi/zfcp_erp.c | 17 ++ drivers/s390/scsi/zfcp_ext.h | 2 + drivers/s390/scsi/zfcp_scsi.c | 4 + drivers/scsi/libsas/sas_expander.c | 9 +- drivers/staging/comedi/drivers/vmk80xx.c | 8 +- drivers/staging/iio/meter/ade7854.c | 2 +- drivers/staging/rtl8712/rtl8712_cmd.c | 10 +- drivers/staging/rtl8712/rtl8712_cmd.h | 2 +- drivers/staging/speakup/speakup_soft.c | 12 +- drivers/staging/speakup/spk_priv.h | 1 + drivers/staging/speakup/synth.c | 6 + drivers/staging/usbip/stub_rx.c | 12 +- drivers/staging/usbip/usbip_common.h | 7 + drivers/tty/serial/atmel_serial.c | 4 + drivers/tty/serial/max310x.c | 2 + drivers/tty/serial/mxs-auart.c | 4 + drivers/tty/serial/sh-sci.c | 12 +- drivers/usb/core/driver.c | 13 -- drivers/usb/core/message.c | 4 +- drivers/usb/host/xhci-hub.c | 19 +- drivers/usb/host/xhci.h | 8 + drivers/usb/misc/yurex.c | 1 + drivers/usb/serial/cp210x.c | 1 + drivers/usb/serial/ftdi_sio.c | 2 + drivers/usb/serial/ftdi_sio_ids.h | 4 +- drivers/usb/serial/mos7720.c | 4 +- drivers/usb/storage/realtek_cr.c | 13 +- drivers/vhost/net.c | 31 +-- drivers/vhost/scsi.c | 15 +- drivers/vhost/vhost.c | 20 +- drivers/vhost/vhost.h | 6 +- drivers/w1/masters/ds2490.c | 6 +- drivers/xen/balloon.c | 16 +- fs/afs/fsclient.c | 6 +- fs/btrfs/compression.c | 18 ++ fs/btrfs/compression.h | 1 + fs/btrfs/props.c | 5 +- fs/ceph/dir.c | 6 +- fs/cifs/cifsglob.h | 2 + fs/cifs/file.c | 30 ++- fs/cifs/inode.c | 4 + fs/cifs/misc.c | 25 ++- fs/cifs/smb2misc.c | 6 +- fs/cifs/smb2ops.c | 2 + fs/ext4/file.c | 2 +- fs/ext4/resize.c | 11 +- fs/lockd/host.c | 3 +- fs/proc/meminfo.c | 34 +--- fs/proc/proc_sysctl.c | 7 +- fs/udf/truncate.c | 3 + fs/ufs/util.h | 2 +- include/linux/kprobes.h | 1 + include/linux/lockdep.h | 15 ++ include/linux/mm.h | 1 + include/linux/siphash.h | 90 +++++++++ include/linux/string.h | 3 + include/linux/usb.h | 2 - include/net/ip.h | 12 +- include/net/ipv6.h | 4 +- include/net/netfilter/nf_conntrack.h | 2 + include/net/netns/ipv4.h | 2 + include/net/sctp/checksum.h | 2 +- kernel/events/core.c | 2 + kernel/futex.c | 4 + kernel/sched/fair.c | 35 +++- kernel/trace/ftrace.c | 5 +- kernel/trace/ring_buffer.c | 2 +- lib/Kconfig.debug | 10 + lib/Makefile | 3 +- lib/siphash.c | 232 +++++++++++++++++++++++ lib/string.c | 20 ++ lib/test_siphash.c | 131 +++++++++++++ mm/page_alloc.c | 43 +++++ mm/vmstat.c | 5 - net/batman-adv/bridge_loop_avoidance.c | 16 +- net/batman-adv/translation-table.c | 32 +++- net/bridge/br_multicast.c | 4 +- net/bridge/br_netfilter.c | 3 + net/bridge/netfilter/ebtables.c | 3 +- net/core/net-sysfs.c | 6 +- net/dccp/feat.c | 7 +- net/dccp/ipv6.c | 4 +- net/ipv4/igmp.c | 4 +- net/ipv4/ip_output.c | 7 +- net/ipv4/ip_tunnel_core.c | 3 +- net/ipv4/ipmr.c | 7 +- net/ipv4/raw.c | 2 +- net/ipv4/route.c | 16 +- net/ipv4/xfrm4_mode_tunnel.c | 2 +- net/ipv4/xfrm4_policy.c | 60 ++++-- net/ipv6/ip6_flowlabel.c | 24 ++- net/ipv6/ip6_output.c | 23 +-- net/ipv6/ip6mr.c | 11 +- net/ipv6/output_core.c | 53 +++++- net/ipv6/tcp_ipv6.c | 8 +- net/ipv6/udp_offload.c | 6 + net/ipv6/xfrm6_tunnel.c | 4 + net/l2tp/l2tp_core.c | 10 +- net/mac80211/debugfs_netdev.c | 2 +- net/netfilter/ipvs/ip_vs_xmit.c | 5 +- net/netfilter/nf_conntrack_core.c | 36 ++++ net/netfilter/nf_conntrack_netlink.c | 34 +++- net/packet/af_packet.c | 37 ++-- net/rose/rose_loopback.c | 34 ++-- net/sunrpc/cache.c | 3 + net/tipc/sysctl.c | 4 +- net/xfrm/xfrm_user.c | 2 +- security/device_cgroup.c | 2 +- sound/core/init.c | 18 +- sound/core/oss/pcm_oss.c | 43 +++-- sound/core/pcm_native.c | 9 +- sound/core/rawmidi.c | 2 + sound/core/seq/oss/seq_oss_synth.c | 7 +- sound/core/seq/seq_clientmgr.c | 6 +- tools/lib/traceevent/event-parse.c | 2 +- tools/perf/tests/evsel-tp-sched.c | 1 + virt/kvm/kvm_main.c | 3 + 180 files changed, 1973 insertions(+), 565 deletions(-) Aditya Pakki (1): serial: max310x: Fix to avoid potential NULL pointer dereference Al Viro (1): ufs: fix braino in ufs_get_inode_gid() for solaris UFS flavour Alan Stern (4): USB: core: Fix unterminated string returned by usb_string() USB: core: Fix bug caused by duplicate interface PM usage counter USB: yurex: Fix protection fault after device removal USB: w1 ds2490: Fix bug caused by improper use of altsetting array Anand Jain (1): btrfs: prop: fix vanished compression property after failed set Andre Przywara (1): PCI: Add function 1 DMA alias quirk for Marvell 9170 SATA controller Andy Lutomirski (2): x86/asm/entry/64: Disentangle error_entry/exit gsbase/ebx/usermode code x86/entry/64: Really create an error-entry-from-usermode code path Arnd Bergmann (1): 3c515: fix integer overflow warning Aurelien Aptel (1): CIFS: keep FileInfo handle live during oplock break Aurelien Jarno (1): MIPS: scall64-o32: Fix indirect syscall number load Axel Lin (1): gpio: adnp: Fix testing wrong value in adnp_gpio_direction_input Ben Gardon (1): kvm: mmu: Fix overflow on kvm mmu page limit calculation Ben Hutchings (3): x86: cpufeatures: Renumber feature word 7 Revert "inet: update the IP ID generation algorithm to higher standards." Linux 3.16.72 Changbin Du (1): perf tests: Fix a memory leak in test__perf_evsel__tp_sched_test() Chen Jie (1): futex: Ensure that futex address is aligned in handle_futex_death() Christophe Leroy (1): powerpc/vdso32: fix CLOCK_MONOTONIC on PPC64 Colin Ian King (1): vxge: fix return of a free'd memblock on a failed dma mapping Dan Carpenter (2): staging: rtl8712: uninitialized memory in read_bbreg_hdl() xen: Prevent buffer overflow in privcmd ioctl David Howells (1): afs: Fix StoreData op marshalling Denis Efremov (4): floppy: fix div-by-zero in setup_format_params floppy: fix out-of-bounds read in next_valid_format floppy: fix invalid pointer dereference in drive_name floppy: fix out-of-bounds read in copy_buffer Dragos Bogdan (1): iio: ad_sigma_delta: select channel when reading register Eric Dumazet (7): tcp: do not use ipv6 header for ipv4 flow dccp: do not use ipv6 header for ipv4 flow net/rose: fix unbound loop in rose_loopback_timer() l2tp: use rcu_dereference_sk_user_data() in l2tp_udp_encap_recv() ipv6/flowlabel: wait rcu grace period before put_pid() l2ip: fix possible use-after-free inet: switch IP ID generator to siphash Erik Schmauss (1): ACPICA: Namespace: remove address node from global list after method termination Fabrice Gasnier (1): iio: core: fix a possible circular locking dependency Finn Thain (1): mac8390: Fix mmio access size probe Florian Westphal (2): netfilter: ebtables: CONFIG_COMPAT: drop a bogus WARN_ON netfilter: ctnetlink: don't use conntrack/expect object addresses as id Frank Sorenson (1): cifs: do not attempt cifs operation on smb2+ rename error Frederic Weisbecker (1): locking/lockdep: Add IRQs disabled/enabled assertion APIs: lockdep_assert_irqs_enabled()/disabled() Geert Uytterhoeven (1): net: mac8390: Use standard memcpy_{from,to}io() Georg Ottinger (1): iio: adc: at91: disable adc channel interrupt in timeout case George McCollister (1): USB: serial: ftdi_sio: add additional NovaTech products Grant Hernandez (1): Input: gtco - bounds check collection indent level Greg Kroah-Hartman (1): USB: serial: cp210x: add new device id Guenter Roeck (1): xsysace: Fix error handling in ace_setup Gustavo A. R. Silva (2): ALSA: rawmidi: Fix potential Spectre v1 vulnerability ALSA: seq: oss: Fix Spectre v1 vulnerability Hangbin Liu (1): team: fix possible recursive locking when add slaves Hannes Frederic Sowa (3): ipv4: hash net ptr into fragmentation bucket selection ipv4: ip_tunnel: use net namespace from rtable not socket ipv6: hash net ptr into fragmentation bucket selection Heiner Kallweit (1): net: phy: don't clear BMCR in genphy_soft_reset Hoan Nguyen An (1): serial: sh-sci: Fix setting SCSCR_TIE while transferring data Ian Abbott (2): staging: comedi: vmk80xx: Fix use of uninitialized semaphore staging: comedi: vmk80xx: Fix possible double-free of ->usb_rx_buf Igor Redko (1): mm/page_alloc.c: calculate 'available' memory in a separate function Ilya Dryomov (1): dm table: propagate BDI_CAP_STABLE_WRITES to fix sporadic checksum errors Jack Morgenstein (1): IB/mlx4: Fix race condition between catas error reset and aliasguid flows Jan Kara (1): udf: Fix crash on IO error during truncate Jann Horn (1): device_cgroup: fix RCU imbalance in error case Jason A. Donenfeld (1): siphash: add cryptographically secure PRF Jason Wang (4): vhost_net: introduce vhost_exceeds_weight() vhost: introduce vhost_exceeds_weight() vhost_net: fix possible infinite loop vhost: scsi: add weight support Jason Yan (1): scsi: libsas: fix a race condition when smp task timeout Jean-Francois Dagenais (1): iio: dac: mcp4725: add missing powerdown bits in store eeprom Jeff Layton (1): ceph: ensure d_name stability in ceph_dentry_hash() Jie Liu (1): tipc: set sysctl_tipc_rmem and named_timeout right range Jim Mattson (1): kvm: x86: IA32_ARCH_CAPABILITIES is always supported Joerg Roedel (1): iommu/amd: Set exclusion range correctly Johannes Berg (1): mac80211: don't attempt to rename ERR_PTR() debugfs dirs Johannes Thumshirn (1): btrfs: correctly validate compression type Johannes Weiner (1): proc: meminfo: estimate available memory more conservatively Josh Poimboeuf (3): x86/speculation: Prepare entry code for Spectre v1 swapgs mitigations x86/speculation: Enable Spectre v1 swapgs mitigations x86/entry/64: Use JMP instead of JMPQ Juergen Gross (1): xen: let alloc_xenballooned_pages() fail if not enough memory free Jérôme Glisse (1): block: do not leak memory in bio_copy_user_iov() Kangjie Lu (2): tty: atmel_serial: fix a potential NULL pointer dereference tty: mxs-auart: fix a potential NULL pointer dereference Kohji Okuno (1): ARM: imx6q: cpuidle: fix bug that CPU might not wake up at expected time Konstantin Khlebnikov (1): mm/vmstat.c: fix /proc/vmstat format for CONFIG_DEBUG_TLBFLUSH=y CONFIG_SMP=n Lars-Peter Clausen (1): iio: Fix scan mask selection Leonard Pollak (1): Staging: iio: meter: fixed typo Lin Yi (1): USB: serial: mos7720: fix mos_parport refcount imbalance on error path Linus Torvalds (1): slip: make slhc_free() silently accept an error pointer Liu Jian (1): mtd: cfi: fix deadloop in cfi_cmdset_0002.c do_write_buffer Lu Baolu (1): iommu/vt-d: Check capability before disabling protected memory Lukas Czerner (2): ext4: fix data corruption caused by unaligned direct AIO ext4: add missing brelse() in add_new_gdb_meta_bg() Malte Leip (1): usb: usbip: fix isoc packet num validation in get_pipe Marco Felsch (1): ARM: dts: pfla02: increase phy reset duration Markus Elfring (1): iio: Use kmalloc_array() in iio_scan_mask_set() Masami Hiramatsu (3): x86/kprobes: Verify stack frame on kretprobe kprobes: Mark ftrace mcount handler functions nokprobe x86/kprobes: Avoid kretprobe recursion bug Mathias Nyman (1): xhci: Don't let USB3 ports stuck in polling state prevent suspend Max Filippov (1): xtensa: fix return_address Mel Gorman (1): sched/fair: Do not re-read ->h_load_next during hierarchical load calculation Michael Ellerman (1): powerpc/vdso64: Fix CLOCK_MONOTONIC inconsistencies across Y2038 Michael Neuling (1): powerpc/tm: Fix oops on sigreturn on systems without TM Mike Snitzer (1): dm: disable DISCARD if the underlying storage no longer supports it NeilBrown (2): NFS: fix mount/umount race in nlmclnt. sunrpc: don't mark uninitialised items as VALID. Nick Desaulniers (1): lib/string.c: implement a basic bcmp Nikolay Aleksandrov (1): net: bridge: multicast: use rcu to access port list from br_multicast_start_querier Paolo Abeni (1): vhost_net: use packet weight for rx handler, too Peter Zijlstra (1): trace: Fix preempt_enable_no_resched() abuse Phil Auld (1): sched/fair: Limit sched_cfs_period_timer() loop to avoid hard lockup Rikard Falkeborn (1): tools lib traceevent: Fix missing equality check for strcmp Ronnie Sahlberg (1): cifs: fix handle leak in smb2_query_symlink() Sabrina Dubroca (1): ipv6: call ipv6_proxy_select_ident instead of ipv6_select_ident in udp6_ufo_fragment Samuel Thibault (1): staging: speakup_soft: Fix alternate speech with other synths Sean Christopherson (2): KVM: Reject device ioctls from processes other than the VM's creator KVM: x86: Emulate MSR_IA32_ARCH_CAPABILITIES on AMD hosts Steffen Klassert (3): xfrm4: Fix header checks in _decode_session4. xfrm4: Reload skb header pointers after calling pskb_may_pull. xfrm4: Fix uninitialized memory read in _decode_session4 Steffen Maier (2): scsi: zfcp: fix rport unblock if deleted SCSI devices on Scsi_Host scsi: zfcp: fix scsi_eh host reset with port_forced ERP for non-NPIV FCP devices Stephane Eranian (1): perf/core: Restore mmap record type correctly Su Yanjun (1): xfrm6_tunnel: Fix potential panic when unloading xfrm6_tunnel module Sven Eckelmann (3): batman-adv: Reduce claim hash refcnt only for removed entry batman-adv: Reduce tt_local hash refcnt only for removed entry batman-adv: Reduce tt_global hash refcnt only for removed entry Takashi Iwai (3): ALSA: pcm: Fix possible OOB access in PCM oss plugins ALSA: pcm: Don't suspend stream in unrecoverable PCM state ALSA: core: Fix card races between register and disconnect Thomas Gleixner (2): x86/speculation: Prevent deadlock on ssb_state::lock x86/speculation/swapgs: Exclude ATOMs from speculation through SWAPGS Vijayakumar Durai (1): rt2x00: do not increment sequence number while re-transmitting Vlad Yasevich (4): ipv6: Select fragment id during UFO segmentation if not set. Revert "drivers/net, ipv6: Select IPv6 fragment idents for virtio UFO packets" ipv6: Fix fragment id assignment on LE arches. ipv6: Make __ipv6_select_ident static Vladis Dronov (1): Bluetooth: hci_uart: check for missing tty operations Wanpeng Li (1): x86/entry/64: Fix context tracking state warning when load_gs_index fails Willem de Bruijn (3): ipv6: invert flowlabel sharing check in process and user mode packet: in recvmsg msg_name return at least sizeof sockaddr_ll packet: validate msg_namelen in send directly Xie XiuQi (1): sched/numa: Fix a possible divide-by-zero Xin Long (3): ipv6: check sk sk_type and protocol early in ip_mroute_set/getsockopt netfilter: bridge: set skb transport_header before entering NF_INET_PRE_ROUTING sctp: get sctphdr by offset in sctp_compute_cksum YueHaibing (5): xfrm: policy: Fix out-of-bound array accesses in __xfrm_policy_unlink net-sysfs: call dev_hold if kobject_init_and_add success fs/proc/proc_sysctl.c: fix NULL pointer dereference in put_links dccp: Fix memleak in __feat_register_sp fs/proc/proc_sysctl.c: Fix a NULL pointer dereference Zubin Mithra (1): ALSA: seq: Fix OOB-reads from strlcpy haibinzhang(张海斌) (1): vhost-net: set packet weight of tx polling to 2 * vq size -- Ben Hutchings When in doubt, use brute force. - Ken Thompson