On Wed, Jul 08, 2026 at 09:51:34AM +0200, Christophe Leroy (CS GROUP) wrote:
> Le 08/07/2026 à 09:43, Andy Shevchenko a écrit :
> > On Wed, Jul 08, 2026 at 01:25:01AM +0200, Erhard Furtner wrote:

...

> > Oh, this is nice. So, there are two (more?) options I see to mitigate
> > the issue:
> > - carefully copy the garbage from the stack to the expected values
> >    (effectively merge the whatever is on stack with the expected value)
> > - allocate buffers on heap
> > 
> > The latter seems the easiest and right thing to do (since we can't really
> > predict if the stack pattern is the same or bitmap APIs scatters the bits
> > just on top of the respective set or clear ones over that pattern).
> > 
> > I will send a patch, thanks for the report and analysis!
> 
> The following change fixes the issue for me:

Indeed, I missed that and before seeing this message I also realised that this
is the probably best fix. Can you submit it as a formal patch, please?

> diff --git a/lib/test_bitmap.c b/lib/test_bitmap.c
> index 69813c10e6c0b..448c3eb48a4a8 100644
> --- a/lib/test_bitmap.c
> +++ b/lib/test_bitmap.c
> @@ -392,6 +392,7 @@ static void __init test_bitmap_sg(void)
> 
>       /* Scatter/gather relationship */
>       bitmap_zero(bmap_tmp, 100);
> +     bitmap_zero(bmap_res, 100);
>       bitmap_gather(bmap_tmp, bmap_scatter, sg_mask, nbits);
>       bitmap_scatter(bmap_res, bmap_tmp, sg_mask, nbits);
>       expect_eq_bitmap(bmap_scatter, bmap_res, 100);

-- 
With Best Regards,
Andy Shevchenko



Reply via email to