Re: [PATCH v2 1/3] kasan: use separate (un)poison implementation for integrated init

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 12, 2021 at 5:10 AM Catalin Marinas <catalin.marinas@xxxxxxx> wrote:
>
> On Tue, May 11, 2021 at 04:54:24PM -0700, Peter Collingbourne wrote:
> > diff --git a/include/linux/kasan.h b/include/linux/kasan.h
> > index b1678a61e6a7..e35fa301d3db 100644
> > --- a/include/linux/kasan.h
> > +++ b/include/linux/kasan.h
> [...]
> > @@ -113,8 +113,30 @@ static inline bool kasan_has_integrated_init(void)
> >       return false;
> >  }
> >
> > +static __always_inline void kasan_alloc_pages(struct page *page,
> > +                                           unsigned int order, gfp_t flags)
> > +{
> > +     /* Only available for integrated init. */
> > +     BUG();
> > +}
> > +
> > +static __always_inline void kasan_free_pages(struct page *page,
> > +                                          unsigned int order)
> > +{
> > +     /* Only available for integrated init. */
> > +     BUG();
> > +}
>
> Would these two work as BUILD_BUG()?

It looks like it. This creates a dependency on the compiler being
powerful enough to optimize away "if (0) undefined_function();" after
inlining, which I'm not really a big fan of, but it looks like we're
already doing similar things elsewhere in the kernel, so we might as
well do it here as well.

Peter




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux