Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp3624810imm; Thu, 17 May 2018 11:46:49 -0700 (PDT) X-Google-Smtp-Source: AB8JxZr4JHqvN2TGHtGlaQI4npMJPA6hqLqrOyR89d5XX99tCc2MWUAe8Qar0KV/2IfUJ/pBSMsx X-Received: by 2002:a62:4f0c:: with SMTP id d12-v6mr6207980pfb.220.1526582809486; Thu, 17 May 2018 11:46:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526582809; cv=none; d=google.com; s=arc-20160816; b=vwYArNWx+qmdKcouglUc4MPvyNfb+NXa0GyVzeKp4CI+YV//4+sFw9U99+ro7OlZNl q0wCPDiGifONIjjLHx0ex/e509BvYpBn/7A6GTThY2uRu9iWsD/MY6BZDbIIaS9bBE7A Wqw5PfC7B8i3/moqL24t/vCx/89d2MKTbgmH1qhkTGZzJy9XipQBwBqWFog5rPdRTMFL qVopkWxeigoM/Mp6BgF/urHf6TnXINrg7CZEnWBmjp7IipvAJv39QE2lnJe3cY0vKcsB JhD1+OEYCvKNUQ4Gad4WFjV+vECFkgIO/kmKQdEuWknm0HDRWJJvdInE+hdp8FM+EPF/ TBkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:mime-version:user-agent:date:message-id:cc:to :subject:from:dkim-signature:arc-authentication-results; bh=uRrXjKNlDGJt93HiKjpfWpkfR3RYtSdw2xcsDk7ZMjU=; b=rzy/dOSiWG8NI7KQXazyMrTJQofTxUl5wKkL/J0gznJVqLe9/WD6cw98bFluKDXagf TdyPeyb0J8fd5OVmSMGW13CJ5bpbQIu6XmZGobJQEoW+UVfUs3kN8iNujB/t7LINf95S /wXQrlLGVTz7CWk4tVyL5TFXCWLhAa0Y12DbOs2N+5MARJ2wVltIIxsbi42qbED3Dy+H 6MY4T2ghWcxaL9em1uZa3U61t3JjwFlOMjpMzlROOa2lMgtmtcgPIquzrZgHY/xMPseD Hd2X5FrH33PY9XXtF7fLU2Dga5RuNyq5PfEra8/Dqn3n5l3HZw8sWCcas6O5N5KphFCL hQ8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=Gs+KXMUF; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id e2-v6si5894899pls.579.2018.05.17.11.46.34; Thu, 17 May 2018 11:46:49 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@oracle.com header.s=corp-2017-10-26 header.b=Gs+KXMUF; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=oracle.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751664AbeEQSqZ (ORCPT + 99 others); Thu, 17 May 2018 14:46:25 -0400 Received: from aserp2130.oracle.com ([141.146.126.79]:43364 "EHLO aserp2130.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750924AbeEQSqX (ORCPT ); Thu, 17 May 2018 14:46:23 -0400 Received: from pps.filterd (aserp2130.oracle.com [127.0.0.1]) by aserp2130.oracle.com (8.16.0.22/8.16.0.22) with SMTP id w4HIkIvo138280; Thu, 17 May 2018 18:46:18 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : subject : to : cc : message-id : date : mime-version : content-type : content-transfer-encoding; s=corp-2017-10-26; bh=uRrXjKNlDGJt93HiKjpfWpkfR3RYtSdw2xcsDk7ZMjU=; b=Gs+KXMUFFul+Q+lZJnOlvkJOaw3dZ38V6kwOse199n3YyP+PtuGQbH5ofu0l7CObjbw9 cZyCassSxEKDsDj+Mxr792DQWeb1kFYZXd+d3ge9TkJqMP/8zUsq42hjxxOhZcoJpPds iU+daxiL+VRHq30EedI3y26xJZkOtsrZKVR/k1Hno+CpGhjyeKlskN4fWOtc5ybwpfYR M2p/3LcdK9VyUaWiDH/53iSDGR62Cbu5gGanfLZYjyBTfxIk49EsJ0wW4tCyJklbCCKR oKszKMrWjbNBrA7iWbKfl15VdwZ1kfStOeSMPw+uykgQ4KrBcwQF0acJ64lkur9pIFvm sg== Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp2130.oracle.com with ESMTP id 2hxpvd171u-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 17 May 2018 18:46:18 +0000 Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by aserv0022.oracle.com (8.14.4/8.14.4) with ESMTP id w4HIk0Ba028229 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 17 May 2018 18:46:00 GMT Received: from abhmp0015.oracle.com (abhmp0015.oracle.com [141.146.116.21]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id w4HIk0pU013671; Thu, 17 May 2018 18:46:00 GMT Received: from [10.211.202.39] (/10.211.202.39) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Thu, 17 May 2018 11:46:00 -0700 From: Joe Jin Subject: [PATCH UPSTREAM] xen-swiotlb: fix the check condition for xen_swiotlb_free_coherent To: Konrad Rzeszutek Wilk , John Sobecki , "linux-kernel@vger.kernel.org" , "xen-devel@lists.xenproject.org" Cc: ASHISH_B_SRIVASTAVA , stable@vger.kernel.org Message-ID: <25d8a709-9f2f-fe09-f66c-2a0704ddbbb0@oracle.com> Date: Thu, 17 May 2018 11:45:57 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8896 signatures=668698 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=2 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1805170176 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org When run raidconfig from Dom0 we found that the Xen DMA heap is reduced, but Dom Heap is increased by the same size. Tracing raidconfig we found that the related ioctl() in megaraid_sas will call dma_alloc_coherent() to apply memory. If the memory allocated by Dom0 is not in the DMA area, it will exchange memory with Xen to meet the requiment. Later drivers call dma_free_coherent() to free the memory, on xen_swiotlb_free_coherent() the check condition (dev_addr + size - 1 <= dma_mask) is always false, it prevents calling xen_destroy_contiguous_region() to return the memory to the Xen DMA heap. This issue introduced by commit 6810df88dcfc2 "xen-swiotlb: When doing coherent alloc/dealloc check before swizzling the MFNs.". Signed-off-by: Joe Jin Tested-by: John Sobecki Reviewed-by: Rzeszutek Wilk Cc: stable@vger.kernel.org --- drivers/xen/swiotlb-xen.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c index e1c60899fdbc..a6f9ba85dc4b 100644 --- a/drivers/xen/swiotlb-xen.c +++ b/drivers/xen/swiotlb-xen.c @@ -351,7 +351,7 @@ xen_swiotlb_free_coherent(struct device *hwdev, size_t size, void *vaddr, * physical address */ phys = xen_bus_to_phys(dev_addr); - if (((dev_addr + size - 1 > dma_mask)) || + if (((dev_addr + size - 1 <= dma_mask)) || range_straddles_page_boundary(phys, size)) xen_destroy_contiguous_region(phys, order); -- 2.14.3 (Apple Git-98)