Message ID | 20241208002121.31887-5-semen.protsenko@linaro.org |
---|---|
State | Superseded |
Headers | show |
Series | lmb: Fix reserving the same region multiple times | expand |
On Sun, 8 Dec 2024 at 02:21, Sam Protsenko <semen.protsenko@linaro.org> wrote: > > Fix checkpatch warnings. No functional change. > > Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> > --- > lib/lmb.c | 29 +++++++++++++++++------------ > 1 file changed, 17 insertions(+), 12 deletions(-) > > diff --git a/lib/lmb.c b/lib/lmb.c > index 1642ce48bbbd..8c1c9b0f67c8 100644 > --- a/lib/lmb.c > +++ b/lib/lmb.c > @@ -57,7 +57,6 @@ static long lmb_regions_overlap(struct alist *lmb_rgn_lst, unsigned long r1, > unsigned long r2) > { > struct lmb_region *rgn = lmb_rgn_lst->data; > - > phys_addr_t base1 = rgn[r1].base; > phys_size_t size1 = rgn[r1].size; > phys_addr_t base2 = rgn[r2].base; > @@ -70,11 +69,11 @@ static long lmb_regions_adjacent(struct alist *lmb_rgn_lst, unsigned long r1, > unsigned long r2) > { > struct lmb_region *rgn = lmb_rgn_lst->data; > - > phys_addr_t base1 = rgn[r1].base; > phys_size_t size1 = rgn[r1].size; > phys_addr_t base2 = rgn[r2].base; > phys_size_t size2 = rgn[r2].size; > + > return lmb_addrs_adjacent(base1, size1, base2, size2); > } > > @@ -235,9 +234,9 @@ static long lmb_add_region_flags(struct alist *lmb_rgn_lst, phys_addr_t base, > > coalesced++; > break; > - } else { > - return -1; > } > + > + return -1; > } > } > > @@ -288,14 +287,17 @@ static long _lmb_free(struct alist *lmb_rgn_lst, phys_addr_t base, > phys_addr_t end = base + size - 1; > int i; > > - rgnbegin = rgnend = 0; /* supress gcc warnings */ > + /* Suppress GCC warnings */ > + rgnbegin = 0; > + rgnend = 0; > + > rgn = lmb_rgn_lst->data; > /* Find the region where (base, size) belongs to */ > for (i = 0; i < lmb_rgn_lst->count; i++) { > rgnbegin = rgn[i].base; > rgnend = rgnbegin + rgn[i].size - 1; > > - if ((rgnbegin <= base) && (end <= rgnend)) > + if (rgnbegin <= base && end <= rgnend) > break; > } > > @@ -304,7 +306,7 @@ static long _lmb_free(struct alist *lmb_rgn_lst, phys_addr_t base, > return -1; > > /* Check to see if we are removing entire region */ > - if ((rgnbegin == base) && (rgnend == end)) { > + if (rgnbegin == base && rgnend == end) { > lmb_remove_region(lmb_rgn_lst, i); > return 0; > } > @@ -340,6 +342,7 @@ static long lmb_overlaps_region(struct alist *lmb_rgn_lst, phys_addr_t base, > for (i = 0; i < lmb_rgn_lst->count; i++) { > phys_addr_t rgnbase = rgn[i].base; > phys_size_t rgnsize = rgn[i].size; > + > if (lmb_addrs_overlap(base, size, rgnbase, rgnsize)) > break; > } > @@ -715,7 +718,7 @@ long lmb_reserve(phys_addr_t base, phys_size_t size) > } > > static phys_addr_t _lmb_alloc_base(phys_size_t size, ulong align, > - phys_addr_t max_addr, enum lmb_flags flags) > + phys_addr_t max_addr, enum lmb_flags flags) > { > int ret; > long i, rgn; > @@ -730,16 +733,18 @@ static phys_addr_t _lmb_alloc_base(phys_size_t size, ulong align, > > if (lmbsize < size) > continue; > - if (max_addr == LMB_ALLOC_ANYWHERE) > + > + if (max_addr == LMB_ALLOC_ANYWHERE) { > base = lmb_align_down(lmbbase + lmbsize - size, align); > - else if (lmbbase < max_addr) { > + } else if (lmbbase < max_addr) { > base = lmbbase + lmbsize; > if (base < lmbbase) > base = -1; > base = min(base, max_addr); > base = lmb_align_down(base - size, align); > - } else > + } else { > continue; > + } > > while (base && lmbbase <= base) { > rgn = lmb_overlaps_region(&lmb.used_mem, base, size); > @@ -813,7 +818,7 @@ phys_addr_t lmb_alloc_base_flags(phys_size_t size, ulong align, > } > > static phys_addr_t _lmb_alloc_addr(phys_addr_t base, phys_size_t size, > - enum lmb_flags flags) > + enum lmb_flags flags) > { > long rgn; > struct lmb_region *lmb_memory = lmb.free_mem.data; > -- > 2.39.5 > Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
diff --git a/lib/lmb.c b/lib/lmb.c index 1642ce48bbbd..8c1c9b0f67c8 100644 --- a/lib/lmb.c +++ b/lib/lmb.c @@ -57,7 +57,6 @@ static long lmb_regions_overlap(struct alist *lmb_rgn_lst, unsigned long r1, unsigned long r2) { struct lmb_region *rgn = lmb_rgn_lst->data; - phys_addr_t base1 = rgn[r1].base; phys_size_t size1 = rgn[r1].size; phys_addr_t base2 = rgn[r2].base; @@ -70,11 +69,11 @@ static long lmb_regions_adjacent(struct alist *lmb_rgn_lst, unsigned long r1, unsigned long r2) { struct lmb_region *rgn = lmb_rgn_lst->data; - phys_addr_t base1 = rgn[r1].base; phys_size_t size1 = rgn[r1].size; phys_addr_t base2 = rgn[r2].base; phys_size_t size2 = rgn[r2].size; + return lmb_addrs_adjacent(base1, size1, base2, size2); } @@ -235,9 +234,9 @@ static long lmb_add_region_flags(struct alist *lmb_rgn_lst, phys_addr_t base, coalesced++; break; - } else { - return -1; } + + return -1; } } @@ -288,14 +287,17 @@ static long _lmb_free(struct alist *lmb_rgn_lst, phys_addr_t base, phys_addr_t end = base + size - 1; int i; - rgnbegin = rgnend = 0; /* supress gcc warnings */ + /* Suppress GCC warnings */ + rgnbegin = 0; + rgnend = 0; + rgn = lmb_rgn_lst->data; /* Find the region where (base, size) belongs to */ for (i = 0; i < lmb_rgn_lst->count; i++) { rgnbegin = rgn[i].base; rgnend = rgnbegin + rgn[i].size - 1; - if ((rgnbegin <= base) && (end <= rgnend)) + if (rgnbegin <= base && end <= rgnend) break; } @@ -304,7 +306,7 @@ static long _lmb_free(struct alist *lmb_rgn_lst, phys_addr_t base, return -1; /* Check to see if we are removing entire region */ - if ((rgnbegin == base) && (rgnend == end)) { + if (rgnbegin == base && rgnend == end) { lmb_remove_region(lmb_rgn_lst, i); return 0; } @@ -340,6 +342,7 @@ static long lmb_overlaps_region(struct alist *lmb_rgn_lst, phys_addr_t base, for (i = 0; i < lmb_rgn_lst->count; i++) { phys_addr_t rgnbase = rgn[i].base; phys_size_t rgnsize = rgn[i].size; + if (lmb_addrs_overlap(base, size, rgnbase, rgnsize)) break; } @@ -715,7 +718,7 @@ long lmb_reserve(phys_addr_t base, phys_size_t size) } static phys_addr_t _lmb_alloc_base(phys_size_t size, ulong align, - phys_addr_t max_addr, enum lmb_flags flags) + phys_addr_t max_addr, enum lmb_flags flags) { int ret; long i, rgn; @@ -730,16 +733,18 @@ static phys_addr_t _lmb_alloc_base(phys_size_t size, ulong align, if (lmbsize < size) continue; - if (max_addr == LMB_ALLOC_ANYWHERE) + + if (max_addr == LMB_ALLOC_ANYWHERE) { base = lmb_align_down(lmbbase + lmbsize - size, align); - else if (lmbbase < max_addr) { + } else if (lmbbase < max_addr) { base = lmbbase + lmbsize; if (base < lmbbase) base = -1; base = min(base, max_addr); base = lmb_align_down(base - size, align); - } else + } else { continue; + } while (base && lmbbase <= base) { rgn = lmb_overlaps_region(&lmb.used_mem, base, size); @@ -813,7 +818,7 @@ phys_addr_t lmb_alloc_base_flags(phys_size_t size, ulong align, } static phys_addr_t _lmb_alloc_addr(phys_addr_t base, phys_size_t size, - enum lmb_flags flags) + enum lmb_flags flags) { long rgn; struct lmb_region *lmb_memory = lmb.free_mem.data;
Fix checkpatch warnings. No functional change. Signed-off-by: Sam Protsenko <semen.protsenko@linaro.org> --- lib/lmb.c | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-)