Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp72403rwe; Wed, 24 Aug 2022 17:16:49 -0700 (PDT) X-Google-Smtp-Source: AA6agR7cI6tcagq8IiMwc+YAJIufBK3gcaDTCAoRtd0Uejm+8r/R5NCbDetXM/D1u7aW9EXUJqtJ X-Received: by 2002:a17:907:7e9e:b0:73d:ae12:5f11 with SMTP id qb30-20020a1709077e9e00b0073dae125f11mr877934ejc.176.1661386609396; Wed, 24 Aug 2022 17:16:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661386609; cv=none; d=google.com; s=arc-20160816; b=CMg5kIWqJCenZZa3M/FdBNWx0LV+0e6k5wqJoQvK5Gq13ezGBFTNtlrO8NCUQnd22a urg+6rNCZfwIRs0UE4IAHK1Ar8KbpLpVJLjc7YJKlbsdZbLAIPNLL7bu7p+qn2JYkjVG 3AsXG1rfpiPTxKYiVvAfnKw26IiRfkpHZqwpu5rgqDVkODgCbrs9+uAPSJqHT/RKaYER eRCX9A6WVnMb92LdlxD4LhE5mpNpimusflqWMZFwG/p+nUPjOeAUXAAvRqRPC+Q5fW5Y WBZ4CmNBsD7h71yOC2/GUAXaSyLkBhew669aDBZKxSiWP2mQsJcdOu1BGrESkkH3Tva+ w1uw== 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 :message-id:date:subject:cc:to:from:dkim-signature; bh=n2n6yL706QvTXNwFmUhb2+pHL9oU9wujS7+s5qpbVJQ=; b=sfM5g7yIxtgPthasJyQbn8GuwKkbWaEfmnQ4bMvFz4zIAWE+B2wwqZ3CHFaJW1Yp7B Eq+J7jvo4uMIvOoF1yGdBivnv5qJzhCJ+wrFVe8+HAqURfMBGQWvjxqG2Oe8y757rhQA oDvG7K+WUDAdJ2ebIUSpuLK6QB1vKq4OeJA9JdxI0eEP3G/swQ94qYcaBWNm2FMlGNxR ByIOZZrDhqSi/yxkN5R6yW/3vIF10C+Ui2gMyq7bTffDeIvaaq1vT2gV+1CUo4yZ41Kx T0oNNad9SQo55E5uPkh6Re5kn2zdgEtPXwCJb1ho5/xv7dr9jHD02q/ft0Dqz9C+c8EE LaGQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=KeKzEoJP; 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=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dz21-20020a0564021d5500b00446e17f1196si5944163edb.554.2022.08.24.17.16.22; Wed, 24 Aug 2022 17:16:49 -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=@intel.com header.s=Intel header.b=KeKzEoJP; 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=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230354AbiHXXYz (ORCPT + 99 others); Wed, 24 Aug 2022 19:24:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38308 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229570AbiHXXYx (ORCPT ); Wed, 24 Aug 2022 19:24:53 -0400 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 18F6224F31; Wed, 24 Aug 2022 16:24:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661383493; x=1692919493; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=eJ8YUYE0KUuxnWEswmWESNkqPfeWZ5Rhr0ubNvs1qZs=; b=KeKzEoJPdoq5gh4Lwedoeo5ThaxT9bN2fvHVSiLU/9reNibgHYsddA6D +AG4wJrnrSP7bDQI2yJt116PhxyRvvDuf7Bn0SB0+vHM8xs55VNJmn1qm NlZDs/EHcU2YkAiwptYWtxtIL8zzQBWwr7vEHyHqp9G6vkXuct94LcDB+ av8TIFmibhfuXGqT/PcoNiK/tiEVEGirxd0KQW/vqGFiEaxTg/naPKXJI Gtia9W1nEGnz4nkBuArnHjjW4xCPUz6BhfPxQOxWHtHhs0l825ZePmkYJ PWoCFlGfz08QQ4i69N45npuiN6xwnG+HBtOf5vhfT8s27xlpB8sWSTyaB g==; X-IronPort-AV: E=McAfee;i="6500,9779,10449"; a="380391307" X-IronPort-AV: E=Sophos;i="5.93,261,1654585200"; d="scan'208";a="380391307" Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Aug 2022 16:24:52 -0700 X-IronPort-AV: E=Sophos;i="5.93,261,1654585200"; d="scan'208";a="752265584" Received: from iweiny-mobl.amr.corp.intel.com (HELO localhost) ([10.212.42.187]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Aug 2022 16:24:52 -0700 From: ira.weiny@intel.com To: Dan Williams , Bjorn Helgaas , Greg Kroah-Hartman Cc: Ira Weiny , Jonathan Cameron , Alison Schofield , Vishal Verma , Ben Widawsky , linux-cxl@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org Subject: [PATCH V2 0/2] CXL: Taint user access to DOE mailbox config space Date: Wed, 24 Aug 2022 16:24:48 -0700 Message-Id: <20220824232450.723179-1-ira.weiny@intel.com> X-Mailer: git-send-email 2.37.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham 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 From: Ira Weiny Changes from V1 Incorporate feedback from Dan and Greg. PCI config space access from user space has traditionally been unrestricted with writes being an understood risk for device operation. Unfortunately, device breakage or odd behavior from config writes lacks indicators that can leave driver writers confused when evaluating failures. This is especially true with the new PCIe Data Object Exchange (DOE) mailbox protocol where backdoor shenanigans from user space through things such as vendor defined protocols may affect device operation without complete breakage. Even though access should not be restricted it would be nice for driver writers to be able to flag critical parts of the config space such that interference from user space can be detected. Introduce pci_request_config_region_exclusive() and use it in the CXL driver for DOE config space. Ira Weiny (2): PCI: Allow drivers to request exclusive config regions cxl/doe: Request exclusive DOE access drivers/cxl/pci.c | 5 +++++ drivers/pci/pci-sysfs.c | 7 +++++++ drivers/pci/probe.c | 6 ++++++ include/linux/ioport.h | 2 ++ include/linux/pci.h | 33 +++++++++++++++++++++++++-------- include/uapi/linux/pci_regs.h | 1 + kernel/resource.c | 13 ++++++++----- 7 files changed, 54 insertions(+), 13 deletions(-) base-commit: 1cd8a2537eb07751d405ab7e2223f20338a90506 -- 2.37.2