> >> If ->addr isn't really an address that software can do much with, > >> shouldn't we mask MCI_ADDR_PHYSADDR off up front, like in mce_read_aux()? > > > > Would that mean no one would know if the mce addr had KeyID bits or not? > > Current design, to keep the bits in mce addr, is from Tony's patch: > > x86/mce: Mask out non-address bits from machine check bank > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8a01ec97dc066009dd89e43bfcf55644f2dd6d19 > > Assuming that is not altered, a tidy-up is still possible like: > > diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h > index 6c77c03139f7..b469b7a7ecfa 100644 > --- a/arch/x86/include/asm/mce.h > +++ b/arch/x86/include/asm/mce.h > @@ -386,4 +386,14 @@ static inline void mce_amd_feature_init(struct cpuinfo_x86 *c) { } > > unsigned long copy_mc_fragile_handle_tail(char *to, char *from, unsigned len); > > +static inline unsigned long mce_addr_to_phys(u64 mce_addr) > +{ > + return mce_addr & MCI_ADDR_PHYSADDR; > +} > + > +static inline unsigned long mce_addr_to_pfn(u64 mce_addr) > +{ > + return mce_addr_to_phys(mce_addr) >> PAGE_SHIFT; > +} > + > #endif /* _ASM_X86_MCE_H */ I like this. Can you write up a patch with a commit message please? -Tony