Re: [RFC PATCH 1/1] mm/percpu.c: fix memory leakage issue when allocate a odd alignment area

From: Michal Hocko
Date: Wed Oct 12 2016 - 02:53:56 EST


On Wed 12-10-16 08:28:17, zijun_hu wrote:
> On 2016/10/12 1:22, Michal Hocko wrote:
> > On Tue 11-10-16 21:24:50, zijun_hu wrote:
> >> From: zijun_hu <zijun_hu@xxxxxxx>
> >>
> >> the LSB of a chunk->map element is used for free/in-use flag of a area
> >> and the other bits for offset, the sufficient and necessary condition of
> >> this usage is that both size and alignment of a area must be even numbers
> >> however, pcpu_alloc() doesn't force its @align parameter a even number
> >> explicitly, so a odd @align maybe causes a series of errors, see below
> >> example for concrete descriptions.
> >
> > Is or was there any user who would use a different than even (or power of 2)
> > alighment? If not is this really worth handling?
> >
>
> it seems only a power of 2 alignment except 1 can make sure it work very well,
> that is a strict limit, maybe this more strict limit should be checked

I fail to see how any other alignment would actually make any sense
what so ever. Look, I am not a maintainer of this code but adding a new
code to catch something that doesn't make any sense sounds dubious at
best to me.

I could understand this patch if you see a problem and want to prevent
it from repeating bug doing these kind of changes just in case sounds
like a bad idea.
--
Michal Hocko
SUSE Labs