On 6/1/23 2:27 AM, Johannes Thumshirn wrote: > On 01.06.23 02:50, Stephen Rothwell wrote: >> Hi all, >> >> After merging the block tree, today's linux-next build (x86_64 >> allmodconfig) failed like this: >> >> In file included from include/linux/slab.h:15, >> from drivers/md/raid1.c:26: >> drivers/md/raid1.c: In function 'alloc_behind_master_bio': >> include/linux/gfp.h:320:36: error: passing argument 1 of 'free_pages' makes integer from pointer without a cast [-Werror=int-conversion] >> 320 | #define free_page(addr) free_pages((addr), 0) >> | ^~~~~~ >> | | >> | struct page * >> drivers/md/raid1.c:1151:25: note: in expansion of macro 'free_page' >> 1151 | free_page(page); >> | ^~~~~~~~~ >> include/linux/gfp.h:303:38: note: expected 'long unsigned int' but argument is of type 'struct page *' >> 303 | extern void free_pages(unsigned long addr, unsigned int order); >> | ~~~~~~~~~~~~~~^~~~ >> >> Caused by commit >> >> 6473bc325644 ("md: check for failure when adding pages in alloc_behind_master_bio") >> >> I have used the block tree from next-20230531 for today. >> > > This obviously has to be: > diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c > index ff89839455ec..3570da63969b 100644 > --- a/drivers/md/raid1.c > +++ b/drivers/md/raid1.c > @@ -1148,7 +1148,7 @@ static void alloc_behind_master_bio(struct r1bio *r1_bio, > goto free_pages; > > if (!bio_add_page(behind_bio, page, len, 0)) { > - free_page(page); > + put_page(page); > goto free_pages; > } > > > But I wonder why I dint see it in my allmodconfig build. > > Jens can you fold that in or do you want me to update the patch? Done -- Jens Axboe