1. 10 Apr, 2020 1 commit
  2. 02 Apr, 2020 15 commits
  3. 04 Feb, 2020 2 commits
    • Masahiro Yamada's avatar
      treewide: remove redundant IS_ERR() before error code check · 45586c70
      Masahiro Yamada authored
      'PTR_ERR(p) == -E*' is a stronger condition than IS_ERR(p).
      Hence, IS_ERR(p) is unneeded.
      The semantic patch that generates this commit is as follows:
      // <smpl>
      expression ptr;
      constant error_code;
      -IS_ERR(ptr) && (PTR_ERR(ptr) == - error_code)
      +PTR_ERR(ptr) == - error_code
      // </smpl>
      Link: http://lkml.kernel.org/r/20200106045833.1725-1-masahiroy@kernel.orgSigned-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Cc: Julia Lawall <julia.lawall@lip6.fr>
      Acked-by: Stephen Boyd <sboyd@kernel.org> [drivers/clk/clk.c]
      Acked-by: Bartosz Golaszewski <bgolaszewski@baylibre.com> [GPIO]
      Acked-by: Wolfram Sang <wsa@the-dreams.de> [drivers/i2c]
      Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> [acpi/scan.c]
      Acked-by: default avatarRob Herring <robh@kernel.org>
      Cc: Eric Biggers <ebiggers@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    • Gang He's avatar
      ocfs2: fix oops when writing cloned file · 2d797e9f
      Gang He authored
      Writing a cloned file triggers a kernel oops and the user-space command
      process is also killed by the system.  The bug can be reproduced stably
      1) create a file under ocfs2 file system directory.
        journalctl -b > aa.txt
      2) create a cloned file for this file.
        reflink aa.txt bb.txt
      3) write the cloned file with dd command.
        dd if=/dev/zero of=bb.txt bs=512 count=1 conv=notrunc
      The dd command is killed by the kernel, then you can see the oops message
      via dmesg command.
      [  463.875404] BUG: kernel NULL pointer dereference, address: 0000000000000028
      [  463.875413] #PF: supervisor read access in kernel mode
      [  463.875416] #PF: error_code(0x0000) - not-present page
      [  463.875418] PGD 0 P4D 0
      [  463.875425] Oops: 0000 [#1] SMP PTI
      [  463.875431] CPU: 1 PID: 2291 Comm: dd Tainted: G           OE     5.3.16-2-default
      [  463.875433] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
      [  463.875500] RIP: 0010:ocfs2_refcount_cow+0xa4/0x5d0 [ocfs2]
      [  463.875505] Code: 06 89 6c 24 38 89 eb f6 44 24 3c 02 74 be 49 8b 47 28
      [  463.875508] RSP: 0018:ffffa2cb409dfce8 EFLAGS: 00010202
      [  463.875512] RAX: ffff8b1ebdca8000 RBX: 0000000000000001 RCX: ffff8b1eb73a9df0
      [  463.875515] RDX: 0000000000056a01 RSI: 0000000000000000 RDI: 0000000000000000
      [  463.875517] RBP: 0000000000000001 R08: ffff8b1eb73a9de0 R09: 0000000000000000
      [  463.875520] R10: 0000000000000001 R11: 0000000000000000 R12: 0000000000000000
      [  463.875522] R13: ffff8b1eb922f048 R14: 0000000000000000 R15: ffff8b1eb922f048
      [  463.875526] FS:  00007f8f44d15540(0000) GS:ffff8b1ebeb00000(0000) knlGS:0000000000000000
      [  463.875529] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [  463.875532] CR2: 0000000000000028 CR3: 000000003c17a000 CR4: 00000000000006e0
      [  463.875546] Call Trace:
      [  463.875596]  ? ocfs2_inode_lock_full_nested+0x18b/0x960 [ocfs2]
      [  463.875648]  ocfs2_file_write_iter+0xaf8/0xc70 [ocfs2]
      [  463.875672]  new_sync_write+0x12d/0x1d0
      [  463.875688]  vfs_write+0xad/0x1a0
      [  463.875697]  ksys_write+0xa1/0xe0
      [  463.875710]  do_syscall_64+0x60/0x1f0
      [  463.875743]  entry_SYSCALL_64_after_hwframe+0x49/0xbe
      [  463.875758] RIP: 0033:0x7f8f4482ed44
      [  463.875762] Code: 00 f7 d8 64 89 02 48 c7 c0 ff ff ff ff eb b7 0f 1f 80 00 00 00
      [  463.875765] RSP: 002b:00007fff300a79d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000001
      [  463.875769] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f8f4482ed44
      [  463.875771] RDX: 0000000000000200 RSI: 000055f771b5c000 RDI: 0000000000000001
      [  463.875774] RBP: 0000000000000200 R08: 00007f8f44af9c78 R09: 0000000000000003
      [  463.875776] R10: 000000000000089f R11: 0000000000000246 R12: 000055f771b5c000
      [  463.875779] R13: 0000000000000200 R14: 0000000000000000 R15: 000055f771b5c000
      This regression problem was introduced by commit e74540b2 ("ocfs2:
      protect extent tree in ocfs2_prepare_inode_for_write()").
      Link: http://lkml.kernel.org/r/20200121050153.13290-1-ghe@suse.com
      Fixes: e74540b2 ("ocfs2: protect extent tree in ocfs2_prepare_inode_for_write()").
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Reviewed-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Changwei Ge <gechangwei@live.cn>
      Cc: Jun Piao <piaojun@huawei.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
  4. 31 Jan, 2020 7 commits
  5. 04 Jan, 2020 2 commits
    • Gang He's avatar
      ocfs2: fix the crash due to call ocfs2_get_dlm_debug once less · b73eba2a
      Gang He authored
      Because ocfs2_get_dlm_debug() function is called once less here, ocfs2
      file system will trigger the system crash, usually after ocfs2 file
      system is unmounted.
      This system crash is caused by a generic memory corruption, these crash
      backtraces are not always the same, for exapmle,
          ocfs2: Unmounting device (253,16) on (node 172167785)
          general protection fault: 0000 [#1] SMP PTI
          CPU: 3 PID: 14107 Comm: fence_legacy Kdump:
          Hardware name: QEMU Standard PC (i440FX + PIIX, 1996)
          RIP: 0010:__kmalloc+0xa5/0x2a0
          Code: 00 00 4d 8b 07 65 4d 8b
          RSP: 0018:ffffaa1fc094bbe8 EFLAGS: 00010286
          RAX: 0000000000000000 RBX: d310a8800d7a3faf RCX: 0000000000000000
          RDX: 0000000000000000 RSI: 0000000000000dc0 RDI: ffff96e68fc036c0
          RBP: d310a8800d7a3faf R08: ffff96e6ffdb10a0 R09: 00000000752e7079
          R10: 000000000001c513 R11: 0000000004091041 R12: 0000000000000dc0
          R13: 0000000000000039 R14: ffff96e68fc036c0 R15: ffff96e68fc036c0
          FS:  00007f699dfba540(0000) GS:ffff96e6ffd80000(0000) knlGS:00000
          CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
          CR2: 000055f3a9d9b768 CR3: 000000002cd1c000 CR4: 00000000000006e0
          Call Trace:
           ext4_htree_store_dirent+0x35/0x100 [ext4]
           htree_dirblock_to_tree+0xea/0x290 [ext4]
           ext4_htree_fill_tree+0x1c1/0x2d0 [ext4]
           ext4_readdir+0x67c/0x9d0 [ext4]
          RIP: 0033:0x7f699d33a9fb
      This regression problem was introduced by commit e581595e ("ocfs: no
      need to check return value of debugfs_create functions").
      Link: http://lkml.kernel.org/r/20191225061501.13587-1-ghe@suse.com
      Fixes: e581595e ("ocfs: no need to check return value of debugfs_create functions")
      Signed-off-by: default avatarGang He <ghe@suse.com>
      Acked-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Changwei Ge <gechangwei@live.cn>
      Cc: Gang He <ghe@suse.com>
      Cc: Jun Piao <piaojun@huawei.com>
      Cc: <stable@vger.kernel.org>	[5.3+]
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    • Kai Li's avatar
      ocfs2: call journal flush to mark journal as empty after journal recovery when mount · 397eac17
      Kai Li authored
      If journal is dirty when mount, it will be replayed but jbd2 sb log tail
      cannot be updated to mark a new start because journal->j_flag has
      already been set with JBD2_ABORT first in journal_init_common.
      When a new transaction is committed, it will be recored in block 1
      first(journal->j_tail is set to 1 in journal_reset).  If emergency
      restart happens again before journal super block is updated
      unfortunately, the new recorded trans will not be replayed in the next
      The following steps describe this procedure in detail.
      1. mount and touch some files
      2. these transactions are committed to journal area but not checkpointed
      3. emergency restart
      4. mount again and its journals are replayed
      5. journal super block's first s_start is 1, but its s_seq is not updated
      6. touch a new file and its trans is committed but not checkpointed
      7. emergency restart again
      8. mount and journal is dirty, but trans committed in 6 will not be
      This exception happens easily when this lun is used by only one node.
      If it is used by multi-nodes, other node will replay its journal and its
      journal super block will be updated after recovery like what this patch
      The following jbd2 journal can be generated by touching a new file after
      journal is replayed, and seq 15 is the first valid commit, but first seq
      is 13 in journal super block.
        Block 0: Journal Superblock
        Seq: 0   Type: 4 (JBD2_SUPERBLOCK_V2)
        Blocksize: 4096   Total Blocks: 32768   First Block: 1
        First Commit ID: 13   Start Log Blknum: 1
        Error: 0
        Feature Compat: 0
        Feature Incompat: 2 block64
        Feature RO compat: 0
        Journal UUID: 4ED3822C54294467A4F8E87D2BA4BC36
        FS Share Cnt: 1   Dynamic Superblk Blknum: 0
        Per Txn Block Limit    Journal: 0    Data: 0
        Block 1: Journal Commit Block
        Seq: 14   Type: 2 (JBD2_COMMIT_BLOCK)
        Block 2: Journal Descriptor
        Seq: 15   Type: 1 (JBD2_DESCRIPTOR_BLOCK)
        No. Blocknum        Flags
         0. 587             none
        UUID: 00000000000000000000000000000000
         1. 8257792         JBD2_FLAG_SAME_UUID
         2. 619             JBD2_FLAG_SAME_UUID
         3. 24772864        JBD2_FLAG_SAME_UUID
         4. 8257802         JBD2_FLAG_SAME_UUID
         5. 513             JBD2_FLAG_SAME_UUID JBD2_FLAG_LAST_TAG
        Block 7: Inode
        Inode: 8257802   Mode: 0640   Generation: 57157641 (0x3682809)
        FS Generation: 2839773110 (0xa9437fb6)
        CRC32: 00000000   ECC: 0000
        Type: Regular   Attr: 0x0   Flags: Valid
        Dynamic Features: (0x1) InlineData
        User: 0 (root)   Group: 0 (root)   Size: 7
        Links: 1   Clusters: 0
        ctime: 0x5de5d870 0x11104c61 -- Tue Dec  3 11:37:20.286280801 2019
        atime: 0x5de5d870 0x113181a1 -- Tue Dec  3 11:37:20.288457121 2019
        mtime: 0x5de5d870 0x11104c61 -- Tue Dec  3 11:37:20.286280801 2019
        dtime: 0x0 -- Thu Jan  1 08:00:00 1970
        Block 9: Journal Commit Block
        Seq: 15   Type: 2 (JBD2_COMMIT_BLOCK)
      The following is journal recovery log when recovering the upper jbd2
      journal when mount again.
        ocfs2: File system on device (252,1) was not unmounted cleanly, recovering it.
        fs/jbd2/recovery.c:(do_one_pass, 449): Starting recovery pass 0
        fs/jbd2/recovery.c:(do_one_pass, 449): Starting recovery pass 1
        fs/jbd2/recovery.c:(do_one_pass, 449): Starting recovery pass 2
        fs/jbd2/recovery.c:(jbd2_journal_recover, 278): JBD2: recovery, exit status 0, recovered transactions 13 to 13
      Due to first commit seq 13 recorded in journal super is not consistent
      with the value recorded in block 1(seq is 14), journal recovery will be
      terminated before seq 15 even though it is an unbroken commit, inode
      8257802 is a new file and it will be lost.
      Link: http://lkml.kernel.org/r/20191217020140.2197-1-li.kai4@h3c.comSigned-off-by: default avatarKai Li <li.kai4@h3c.com>
      Reviewed-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Reviewed-by: default avatarChangwei Ge <gechangwei@live.cn>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Gang He <ghe@suse.com>
      Cc: Jun Piao <piaojun@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
  6. 01 Dec, 2019 1 commit
  7. 22 Nov, 2019 1 commit
  8. 06 Nov, 2019 1 commit
    • Shuning Zhang's avatar
      ocfs2: protect extent tree in ocfs2_prepare_inode_for_write() · e74540b2
      Shuning Zhang authored
      When the extent tree is modified, it should be protected by inode
      cluster lock and ip_alloc_sem.
      The extent tree is accessed and modified in the
      ocfs2_prepare_inode_for_write, but isn't protected by ip_alloc_sem.
      The following is a case.  The function ocfs2_fiemap is accessing the
      extent tree, which is modified at the same time.
        kernel BUG at fs/ocfs2/extent_map.c:475!
        invalid opcode: 0000 [#1] SMP
        Modules linked in: tun ocfs2 ocfs2_nodemanager configfs ocfs2_stackglue [...]
        CPU: 16 PID: 14047 Comm: o2info Not tainted 4.1.12-124.23.1.el6uek.x86_64 #2
        Hardware name: Oracle Corporation ORACLE SERVER X7-2L/ASM, MB MECH, X7-2L, BIOS 42040600 10/19/2018
        task: ffff88019487e200 ti: ffff88003daa4000 task.ti: ffff88003daa4000
        RIP: ocfs2_get_clusters_nocache.isra.11+0x390/0x550 [ocfs2]
        Call Trace:
          ocfs2_fiemap+0x1e3/0x430 [ocfs2]
        Code: 18 48 c7 c6 60 7f 65 a0 31 c0 bb e2 ff ff ff 48 8b 4a 40 48 8b 7a 28 48 c7 c2 78 2d 66 a0 e8 38 4f 05 00 e9 28 fe ff ff 0f 1f 00 <0f> 0b 66 0f 1f 44 00 00 bb 86 ff ff ff e9 13 fe ff ff 66 0f 1f
        RIP  ocfs2_get_clusters_nocache.isra.11+0x390/0x550 [ocfs2]
        ---[ end trace c8aa0c8180e869dc ]---
        Kernel panic - not syncing: Fatal exception
        Kernel Offset: disabled
      This issue can be reproduced every week in a production environment.
      This issue is related to the usage mode.  If others use ocfs2 in this
      mode, the kernel will panic frequently.
      [akpm@linux-foundation.org: coding style fixes]
      [Fix new warning due to unused function by removing said function - Linus ]
      Link: http://lkml.kernel.org/r/1568772175-2906-2-git-send-email-sunny.s.zhang@oracle.comSigned-off-by: default avatarShuning Zhang <sunny.s.zhang@oracle.com>
      Reviewed-by: default avatarJunxiao Bi <junxiao.bi@oracle.com>
      Reviewed-by: default avatarGang He <ghe@suse.com>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Joseph Qi <jiangqi903@gmail.com>
      Cc: Changwei Ge <gechangwei@live.cn>
      Cc: Jun Piao <piaojun@huawei.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
  9. 05 Nov, 2019 2 commits
  10. 04 Nov, 2019 1 commit
  11. 31 Oct, 2019 1 commit
  12. 23 Oct, 2019 2 commits
  13. 21 Oct, 2019 1 commit
    • Thomas Gleixner's avatar
      jbd2: Make state lock a spinlock · 46417064
      Thomas Gleixner authored
      Bit-spinlocks are problematic on PREEMPT_RT if functions which might sleep
      on RT, e.g. spin_lock(), alloc/free(), are invoked inside the lock held
      region because bit spinlocks disable preemption even on RT.
      A first attempt was to replace state lock with a spinlock placed in struct
      buffer_head and make the locking conditional on PREEMPT_RT and
      Jan pointed out that there is a 4 byte hole in struct journal_head where a
      regular spinlock fits in and he would not object to convert the state lock
      to a spinlock unconditionally.
      Aside of solving the RT problem, this also gains lockdep coverage for the
      journal head state lock (bit-spinlocks are not covered by lockdep as it's
      hard to fit a lockdep map into a single bit).
      The trivial change would have been to convert the jbd_*lock_bh_state()
      inlines, but that comes with the downside that these functions take a
      buffer head pointer which needs to be converted to a journal head pointer
      which adds another level of indirection.
      As almost all functions which use this lock have a journal head pointer
      readily available, it makes more sense to remove the lock helper inlines
      and write out spin_*lock() at all call sites.
      Fixup all locking comments as well.
      Suggested-by: default avatarJan Kara <jack@suse.com>
      Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Cc: "Theodore Ts'o" <tytso@mit.edu>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Jan Kara <jack@suse.com>
      Cc: linux-ext4@vger.kernel.org
      Link: https://lore.kernel.org/r/20190809124233.13277-7-jack@suse.czSigned-off-by: default avatarTheodore Ts'o <tytso@mit.edu>
  14. 19 Oct, 2019 2 commits
    • Yi Li's avatar
      ocfs2: fix panic due to ocfs2_wq is null · b918c430
      Yi Li authored
      mount.ocfs2 failed when reading ocfs2 filesystem superblock encounters
      an error.  ocfs2_initialize_super() returns before allocating ocfs2_wq.
      ocfs2_dismount_volume() triggers the following panic.
        Oct 15 16:09:27 cnwarekv-205120 kernel: On-disk corruption discovered.Please run fsck.ocfs2 once the filesystem is unmounted.
        Oct 15 16:09:27 cnwarekv-205120 kernel: (mount.ocfs2,22804,44): ocfs2_read_locked_inode:537 ERROR: status = -30
        Oct 15 16:09:27 cnwarekv-205120 kernel: (mount.ocfs2,22804,44): ocfs2_init_global_system_inodes:458 ERROR: status = -30
        Oct 15 16:09:27 cnwarekv-205120 kernel: (mount.ocfs2,22804,44): ocfs2_init_global_system_inodes:491 ERROR: status = -30
        Oct 15 16:09:27 cnwarekv-205120 kernel: (mount.ocfs2,22804,44): ocfs2_initialize_super:2313 ERROR: status = -30
        Oct 15 16:09:27 cnwarekv-205120 kernel: (mount.ocfs2,22804,44): ocfs2_fill_super:1033 ERROR: status = -30
        ------------[ cut here ]------------
        Oops: 0002 [#1] SMP NOPTI
        CPU: 1 PID: 11753 Comm: mount.ocfs2 Tainted: G  E
              4.14.148-200.ckv.x86_64 #1
        Hardware name: Sugon H320-G30/35N16-US, BIOS 0SSDX017 12/21/2018
        task: ffff967af0520000 task.stack: ffffa5f05484000
        RIP: 0010:mutex_lock+0x19/0x20
        Call Trace:
          ocfs2_shutdown_local_alloc+0x47/0x440 [ocfs2]
          ocfs2_dismount_volume+0x84/0x400 [ocfs2]
          ocfs2_fill_super+0xa4/0x1270 [ocfs2]
          ? ocfs2_initialize_super.isa.211+0xf20/0xf20 [ocfs2]
      Link: http://lkml.kernel.org/r/1571139611-24107-1-git-send-email-yili@winhong.comSigned-off-by: default avatarYi Li <yilikernel@gmail.com>
      Reviewed-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Changwei Ge <gechangwei@live.cn>
      Cc: Gang He <ghe@suse.com>
      Cc: Jun Piao <piaojun@huawei.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    • Chengguang Xu's avatar
      ocfs2: fix error handling in ocfs2_setattr() · ce750f43
      Chengguang Xu authored
      Should set transfer_to[USRQUOTA/GRPQUOTA] to NULL on error case before
      jumping to do dqput().
      Link: http://lkml.kernel.org/r/20191010082349.1134-1-cgxu519@mykernel.netSigned-off-by: default avatarChengguang Xu <cgxu519@mykernel.net>
      Reviewed-by: default avatarJoseph Qi <joseph.qi@linux.alibaba.com>
      Cc: Mark Fasheh <mark@fasheh.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Junxiao Bi <junxiao.bi@oracle.com>
      Cc: Changwei Ge <gechangwei@live.cn>
      Cc: Gang He <ghe@suse.com>
      Cc: Jun Piao <piaojun@huawei.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
  15. 09 Oct, 2019 1 commit
    • Qian Cai's avatar
      locking/lockdep: Remove unused @nested argument from lock_release() · 5facae4f
      Qian Cai authored
      Since the following commit:
        b4adfe8e ("locking/lockdep: Remove unused argument in __lock_release")
      @nested is no longer used in lock_release(), so remove it from all
      lock_release() calls and friends.
      Signed-off-by: default avatarQian Cai <cai@lca.pw>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarWill Deacon <will@kernel.org>
      Acked-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: airlied@linux.ie
      Cc: akpm@linux-foundation.org
      Cc: alexander.levin@microsoft.com
      Cc: daniel@iogearbox.net
      Cc: davem@davemloft.net
      Cc: dri-devel@lists.freedesktop.org
      Cc: duyuyang@gmail.com
      Cc: gregkh@linuxfoundation.org
      Cc: hannes@cmpxchg.org
      Cc: intel-gfx@lists.freedesktop.org
      Cc: jack@suse.com
      Cc: jlbec@evilplan.or
      Cc: joonas.lahtinen@linux.intel.com
      Cc: joseph.qi@linux.alibaba.com
      Cc: jslaby@suse.com
      Cc: juri.lelli@redhat.com
      Cc: maarten.lankhorst@linux.intel.com
      Cc: mark@fasheh.com
      Cc: mhocko@kernel.org
      Cc: mripard@kernel.org
      Cc: ocfs2-devel@oss.oracle.com
      Cc: rodrigo.vivi@intel.com
      Cc: sean@poorly.run
      Cc: st@kernel.org
      Cc: tj@kernel.org
      Cc: tytso@mit.edu
      Cc: vdavydov.dev@gmail.com
      Cc: vincent.guittot@linaro.org
      Cc: viro@zeniv.linux.org.uk
      Link: https://lkml.kernel.org/r/1568909380-32199-1-git-send-email-cai@lca.pwSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>