From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C9DC2C433EF for ; Tue, 14 Jun 2022 20:29:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1357122AbiFNU3R (ORCPT ); Tue, 14 Jun 2022 16:29:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49002 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352911AbiFNU3Q (ORCPT ); Tue, 14 Jun 2022 16:29:16 -0400 Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ACA9D29814 for ; Tue, 14 Jun 2022 13:29:15 -0700 (PDT) Received: by mail-lj1-x236.google.com with SMTP id l20so4256860lji.0 for ; Tue, 14 Jun 2022 13:29:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=JelMl5DE/hcbFl5tXcWcJ+M0I+5jYzJldxTFoClo8B8=; b=Xo+FI0P1jCUF7cy7Lv1fCtt7r5lBUn6zSriIjnvp0F1pfVRH+Vuuxu8H9IcHCzIxY4 mc4GecxJHZ/9YFJkOHxQseHs7FM94FItM+1n7gX95nIBxc3IShK5NzppIwxn9rBOQV0Y R5CRzw+Ed2uWpwpBK4/iyuvp+BjWFGfA0FLvKR2FVY32qxgJU6l458tSkSvTQWDBSq5H XQdDoEZF2flZtIENnDFp4aPDR5WMXQqiO12CFaS3NAHEI8tRw5bMd2Ot4IDRjOHsY/bS fl1XlW/x8iUSN4uKcWBketxI+QmhJOYT8YgWCvDmEmTQoFPr1ObugpnpaYTQTzptS+qD z5Sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=JelMl5DE/hcbFl5tXcWcJ+M0I+5jYzJldxTFoClo8B8=; b=xnJ6XeJlYe1/iu6ERDOCMpWC1aWZULHv+4Ym/eTZ7FnTEjaEwybXAsZu64S3BGX5U+ Oawn78iS3WNv6Gds9eVclyyn4OQ7Dlr8BcyU1DNKJfPuIL0Hm8BA7yH/8TwPh45XTQ2q II/Ee5HK2nd8WwKEEwmwTWca/XdS7t5nV7oJ8L32gCpMkvquj3zhYvurlkuYQCkDh5ta uliVLZylJ0nc+CSdQmTJWD5xxSqezv7q9ci3v9mQM7WcdFA+oWdzmRP+UCKs43NJ78uj iga8nbg0eOHal6L8XCLEJ9iMBg37hr6I/SHz1jfIq7HSJpOWk19L8IV/S4kWtm1AUPjY ucjQ== X-Gm-Message-State: AJIora/UatobDbBvB9oQqzBEvarKcZU+c8s5z6Arnh08wJbSHhaxLjmA hE+ubx8k9ii+dRRD1qoEdqWyK8V+gN+MlEZpkcSF1LX24u0= X-Google-Smtp-Source: AGRyM1uqTOBp6a2xrVdhdGv7VkBK65jaqX8HjIXLaJChc8NThMPOjHL62L7SARvKS0b0k54p0tLUcBB00SsNkoe4hbs= X-Received: by 2002:a2e:6e06:0:b0:255:753d:f119 with SMTP id j6-20020a2e6e06000000b00255753df119mr3576613ljc.93.1655238552862; Tue, 14 Jun 2022 13:29:12 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jann Horn Date: Tue, 14 Jun 2022 22:28:36 +0200 Message-ID: Subject: Re: pgprot_encrypted macro is broken To: Federico Di Pierro Cc: linux-api@vger.kernel.org, linux-kernel@vger.kernel.org, Tom Lendacky , x86@kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-api@vger.kernel.org On Tue, Jun 14, 2022 at 3:15 PM Federico Di Pierro wrote: > In our kmod we use the `pgprot_encrypted` macro. > It seems like the macro cannot be used on 5.18+ kernels because commit > b577f542f93cbba57f8d6185ef1fb13a41ddf162 broke it. > > Basically, the macro definition was: > `__pgprot(__sme_set(pgprot_val(prot)))` > > but after the commit, it was changed to: > `__pgprot(cc_mkenc(pgprot_val(prot)))`. > > But `cc_mkenc` symbol is not exported! > > This leads to build issues: > > ERROR: modpost: "cc_mkenc" undefined! > > Is this a bug? > Is there any workaround? Why does your driver need to use that macro? pgprot_encrypted() is mostly only directly used by core kernel code, not by drivers... and if memory encryption is enabled, almost all memory mappings created by the kernel should be marked as encrypted automatically.