On Wed, Nov 14, 2018 at 8:23 PM, Andrey Konovalov <andreyknvl@xxxxxxxxxx> wrote: > On Wed, Nov 7, 2018 at 5:52 PM, Mark Rutland <mark.rutland@xxxxxxx> wrote: >>> /* >>> @@ -232,7 +241,7 @@ static inline unsigned long kaslr_offset(void) >>> #define __is_lm_address(addr) (!!((addr) & BIT(VA_BITS - 1))) >>> >>> #define __lm_to_phys(addr) (((addr) & ~PAGE_OFFSET) + PHYS_OFFSET) >>> -#define __kimg_to_phys(addr) ((addr) - kimage_voffset) >>> +#define __kimg_to_phys(addr) (KASAN_RESET_TAG(addr) - kimage_voffset) >> >> IIUC You need to adjust __lm_to_phys() too, since that could be passed >> an address from SLAB. >> >> Maybe that's done in a later patch, but if so it's confusing to split it >> out that way. It would be nicer to fix all the *_to_*() helpers in one >> go. > > __lm_to_phys() does & ~PAGE_OFFSET, so it resets the tag by itself. I > can add an explicit __tag_reset() if you think it makes sense. Hi Mark, I think I've addressed all of your comments except for this one. Do you think it makes sense to add explicit __tag_reset() calls to __lm_to_phys() and a few other macros, that already set the tag to 0 by doing & ~PAGE_OFFSET? Thanks!