]> www.infradead.org Git - users/jedix/linux-maple.git/commit
bcachefs: Change OPT_STR max to be 1 less than the size of choices array
authorPiotr Zalewski <pZ010001011111@proton.me>
Wed, 6 Nov 2024 19:46:30 +0000 (19:46 +0000)
committerKent Overstreet <kent.overstreet@linux.dev>
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: syzbot+bee87a0c3291c06aa8c6@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=bee87a0c3291c06aa8c6
Fixes: 63c4b2545382 ("bcachefs: Better superblock opt validation")
Suggested-by: Kent Overstreet <kent.overstreet@linux.dev>
Signed-off-by: Piotr Zalewski <pZ010001011111@proton.me>
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/opts.c