Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp2220700pxb; Fri, 25 Mar 2022 13:18:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxh5vfFXT/K/lA5G1vQS5CSNnekegEsHFzPWYltolO+e13ZX1mAvcD0GI4isHihAO1rApda X-Received: by 2002:a17:90a:c504:b0:1bf:6d9f:65a6 with SMTP id k4-20020a17090ac50400b001bf6d9f65a6mr14583025pjt.204.1648239509742; Fri, 25 Mar 2022 13:18:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648239509; cv=none; d=google.com; s=arc-20160816; b=THan8y39HuKVpM3qbqmRPWpFhplShqnXN6np1LDQIBXPeXF4yXUz2aTCkB1ZIhze5E o2BZvYcU4ksf29ymkJNaxqN239OnR0qpw1JN/r/BIqUDLgPtFCAJJfdrvBsK2/6ObsN6 FOZX5HNv3m8xhgViayKqZXeVwuVXHRaLuFaAhJ/y05v6/x1hhcSABeAyKjcVo6XN6TzS CW2+u1mU5uWhYmBtDkJZAU5nGso56Wkih4FOCZ1zkeu8NXw4fVgtMGO3VnYH5sXYPDzw /ql2SmUdKMa2FYd+Soojfl5pjPkYxCYuIzDYOIeo6mbiFtXQMA/oHNNlHApwxA4K3mCi 8sww== 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 :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=jKyYn/8x1r3aq5yDhbWNBcNW8nQVJUhymtL9BdNTCak=; b=qG9h1cwHOuGbQPyAzVL/f3r5R+SzulbAgkHVtW+UNEj6auSZqFdtaqVLO2i3qJ0co+ CsS2GarChp+Y8qNxs6eyTCHY9DL6eFxHssJKudfc0KR8EZVVFtf1SHXEv7oUcNU+whOw dwRWB3Ko+sE151/D+IyNSCkwa7M54Aw/UvaSALOsfS7M8x2emQPSsbdKeRGcD+27oCxO sS3o9JtuRxzdT9nnx+DoKR/EL0Cn5SE1TPy4H6ND2Y0QmPmA1/1F5RW5AU/rFoqvDicC lbSlvApZCZ8ZD3m2bly+EuxfCFGie5zVfUfJUyjm0VNkV0Hqe0PC2vkVHY8tQsCe7cXR RFxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=JHR9OsnD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id d8-20020a621d08000000b004fa3a8e0003si3317916pfd.186.2022.03.25.13.18.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Mar 2022 13:18:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=JHR9OsnD; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id D321B3E3F19; Fri, 25 Mar 2022 12:16:48 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1352428AbiCXR4C (ORCPT + 99 others); Thu, 24 Mar 2022 13:56:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58972 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1352410AbiCXRz4 (ORCPT ); Thu, 24 Mar 2022 13:55:56 -0400 Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C9AEE3968C for ; Thu, 24 Mar 2022 10:54:24 -0700 (PDT) Received: by mail-pj1-x1035.google.com with SMTP id jx9so5339896pjb.5 for ; Thu, 24 Mar 2022 10:54:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jKyYn/8x1r3aq5yDhbWNBcNW8nQVJUhymtL9BdNTCak=; b=JHR9OsnDe32cYkFuQG30yVf4IIy04Gd4f4cS9Jfup69kp9HQcphhKnJ9CHj6uixQ13 hCGK9/5Ttevrc7XvcWHiC0scEoQDhXQFSSWqeiGoC3MDEtSyHwBjQ1Sb2oneayNShOY0 1dsdJa33UfBu/6nqLkKH7N0K6bW6A5fnAMOTQNg7U0558UBoJBGEAt2NBevAbQFrR/2I 6WJX36SjgAEDj/5ePihT4GV2pu7uEYxt6RCvYXTL31WL67j0yui7njsX0CXRYq25H7N2 dONEMRWxZZvqSN77t3l/MSkpJgdMDpZfAHF+CshzVekdT+0U49za42nq71qdUaOaXcYB sm2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jKyYn/8x1r3aq5yDhbWNBcNW8nQVJUhymtL9BdNTCak=; b=ykIrb2qZghZtSdn3fEDEtOe/ogchjWKL/y6kHJYSu2aURV9AJvduggqrJGr/WKTgaT tmRWVt1evRKzWim8GMNIt3pDDUKuYfAWggi5KtbZQoPzZqZJyZwZ2Z2H3SZJGx/b36YP 3IHANcgnrAdoiRubOjtLHREEkxTOJ3ldtjlERCkQjsOGJJpQyYu3YxkmGBk9pvYMLZVb iArv2KmdswALCBRVbtwqzUUp9szGGYMJGMZdNGJQFI2Edy9ZDGy3fpQIP6WkpwlzOh4N uuxtgT34f3unVQ3Y+Uj3E2YKecf7RNCChlm7gYlK2u5mJK4A2jsMwlL0q9W5JEqwnF2g MUtw== X-Gm-Message-State: AOAM531DHCY2aeLfgImItFUu0N/tAPvty7szOLypYv6cdp4Arof5UeyQ 3/NCd8fPjbCL2KQPwbwAJaM= X-Received: by 2002:a17:902:f60f:b0:151:4f66:55b4 with SMTP id n15-20020a170902f60f00b001514f6655b4mr7048785plg.127.1648144464284; Thu, 24 Mar 2022 10:54:24 -0700 (PDT) Received: from fainelli-desktop.igp.broadcom.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id f21-20020a056a00239500b004fb02a7a45bsm1003193pfc.214.2022.03.24.10.54.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 24 Mar 2022 10:54:23 -0700 (PDT) From: Florian Fainelli To: linux-arm-kernel@lists.infradead.org Cc: Florian Fainelli , Russell King , Nicolas Pitre , Catalin Marinas , linux-kernel@vger.kernel.org (open list), linus.walleij@linaro.org, Geert Uytterhoeven , Rob Herring , Ard Biesheuvel Subject: [PATCH 2/2] ARM: Clamp MAX_DMA_ADDRESS to 32-bit Date: Thu, 24 Mar 2022 10:54:17 -0700 Message-Id: <20220324175417.1014562-3-f.fainelli@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220324175417.1014562-1-f.fainelli@gmail.com> References: <20220324175417.1014562-1-f.fainelli@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RDNS_NONE, SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no 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 MAX_DMA_ADDRESS is a virtual address, therefore it needs to fit within a 32-bit unsigned quantity. Platforms defining a DMA zone size in their machine descriptor can easily overflow this quantity depending on the DMA zone size and/or the PAGE_OFFSET setting. In most cases this is harmless, however in the case of a CONFIG_DEBUG_VIRTUAL enabled, __virt_addr_valid() will be unable to return that MAX_DMA_ADDRESS is valid because the value passed to that function is an unsigned long which has already overflowed. Fixes: e377cd8221eb ("ARM: 8640/1: Add support for CONFIG_DEBUG_VIRTUAL") Fixes: 2fb3ec5c9503 ("ARM: Replace platform definition of ISA_DMA_THRESHOLD/MAX_DMA_ADDRESS") Signed-off-by: Florian Fainelli --- arch/arm/include/asm/dma.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/arm/include/asm/dma.h b/arch/arm/include/asm/dma.h index f244ee68e814..ea47420babd4 100644 --- a/arch/arm/include/asm/dma.h +++ b/arch/arm/include/asm/dma.h @@ -8,10 +8,12 @@ #ifndef CONFIG_ZONE_DMA #define MAX_DMA_ADDRESS 0xffffffffUL #else +#include #define MAX_DMA_ADDRESS ({ \ extern phys_addr_t arm_dma_zone_size; \ arm_dma_zone_size && arm_dma_zone_size < (0x10000000 - PAGE_OFFSET) ? \ - (PAGE_OFFSET + arm_dma_zone_size - 1) : 0xffffffffUL; }) + min_t(phys_addr_t, (PAGE_OFFSET + arm_dma_zone_size - 1), 0xffffffffUL) : \ + 0xffffffffUL; }) #endif #ifdef CONFIG_ISA_DMA_API -- 2.25.1