On Tue, Jun 13, 2023 at 06:58:41PM +0530, Aneesh Kumar K V wrote: > On 6/13/23 5:53 PM, Matthew Wilcox wrote: > > On Tue, Jun 13, 2023 at 05:30:47PM +0530, Aneesh Kumar K.V wrote: > >> @@ -4498,7 +4533,7 @@ static bool try_to_inc_max_seq(struct lruvec *lruvec, unsigned long max_seq, > >> goto done; > >> } > >> > >> - walk = set_mm_walk(NULL, true); > >> + walk = (struct lru_gen_mm_walk *)set_mm_walk(NULL, true); > > > > This isn't C++. > > > > We have similar pattern for things like kmalloc()? No. No, we don't. Nobody does that. Perhaps some really crappy code in staging. DO NOT USE CASTS. > I understand the desire to have functions return > the correct type. But the amount of code that we are able to avoid with this patch for certain architecture is > really large. There's probably a better way to do what you're trying to do, but the simple fact remains that the cast you added is needed in C++ and not in C. Linux is not written in C++. Do not add the cast.