From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751421AbdINBN5 (ORCPT ); Wed, 13 Sep 2017 21:13:57 -0400 Received: from smtpbgau2.qq.com ([54.206.34.216]:38815 "EHLO smtpbgau2.qq.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751279AbdINBN4 (ORCPT ); Wed, 13 Sep 2017 21:13:56 -0400 X-QQ-GoodBg: 0 X-QQ-SSF: 00100000000000F0 X-QQ-FEAT: Lsuemuw+Y80ReWSlogrM/RER/Bib2Rz3uIFSRyaETvA5PmiwJIr9cbHIONS11 6gkb4HIldALdq1//kjq5XXxLTUmqC+LvFT+/e0ADmVx8VSyYIg6Qcmdhd0vYe1/Uuy1nNuz 6t2Iq/RvjItKtspPCdQR+v42R82/BvU9culH1NYBVAeljmviq83fStKfFf4VPeK1AZ27By4 h16Uq0DohZjYS4UpXdFpYlwCSMXgX9RT3k8ZJxROTo3SILc1EcahIo0yIzy9ZWZyZvzlmLc 37ZqT89kDUUSEH X-QQ-BUSINESS-ORIGIN: 2 X-Originating-IP: 222.92.124.153 X-QQ-STYLE: X-QQ-mid: bizmailfree34t1505351627t9471 From: "=?utf-8?B?6ZmI5Y2O5omN?=" To: "=?utf-8?B?QW5kcmV3IE1vcnRvbg==?=" Cc: "=?utf-8?B?RnV4aW4gWmhhbmc=?=" , "=?utf-8?B?bGludXgtbW0=?=" , "=?utf-8?B?bGludXgta2VybmVs?=" , "=?utf-8?B?c3RhYmxl?=" Subject: Re: [PATCH V3 2/3] mm: dmapool: Align to ARCH_DMA_MINALIGN innon-coherent DMA mode Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Date: Thu, 14 Sep 2017 09:13:47 +0800 X-Priority: 3 Message-ID: X-QQ-MIME: TCMime 1.0 by Tencent X-Mailer: QQMail 2.x X-QQ-Mailer: QQMail 2.x References: <1505294451-21312-1-git-send-email-chenhc@lemote.com> <20170913145249.f89678a57842da122aa062fd@linux-foundation.org> In-Reply-To: <20170913145249.f89678a57842da122aa062fd@linux-foundation.org> X-QQ-ReplyHash: 3310693392 X-QQ-SENDSIZE: 520 Feedback-ID: bizmailfree:lemote.com:qybgforeign:qybgforeign2 X-QQ-Bgrelay: 1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id v8E1E38w016474 Hi, Andrew, It will cause data corruption, at least on MIPS: step 1, dma_map_single step 2, cache_invalidate (no writeback) step 3, dma_from_device step 4, dma_unmap_single If a DMA buffer and a kernel structure share a same cache line, and if the kernel structure has dirty data, cache_invalidate (no writeback) may cause data lost. Huacai ------------------ Original ------------------ From: "Andrew Morton"; Date: Thu, Sep 14, 2017 05:52 AM To: "Huacai Chen"; Cc: "Fuxin Zhang"; "linux-mm"; "linux-kernel"; "stable"; Subject: Re: [PATCH V3 2/3] mm: dmapool: Align to ARCH_DMA_MINALIGN innon-coherent DMA mode On Wed, 13 Sep 2017 17:20:51 +0800 Huacai Chen wrote: > In non-coherent DMA mode, kernel uses cache flushing operations to > maintain I/O coherency, so the dmapool objects should be aligned to > ARCH_DMA_MINALIGN. What are the user-visible effects of this bug?