1. 23 Jan, 2020 2 commits
    • Hridya Valsaraju's avatar
      f2fs: Add f2fs stats to sysfs · fc7100ea
      Hridya Valsaraju authored
      Currently f2fs stats are only available from /d/f2fs/status. This patch
      adds some of the f2fs stats to sysfs so that they are accessible even
      when debugfs is not mounted.
      
      The following sysfs nodes are added:
      -/sys/fs/f2fs/<disk>/free_segments
      -/sys/fs/f2fs/<disk>/cp_foreground_calls
      -/sys/fs/f2fs/<disk>/cp_background_calls
      -/sys/fs/f2fs/<disk>/gc_foreground_calls
      -/sys/fs/f2fs/<disk>/gc_background_calls
      -/sys/fs/f2fs/<disk>/moved_blocks_foreground
      -/sys/fs/f2fs/<disk>/moved_blocks_background
      -/sys/fs/f2fs/<disk>/avg_vblocks
      Signed-off-by: default avatarHridya Valsaraju <hridya@google.com>
      [Jaegeuk Kim: allow STAT_FS without DEBUG_FS]
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      fc7100ea
    • Hridya Valsaraju's avatar
      f2fs: delete duplicate information on sysfs nodes · f5fa7c8b
      Hridya Valsaraju authored
      This patch merges the sysfs node documentation present in
      Documentation/filesystems/f2fs.txt and
      Documentation/ABI/testing/sysfs-fs-f2fs
      and deletes the duplicate information from
      Documentation/filesystems/f2fs.txt. This is to prevent having to update
      both files when a new sysfs node is added for f2fs.
      The patch also makes minor formatting changes to
      Documentation/ABI/testing/sysfs-fs-f2fs.
      Signed-off-by: default avatarHridya Valsaraju <hridya@google.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      f5fa7c8b
  2. 18 Jan, 2020 13 commits
    • Chao Yu's avatar
      f2fs: change to use rwsem for gc_mutex · fb24fea7
      Chao Yu authored
      Mutex lock won't serialize callers, in order to avoid starving of unlucky
      caller, let's use rwsem lock instead.
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      fb24fea7
    • Jaegeuk Kim's avatar
      f2fs: update f2fs document regarding to fsync_mode · d7b0a23d
      Jaegeuk Kim authored
      This patch adds missing fsync_mode entry in f2fs document.
      
      Fixes: 04485987 ("f2fs: introduce async IPU policy")
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      d7b0a23d
    • Jaegeuk Kim's avatar
      f2fs: add a way to turn off ipu bio cache · 0e7f4197
      Jaegeuk Kim authored
      Setting 0x40 in /sys/fs/f2fs/dev/ipu_policy gives a way to turn off
      bio cache, which is useufl to check whether block layer using hardware
      encryption engine merges IOs correctly.
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      0e7f4197
    • Chengguang Xu's avatar
      f2fs: code cleanup for f2fs_statfs_project() · bf2cbd3c
      Chengguang Xu authored
      Calling min_not_zero() to simplify complicated prjquota
      limit comparison in f2fs_statfs_project().
      Signed-off-by: default avatarChengguang Xu <cgxu519@mykernel.net>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      bf2cbd3c
    • Chengguang Xu's avatar
      f2fs: fix miscounted block limit in f2fs_statfs_project() · acdf2172
      Chengguang Xu authored
      statfs calculates Total/Used/Avail disk space in block unit,
      so we should translate soft/hard prjquota limit to block unit
      as well.
      
      Below testing result shows the block/inode numbers of
      Total/Used/Avail from df command are all correct afer
      applying this patch.
      
      [root@localhost quota-tools]\# ./repquota -P /dev/sdb1
      *** Report for project quotas on device /dev/sdb1
      Block grace time: 7days; Inode grace time: 7days
                    Block limits                File limits
      Project   used soft    hard  grace  used  soft  hard  grace
      -----------------------------------------------------------
      \#0   --   4       0       0         1     0     0
      \#101 --   0       0       0         2     0     0
      \#102 --   0   10240       0         2    10     0
      \#103 --   0       0   20480         2     0    20
      \#104 --   0   10240   20480         2    10    20
      \#105 --   0   20480   10240         2    20    10
      
      [root@localhost sdb1]\# lsattr -p t{1,2,3,4,5}
        101 ----------------N-- t1/a1
        102 ----------------N-- t2/a2
        103 ----------------N-- t3/a3
        104 ----------------N-- t4/a4
        105 ----------------N-- t5/a5
      
      [root@localhost sdb1]\# df -hi t{1,2,3,4,5}
      Filesystem     Inodes IUsed IFree IUse% Mounted on
      /dev/sdb1        2.4M    21  2.4M    1% /mnt/sdb1
      /dev/sdb1          10     2     8   20% /mnt/sdb1
      /dev/sdb1          20     2    18   10% /mnt/sdb1
      /dev/sdb1          10     2     8   20% /mnt/sdb1
      /dev/sdb1          10     2     8   20% /mnt/sdb1
      
      [root@localhost sdb1]\# df -h t{1,2,3,4,5}
      Filesystem      Size  Used Avail Use% Mounted on
      /dev/sdb1        10G  489M  9.6G   5% /mnt/sdb1
      /dev/sdb1        10M     0   10M   0% /mnt/sdb1
      /dev/sdb1        20M     0   20M   0% /mnt/sdb1
      /dev/sdb1        10M     0   10M   0% /mnt/sdb1
      /dev/sdb1        10M     0   10M   0% /mnt/sdb1
      
      Fixes: 909110c0 ("f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project()")
      Signed-off-by: default avatarChengguang Xu <cgxu519@mykernel.net>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      acdf2172
    • Sahitya Tummala's avatar
      f2fs: show the CP_PAUSE reason in checkpoint traces · fad5fbce
      Sahitya Tummala authored
      Remove the duplicate CP_UMOUNT enum and add the new CP_PAUSE
      enum to show the checkpoint reason in the trace prints.
      Signed-off-by: default avatarSahitya Tummala <stummala@codeaurora.org>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      fad5fbce
    • Eric Biggers's avatar
      f2fs: fix deadlock allocating bio_post_read_ctx from mempool · 644c8c92
      Eric Biggers authored
      Without any form of coordination, any case where multiple allocations
      from the same mempool are needed at a time to make forward progress can
      deadlock under memory pressure.
      
      This is the case for struct bio_post_read_ctx, as one can be allocated
      to decrypt a Merkle tree page during fsverity_verify_bio(), which itself
      is running from a post-read callback for a data bio which has its own
      struct bio_post_read_ctx.
      
      Fix this by freeing first bio_post_read_ctx before calling
      fsverity_verify_bio().  This works because verity (if enabled) is always
      the last post-read step.
      
      This deadlock can be reproduced by trying to read from an encrypted
      verity file after reducing NUM_PREALLOC_POST_READ_CTXS to 1 and patching
      mempool_alloc() to pretend that pool->alloc() always fails.
      
      Note that since NUM_PREALLOC_POST_READ_CTXS is actually 128, to actually
      hit this bug in practice would require reading from lots of encrypted
      verity files at the same time.  But it's theoretically possible, as N
      available objects doesn't guarantee forward progress when > N/2 threads
      each need 2 objects at a time.
      
      Fixes: 95ae251f ("f2fs: add fs-verity support")
      Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      644c8c92
    • Eric Biggers's avatar
      f2fs: remove unneeded check for error allocating bio_post_read_ctx · e8ce5749
      Eric Biggers authored
      Since allocating an object from a mempool never fails when
      __GFP_DIRECT_RECLAIM (which is included in GFP_NOFS) is set, the check
      for failure to allocate a bio_post_read_ctx is unnecessary.  Remove it.
      Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      e8ce5749
    • Jaegeuk Kim's avatar
      f2fs: convert inline_dir early before starting rename · b06af2af
      Jaegeuk Kim authored
      If we hit an error during rename, we'll get two dentries in different
      directories.
      
      Chao adds to check the room in inline_dir which can avoid needless
      inversion. This should be done by inode_lock(&old_dir).
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      b06af2af
    • Chao Yu's avatar
      f2fs: fix memleak of kobject · fe396ad8
      Chao Yu authored
      If kobject_init_and_add() failed, caller needs to invoke kobject_put()
      to release kobject explicitly.
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      fe396ad8
    • Chao Yu's avatar
      f2fs: fix to add swap extent correctly · 3e5e479a
      Chao Yu authored
      As Youling reported in mailing list:
      
      https://www.linuxquestions.org/questions/linux-newbie-8/the-file-system-f2fs-is-broken-4175666043/
      
      https://www.linux.org/threads/the-file-system-f2fs-is-broken.26490/
      
      There is a test case can corrupt f2fs image:
      - dd if=/dev/zero of=/swapfile bs=1M count=4096
      - chmod 600 /swapfile
      - mkswap /swapfile
      - swapon --discard /swapfile
      
      The root cause is f2fs_swap_activate() intends to return zero value
      to setup_swap_extents() to enable SWP_FS mode (swap file goes through
      fs), in this flow, setup_swap_extents() setups swap extent with wrong
      block address range, result in discard_swap() erasing incorrect address.
      
      Because f2fs_swap_activate() has pinned swapfile, its data block
      address will not change, it's safe to let swap to handle IO through
      raw device, so we can get rid of SWAP_FS mode and initial swap extents
      inside f2fs_swap_activate(), by this way, later discard_swap() can trim
      in right address range.
      
      Fixes: 4969c06a ("f2fs: support swap file w/ DIO")
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      3e5e479a
    • Jaegeuk Kim's avatar
      f2fs: run fsck when getting bad inode during GC · 4eea93e3
      Jaegeuk Kim authored
      This is to avoid inifinite GC when trying to disable checkpoint.
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      4eea93e3
    • Chao Yu's avatar
      f2fs: support data compression · 4c8ff709
      Chao Yu authored
      This patch tries to support compression in f2fs.
      
      - New term named cluster is defined as basic unit of compression, file can
      be divided into multiple clusters logically. One cluster includes 4 << n
      (n >= 0) logical pages, compression size is also cluster size, each of
      cluster can be compressed or not.
      
      - In cluster metadata layout, one special flag is used to indicate cluster
      is compressed one or normal one, for compressed cluster, following metadata
      maps cluster to [1, 4 << n - 1] physical blocks, in where f2fs stores
      data including compress header and compressed data.
      
      - In order to eliminate write amplification during overwrite, F2FS only
      support compression on write-once file, data can be compressed only when
      all logical blocks in file are valid and cluster compress ratio is lower
      than specified threshold.
      
      - To enable compression on regular inode, there are three ways:
      * chattr +c file
      * chattr +c dir; touch dir/file
      * mount w/ -o compress_extension=ext; touch file.ext
      
      Compress metadata layout:
                                   [Dnode Structure]
                   +-----------------------------------------------+
                   | cluster 1 | cluster 2 | ......... | cluster N |
                   +-----------------------------------------------+
                   .           .                       .           .
             .                       .                .                      .
        .         Compressed Cluster       .        .        Normal Cluster            .
      +----------+---------+---------+---------+  +---------+---------+---------+---------+
      |compr flag| block 1 | block 2 | block 3 |  | block 1 | block 2 | block 3 | block 4 |
      +----------+---------+---------+---------+  +---------+---------+---------+---------+
                 .                             .
               .                                           .
             .                                                           .
            +-------------+-------------+----------+----------------------------+
            | data length | data chksum | reserved |      compressed data       |
            +-------------+-------------+----------+----------------------------+
      
      Changelog:
      
      20190326:
      - fix error handling of read_end_io().
      - remove unneeded comments in f2fs_encrypt_one_page().
      
      20190327:
      - fix wrong use of f2fs_cluster_is_full() in f2fs_mpage_readpages().
      - don't jump into loop directly to avoid uninitialized variables.
      - add TODO tag in error path of f2fs_write_cache_pages().
      
      20190328:
      - fix wrong merge condition in f2fs_read_multi_pages().
      - check compressed file in f2fs_post_read_required().
      
      20190401
      - allow overwrite on non-compressed cluster.
      - check cluster meta before writing compressed data.
      
      20190402
      - don't preallocate blocks for compressed file.
      
      - add lz4 compress algorithm
      - process multiple post read works in one workqueue
        Now f2fs supports processing post read work in multiple workqueue,
        it shows low performance due to schedule overhead of multiple
        workqueue executing orderly.
      
      20190921
      - compress: support buffered overwrite
      C: compress cluster flag
      V: valid block address
      N: NEW_ADDR
      
      One cluster contain 4 blocks
      
       before overwrite   after overwrite
      
      - VVVV		->	CVNN
      - CVNN		->	VVVV
      
      - CVNN		->	CVNN
      - CVNN		->	CVVV
      
      - CVVV		->	CVNN
      - CVVV		->	CVVV
      
      20191029
      - add kconfig F2FS_FS_COMPRESSION to isolate compression related
      codes, add kconfig F2FS_FS_{LZO,LZ4} to cover backend algorithm.
      note that: will remove lzo backend if Jaegeuk agreed that too.
      - update codes according to Eric's comments.
      
      20191101
      - apply fixes from Jaegeuk
      
      20191113
      - apply fixes from Jaegeuk
      - split workqueue for fsverity
      
      20191216
      - apply fixes from Jaegeuk
      
      20200117
      - fix to avoid NULL pointer dereference
      
      [Jaegeuk Kim]
      - add tracepoint for f2fs_{,de}compress_pages()
      - fix many bugs and add some compression stats
      - fix overwrite/mmap bugs
      - address 32bit build error, reported by Geert.
      - bug fixes when handling errors and i_compressed_blocks
      
      Reported-by: <noreply@ellerman.id.au>
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      4c8ff709
  3. 15 Jan, 2020 9 commits
    • Jaegeuk Kim's avatar
      f2fs: free sysfs kobject · 820d3667
      Jaegeuk Kim authored
      Detected kmemleak.
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      820d3667
    • Jaegeuk Kim's avatar
      f2fs: declare nested quota_sem and remove unnecessary sems · 2c4e0c52
      Jaegeuk Kim authored
      1.
      f2fs_quota_sync
       -> down_read(&sbi->quota_sem)
       -> dquot_writeback_dquots
        -> f2fs_dquot_commit
         -> down_read(&sbi->quota_sem)
      
      2.
      f2fs_quota_sync
       -> down_read(&sbi->quota_sem)
        -> f2fs_write_data_pages
         -> f2fs_write_single_data_page
          -> down_write(&F2FS_I(inode)->i_sem)
      
      f2fs_mkdir
       -> f2fs_do_add_link
         -> down_write(&F2FS_I(inode)->i_sem)
         -> f2fs_init_inode_metadata
          -> f2fs_new_node_page
           -> dquot_alloc_inode
            -> f2fs_dquot_mark_dquot_dirty
             -> down_read(&sbi->quota_sem)
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      2c4e0c52
    • Jaegeuk Kim's avatar
      f2fs: don't put new_page twice in f2fs_rename · 762e4db5
      Jaegeuk Kim authored
      In f2fs_rename(), new_page is gone after f2fs_set_link(), but it tries
      to put again when whiteout is failed and jumped to put_out_dir.
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      762e4db5
    • Jaegeuk Kim's avatar
      f2fs: set I_LINKABLE early to avoid wrong access by vfs · 5b1dbb08
      Jaegeuk Kim authored
      This patch moves setting I_LINKABLE early in rename2(whiteout) to avoid the
      below warning.
      
      [ 3189.163385] WARNING: CPU: 3 PID: 59523 at fs/inode.c:358 inc_nlink+0x32/0x40
      [ 3189.246979] Call Trace:
      [ 3189.248707]  f2fs_init_inode_metadata+0x2d6/0x440 [f2fs]
      [ 3189.251399]  f2fs_add_inline_entry+0x162/0x8c0 [f2fs]
      [ 3189.254010]  f2fs_add_dentry+0x69/0xe0 [f2fs]
      [ 3189.256353]  f2fs_do_add_link+0xc5/0x100 [f2fs]
      [ 3189.258774]  f2fs_rename2+0xabf/0x1010 [f2fs]
      [ 3189.261079]  vfs_rename+0x3f8/0xaa0
      [ 3189.263056]  ? tomoyo_path_rename+0x44/0x60
      [ 3189.265283]  ? do_renameat2+0x49b/0x550
      [ 3189.267324]  do_renameat2+0x49b/0x550
      [ 3189.269316]  __x64_sys_renameat2+0x20/0x30
      [ 3189.271441]  do_syscall_64+0x5a/0x230
      [ 3189.273410]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [ 3189.275848] RIP: 0033:0x7f270b4d9a49
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      5b1dbb08
    • Eric Biggers's avatar
      f2fs: don't keep META_MAPPING pages used for moving verity file blocks · 542989b6
      Eric Biggers authored
      META_MAPPING is used to move blocks for both encrypted and verity files.
      So the META_MAPPING invalidation condition in do_checkpoint() should
      consider verity too, not just encrypt.
      Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      542989b6
    • Chao Yu's avatar
      f2fs: introduce private bioset · f543805f
      Chao Yu authored
      In low memory scenario, we can allocate multiple bios without
      submitting any of them.
      
      - f2fs_write_checkpoint()
       - block_operations()
        - f2fs_sync_node_pages()
         step 1) flush cold nodes, allocate new bio from mempool
         - bio_alloc()
          - mempool_alloc()
         step 2) flush hot nodes, allocate a bio from mempool
         - bio_alloc()
          - mempool_alloc()
         step 3) flush warm nodes, be stuck in below call path
         - bio_alloc()
          - mempool_alloc()
           - loop to wait mempool element release, as we only
             reserved memory for two bio allocation, however above
             allocated two bios may never be submitted.
      
      So we need avoid using default bioset, in this patch we introduce a
      private bioset, in where we enlarg mempool element count to total
      number of log header, so that we can make sure we have enough
      backuped memory pool in scenario of allocating/holding multiple
      bios.
      Signed-off-by: default avatarGao Xiang <gaoxiang25@huawei.com>
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      f543805f
    • Sahitya Tummala's avatar
      f2fs: cleanup duplicate stats for atomic files · 0e6d0164
      Sahitya Tummala authored
      Remove duplicate sbi->aw_cnt stats counter that tracks
      the number of atomic files currently opened (it also shows
      incorrect value sometimes). Use more relit lable sbi->atomic_files
      to show in the stats.
      Signed-off-by: default avatarSahitya Tummala <stummala@codeaurora.org>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      0e6d0164
    • Shin'ichiro Kawasaki's avatar
      f2fs: Check write pointer consistency of non-open zones · d508c94e
      Shin'ichiro Kawasaki authored
      To catch f2fs bugs in write pointer handling code for zoned block
      devices, check write pointers of non-open zones that current segments do
      not point to. Do this check at mount time, after the fsync data recovery
      and current segments' write pointer consistency fix. Or when fsync data
      recovery is disabled by mount option, do the check when there is no fsync
      data.
      
      Check two items comparing write pointers with valid block maps in SIT.
      The first item is check for zones with no valid blocks. When there is no
      valid blocks in a zone, the write pointer should be at the start of the
      zone. If not, next write operation to the zone will cause unaligned write
      error. If write pointer is not at the zone start, reset the write pointer
      to place at the zone start.
      
      The second item is check between the write pointer position and the last
      valid block in the zone. It is unexpected that the last valid block
      position is beyond the write pointer. In such a case, report as a bug.
      Fix is not required for such zone, because the zone is not selected for
      next write operation until the zone get discarded.
      Signed-off-by: default avatarShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      d508c94e
    • Shin'ichiro Kawasaki's avatar
      f2fs: Check write pointer consistency of open zones · c426d991
      Shin'ichiro Kawasaki authored
      On sudden f2fs shutdown, write pointers of zoned block devices can go
      further but f2fs meta data keeps current segments at positions before the
      write operations. After remounting the f2fs, this inconsistency causes
      write operations not at write pointers and "Unaligned write command"
      error is reported.
      
      To avoid the error, compare current segments with write pointers of open
      zones the current segments point to, during mount operation. If the write
      pointer position is not aligned with the current segment position, assign
      a new zone to the current segment. Also check the newly assigned zone has
      write pointer at zone start. If not, reset write pointer of the zone.
      
      Perform the consistency check during fsync recovery. Not to lose the
      fsync data, do the check after fsync data gets restored and before
      checkpoint commit which flushes data at current segment positions. Not to
      cause conflict with kworker's dirfy data/node flush, do the fix within
      SBI_POR_DOING protection.
      Signed-off-by: default avatarShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      c426d991
  4. 12 Dec, 2019 3 commits
  5. 11 Dec, 2019 1 commit
  6. 09 Dec, 2019 5 commits
  7. 08 Dec, 2019 7 commits
    • Linus Torvalds's avatar
      Linux 5.5-rc1 · e42617b8
      Linus Torvalds authored
      e42617b8
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 95e6ba51
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) More jumbo frame fixes in r8169, from Heiner Kallweit.
      
       2) Fix bpf build in minimal configuration, from Alexei Starovoitov.
      
       3) Use after free in slcan driver, from Jouni Hogander.
      
       4) Flower classifier port ranges don't work properly in the HW offload
          case, from Yoshiki Komachi.
      
       5) Use after free in hns3_nic_maybe_stop_tx(), from Yunsheng Lin.
      
       6) Out of bounds access in mqprio_dump(), from Vladyslav Tarasiuk.
      
       7) Fix flow dissection in dsa TX path, from Alexander Lobakin.
      
       8) Stale syncookie timestampe fixes from Guillaume Nault.
      
      [ Did an evil merge to silence a warning introduced by this pull - Linus ]
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (84 commits)
        r8169: fix rtl_hw_jumbo_disable for RTL8168evl
        net_sched: validate TCA_KIND attribute in tc_chain_tmplt_add()
        r8169: add missing RX enabling for WoL on RTL8125
        vhost/vsock: accept only packets with the right dst_cid
        net: phy: dp83867: fix hfs boot in rgmii mode
        net: ethernet: ti: cpsw: fix extra rx interrupt
        inet: protect against too small mtu values.
        gre: refetch erspan header from skb->data after pskb_may_pull()
        pppoe: remove redundant BUG_ON() check in pppoe_pernet
        tcp: Protect accesses to .ts_recent_stamp with {READ,WRITE}_ONCE()
        tcp: tighten acceptance of ACKs not matching a child socket
        tcp: fix rejected syncookies due to stale timestamps
        lpc_eth: kernel BUG on remove
        tcp: md5: fix potential overestimation of TCP option space
        net: sched: allow indirect blocks to bind to clsact in TC
        net: core: rename indirect block ingress cb function
        net-sysfs: Call dev_hold always in netdev_queue_add_kobject
        net: dsa: fix flow dissection on Tx path
        net/tls: Fix return values to avoid ENOTSUPP
        net: avoid an indirect call in ____sys_recvmsg()
        ...
      95e6ba51
    • Linus Torvalds's avatar
      Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 138f371d
      Linus Torvalds authored
      Pull more SCSI updates from James Bottomley:
       "Eleven patches, all in drivers (no core changes) that are either minor
        cleanups or small fixes.
      
        They were late arriving, but still safe for -rc1"
      
      * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: MAINTAINERS: Add the linux-scsi mailing list to the ISCSI entry
        scsi: megaraid_sas: Make poll_aen_lock static
        scsi: sd_zbc: Improve report zones error printout
        scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI
        scsi: qla2xxx: unregister ports after GPN_FT failure
        scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan
        scsi: pm80xx: Remove unused include of linux/version.h
        scsi: pm80xx: fix logic to break out of loop when register value is 2 or 3
        scsi: scsi_transport_sas: Fix memory leak when removing devices
        scsi: lpfc: size cpu map by last cpu id set
        scsi: ibmvscsi_tgt: Remove unneeded variable rc
      138f371d
    • Linus Torvalds's avatar
      Merge tag '5.5-rc-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6 · a78f7cdd
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Nine cifs/smb3 fixes:
      
         - one fix for stable (oops during oplock break)
      
         - two timestamp fixes including important one for updating mtime at
           close to avoid stale metadata caching issue on dirty files (also
           improves perf by using SMB2_CLOSE_FLAG_POSTQUERY_ATTRIB over the
           wire)
      
         - two fixes for "modefromsid" mount option for file create (now
           allows mode bits to be set more atomically and accurately on create
           by adding "sd_context" on create when modefromsid specified on
           mount)
      
         - two fixes for multichannel found in testing this week against
           different servers
      
         - two small cleanup patches"
      
      * tag '5.5-rc-smb3-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6:
        smb3: improve check for when we send the security descriptor context on create
        smb3: fix mode passed in on create for modetosid mount option
        cifs: fix possible uninitialized access and race on iface_list
        cifs: Fix lookup of SMB connections on multichannel
        smb3: query attributes on file close
        smb3: remove unused flag passed into close functions
        cifs: remove redundant assignment to pointer pneg_ctxt
        fs: cifs: Fix atime update check vs mtime
        CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks
      a78f7cdd
    • Linus Torvalds's avatar
      Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 5bf9a06a
      Linus Torvalds authored
      Pull misc vfs cleanups from Al Viro:
       "No common topic, just three cleanups".
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        make __d_alloc() static
        fs/namespace: add __user to open_tree and move_mount syscalls
        fs/fnctl: fix missing __user in fcntl_rw_hint()
      5bf9a06a
    • Linus Torvalds's avatar
      Merge tag 'ntb-5.5' of git://github.com/jonmason/ntb · 9455d25f
      Linus Torvalds authored
      Pull NTB update from Jon Mason:
       "Just a simple patch to add a new Hygon Device ID to the AMD NTB device
        driver"
      
      * tag 'ntb-5.5' of git://github.com/jonmason/ntb:
        NTB: Add Hygon Device ID
      9455d25f
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 73721451
      Linus Torvalds authored
      Pull more input updates from Dmitry Torokhov:
      
       - fixups for Synaptics RMI4 driver
      
       - a quirk for Goodinx touchscreen on Teclast tablet
      
       - a new keycode definition for activating privacy screen feature found
         on a few "enterprise" laptops
      
       - updates to snvs_pwrkey driver
      
       - polling uinput device for writing (which is always allowed) now works
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers
        Input: synaptics-rmi4 - re-enable IRQs in f34v7_do_reflash
        Input: goodix - add upside-down quirk for Teclast X89 tablet
        Input: add privacy screen toggle keycode
        Input: uinput - fix returning EPOLLOUT from uinput_poll
        Input: snvs_pwrkey - remove gratuitous NULL initializers
        Input: snvs_pwrkey - send key events for i.MX6 S, DL and Q
      73721451