• Junxiao Bi's avatar
    ocfs2: fix flock panic issue · b5a8bc33
    Junxiao Bi authored
    Commit 4f656367 ("Move locks API users to locks_lock_inode_wait()")
    move flock/posix lock indentify code to locks_lock_inode_wait(), but
    missed to set fl_flags to FL_FLOCK which caused the following kernel
    panic on 4.4.0_rc5.
    
      kernel BUG at fs/locks.c:1895!
      invalid opcode: 0000 [#1] SMP
      Modules linked in: ocfs2(O) ocfs2_dlmfs(O) ocfs2_stack_o2cb(O) ocfs2_dlm(O) ocfs2_nodemanager(O) ocfs2_stackglue(O) iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi xen_kbdfront xen_netfront xen_fbfront xen_blkfront
      CPU: 0 PID: 20268 Comm: flock_unit_test Tainted: G           O    4.4.0-rc5-next-20151217 #1
      Hardware name: Xen HVM domU, BIOS 4.3.1OVM 05/14/2014
      task: ffff88007b3672c0 ti: ffff880028b58000 task.ti: ffff880028b58000
      RIP: locks_lock_inode_wait+0x2e/0x160
      Call Trace:
        ocfs2_do_flock+0x91/0x160 [ocfs2]
        ocfs2_flock+0x76/0xd0 [ocfs2]
        SyS_flock+0x10f/0x1a0
        entry_SYSCALL_64_fastpath+0x12/0x71
      Code: e5 41 57 41 56 49 89 fe 41 55 41 54 53 48 89 f3 48 81 ec 88 00 00 00 8b 46 40 83 e0 03 83 f8 01 0f 84 ad 00 00 00 83 f8 02 74 04 <0f> 0b eb fe 4c 8d ad 60 ff ff ff 4c 8d 7b 58 e8 0e 8e 73 00 4d
      RIP  locks_lock_inode_wait+0x2e/0x160
       RSP <ffff880028b5bce8>
      ---[ end trace dfca74ec9b5b274c ]---
    
    Fixes: 4f656367 ("Move locks API users to locks_lock_inode_wait()")
    Signed-off-by: default avatarJunxiao Bi <junxiao.bi@oracle.com>
    Cc: Mark Fasheh <mfasheh@suse.de>
    Cc: Joel Becker <jlbec@evilplan.org>
    Cc: Joseph Qi <joseph.qi@huawei.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    b5a8bc33
locks.c 3.42 KB