tree e1cb8b95052da4f04936d8796abb9f1c2a488bc1
parent d342e19f0c4ebfec7bd689b057792b23c3e90f95
parent 1852eae92c460813692808234da35d142a405ab7
author Greg Kroah-Hartman <gregkh@google.com> 1507190929 +0200
committer Greg Kroah-Hartman <gregkh@google.com> 1507190929 +0200
mergetag object 1852eae92c460813692808234da35d142a405ab7
 type commit
 tag v4.9.53
 tagger Greg Kroah-Hartman <gregkh@linuxfoundation.org> 1507189462 +0200
 
 This is the 4.9.53 stable release
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAlnV4tYACgkQONu9yGCS
 aT48Xg/8C8R4G3oeWMmOnEiTBk+31YjzePlE7lGOGMcaVjPd+EFWwq66ikE75c9E
 GevAkUkTMSed0OnxvruNK5Sld9m31orDaIdUqX8fs/hzGTq0e5ygvLsnb5BlUxVW
 Vwv49HGX3qqv5WP3Uv1rqThntizL/TxYbowtta0XZrvW4YXmSbyJnsFH5B2eavxN
 7JUcmylOOQyTDngM084qrDTpFGahaRRzr7W2GYwklhYgQ+yuTdtyXLRfs/eYH6Lh
 mNzDEK3siacafqOWrI5zTpQ2IWYuxxeajCJi1fH0JVDqQOLoMKCRkKXCHpd+3Qko
 gkhYsItX02nfo9lSLC3+nUQP0n+HkIC8CW6/q0tsD58ccm8atKAaeJ/b7ZS2ONNA
 2Dn2/s2zpunODrTBM/OkZRjtVrxPOtUeuCrxZZTERIe8AvudP+igSF1Bp9d1vtLb
 AoibT3G3kiEFObF4e92yFiQRnMSZj5Nb9oep+dET8tN0aAbnx7uRbwfLYGoi1TLZ
 y/PdXh/0OccGqBHRde7JrOJR8hcuvoEjg8W3su+irBm0pa1GY4W0jSg0kZI1Lt0r
 FObAjKpp02UulSfIpUBdjEPCBQvVOHyh31Z2hZG+ZsZCj6p/zuh95QtZdp27R8py
 2QiqXv71lAVkSBsBP8ip/+ZlWgX45dEIBJ4Hx1D/ytcjttLfyyw=
 =s0r9
 -----END PGP SIGNATURE-----

Merge 4.9.53 into android-4.9-o

Changes in 4.9.53
	cifs: release cifs root_cred after exit_cifs
	cifs: release auth_key.response for reconnect.
	fs/proc: Report eip/esp in /prod/PID/stat for coredumping
	mac80211: fix VLAN handling with TXQs
	mac80211_hwsim: Use proper TX power
	mac80211: flush hw_roc_start work before cancelling the ROC
	genirq: Make sparse_irq_lock protect what it should protect
	KVM: PPC: Book3S: Fix race and leak in kvm_vm_ioctl_create_spapr_tce()
	KVM: PPC: Book3S HV: Protect updates to spapr_tce_tables list
	tracing: Fix trace_pipe behavior for instance traces
	tracing: Erase irqsoff trace with empty write
	md/raid5: fix a race condition in stripe batch
	md/raid5: preserve STRIPE_ON_UNPLUG_LIST in break_stripe_batch_list
	scsi: scsi_transport_iscsi: fix the issue that iscsi_if_rx doesn't parse nlmsg properly
	drm/radeon: disable hard reset in hibernate for APUs
	crypto: drbg - fix freeing of resources
	crypto: talitos - Don't provide setkey for non hmac hashing algs.
	crypto: talitos - fix sha224
	crypto: talitos - fix hashing
	security/keys: properly zero out sensitive key material in big_key
	security/keys: rewrite all of big_key crypto
	KEYS: fix writing past end of user-supplied buffer in keyring_read()
	KEYS: prevent creating a different user's keyrings
	KEYS: prevent KEYCTL_READ on negative key
	powerpc/pseries: Fix parent_dn reference leak in add_dt_node()
	powerpc/tm: Flush TM only if CPU has TM feature
	powerpc/ftrace: Pass the correct stack pointer for DYNAMIC_FTRACE_WITH_REGS
	s390/mm: fix write access check in gup_huge_pmd()
	PM: core: Fix device_pm_check_callbacks()
	Fix SMB3.1.1 guest authentication to Samba
	SMB3: Warn user if trying to sign connection that authenticated as guest
	SMB: Validate negotiate (to protect against downgrade) even if signing off
	SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags
	vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets
	nl80211: check for the required netlink attributes presence
	bsg-lib: don't free job in bsg_prepare_job
	iw_cxgb4: remove the stid on listen create failure
	iw_cxgb4: put ep reference in pass_accept_req()
	selftests/seccomp: Support glibc 2.26 siginfo_t.h
	seccomp: fix the usage of get/put_seccomp_filter() in seccomp_get_filter()
	arm64: Make sure SPsel is always set
	arm64: fault: Route pte translation faults via do_translation_fault
	KVM: VMX: extract __pi_post_block
	KVM: VMX: avoid double list add with VT-d posted interrupts
	KVM: VMX: simplify and fix vmx_vcpu_pi_load
	kvm/x86: Handle async PF in RCU read-side critical sections
	KVM: VMX: Do not BUG() on out-of-bounds guest IRQ
	kvm: nVMX: Don't allow L2 to access the hardware CR8
	xfs: validate bdev support for DAX inode flag
	etnaviv: fix gem object list corruption
	PCI: Fix race condition with driver_override
	btrfs: fix NULL pointer dereference from free_reloc_roots()
	btrfs: propagate error to btrfs_cmp_data_prepare caller
	btrfs: prevent to set invalid default subvolid
	x86/mm: Fix fault error path using unsafe vma pointer
	x86/fpu: Don't let userspace set bogus xcomp_bv
	gfs2: Fix debugfs glocks dump
	timer/sysclt: Restrict timer migration sysctl values to 0 and 1
	KVM: VMX: do not change SN bit in vmx_update_pi_irte()
	KVM: VMX: remove WARN_ON_ONCE in kvm_vcpu_trigger_posted_interrupt
	cxl: Fix driver use count
	KVM: VMX: use cmpxchg64
	video: fbdev: aty: do not leak uninitialized padding in clk to userspace
	swiotlb-xen: implement xen_swiotlb_dma_mmap callback
	Linux 4.9.53

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