From patchwork Wed Apr 30 00:59:51 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bjorn Helgaas X-Patchwork-Id: 4090091 X-Patchwork-Delegate: bhelgaas@google.com Return-Path: X-Original-To: patchwork-linux-pci@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.19.201]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 98830BFF02 for ; Wed, 30 Apr 2014 01:01:38 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id DB86020218 for ; Wed, 30 Apr 2014 01:01:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E3F5D20200 for ; Wed, 30 Apr 2014 01:01:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754599AbaD3A76 (ORCPT ); Tue, 29 Apr 2014 20:59:58 -0400 Received: from mail-ie0-f175.google.com ([209.85.223.175]:39020 "EHLO mail-ie0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754451AbaD3A7y (ORCPT ); Tue, 29 Apr 2014 20:59:54 -0400 Received: by mail-ie0-f175.google.com with SMTP id rl12so1126466iec.34 for ; Tue, 29 Apr 2014 17:59:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=subject:to:from:cc:date:message-id:in-reply-to:references :user-agent:mime-version:content-type:content-transfer-encoding; bh=eccE2gBn03k+GJ13Kt0raSMFU2Qw3PSUwAYcMrqJEtc=; b=FOZxIQG62Z8+hlhi5O2w9uaZbR4cFspx1c8MkiCN8vyhPdO1VII+rDYR9OQYWCcvWn 1b4JOMVn3wUZqmE8Mj+xYfZ9MQQX+1PNVw+Jr/VLdl9twWpPrHT9d8aCHH7uQR+T/TlY SX8gq5mjaWE0RLXHETcPbWW/LjMIquc5aEKyfS6tBftiGpGl7sVvagGjA5LSiwjuS4Xo hcSpD4STGk8ecvYQaUhc3QzC2fP1Id0IHAtzBP4iVKw5P+AEbUUcT8O1LZKkXFkkOWGB JQEMoaOlqZE6ts596rqPTD87GWT4QWcHeqdSI24pNrDTOZFyoqKydo2A1jawBhfXv7C8 XeQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:from:cc:date:message-id:in-reply-to :references:user-agent:mime-version:content-type :content-transfer-encoding; bh=eccE2gBn03k+GJ13Kt0raSMFU2Qw3PSUwAYcMrqJEtc=; b=OchikSJiinZYozbNlRXPSon8G0NagQ9o/WNIrsaX94xeAHRA4UpVD3JS/8Keod6Zus Ad53CqL0JdCCpEbbpzmHHu/ZNMqxjNRGzH+r11YYDsVdjgx0+EQGGczeUUyUwJGXWd2z bCW5A+YjvT2jhkY9rpilQ+2y0R+oDBkAfhu34a/9rQQw4+fkhXwiUD4Eyi+fmlc1QBQs N4eEZ/n4er7D3DpmJm11EjyjWWL0uOgYvxCairCfOdJ+t82GmmyrRyz0Qv3MItHe/Isc 8OBQiNEyZv+7UNnYVgNESlmwO+RCqBQ6eCY4EyEKX/qyiIQtMiO+ktztIDMq90TxnS7x SlzQ== X-Gm-Message-State: ALoCoQnEbSC6+CvAeNNVy3tkUSbv5wMN5wumQ90sHFgaP57q5XGj+spqrPziP+KcM5Y6sAaKWwzfLgswQYob+DuUZ9z+DVp1uB1bk4nSBliDBndZc5r6tckN0xNwZxXwDIzU+HqANMC9xa9AC2xuVFW7tZLggIuECvk2BKNLzKFy0Ecq8JybSkaGSQwz2vqE4MdtGk2+Xed5uRyMZgwXwuxcP02UUXdySCiSRuCB9u7W+Qv21/CeJ0E= X-Received: by 10.50.78.164 with SMTP id c4mr1111675igx.41.1398819593968; Tue, 29 Apr 2014 17:59:53 -0700 (PDT) Received: from localhost ([172.16.51.53]) by mx.google.com with ESMTPSA id w4sm68804igl.7.2014.04.29.17.59.52 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Tue, 29 Apr 2014 17:59:52 -0700 (PDT) Subject: [PATCH 2/7] PCI: Reject BAR above 4GB if dma_addr_t is too small To: linux-pci@vger.kernel.org From: Bjorn Helgaas Cc: linux-kernel@vger.kernel.org Date: Tue, 29 Apr 2014 18:59:51 -0600 Message-ID: <20140430005951.13138.13740.stgit@bhelgaas-glaptop.roam.corp.google.com> In-Reply-To: <20140430005642.13138.99577.stgit@bhelgaas-glaptop.roam.corp.google.com> References: <20140430005642.13138.99577.stgit@bhelgaas-glaptop.roam.corp.google.com> User-Agent: StGit/0.16 MIME-Version: 1.0 Sender: linux-pci-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-pci@vger.kernel.org X-Spam-Status: No, score=-7.4 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP We can only handle BARs above 4GB if dma_addr_t (not resource_size_t) is 64 bits wide. If we have a 64-bit resource_size_t and a 32-bit dma_addr_t, we can't deal with BARs above 4GB. Signed-off-by: Bjorn Helgaas --- drivers/pci/probe.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index c7f8b717c2e7..afae3bf405fa 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -253,7 +253,7 @@ int __pci_read_base(struct pci_dev *dev, enum pci_bar_type type, goto out; } - if ((sizeof(resource_size_t) < 8) && l) { + if ((sizeof(dma_addr_t) < 8) && l) { /* Address above 32-bit boundary; disable the BAR */ pci_write_config_dword(dev, pos, 0); pci_write_config_dword(dev, pos + 4, 0);