Re: [PATCH] hfs: validate drAlBlkSiz and fs_ablocks in hfs_mdb_get()

From: Krzysztof Kozlowski

Date: Mon Sep 21 2026 - 18:07:08 EST


On 21/09/2026 23:33, Viacheslav Dubeyko wrote:
> On Sat, 2026-09-19 at 22:26 +0000, Hui Peng wrote:
>> In hfs_mdb_get() (fs/hfs/mdb.c), reject images with allocation block
>> size (drAlBlkSiz) of 0 or not a multiple of HFS_SECTOR_SIZE (512), or
>> with fs_ablocks == 0, preventing a divide-by-zero trap and out-of-
>> bounds
>> bitmap scans on crafted HFS images.
>>
>> Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
>> Assisted-by: LLM
>> Signed-off-by: Hui Peng <benquike@xxxxxxxxx>
>> ---
>> diff --git a/fs/hfs/mdb.c b/fs/hfs/mdb.c
>> index 277de712f9d4..9e78c561a3f1 100644
>> --- a/fs/hfs/mdb.c
>> +++ b/fs/hfs/mdb.c
>> @@ -204,6 +204,11 @@ int hfs_mdb_get(struct super_block *sb)
>>   /* These parameters are read from the MDB, and never written
>> */
>>   HFS_SB(sb)->part_start = part_start;
>>   HFS_SB(sb)->fs_ablocks = be16_to_cpu(mdb->drNmAlBlks);
>> + if (!HFS_SB(sb)->fs_ablocks) {
>
> This check doesn't look like checking that it's "not a multiple of
> HFS_SECTOR_SIZE (512)". Could you make your check more accurate?

In case you were not aware of: this patch is result of huge AI
semi-autonomous work, basically close to spam posting style. Whatever
you review you might be actually talking to an slop-agent, thus wasting
your time.

Best regards,
Krzysztof