On Sat, Nov 19, 2016 at 12:33:49PM -0600, Tom Lendacky wrote: > >> +{ > >> + /* SME is not active, just return true */ > >> + if (!sme_me_mask) > >> + return true; > > > > I don't understand the logic here: SME is not active -> apply encryption?! > > It does seem counter-intuitive, but it is mainly because of the memremap > vs. early_memremap support. For the early_memremap support, if the > sme_me_mask is 0 it doesn't matter whether we return true or false since > the mask is zero even if you try to apply it. But for the memremap > support, it's used to determine whether to do the ram remap vs an > ioremap. > > I'll pull the sme_me_mask check out of the function and put it in the > individual functions to remove the contradiction and make things > clearer. But that would be more code, right? Instead, you could simply explain in a comment above it what do you mean exactly. Something along the lines of "if sme_me_mask is not set, we should map encrypted because if not set, we can simply remap RAM. Otherwise we have to ioremap because we need to access it in the clear..." I presume - I still don't grok that difference here completely. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply. -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html