Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp1843767iog; Tue, 14 Jun 2022 14:51:18 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tnnEeL99lJtb9qa7DEVtk8jHQChOIsqN1/VmO3zPOjr/uLX0SDNH0JOMmaaJ7mJDzL7hzT X-Received: by 2002:a05:6402:2548:b0:42d:dd95:5bfe with SMTP id l8-20020a056402254800b0042ddd955bfemr8602209edb.285.1655243478688; Tue, 14 Jun 2022 14:51:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655243478; cv=none; d=google.com; s=arc-20160816; b=aV/jMTTsNUJwKSy6DlCVfy9jdMG6yVTdU8jlyjPks2FfKTojaAZLWKPlS8cpSlIho7 JrZJId0jG7hZBk30DUDons8rdn7G9IOibpvQ058N2Gx15aE9yf7yLpGE4bTE7A7268GC JNjwI6VW/Q+x6ifT6+cBJNMToOtW6m9/owL2FmR5Zu90jtcx7bgvkzR2+sc56SvqNz7x +Shm5QyxnmRFKhy/XEjKdMTTl4j/8/iApqQ+ZqWOQ0XmDCb6G7pyD1pzsijir6UBFHcD W2FvqaHQsjDVZJzMLEakPG1AKkOmVWtU0ed09frBxIPGHTNl915jNyZCzTw824krtq5m 3EpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=JelMl5DE/hcbFl5tXcWcJ+M0I+5jYzJldxTFoClo8B8=; b=beDq+V1cq7BjYfBUsmBN4FpHUneEau1WmcZzILSrAaQrLuNa9PKjwaSr7xIzoJ1bzt PUzD5Z4JmV9ayy8CJmIzbq+SrYNrpqBo0C2hWHdMynBEZNsSk1I+HeH025Ux13muRYt7 zsMgzYKf2wzDkRS8mkvinzjTfS6td6aYACQ4lbY33vv69lcOdlhpXVqCHVdavshvQGsr dmW1D0YzVvunwBVAivtCnq8IxM5jKqfQwmlbjwanynZXyocNsB8ikr53dpndVCO8MVJ6 WQhetL+vBT7bro5xssDysnG25b5UPmM2KKFNwKoyd93NJmrN7vy4NxjESq55UgJoNPEy L3lg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=Xo+FI0P1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g20-20020a056402425400b0042ad03b5aacsi15699365edb.5.2022.06.14.14.50.53; Tue, 14 Jun 2022 14:51:18 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=Xo+FI0P1; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S241870AbiFNU3T (ORCPT + 99 others); Tue, 14 Jun 2022 16:29:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49000 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352859AbiFNU3Q (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 ACB2129828 for ; Tue, 14 Jun 2022 13:29:15 -0700 (PDT) Received: by mail-lj1-x236.google.com with SMTP id d19so11014901lji.10 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=bajH5WAWR12gyISdODHR+q5P0cHfPnEZvGkkmMlB4eurvVWuna0keLdujMGlA5SHTc CQcD3/VLjs8v/DS+NoVXHMnVJLJB5fGLoHnIa64DJ8UYC9PMW4s6JxQw0CrFewcaoBOJ BhRYM3MhAsRBQDhjaJDbqtguWYOFWT6AbPLg6D0Ba/xa31omwTGDg4k0Z2EtaMDTkZoK ZFG4YRtHujAvvfaBwAvlxSQ43KKZ4pTmfNBWbHNBF4rm4PZyraYqYXboYGAqnnu9pbec uarxaI0C+/Utxr/HYN+Cx3IDVdrRXr8wWxsx9h9Dt51z2A0G24p6vZ6hiUSWCjhV2rnH auiQ== X-Gm-Message-State: AJIora9eBCC/d020EvDP6OPQiwmkL+bYEAUoInZQVd29cqxOpfvzlS+z e6EgKohZxPHzwBozdeqYk+E5VfLNHXckdIT5wTDuPQ== 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" X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@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.