]> www.infradead.org Git - users/hch/xfs.git/commit
ovl: fix wrong lowerdir number check for parameter Opt_lowerdir
authorZhihao Cheng <chengzhihao1@huawei.com>
Fri, 5 Jul 2024 01:15:09 +0000 (09:15 +0800)
committerChristian Brauner <brauner@kernel.org>
Fri, 23 Aug 2024 17:56:38 +0000 (19:56 +0200)
commitca76ac36bb6068866feca185045e7edf2a8f392f
treecd5ddc5ab4329466faaba87bb16063c1076eb0d0
parent7eff3453cbd7e0bfc7524d59694119b5ca844778
ovl: fix wrong lowerdir number check for parameter Opt_lowerdir

The max count of lowerdir is OVL_MAX_STACK[500], which is broken by
commit 37f32f526438("ovl: fix memory leak in ovl_parse_param()") for
parameter Opt_lowerdir. Since commit 819829f0319a("ovl: refactor layer
parsing helpers") and commit 24e16e385f22("ovl: add support for
appending lowerdirs one by one") added check ovl_mount_dir_check() in
function ovl_parse_param_lowerdir(), the 'ctx->nr' should be smaller
than OVL_MAX_STACK, after commit 37f32f526438("ovl: fix memory leak in
ovl_parse_param()") is applied, the 'ctx->nr' is updated before the
check ovl_mount_dir_check(), which leads the max count of lowerdir
to become 499 for parameter Opt_lowerdir.
Fix it by replacing lower layers parsing code with the existing helper
function ovl_parse_layer().

Fixes: 37f32f526438 ("ovl: fix memory leak in ovl_parse_param()")
Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Link: https://lore.kernel.org/r/20240705011510.794025-3-chengzhihao1@huawei.com
Reviewed-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/overlayfs/params.c