On Fri, 22 Nov 2019 at 12:28, <glider@xxxxxxxxxx> wrote: > > KMSAN metadata for consequent physical pages may be inconsequent, > therefore accessing such pages together may lead to metadata > corruption. > We disable merging pages in biovec to prevent such corruptions. > > Signed-off-by: Alexander Potapenko <glider@xxxxxxxxxx> > To: Alexander Potapenko <glider@xxxxxxxxxx> > Cc: Jens Axboe <axboe@xxxxxxxxx> > Cc: Andy Lutomirski <luto@xxxxxxxxxx> > Cc: Vegard Nossum <vegard.nossum@xxxxxxxxxx> > Cc: Dmitry Vyukov <dvyukov@xxxxxxxxxx> > Cc: Christoph Hellwig <hch@xxxxxx> > Cc: linux-mm@xxxxxxxxx > --- > > Change-Id: Id2f2babaf662ac44675c4f2790f4a80ddc328fa7 > --- > block/blk.h | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/block/blk.h b/block/blk.h > index 47fba9362e60..9ee271a22423 100644 > --- a/block/blk.h > +++ b/block/blk.h > @@ -78,6 +78,13 @@ static inline bool biovec_phys_mergeable(struct request_queue *q, > phys_addr_t addr1 = page_to_phys(vec1->bv_page) + vec1->bv_offset; > phys_addr_t addr2 = page_to_phys(vec2->bv_page) + vec2->bv_offset; > > +#ifdef CONFIG_KMSAN Prefer 'if (IS_ENABLED(CONFIG_KMSAN))'. Thanks, -- Marco