Skip to content
  1. Aug 04, 2020
  2. Jul 26, 2020
  3. Jul 24, 2020
  4. Jul 22, 2020
    • Daeho Jeong's avatar
      f2fs: add F2FS_IOC_SEC_TRIM_FILE ioctl · 9af84648
      Daeho Jeong authored
      
      
      Added a new ioctl to send discard commands or/and zero out
      to selected data area of a regular file for security reason.
      
      The way of handling range.len of F2FS_IOC_SEC_TRIM_FILE:
      1. Added -1 value support for range.len to secure trim the whole blocks
         starting from range.start regardless of i_size.
      2. If the end of the range passes over the end of file, it means until
         the end of file (i_size).
      3. ignored the case of that range.len is zero to prevent the function
         from making end_addr zero and triggering different behaviour of
         the function.
      
      Signed-off-by: default avatarDaeho Jeong <daehojeong@google.com>
      Reviewed-by: default avatarChao Yu <yuchao0@huawei.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      9af84648
    • Jaegeuk Kim's avatar
      f2fs: should avoid inode eviction in synchronous path · b0f3b87f
      Jaegeuk Kim authored
      
      
      https://bugzilla.kernel.org/show_bug.cgi?id=208565
      
      PID: 257    TASK: ecdd0000  CPU: 0   COMMAND: "init"
        #0 [<c0b420ec>] (__schedule) from [<c0b423c8>]
        #1 [<c0b423c8>] (schedule) from [<c0b459d4>]
        #2 [<c0b459d4>] (rwsem_down_read_failed) from [<c0b44fa0>]
        #3 [<c0b44fa0>] (down_read) from [<c044233c>]
        #4 [<c044233c>] (f2fs_truncate_blocks) from [<c0442890>]
        #5 [<c0442890>] (f2fs_truncate) from [<c044d408>]
        #6 [<c044d408>] (f2fs_evict_inode) from [<c030be18>]
        #7 [<c030be18>] (evict) from [<c030a558>]
        #8 [<c030a558>] (iput) from [<c047c600>]
        #9 [<c047c600>] (f2fs_sync_node_pages) from [<c0465414>]
       #10 [<c0465414>] (f2fs_write_checkpoint) from [<c04575f4>]
       #11 [<c04575f4>] (f2fs_sync_fs) from [<c0441918>]
       #12 [<c0441918>] (f2fs_do_sync_file) from [<c0441098>]
       #13 [<c0441098>] (f2fs_sync_file) from [<c0323fa0>]
       #14 [<c0323fa0>] (vfs_fsync_range) from [<c0324294>]
       #15 [<c0324294>] (do_fsync) from [<c0324014>]
       #16 [<c0324014>] (sys_fsync) from [<c0108bc0>]
      
      This can be caused by flush_dirty_inode() in f2fs_sync_node_pages() where
      iput() requires f2fs_lock_op() again resulting in livelock.
      
      Reported-by: default avatarZhiguo Niu <Zhiguo.Niu@unisoc.com>
      Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
      b0f3b87f
  5. Jul 21, 2020
  6. Jul 09, 2020
  7. Jul 08, 2020