1. 23 Mar, 2020 4 commits
  2. 19 Mar, 2020 16 commits
  3. 11 Mar, 2020 3 commits
  4. 10 Mar, 2020 7 commits
    • Jaegeuk Kim's avatar
      f2fs: fix wrong check on F2FS_IOC_FSSETXATTR · 99eabb91
      Jaegeuk Kim authored
      This fixes the incorrect failure when enabling project quota on casefold-enabled
      file.
      
      Cc: Daniel Rosenberg <drosen@google.com>
      Cc: kernel-team@android.com
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      99eabb91
    • Chao Yu's avatar
      f2fs: fix to avoid use-after-free in f2fs_write_multi_pages() · 95978caa
      Chao Yu authored
      In compress cluster, if physical block number is less than logic
      page number, race condition will cause use-after-free issue as
      described below:
      
      - f2fs_write_compressed_pages
       - fio.page = cic->rpages[0];
       - f2fs_outplace_write_data
      					- f2fs_compress_write_end_io
      					 - kfree(cic->rpages);
      					 - kfree(cic);
       - fio.page = cic->rpages[1];
      
      f2fs_write_multi_pages+0xfd0/0x1a98
      f2fs_write_data_pages+0x74c/0xb5c
      do_writepages+0x64/0x108
      __writeback_single_inode+0xdc/0x4b8
      writeback_sb_inodes+0x4d0/0xa68
      __writeback_inodes_wb+0x88/0x178
      wb_writeback+0x1f0/0x424
      wb_workfn+0x2f4/0x574
      process_one_work+0x210/0x48c
      worker_thread+0x2e8/0x44c
      kthread+0x110/0x120
      ret_from_fork+0x10/0x18
      
      Fixes: 4c8ff709 ("f2fs: support data compression")
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      95978caa
    • Chao Yu's avatar
      f2fs: fix to avoid using uninitialized variable · 06c7540f
      Chao Yu authored
      In f2fs_vm_page_mkwrite(), if inode is compress one, and current mmapped
      page locates in compressed cluster, we have to call f2fs_get_dnode_of_data()
      to get its physical block address before f2fs_wait_on_block_writeback().
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      06c7540f
    • Chao Yu's avatar
      f2fs: fix inconsistent comments · 7a88ddb5
      Chao Yu authored
      Lack of maintenance on comments may mislead developers, fix them.
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      7a88ddb5
    • Chao Yu's avatar
      f2fs: remove i_sem lock coverage in f2fs_setxattr() · 3addc1ae
      Chao Yu authored
      f2fs_inode.xattr_ver field was gone after commit d260081c
      ("f2fs: change recovery policy of xattr node block"), remove i_sem
      lock coverage in f2fs_setxattr()
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      3addc1ae
    • Chao Yu's avatar
      f2fs: cover last_disk_size update with spinlock · c10c9820
      Chao Yu authored
      This change solves below hangtask issue:
      
      INFO: task kworker/u16:1:58 blocked for more than 122 seconds.
            Not tainted 5.6.0-rc2-00590-g9983bdae4974e #11
      "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
      kworker/u16:1   D    0    58      2 0x00000000
      Workqueue: writeback wb_workfn (flush-179:0)
      Backtrace:
       (__schedule) from [<c0913234>] (schedule+0x78/0xf4)
       (schedule) from [<c017ec74>] (rwsem_down_write_slowpath+0x24c/0x4c0)
       (rwsem_down_write_slowpath) from [<c0915f2c>] (down_write+0x6c/0x70)
       (down_write) from [<c0435b80>] (f2fs_write_single_data_page+0x608/0x7ac)
       (f2fs_write_single_data_page) from [<c0435fd8>] (f2fs_write_cache_pages+0x2b4/0x7c4)
       (f2fs_write_cache_pages) from [<c043682c>] (f2fs_write_data_pages+0x344/0x35c)
       (f2fs_write_data_pages) from [<c0267ee8>] (do_writepages+0x3c/0xd4)
       (do_writepages) from [<c0310cbc>] (__writeback_single_inode+0x44/0x454)
       (__writeback_single_inode) from [<c03112d0>] (writeback_sb_inodes+0x204/0x4b0)
       (writeback_sb_inodes) from [<c03115cc>] (__writeback_inodes_wb+0x50/0xe4)
       (__writeback_inodes_wb) from [<c03118f4>] (wb_writeback+0x294/0x338)
       (wb_writeback) from [<c0312dac>] (wb_workfn+0x35c/0x54c)
       (wb_workfn) from [<c014f2b8>] (process_one_work+0x214/0x544)
       (process_one_work) from [<c014f634>] (worker_thread+0x4c/0x574)
       (worker_thread) from [<c01564fc>] (kthread+0x144/0x170)
       (kthread) from [<c01010e8>] (ret_from_fork+0x14/0x2c)
      Reported-and-tested-by: default avatarOndřej Jirman <megi@xff.cz>
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      c10c9820
    • Chao Yu's avatar
      f2fs: fix to check i_compr_blocks correctly · d940aa07
      Chao Yu authored
      inode.i_blocks counts based on 512byte sector, we need to convert
      to 4kb sized block count before comparing to i_compr_blocks.
      
      In addition, add to print message when sanity check on inode
      compression configs failed.
      Signed-off-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      d940aa07
  5. 27 Feb, 2020 7 commits
  6. 13 Feb, 2020 3 commits
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · b19e8c68
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "Summary below, but it's all reasonably straightforward. There are some
        more fixes on the horizon, but nothing disastrous yet.
      
        Summary:
      
         - Fix build when KASLR is enabled but CONFIG_ARCH_RANDOM is not set
      
         - Fix context-switching of SSBS state on systems that implement it
      
         - Fix spinlock compiler warning introduced during the merge window
      
         - Fix incorrect header inclusion (linux/clk-provider.h)
      
         - Use SYSCTL_{ZERO,ONE} instead of rolling our own static variables
      
         - Don't scream if optional SMMUv3 PMU irq is missing
      
         - Remove some unused function prototypes"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: time: Replace <linux/clk-provider.h> by <linux/of_clk.h>
        arm64: Fix CONFIG_ARCH_RANDOM=n build
        perf/smmuv3: Use platform_get_irq_optional() for wired interrupt
        arm64/spinlock: fix a -Wunused-function warning
        arm64: ssbs: Fix context-switch when SSBS is present on all CPUs
        arm64: use shared sysctl constants
        arm64: Drop do_el0_ia_bp_hardening() & do_sp_pc_abort() declarations
      b19e8c68
    • Linus Torvalds's avatar
      Merge tag 'gpio-v5.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 1d40890a
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
      
       - Revert two patches to gpio_do_set_config() and implement the proper
         solution that works, also drop an unecessary call in set_config()
      
       - Fix up the lockdep class for hierarchical IRQ domains.
      
       - Remove some bridge code for line directions.
      
       - Fix a register access bug in the Xilinx driver.
      
      * tag 'gpio-v5.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: sifive: fix static checker warning
        spmi: pmic-arb: Set lockdep class for hierarchical irq domains
        gpio: xilinx: Fix bug where the wrong GPIO register is written to
        gpiolib: remove unnecessary argument from set_config call
        gpio: bd71828: Remove unneeded defines for GPIO_LINE_DIRECTION_IN/OUT
        MAINTAINERS: Sort entries in database for GPIO
        gpiolib: fix gpio_do_set_config()
        Revert "gpiolib: remove set but not used variable 'config'"
        Revert "gpiolib: Remove duplicated function gpio_do_set_config()"
      1d40890a
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 64ae1342
      Linus Torvalds authored
      Pull crypto fix from Herbert Xu:
       "This fixes a Kconfig anomaly when lib/crypto is enabled without Crypto
        API"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: Kconfig - allow tests to be disabled when manager is disabled
      64ae1342