Merge 4.9.51 into android-4.9

Changes in 4.9.51
	ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt()
	ipv6: add rcu grace period before freeing fib6_node
	ipv6: fix sparse warning on rt6i_node
	macsec: add genl family module alias
	udp: on peeking bad csum, drop packets even if not at head
	fsl/man: Inherit parent device and of_node
	sctp: Avoid out-of-bounds reads from address storage
	qlge: avoid memcpy buffer overflow
	netvsc: fix deadlock betwen link status and removal
	cxgb4: Fix stack out-of-bounds read due to wrong size to t4_record_mbox()
	packet: Don't write vnet header beyond end of buffer
	kcm: do not attach PF_KCM sockets to avoid deadlock
	Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()"
	tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0
	mlxsw: spectrum: Forbid linking to devices that have uppers
	bridge: switchdev: Clear forward mark when transmitting packet
	Revert "net: use lib/percpu_counter API for fragmentation mem accounting"
	Revert "net: fix percpu memory leaks"
	gianfar: Fix Tx flow control deactivation
	vhost_net: correctly check tx avail during rx busy polling
	ip6_gre: update mtu properly in ip6gre_err
	ipv6: fix memory leak with multiple tables during netns destruction
	ipv6: fix typo in fib6_net_exit()
	sctp: fix missing wake ups in some situations
	ip_tunnel: fix setting ttl and tos value in collect_md mode
	f2fs: let fill_super handle roll-forward errors
	f2fs: check hot_data for roll-forward recovery
	x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common
	x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
	x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs
	xfs: Move handling of missing page into one place in xfs_find_get_desired_pgoff()
	xfs: fix spurious spin_is_locked() assert failures on non-smp kernels
	xfs: push buffer of flush locked dquot to avoid quotacheck deadlock
	xfs: try to avoid blowing out the transaction reservation when bunmaping a shared extent
	xfs: release bli from transaction properly on fs shutdown
	xfs: remove bli from AIL before release on transaction abort
	xfs: don't allow bmap on rt files
	xfs: free uncommitted transactions during log recovery
	xfs: free cowblocks and retry on buffered write ENOSPC
	xfs: don't crash on unexpected holes in dir/attr btrees
	xfs: check _btree_check_block value
	xfs: set firstfsb to NULLFSBLOCK before feeding it to _bmapi_write
	xfs: check _alloc_read_agf buffer pointer before using
	xfs: fix quotacheck dquot id overflow infinite loop
	xfs: fix multi-AG deadlock in xfs_bunmapi
	xfs: Fix per-inode DAX flag inheritance
	xfs: fix inobt inode allocation search optimization
	xfs: clear MS_ACTIVE after finishing log recovery
	xfs: don't leak quotacheck dquots when cow recovery
	iomap: fix integer truncation issues in the zeroing and dirtying helpers
	xfs: write unmount record for ro mounts
	xfs: toggle readonly state around xfs_log_mount_finish
	xfs: remove xfs_trans_ail_delete_bulk
	xfs: Add infrastructure needed for error propagation during buffer IO failure
	xfs: Properly retry failed inode items in case of error during buffer writeback
	xfs: fix recovery failure when log record header wraps log end
	xfs: always verify the log tail during recovery
	xfs: fix log recovery corruption error due to tail overwrite
	xfs: handle -EFSCORRUPTED during head/tail verification
	xfs: add log recovery tracepoint for head/tail
	xfs: stop searching for free slots in an inode chunk when there are none
	xfs: evict all inodes involved with log redo item
	xfs: check for race with xfs_reclaim_inode() in xfs_ifree_cluster()
	xfs: open-code xfs_buf_item_dirty()
	xfs: remove unnecessary dirty bli format check for ordered bufs
	xfs: ordered buffer log items are never formatted
	xfs: refactor buffer logging into buffer dirtying helper
	xfs: don't log dirty ranges for ordered buffers
	xfs: skip bmbt block ino validation during owner change
	xfs: move bmbt owner change to last step of extent swap
	xfs: disallow marking previously dirty buffers as ordered
	xfs: relog dirty buffers during swapext bmbt owner change
	xfs: disable per-inode DAX flag
	xfs: fix incorrect log_flushed on fsync
	xfs: don't set v3 xflags for v2 inodes
	xfs: open code end_buffer_async_write in xfs_finish_page_writeback
	xfs: use kmem_free to free return value of kmem_zalloc
	md/raid5: release/flush io in raid5_do_work()
	xfs: fix compiler warnings
	ipv6: Fix may be used uninitialized warning in rt6_check
	Linux 4.9.51

Signed-off-by: Greg Kroah-Hartman <>