On Tue, 5 Mar 2024 at 20:37, Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > +static struct page *dump_page_copy(struct page *src, struct page *dst) > +{ > + return NULL; > +} No, it needs to be "return src;" not NULL. That #define dump_page_copy(src, dst) ((dst), (src)) was supposed to be a "use 'dst', return 'src'" macro, and is correct as that. The problem - as you noticed - is that it causes that "left side of comma expression has no effect" warning. (Technically it *does* have an effect - exactly the "argument is used" one - but the compiler warning does make sense). Actually, the simplest thing to do is probably just #define dump_page_free(x) ((void)(x)) #define dump_page_copy(src, dst) (src) where the "use" of the 'dump_page' argument is that dump_page_free() void cast, and dump_page_copy() simply doesn't need to use it at all. Christian? Linus