Re: [PATCHv3 02/32] x86/coco: Add API to handle encryption mask

From: Kirill A. Shutemov
Date: Mon Feb 21 2022 - 17:21:42 EST


On Mon, Feb 21, 2022 at 08:49:11PM +0100, Borislav Petkov wrote:
> On Mon, Feb 21, 2022 at 11:28:16AM -0800, Dave Hansen wrote:
> > Why don't we just have:
> >
> > pgprot_t cc_mkenc(pgprot prot)
> > pgprot_t cc_mkenc(pgprot prot)
> >
> > and *no* pgprot_{en,de}crypted()?
>
> Yes, and can the above cc_get_mask() thing be:
>
> cpa.mask_set = enc ? cc_mkenc(0) : cc_mkdec(0);
> cpa.mask_clr = enc ? cc_mkdec(0) : cc_mkenc(0);
>
> since we're going to feed it pgprot things?

Well, it actually going to be

cpa.mask_set = enc ? cc_mkenc(__pgprot(0)) : cc_mkdec(__pgprot(0));
cpa.mask_clr = enc ? cc_mkdec(__pgprot(0)) : cc_mkenc(__pgprot(0));

as '0' is not a valid pgprot_t.

Still wonna go this path?

--
Kirill A. Shutemov