mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-24 04:20:53 +07:00
ext4: make sure ex.fe_logical is initialized
The lowest levels of mballoc set all of the fields of struct ext4_free_extent except for fe_logical, since they are just trying to find the requested free set of blocks, and the logical block hasn't been set yet. This makes some static code checkers sad. Set it to various different debug values, which would be useful when debugging mballoc if these values were to ever show up due to the parts of mballoc triyng to use ac->ac_b_ex.fe_logical before it is properly upper layers of mballoc failing to properly set, usually by ext4_mb_use_best_found(). Addresses-Coverity-Id: #139697 Addresses-Coverity-Id: #139698 Addresses-Coverity-Id: #139699 Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
parent
7b1b2c1b9c
commit
ab0c00fccf
@ -1808,6 +1808,7 @@ int ext4_mb_find_by_goal(struct ext4_allocation_context *ac,
|
||||
ext4_lock_group(ac->ac_sb, group);
|
||||
max = mb_find_extent(e4b, ac->ac_g_ex.fe_start,
|
||||
ac->ac_g_ex.fe_len, &ex);
|
||||
ex.fe_logical = 0xDEADFA11; /* debug value */
|
||||
|
||||
if (max >= ac->ac_g_ex.fe_len && ac->ac_g_ex.fe_len == sbi->s_stripe) {
|
||||
ext4_fsblk_t start;
|
||||
@ -1936,7 +1937,7 @@ void ext4_mb_complex_scan_group(struct ext4_allocation_context *ac,
|
||||
*/
|
||||
break;
|
||||
}
|
||||
|
||||
ex.fe_logical = 0xDEADC0DE; /* debug value */
|
||||
ext4_mb_measure_extent(ac, &ex, e4b);
|
||||
|
||||
i += ex.fe_len;
|
||||
@ -1977,6 +1978,7 @@ void ext4_mb_scan_aligned(struct ext4_allocation_context *ac,
|
||||
max = mb_find_extent(e4b, i, sbi->s_stripe, &ex);
|
||||
if (max >= sbi->s_stripe) {
|
||||
ac->ac_found++;
|
||||
ex.fe_logical = 0xDEADF00D; /* debug value */
|
||||
ac->ac_b_ex = ex;
|
||||
ext4_mb_use_best_found(ac, e4b);
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user