tree 3bee9a90b3b0b63a84880cc764dcca2463d47488
parent 90e7a900295277d5a9dc9f6dd16f66fe8fb9def9
parent 19e5f4da1240dcc32cda9b9022308c1b4c72e1f1
author Greg Kroah-Hartman <gregkh@google.com> 1533065061 +0200
committer Greg Kroah-Hartman <gregkh@google.com> 1533065061 +0200
mergetag object 19e5f4da1240dcc32cda9b9022308c1b4c72e1f1
 type commit
 tag v4.9.114
 tagger Greg Kroah-Hartman <gregkh@linuxfoundation.org> 1532262477 +0200
 
 This is the 4.9.114 stable release
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAltUeE0ACgkQONu9yGCS
 aT4CSw//Zx5kAiLzeHgW4cremUB343o2apjiRd9HqVJwyYQIxEWyKbxh8+/urmkz
 dR2Mz+zAEbM/cbvsmoUru1Zu1lFloGBF1Vlc7/FLeFjBa2x/aEnkwUaQ6d2Q4iFC
 C5rBVQdNYEmKng6FxqijJwRzIjYRdH0+3svz6AxyTVpeuLf7qIBsx6tf50dUqbaj
 zz0l/TJE6uz14d3ZyaH8I17iSCS/AmdJLzEENuPivJydQXrsgf4etzseXshyykuL
 2ZZ00+xpvoBd8ISjcwhHYVFIrU17hmDaOPVkl1F7XeVeBOIpOUU8iu7l/2gOOl1Q
 mQbQX3F98rPYbhAZEK0r93XLDB5jOt7JzLYNHunKGA/AWA1BTPdw7zJJMSlJgLiV
 QT9j5s8PjAAXoGRIMmE+zvV/1Y34EB0bY0kW7BRe0nTSCiz9UKlbEBRPirS9cjO8
 aZ5+xJvf8ALhxeIAlQORBpjLu3ypzgC9jOqQIUTYVQuPEKYuWbqw1vdRvqi288MT
 rq67rND1Yjx/QswuG9YFK8PVOegCMj2/+GCgyAI0XV1w6uB7i1gJ6YAoWcojn9qZ
 os6OGelaYciJADJDsEUPeSg9Simsxy/twrQTomJNYCys9/fuleUkKUzpMKQUcl13
 eerFstBmJsC2JMjwHMh6vUxM2/njQbxrANnJt8Arrdpd7IpcgKA=
 =WxwP
 -----END PGP SIGNATURE-----

Merge 4.9.114 into android-4.9

Changes in 4.9.114
	MIPS: Use async IPIs for arch_trigger_cpumask_backtrace()
	compiler, clang: suppress warning for unused static inline functions
	compiler, clang: properly override 'inline' for clang
	compiler, clang: always inline when CONFIG_OPTIMIZE_INLINING is disabled
	compiler-gcc.h: Add __attribute__((gnu_inline)) to all inline declarations
	x86/asm: Add _ASM_ARG* constants for argument registers to <asm/asm.h>
	x86/paravirt: Make native_save_fl() extern inline
	ocfs2: subsystem.su_mutex is required while accessing the item->ci_parent
	ocfs2: ip_alloc_sem should be taken in ocfs2_get_block()
	mtd: m25p80: consider max message size in m25p80_read
	bcm63xx_enet: correct clock usage
	bcm63xx_enet: do not write to random DMA channel on BCM6345
	crypto: crypto4xx - remove bad list_del
	crypto: crypto4xx - fix crypto4xx_build_pdr, crypto4xx_build_sdr leak
	atm: zatm: Fix potential Spectre v1
	ipvlan: fix IFLA_MTU ignored on NEWLINK
	net: dccp: avoid crash in ccid3_hc_rx_send_feedback()
	net: dccp: switch rx_tstamp_last_feedback to monotonic clock
	net/mlx5: Fix incorrect raw command length parsing
	net/mlx5: Fix wrong size allocation for QoS ETC TC regitster
	net_sched: blackhole: tell upper qdisc about dropped packets
	net: sungem: fix rx checksum support
	qed: Fix use of incorrect size in memcpy call.
	qed: Limit msix vectors in kdump kernel to the minimum required count.
	qmi_wwan: add support for the Dell Wireless 5821e module
	r8152: napi hangup fix after disconnect
	tcp: fix Fast Open key endianness
	tcp: prevent bogus FRTO undos with non-SACK flows
	vhost_net: validate sock before trying to put its fd
	net/packet: fix use-after-free
	net/mlx5: Fix command interface race in polling mode
	net: cxgb3_main: fix potential Spectre v1
	rtlwifi: rtl8821ae: fix firmware is not ready to run
	net: lan78xx: Fix race in tx pending skb size calculation
	netfilter: ebtables: reject non-bridge targets
	reiserfs: fix buffer overflow with long warning messages
	KEYS: DNS: fix parsing multiple options
	netfilter: ipv6: nf_defrag: drop skb dst before queueing
	rds: avoid unenecessary cong_update in loop transport
	net/nfc: Avoid stalls when nfc_alloc_send_skb() returned NULL.
	arm64: assembler: introduce ldr_this_cpu
	KVM: arm64: Store vcpu on the stack during __guest_enter()
	KVM: arm/arm64: Convert kvm_host_cpu_state to a static per-cpu allocation
	KVM: arm64: Change hyp_panic()s dependency on tpidr_el2
	arm64: alternatives: use tpidr_el2 on VHE hosts
	KVM: arm64: Stop save/restoring host tpidr_el1 on VHE
	arm64: alternatives: Add dynamic patching feature
	KVM: arm/arm64: Do not use kern_hyp_va() with kvm_vgic_global_state
	KVM: arm64: Avoid storing the vcpu pointer on the stack
	arm/arm64: smccc: Add SMCCC-specific return codes
	arm64: Call ARCH_WORKAROUND_2 on transitions between EL0 and EL1
	arm64: Add per-cpu infrastructure to call ARCH_WORKAROUND_2
	arm64: Add ARCH_WORKAROUND_2 probing
	arm64: Add 'ssbd' command-line option
	arm64: ssbd: Add global mitigation state accessor
	arm64: ssbd: Skip apply_ssbd if not using dynamic mitigation
	arm64: ssbd: Restore mitigation status on CPU resume
	arm64: ssbd: Introduce thread flag to control userspace mitigation
	arm64: ssbd: Add prctl interface for per-thread mitigation
	arm64: KVM: Add HYP per-cpu accessors
	arm64: KVM: Add ARCH_WORKAROUND_2 support for guests
	arm64: KVM: Handle guest's ARCH_WORKAROUND_2 requests
	arm64: KVM: Add ARCH_WORKAROUND_2 discovery through ARCH_FEATURES_FUNC_ID
	string: drop __must_check from strscpy() and restore strscpy() usages in cgroup
	Linux 4.9.114

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
