Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp3011921pxb; Mon, 18 Oct 2021 06:34:52 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwck/J3GDv5RCFBQfvIao0MAIwKK3S+uo2XVobL/JxxjS55XN/cSEBoI7sVGY4mbvZqB21E X-Received: by 2002:a63:3e4f:: with SMTP id l76mr16807854pga.65.1634564092584; Mon, 18 Oct 2021 06:34:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1634564092; cv=none; d=google.com; s=arc-20160816; b=Ji/Z1gqyiSAVZxZgrOk9cp94NFCKRvlwjW4ORlON4LpmRdGh3AsP0ei2WWSxXUai9g 8UcsaplYHZKcaMphMWa00y4IN6c7VlvfiCb95W3SjYkmKto9DTIwxozX9obpwa+4EK1r Z13NVcnAGxZThodKdRb+HBMHJ8EW/eKL/GkVXF1rNQxTAB8DcmgclcF3TEP2TRXkqlJz 5KYrQNRrEUIN8cccI1H+ZEc9H1S1NQpPsBksLXF+rbV3CXuNSWS4SXinbbIpGkUgnbwr d9m8/HRnXgBGsdPv5ym/VCkkDvndFl21bFrieJViwVu6HfsVswTa+SAkh6u5fgFclUHX wzsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=omzvF2X5irXw2ylMvSwlVsS2rVHd0AqQjxYIlbfWl5s=; b=C//YtO/GCNfPcBF+V7iyCyfYFD7ifUm14hGNwymOe8l0Okas1FQD+dnsv99JdOdI6k 31UsAyt1Vx1ZtHyuLi+MB3fJH46a6hQ7jKPG9svMVW525DIAHT8lHeaZWNKD0uWPHyaM uCytPxDy/v1K1+jQD/Yy30abOH296tonsSKhcGuCAJ7YITsKl6LL0qp+6AVvZ32go20E 7WYH/i7nW7Lj0BvRn+fY9NGYKA0KTOWjRw8ian6kAMzxJjFYWBC6422L7MU5efIj4gkU 2MgjwMvjtNZRaosawyB8iWG/DImNgaVDrdTZGtM28zWT5a5H5cYxDwnj27qgQRhIKh5H T13g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=pRyEKlDy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 11si20693129pgu.329.2021.10.18.06.34.39; Mon, 18 Oct 2021 06:34:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=pRyEKlDy; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232902AbhJRNeZ (ORCPT + 99 others); Mon, 18 Oct 2021 09:34:25 -0400 Received: from mail.kernel.org ([198.145.29.99]:41784 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232217AbhJRNcY (ORCPT ); Mon, 18 Oct 2021 09:32:24 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5FA1C61373; Mon, 18 Oct 2021 13:29:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1634563756; bh=D8C0AOKW1fnp0DZkjSIFA6LZL+p9AeMn9ho1k5778jI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pRyEKlDy3gVFtC0vMzVCOwCB0nUeJq/aHTmQj+uyqxQo+60fmjkgtt2HzeD7CvHrP 3izS904yJflRu+Ykujik7mVTGaS1+ql2+jh3u4Ffk126oE/UIQYh4IpBjAPYiM1EGk atGliZ5v8s/CyTgMKW5DLlUvButrzyAhrtvXvGmw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Paul Menzel , Borislav Petkov , Alex Deucher , Tom Lendacky Subject: [PATCH 4.19 26/50] x86/Kconfig: Do not enable AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT automatically Date: Mon, 18 Oct 2021 15:24:33 +0200 Message-Id: <20211018132327.405038283@linuxfoundation.org> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211018132326.529486647@linuxfoundation.org> References: <20211018132326.529486647@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Borislav Petkov commit 711885906b5c2df90746a51f4cd674f1ab9fbb1d upstream. This Kconfig option was added initially so that memory encryption is enabled by default on machines which support it. However, devices which have DMA masks that are less than the bit position of the encryption bit, aka C-bit, require the use of an IOMMU or the use of SWIOTLB. If the IOMMU is disabled or in passthrough mode, the kernel would switch to SWIOTLB bounce-buffering for those transfers. In order to avoid that, 2cc13bb4f59f ("iommu: Disable passthrough mode when SME is active") disables the default IOMMU passthrough mode so that devices for which the default 256K DMA is insufficient, can use the IOMMU instead. However 2, there are cases where the IOMMU is disabled in the BIOS, etc. (think the usual hardware folk "oops, I dropped the ball there" cases) or a driver doesn't properly use the DMA APIs or a device has a firmware or hardware bug, e.g.: ea68573d408f ("drm/amdgpu: Fail to load on RAVEN if SME is active") However 3, in the above GPU use case, there are APIs like Vulkan and some OpenGL/OpenCL extensions which are under the assumption that user-allocated memory can be passed in to the kernel driver and both the GPU and CPU can do coherent and concurrent access to the same memory. That cannot work with SWIOTLB bounce buffers, of course. So, in order for those devices to function, drop the "default y" for the SME by default active option so that users who want to have SME enabled, will need to either enable it in their config or use "mem_encrypt=on" on the kernel command line. [ tlendacky: Generalize commit message. ] Fixes: 7744ccdbc16f ("x86/mm: Add Secure Memory Encryption (SME) support") Reported-by: Paul Menzel Signed-off-by: Borislav Petkov Acked-by: Alex Deucher Acked-by: Tom Lendacky Cc: Link: https://lkml.kernel.org/r/8bbacd0e-4580-3194-19d2-a0ecad7df09c@molgen.mpg.de Signed-off-by: Greg Kroah-Hartman --- arch/x86/Kconfig | 1 - 1 file changed, 1 deletion(-) --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -1496,7 +1496,6 @@ config AMD_MEM_ENCRYPT config AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT bool "Activate AMD Secure Memory Encryption (SME) by default" - default y depends on AMD_MEM_ENCRYPT ---help--- Say yes to have system memory encrypted by default if running on