]> Git Repo - linux.git/commit
bcachefs: Change OPT_STR max to be 1 less than the size of choices array
authorPiotr Zalewski <[email protected]>
Wed, 6 Nov 2024 19:46:30 +0000 (19:46 +0000)
committerKent Overstreet <[email protected]>
Thu, 7 Nov 2024 21:48:21 +0000 (16:48 -0500)
commitf9f0a5390dcef1f96cc506a2cf7d50c8e348fa3d
treeaeb0f4cfd7560359fb335d4a280931e99dd9aabe
parentbaefd3f849ed956d4c1aee80889093cf0d9c6a94
bcachefs: Change OPT_STR max to be 1 less than the size of choices array

Change OPT_STR max value to be 1 less than the "ARRAY_SIZE" of "_choices"
array. As a result, remove -1 from (opt->max-1) in bch2_opt_to_text.

The "_choices" array is a null-terminated array, so computing the maximum
using "ARRAY_SIZE" without subtracting 1 yields an incorrect result. Since
bch2_opt_validate don't subtract 1, as bch2_opt_to_text does, values
bigger than the actual maximum would pass through option validation.

Reported-by: [email protected]
Closes: https://syzkaller.appspot.com/bug?extid=bee87a0c3291c06aa8c6
Fixes: 63c4b2545382 ("bcachefs: Better superblock opt validation")
Suggested-by: Kent Overstreet <[email protected]>
Signed-off-by: Piotr Zalewski <[email protected]>
Signed-off-by: Kent Overstreet <[email protected]>
fs/bcachefs/opts.c
This page took 0.05464 seconds and 4 git commands to generate.