mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-04 04:04:19 +00:00
logfs: Prevent memory corruption
This is a bad one. I wonder whether we were so far protected by no_free_segments(sb) usually being smaller than LOGFS_NO_AREAS. Found by Dan Carpenter <dan.carpenter@oracle.com> using smatch. Signed-off-by: Joern Engel <joern@logfs.org> Signed-off-by: Prasad Joshi <prasadjoshi.linux@gmail.com>
This commit is contained in:
parent
96150606e2
commit
934eed395d
@ -367,7 +367,7 @@ static struct gc_candidate *get_candidate(struct super_block *sb)
|
||||
int i, max_dist;
|
||||
struct gc_candidate *cand = NULL, *this;
|
||||
|
||||
max_dist = min(no_free_segments(sb), LOGFS_NO_AREAS);
|
||||
max_dist = min(no_free_segments(sb), LOGFS_NO_AREAS - 1);
|
||||
|
||||
for (i = max_dist; i >= 0; i--) {
|
||||
this = first_in_list(&super->s_low_list[i]);
|
||||
|
Loading…
Reference in New Issue
Block a user