]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commit
ocfs2: fix crash when mount with quota enabled
authorJoseph Qi <joseph.qi@linux.alibaba.com>
Fri, 1 Apr 2022 18:28:15 +0000 (11:28 -0700)
committerStefan Bader <stefan.bader@canonical.com>
Wed, 27 Apr 2022 09:56:37 +0000 (11:56 +0200)
commit0d35c607eaf5c83790d30667657c0863ef47c04f
treebb0bbad9b4de5627b8b676fa6bfc797ea3c1b8d4
parent6c30ffe5d7cc3a98dc202a16bbd0dbb5d9be5a4b
ocfs2: fix crash when mount with quota enabled

BugLink: https://bugs.launchpad.net/bugs/1969110
commit de19433423c7bedabbd4f9a25f7dbc62c5e78921 upstream.

There is a reported crash when mounting ocfs2 with quota enabled.

  RIP: 0010:ocfs2_qinfo_lock_res_init+0x44/0x50 [ocfs2]
  Call Trace:
    ocfs2_local_read_info+0xb9/0x6f0 [ocfs2]
    dquot_load_quota_sb+0x216/0x470
    dquot_load_quota_inode+0x85/0x100
    ocfs2_enable_quotas+0xa0/0x1c0 [ocfs2]
    ocfs2_fill_super.cold+0xc8/0x1bf [ocfs2]
    mount_bdev+0x185/0x1b0
    legacy_get_tree+0x27/0x40
    vfs_get_tree+0x25/0xb0
    path_mount+0x465/0xac0
    __x64_sys_mount+0x103/0x140

It is caused by when initializing dqi_gqlock, the corresponding dqi_type
and dqi_sb are not properly initialized.

This issue is introduced by commit 6c85c2c72819, which wants to avoid
accessing uninitialized variables in error cases.  So make global quota
info properly initialized.

Link: https://lkml.kernel.org/r/20220323023644.40084-1-joseph.qi@linux.alibaba.com
Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1007141
Fixes: 6c85c2c72819 ("ocfs2: quota_local: fix possible uninitialized-variable access in ocfs2_local_read_info()")
Signed-off-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Reported-by: Dayvison <sathlerds@gmail.com>
Tested-by: Valentin Vidic <vvidic@valentin-vidic.from.hr>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit 7c5312fdb1dcfdc1951b018669af88d5d6420b31)
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
fs/ocfs2/quota_global.c
fs/ocfs2/quota_local.c