This is the start of the stable review cycle for the 4.9.51 release. There are 78 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know. Responses should be made by Wed Sep 20 09:10:51 UTC 2017. Anything received after that time might be too late. The whole patch series can be found in one patch at: kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.51-rc1.gz or in the git tree and branch at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y and the diffstat can be found below. thanks, greg k-h ------------- Pseudo-Shortlog of commits: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Linux 4.9.51-rc1 Song Liu <songliubraving@xxxxxx> md/raid5: release/flush io in raid5_do_work() Pan Bian <bianpan2016@xxxxxxx> xfs: use kmem_free to free return value of kmem_zalloc Christoph Hellwig <hch@xxxxxx> xfs: open code end_buffer_async_write in xfs_finish_page_writeback Christoph Hellwig <hch@xxxxxx> xfs: don't set v3 xflags for v2 inodes Amir Goldstein <amir73il@xxxxxxxxx> xfs: fix incorrect log_flushed on fsync Christoph Hellwig <hch@xxxxxx> xfs: disable per-inode DAX flag Brian Foster <bfoster@xxxxxxxxxx> xfs: relog dirty buffers during swapext bmbt owner change Brian Foster <bfoster@xxxxxxxxxx> xfs: disallow marking previously dirty buffers as ordered Brian Foster <bfoster@xxxxxxxxxx> xfs: move bmbt owner change to last step of extent swap Brian Foster <bfoster@xxxxxxxxxx> xfs: skip bmbt block ino validation during owner change Brian Foster <bfoster@xxxxxxxxxx> xfs: don't log dirty ranges for ordered buffers Brian Foster <bfoster@xxxxxxxxxx> xfs: refactor buffer logging into buffer dirtying helper Brian Foster <bfoster@xxxxxxxxxx> xfs: ordered buffer log items are never formatted Brian Foster <bfoster@xxxxxxxxxx> xfs: remove unnecessary dirty bli format check for ordered bufs Brian Foster <bfoster@xxxxxxxxxx> xfs: open-code xfs_buf_item_dirty() Omar Sandoval <osandov@xxxxxx> xfs: check for race with xfs_reclaim_inode() in xfs_ifree_cluster() Darrick J. Wong <darrick.wong@xxxxxxxxxx> xfs: evict all inodes involved with log redo item Carlos Maiolino <cmaiolino@xxxxxxxxxx> xfs: stop searching for free slots in an inode chunk when there are none Brian Foster <bfoster@xxxxxxxxxx> xfs: add log recovery tracepoint for head/tail Brian Foster <bfoster@xxxxxxxxxx> xfs: handle -EFSCORRUPTED during head/tail verification Brian Foster <bfoster@xxxxxxxxxx> xfs: fix log recovery corruption error due to tail overwrite Brian Foster <bfoster@xxxxxxxxxx> xfs: always verify the log tail during recovery Brian Foster <bfoster@xxxxxxxxxx> xfs: fix recovery failure when log record header wraps log end Carlos Maiolino <cmaiolino@xxxxxxxxxx> xfs: Properly retry failed inode items in case of error during buffer writeback Carlos Maiolino <cmaiolino@xxxxxxxxxx> xfs: Add infrastructure needed for error propagation during buffer IO failure Christoph Hellwig <hch@xxxxxx> xfs: remove xfs_trans_ail_delete_bulk Eric Sandeen <sandeen@xxxxxxxxxxx> xfs: toggle readonly state around xfs_log_mount_finish Eric Sandeen <sandeen@xxxxxxxxxxx> xfs: write unmount record for ro mounts Christoph Hellwig <hch@xxxxxx> iomap: fix integer truncation issues in the zeroing and dirtying helpers Darrick J. Wong <darrick.wong@xxxxxxxxxx> xfs: don't leak quotacheck dquots when cow recovery Darrick J. Wong <darrick.wong@xxxxxxxxxx> xfs: clear MS_ACTIVE after finishing log recovery Omar Sandoval <osandov@xxxxxx> xfs: fix inobt inode allocation search optimization Lukas Czerner <lczerner@xxxxxxxxxx> xfs: Fix per-inode DAX flag inheritance Christoph Hellwig <hch@xxxxxx> xfs: fix multi-AG deadlock in xfs_bunmapi Brian Foster <bfoster@xxxxxxxxxx> xfs: fix quotacheck dquot id overflow infinite loop Darrick J. Wong <darrick.wong@xxxxxxxxxx> xfs: check _alloc_read_agf buffer pointer before using Darrick J. Wong <darrick.wong@xxxxxxxxxx> xfs: set firstfsb to NULLFSBLOCK before feeding it to _bmapi_write Darrick J. Wong <darrick.wong@xxxxxxxxxx> xfs: check _btree_check_block value Darrick J. Wong <darrick.wong@xxxxxxxxxx> xfs: don't crash on unexpected holes in dir/attr btrees Brian Foster <bfoster@xxxxxxxxxx> xfs: free cowblocks and retry on buffered write ENOSPC Brian Foster <bfoster@xxxxxxxxxx> xfs: free uncommitted transactions during log recovery Darrick J. Wong <darrick.wong@xxxxxxxxxx> xfs: don't allow bmap on rt files Brian Foster <bfoster@xxxxxxxxxx> xfs: remove bli from AIL before release on transaction abort Brian Foster <bfoster@xxxxxxxxxx> xfs: release bli from transaction properly on fs shutdown Darrick J. Wong <darrick.wong@xxxxxxxxxx> xfs: try to avoid blowing out the transaction reservation when bunmaping a shared extent Brian Foster <bfoster@xxxxxxxxxx> xfs: push buffer of flush locked dquot to avoid quotacheck deadlock Brian Foster <bfoster@xxxxxxxxxx> xfs: fix spurious spin_is_locked() assert failures on non-smp kernels Jan Kara <jack@xxxxxxx> xfs: Move handling of missing page into one place in xfs_find_get_desired_pgoff() Andy Lutomirski <luto@xxxxxxxxxx> x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs Andy Lutomirski <luto@xxxxxxxxxx> x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps Andy Lutomirski <luto@xxxxxxxxxx> x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common Jaegeuk Kim <jaegeuk@xxxxxxxxxx> f2fs: check hot_data for roll-forward recovery Jaegeuk Kim <jaegeuk@xxxxxxxxxx> f2fs: let fill_super handle roll-forward errors Haishuang Yan <yanhaishuang@xxxxxxxxxxxxxxxxxxxx> ip_tunnel: fix setting ttl and tos value in collect_md mode Marcelo Ricardo Leitner <marcelo.leitner@xxxxxxxxx> sctp: fix missing wake ups in some situations Eric Dumazet <edumazet@xxxxxxxxxx> ipv6: fix typo in fib6_net_exit() Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> ipv6: fix memory leak with multiple tables during netns destruction Xin Long <lucien.xin@xxxxxxxxx> ip6_gre: update mtu properly in ip6gre_err Jason Wang <jasowang@xxxxxxxxxx> vhost_net: correctly check tx avail during rx busy polling Claudiu Manoil <claudiu.manoil@xxxxxxx> gianfar: Fix Tx flow control deactivation Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Revert "net: fix percpu memory leaks" Jesper Dangaard Brouer <brouer@xxxxxxxxxx> Revert "net: use lib/percpu_counter API for fragmentation mem accounting" Ido Schimmel <idosch@xxxxxxxxxxxx> bridge: switchdev: Clear forward mark when transmitting packet Ido Schimmel <idosch@xxxxxxxxxxxx> mlxsw: spectrum: Forbid linking to devices that have uppers Wei Wang <weiwan@xxxxxxxxxx> tcp: initialize rcv_mss to TCP_MIN_MSS instead of 0 Florian Fainelli <f.fainelli@xxxxxxxxx> Revert "net: phy: Correctly process PHY_HALTED in phy_stop_machine()" Eric Dumazet <edumazet@xxxxxxxxxx> kcm: do not attach PF_KCM sockets to avoid deadlock Benjamin Poirier <bpoirier@xxxxxxxx> packet: Don't write vnet header beyond end of buffer Stefano Brivio <sbrivio@xxxxxxxxxx> cxgb4: Fix stack out-of-bounds read due to wrong size to t4_record_mbox() stephen hemminger <stephen@xxxxxxxxxxxxxxxxxx> netvsc: fix deadlock betwen link status and removal Arnd Bergmann <arnd@xxxxxxxx> qlge: avoid memcpy buffer overflow Stefano Brivio <sbrivio@xxxxxxxxxx> sctp: Avoid out-of-bounds reads from address storage Florian Fainelli <f.fainelli@xxxxxxxxx> fsl/man: Inherit parent device and of_node Eric Dumazet <edumazet@xxxxxxxxxx> udp: on peeking bad csum, drop packets even if not at head Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> macsec: add genl family module alias Wei Wang <weiwan@xxxxxxxxxx> ipv6: fix sparse warning on rt6i_node Wei Wang <weiwan@xxxxxxxxxx> ipv6: add rcu grace period before freeing fib6_node Stefano Brivio <sbrivio@xxxxxxxxxx> ipv6: accept 64k - 1 packet length in ip6_find_1stfragopt() ------------- Diffstat: Makefile | 4 +- arch/x86/include/asm/elf.h | 5 +- arch/x86/kernel/process_64.c | 236 ++++++++++++++----------- drivers/md/raid5.c | 2 + drivers/net/ethernet/chelsio/cxgb4/t4_hw.c | 6 +- drivers/net/ethernet/freescale/fman/mac.c | 3 + drivers/net/ethernet/freescale/gianfar.c | 2 +- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 6 + drivers/net/ethernet/qlogic/qlge/qlge_dbg.c | 2 +- drivers/net/hyperv/netvsc_drv.c | 7 +- drivers/net/macsec.c | 1 + drivers/net/phy/phy.c | 3 - drivers/vhost/net.c | 7 +- fs/f2fs/recovery.c | 4 +- fs/inode.c | 1 + fs/internal.h | 1 - fs/iomap.c | 4 +- fs/xfs/libxfs/xfs_attr_leaf.c | 2 +- fs/xfs/libxfs/xfs_bmap.c | 58 +++++- fs/xfs/libxfs/xfs_bmap.h | 2 +- fs/xfs/libxfs/xfs_bmap_btree.c | 1 + fs/xfs/libxfs/xfs_btree.c | 33 ++-- fs/xfs/libxfs/xfs_btree.h | 3 +- fs/xfs/libxfs/xfs_da_btree.c | 2 +- fs/xfs/libxfs/xfs_dir2_block.c | 2 +- fs/xfs/libxfs/xfs_dir2_leaf.c | 4 +- fs/xfs/libxfs/xfs_ialloc.c | 59 +++---- fs/xfs/libxfs/xfs_refcount.c | 14 +- fs/xfs/libxfs/xfs_refcount.h | 16 ++ fs/xfs/xfs_aops.c | 79 ++++++--- fs/xfs/xfs_bmap_item.c | 17 +- fs/xfs/xfs_bmap_util.c | 95 +++++++--- fs/xfs/xfs_buf.c | 62 ++++++- fs/xfs/xfs_buf.h | 1 + fs/xfs/xfs_buf_item.c | 154 ++++++++++------ fs/xfs/xfs_buf_item.h | 5 +- fs/xfs/xfs_file.c | 39 +--- fs/xfs/xfs_icache.c | 15 +- fs/xfs/xfs_inode.c | 35 ++-- fs/xfs/xfs_inode_item.c | 74 ++++++-- fs/xfs/xfs_ioctl.c | 41 +++-- fs/xfs/xfs_log.c | 44 ++++- fs/xfs/xfs_log_recover.c | 178 ++++++++++++------- fs/xfs/xfs_mount.c | 12 +- fs/xfs/xfs_qm.c | 31 +++- fs/xfs/xfs_reflink.c | 4 +- fs/xfs/xfs_super.c | 2 +- fs/xfs/xfs_trace.h | 20 ++- fs/xfs/xfs_trans.h | 16 +- fs/xfs/xfs_trans_ail.c | 72 ++++---- fs/xfs/xfs_trans_bmap.c | 11 +- fs/xfs/xfs_trans_buf.c | 98 ++++++---- fs/xfs/xfs_trans_priv.h | 46 +++-- include/linux/fs.h | 1 + include/linux/netdevice.h | 2 + include/net/inet_frag.h | 41 +---- include/net/ip6_fib.h | 32 +++- net/bridge/br_device.c | 3 + net/core/datagram.c | 2 +- net/core/dev.c | 3 +- net/ieee802154/6lowpan/reassembly.c | 11 +- net/ipv4/inet_fragment.c | 4 +- net/ipv4/ip_fragment.c | 12 +- net/ipv4/ip_tunnel.c | 4 +- net/ipv4/tcp.c | 4 + net/ipv6/addrconf.c | 2 +- net/ipv6/ip6_fib.c | 56 ++++-- net/ipv6/ip6_gre.c | 4 +- net/ipv6/netfilter/nf_conntrack_reasm.c | 12 +- net/ipv6/output_core.c | 6 +- net/ipv6/reassembly.c | 12 +- net/ipv6/route.c | 17 +- net/kcm/kcmsock.c | 4 + net/packet/af_packet.c | 12 +- net/sctp/sctp_diag.c | 7 +- net/sctp/socket.c | 3 +- net/sctp/ulpqueue.c | 3 +- 77 files changed, 1236 insertions(+), 662 deletions(-)