From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 83184C433FE for ; Sat, 15 Jan 2022 01:17:57 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231903AbiAOBR4 (ORCPT ); Fri, 14 Jan 2022 20:17:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57334 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231156AbiAOBRz (ORCPT ); Fri, 14 Jan 2022 20:17:55 -0500 Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0BDA1C06161C for ; Fri, 14 Jan 2022 17:17:54 -0800 (PST) Received: by mail-lf1-x12d.google.com with SMTP id e3so32873860lfc.9 for ; Fri, 14 Jan 2022 17:17:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=DSUCsXvUq5CC+YLJR6sM+UncKVzG/eChv6GRiJ5ewuo=; b=Km7B94yItHq7aVfP1T9NUkUg0CfyYu53x8ocQbPhc+dKDkm2Z3Qdmqq6lhxvM80Pks 16ttYCCVWt7dbiTvfB/TJxujAvsC6cSa06GEpsKkkuaeQlcM8M+t4u99s5lARvhfxInW Ci1oy5mNVTaPwV+2dSBlSscKmvmZ+mg0LMkcK6MV3GSRb+XMtxMOJgcgXRxQrrOziDKZ Bc7zRC9XKZDw0XoE+bVrA4iEkQtZ7fVhKAaqedPN8V6l0oR6BZz+wRBmSzU31XZDthCr spefGhSvdjB+tbrWX7EjLUw/q7lrjUel8Kaldz+FP/57vDBGGjvW2MPQW/bngKKnr/RE IoZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=DSUCsXvUq5CC+YLJR6sM+UncKVzG/eChv6GRiJ5ewuo=; b=ArNi0I/jRZOe9iFPR3KtZQHZFBFc46bX73uuRrxTSFajNvHo+D3NxQsvzzjQJChnEb FRNdLWLG0KK6rb9tj8A0S+YozJ8N0/+D+0ZPC3K1XXzdOo0VDlYNxxTtzRvME3A3ZDOw KPNeC+or76hhVvmnI0F3W7YvBTZ0oYOhodjylpHO+nFu05W7S+qfZEQz4VFJt5e4+sik tZWnWScECm6A9oiOaeEhJdQT9q4LT8SZn/s3SIbhJJ0GxG04+NV4v0W2B6nEswPyWV9t ylFBoVeYJMFIuknRPYGMQi/jTqN9LBAsieHfdrCibKmcyv4/ZsYjsPsYX5m79j5dv9qz y1/g== X-Gm-Message-State: AOAM532VurwX/qrvzcfHF1Ndu8SnumlHEHPPSgEi9VTb1C/LGpXc4EfI ikEcVeMO9YKliHG7QLfcvhnQh/88Oj97s/i/PcAuxA== X-Google-Smtp-Source: ABdhPJySDowHRxGMfXN2K9VReVwH+SUfch9JrimtyE5ccTX6eX5LjL8lOKhq1C4RF1mflvPlwsqfGtTGOZn0hxrfPFg= X-Received: by 2002:a05:6512:3e1f:: with SMTP id i31mr4004663lfv.661.1642209473081; Fri, 14 Jan 2022 17:17:53 -0800 (PST) MIME-Version: 1.0 References: <20220113123406.11520-1-guangming.cao@mediatek.com> <4f88205c1b344aea8608960e2f85b8f4@intel.com> <24157767-dc29-bbdd-5428-d89ecc6b9606@amd.com> <6b8182a1-7cdc-7369-5c34-e6d0c24efcca@amd.com> <82faa62f1bc946cf2f9ee2f7d15c567162238eab.camel@mediatek.com> In-Reply-To: <82faa62f1bc946cf2f9ee2f7d15c567162238eab.camel@mediatek.com> From: John Stultz Date: Fri, 14 Jan 2022 17:17:39 -0800 Message-ID: Subject: Re: [PATCH v3] dma-buf: dma-heap: Add a size check for allocation To: "Guangming.Cao" Cc: =?UTF-8?Q?Christian_K=C3=B6nig?= , "Ruhl, Michael J" , "sumit.semwal@linaro.org" , "linux-arm-kernel@lists.infradead.org" , "wsd_upstream@mediatek.com" , "libo.kang@mediatek.com" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "yf.wang@mediatek.com" , "linaro-mm-sig@lists.linaro.org" , "linux-mediatek@lists.infradead.org" , "lmark@codeaurora.org" , "benjamin.gaignard@linaro.org" , "bo.song@mediatek.com" , "matthias.bgg@gmail.com" , "labbott@redhat.com" , "mingyuan.ma@mediatek.com" , "jianjiao.zeng@mediatek.com" , "linux-media@vger.kernel.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jan 14, 2022 at 4:04 AM Guangming.Cao wrote: > > On Fri, 2022-01-14 at 08:16 +0100, Christian K=C3=B6nig wrote: > > Am 14.01.22 um 00:26 schrieb John Stultz: > > > On Thu, Jan 13, 2022 at 5:05 AM Christian K=C3=B6nig > > > wrote: > > > > Am 13.01.22 um 14:00 schrieb Ruhl, Michael J: > > > > > > -----Original Message----- > > > > > > From: dri-devel On > > > > > > Behalf Of > > > > > > Ruhl, Michael J > > > > > > > -----Original Message----- > > > > > > > From: dri-devel > > > > > > > On Behalf Of > > > > > > > guangming.cao@mediatek.com > > > > > > > + /* > > > > > > > + * Invalid size check. The "len" should be less than > > > > > > > totalram. > > > > > > > + * > > > > > > > + * Without this check, once the invalid size allocation > > > > > > > runs on a process > > > > > > > that > > > > > > > + * can't be killed by OOM flow(such as "gralloc" on > > > > > > > Android devices), it > > > > > > > will > > > > > > > + * cause a kernel exception, and to make matters worse, > > > > > > > we can't find > > > > > > > who are using > > > > > > > + * so many memory with "dma_buf_debug_show" since the > > > > > > > relevant > > > > > > > dma-buf hasn't exported. > > > > > > > + */ > > > > > > > + if (len >> PAGE_SHIFT > totalram_pages()) > > > > > > > > > > > > If your "heap" is from cma, is this still a valid check? > > > > > > > > > > And thinking a bit further, if I create a heap from something > > > > > else (say device memory), > > > > > you will need to be able to figure out the maximum allowable > > > > > check for the specific > > > > > heap. > > > > > > > > > > Maybe the heap needs a callback for max size? > Yes, I agree with this solution. > If dma-heap framework support this via adding a callback to support it, > seems it's more clear than adding a limitation in dma-heap framework > since each heap maybe has different limitation. > If you prefer adding callback, I can update this patch and add totalram > limitation to system dma-heap. If the max value is per-heap, why not enforce that value in the per-heap allocation function? Moving the check to the heap alloc to me seems simpler to me than adding complexity to the infrastructure to add a heap max_size callback. Is there some other use for the callback that you envision? thanks -john From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 25125C433EF for ; Sat, 15 Jan 2022 01:18:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=fO58j/jXC6opEoTVlucTThKLMcAKOuGiPzBs8UrNCdM=; b=qVkDSzCLyHxS7K RTI2CYvqH2l15TmohWXlNVoMfRG+1EYLNfLdO4aK/NzxZHqROLvVFQXCzs4/GhbxRP9NwDuQitnFq 5viwuqPEgiSD+GH+FVu7waEV+yj15itpCrbIqczUf6anupe0+mySvrIsCXgmxY6unn5eI4NmAbLLy S5ov1OsuC/uMD4smTC2x9EspTh7/6AcUmkt24j1HZaSdDvWXBGV5tPocc5w8flKKo95Ac4xlJCihQ /VXzFgzHrnubRRaeiA1kOMy9rNwOKLT7xKtWJpDsLH19n2wGbaOQjl81JR1g5/SG4fd50PwBgASFT ud2lUoAlF8DZtWjEaVLA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n8Xho-00AWv0-Bh; Sat, 15 Jan 2022 01:18:08 +0000 Received: from mail-lf1-x133.google.com ([2a00:1450:4864:20::133]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n8Xhb-00AWt8-Ip for linux-mediatek@lists.infradead.org; Sat, 15 Jan 2022 01:17:57 +0000 Received: by mail-lf1-x133.google.com with SMTP id m3so21618192lfu.0 for ; Fri, 14 Jan 2022 17:17:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=DSUCsXvUq5CC+YLJR6sM+UncKVzG/eChv6GRiJ5ewuo=; b=Km7B94yItHq7aVfP1T9NUkUg0CfyYu53x8ocQbPhc+dKDkm2Z3Qdmqq6lhxvM80Pks 16ttYCCVWt7dbiTvfB/TJxujAvsC6cSa06GEpsKkkuaeQlcM8M+t4u99s5lARvhfxInW Ci1oy5mNVTaPwV+2dSBlSscKmvmZ+mg0LMkcK6MV3GSRb+XMtxMOJgcgXRxQrrOziDKZ Bc7zRC9XKZDw0XoE+bVrA4iEkQtZ7fVhKAaqedPN8V6l0oR6BZz+wRBmSzU31XZDthCr spefGhSvdjB+tbrWX7EjLUw/q7lrjUel8Kaldz+FP/57vDBGGjvW2MPQW/bngKKnr/RE IoZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=DSUCsXvUq5CC+YLJR6sM+UncKVzG/eChv6GRiJ5ewuo=; b=I/ALFOAS7+/RgAipthJRUitvDvc7a2zQth4K0WyPLSjXYpXU4Yf/KybbfQZApZEdF1 aicEI9JwoG/mYEoN+ydg0yqqq8UQkoHJ2hG6zGljInPU4rDh2oijPLG2lrqZP+zNzSTm kqCzLpWSY0Bl7ZvNazLCvDAMgMEXZ5LzgX8LF8RtjlxD/XAYq49XLae9CGJZqFVeI62e 4mwRqneCNunOPkRTypU09kBcT908nmnQCOtGSg7fPwaMyK63K7NyC5revDw3I0wjE4Vn Hxv7sGFXfwMouC+cjLZ9SQ7qScDoeMP/R7CQl95GO4H/ADPIdBk9j1xeNQKp0RbGwNVa pGIQ== X-Gm-Message-State: AOAM531rA0JFJgHYmTLOxKAbJkbvCnN9IUdgcvbBbO8HvZ7mnG4zUEiH KXnJxLaMOJpBvW5UbYXrtVf6y+zjCunEJsx1BXzYvg== X-Google-Smtp-Source: ABdhPJySDowHRxGMfXN2K9VReVwH+SUfch9JrimtyE5ccTX6eX5LjL8lOKhq1C4RF1mflvPlwsqfGtTGOZn0hxrfPFg= X-Received: by 2002:a05:6512:3e1f:: with SMTP id i31mr4004663lfv.661.1642209473081; Fri, 14 Jan 2022 17:17:53 -0800 (PST) MIME-Version: 1.0 References: <20220113123406.11520-1-guangming.cao@mediatek.com> <4f88205c1b344aea8608960e2f85b8f4@intel.com> <24157767-dc29-bbdd-5428-d89ecc6b9606@amd.com> <6b8182a1-7cdc-7369-5c34-e6d0c24efcca@amd.com> <82faa62f1bc946cf2f9ee2f7d15c567162238eab.camel@mediatek.com> In-Reply-To: <82faa62f1bc946cf2f9ee2f7d15c567162238eab.camel@mediatek.com> From: John Stultz Date: Fri, 14 Jan 2022 17:17:39 -0800 Message-ID: Subject: Re: [PATCH v3] dma-buf: dma-heap: Add a size check for allocation To: "Guangming.Cao" Cc: =?UTF-8?Q?Christian_K=C3=B6nig?= , "Ruhl, Michael J" , "sumit.semwal@linaro.org" , "linux-arm-kernel@lists.infradead.org" , "wsd_upstream@mediatek.com" , "libo.kang@mediatek.com" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "yf.wang@mediatek.com" , "linaro-mm-sig@lists.linaro.org" , "linux-mediatek@lists.infradead.org" , "lmark@codeaurora.org" , "benjamin.gaignard@linaro.org" , "bo.song@mediatek.com" , "matthias.bgg@gmail.com" , "labbott@redhat.com" , "mingyuan.ma@mediatek.com" , "jianjiao.zeng@mediatek.com" , "linux-media@vger.kernel.org" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220114_171755_694199_20F8C2B6 X-CRM114-Status: GOOD ( 30.40 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org T24gRnJpLCBKYW4gMTQsIDIwMjIgYXQgNDowNCBBTSBHdWFuZ21pbmcuQ2FvCjxndWFuZ21pbmcu Y2FvQG1lZGlhdGVrLmNvbT4gd3JvdGU6Cj4KPiBPbiBGcmksIDIwMjItMDEtMTQgYXQgMDg6MTYg KzAxMDAsIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4gPiBBbSAxNC4wMS4yMiB1bSAwMDoyNiBz Y2hyaWViIEpvaG4gU3R1bHR6Ogo+ID4gPiBPbiBUaHUsIEphbiAxMywgMjAyMiBhdCA1OjA1IEFN IENocmlzdGlhbiBLw7ZuaWcKPiA+ID4gPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4gd3JvdGU6 Cj4gPiA+ID4gQW0gMTMuMDEuMjIgdW0gMTQ6MDAgc2NocmllYiBSdWhsLCBNaWNoYWVsIEo6Cj4g PiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiA+ID4gPiA+IEZyb206IGRy aS1kZXZlbCA8ZHJpLWRldmVsLWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPiBPbgo+ID4g PiA+ID4gPiBCZWhhbGYgT2YKPiA+ID4gPiA+ID4gUnVobCwgTWljaGFlbCBKCj4gPiA+ID4gPiA+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+ID4gPiA+ID4gPiBGcm9tOiBkcmktZGV2 ZWwgPGRyaS1kZXZlbC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4KPiA+ID4gPiA+ID4g PiBPbiBCZWhhbGYgT2YKPiA+ID4gPiA+ID4gPiBndWFuZ21pbmcuY2FvQG1lZGlhdGVrLmNvbQo+ ID4gPiA+ID4gPiA+ICsgICAvKgo+ID4gPiA+ID4gPiA+ICsgICAgKiBJbnZhbGlkIHNpemUgY2hl Y2suIFRoZSAibGVuIiBzaG91bGQgYmUgbGVzcyB0aGFuCj4gPiA+ID4gPiA+ID4gdG90YWxyYW0u Cj4gPiA+ID4gPiA+ID4gKyAgICAqCj4gPiA+ID4gPiA+ID4gKyAgICAqIFdpdGhvdXQgdGhpcyBj aGVjaywgb25jZSB0aGUgaW52YWxpZCBzaXplIGFsbG9jYXRpb24KPiA+ID4gPiA+ID4gPiBydW5z IG9uIGEgcHJvY2Vzcwo+ID4gPiA+ID4gPiA+IHRoYXQKPiA+ID4gPiA+ID4gPiArICAgICogY2Fu J3QgYmUga2lsbGVkIGJ5IE9PTSBmbG93KHN1Y2ggYXMgImdyYWxsb2MiIG9uCj4gPiA+ID4gPiA+ ID4gQW5kcm9pZCBkZXZpY2VzKSwgaXQKPiA+ID4gPiA+ID4gPiB3aWxsCj4gPiA+ID4gPiA+ID4g KyAgICAqIGNhdXNlIGEga2VybmVsIGV4Y2VwdGlvbiwgYW5kIHRvIG1ha2UgbWF0dGVycyB3b3Jz ZSwKPiA+ID4gPiA+ID4gPiB3ZSBjYW4ndCBmaW5kCj4gPiA+ID4gPiA+ID4gd2hvIGFyZSB1c2lu Zwo+ID4gPiA+ID4gPiA+ICsgICAgKiBzbyBtYW55IG1lbW9yeSB3aXRoICJkbWFfYnVmX2RlYnVn X3Nob3ciIHNpbmNlIHRoZQo+ID4gPiA+ID4gPiA+IHJlbGV2YW50Cj4gPiA+ID4gPiA+ID4gZG1h LWJ1ZiBoYXNuJ3QgZXhwb3J0ZWQuCj4gPiA+ID4gPiA+ID4gKyAgICAqLwo+ID4gPiA+ID4gPiA+ ICsgICBpZiAobGVuID4+IFBBR0VfU0hJRlQgPiB0b3RhbHJhbV9wYWdlcygpKQo+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiBJZiB5b3VyICJoZWFwIiBpcyBmcm9tIGNtYSwgaXMgdGhpcyBzdGlsbCBh IHZhbGlkIGNoZWNrPwo+ID4gPiA+ID4KPiA+ID4gPiA+IEFuZCB0aGlua2luZyBhIGJpdCBmdXJ0 aGVyLCBpZiBJIGNyZWF0ZSBhIGhlYXAgZnJvbSBzb21ldGhpbmcKPiA+ID4gPiA+IGVsc2UgKHNh eSBkZXZpY2UgbWVtb3J5KSwKPiA+ID4gPiA+IHlvdSB3aWxsIG5lZWQgdG8gYmUgYWJsZSB0byBm aWd1cmUgb3V0IHRoZSBtYXhpbXVtIGFsbG93YWJsZQo+ID4gPiA+ID4gY2hlY2sgZm9yIHRoZSBz cGVjaWZpYwo+ID4gPiA+ID4gaGVhcC4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBNYXliZSB0aGUgaGVh cCBuZWVkcyBhIGNhbGxiYWNrIGZvciBtYXggc2l6ZT8KPiBZZXMsIEkgYWdyZWUgd2l0aCB0aGlz IHNvbHV0aW9uLgo+IElmIGRtYS1oZWFwIGZyYW1ld29yayBzdXBwb3J0IHRoaXMgdmlhIGFkZGlu ZyBhIGNhbGxiYWNrIHRvIHN1cHBvcnQgaXQsCj4gc2VlbXMgaXQncyBtb3JlIGNsZWFyIHRoYW4g YWRkaW5nIGEgbGltaXRhdGlvbiBpbiBkbWEtaGVhcCBmcmFtZXdvcmsKPiBzaW5jZSBlYWNoIGhl YXAgbWF5YmUgaGFzIGRpZmZlcmVudCBsaW1pdGF0aW9uLgo+IElmIHlvdSBwcmVmZXIgYWRkaW5n IGNhbGxiYWNrLCBJIGNhbiB1cGRhdGUgdGhpcyBwYXRjaCBhbmQgYWRkIHRvdGFscmFtCj4gbGlt aXRhdGlvbiB0byBzeXN0ZW0gZG1hLWhlYXAuCgpJZiB0aGUgbWF4IHZhbHVlIGlzIHBlci1oZWFw LCB3aHkgbm90IGVuZm9yY2UgdGhhdCB2YWx1ZSBpbiB0aGUKcGVyLWhlYXAgYWxsb2NhdGlvbiBm dW5jdGlvbj8KCk1vdmluZyB0aGUgY2hlY2sgdG8gdGhlIGhlYXAgYWxsb2MgdG8gbWUgc2VlbXMg c2ltcGxlciB0byBtZSB0aGFuCmFkZGluZyBjb21wbGV4aXR5IHRvIHRoZSBpbmZyYXN0cnVjdHVy ZSB0byBhZGQgYSBoZWFwIG1heF9zaXplCmNhbGxiYWNrLiBJcyB0aGVyZSBzb21lIG90aGVyIHVz ZSBmb3IgdGhlIGNhbGxiYWNrIHRoYXQgeW91IGVudmlzaW9uPwoKdGhhbmtzCi1qb2huCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1tZWRpYXRl ayBtYWlsaW5nIGxpc3QKTGludXgtbWVkaWF0ZWtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW1lZGlhdGVrCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A7CEEC433EF for ; Sat, 15 Jan 2022 01:17:56 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id AB91A10E368; Sat, 15 Jan 2022 01:17:55 +0000 (UTC) Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com [IPv6:2a00:1450:4864:20::136]) by gabe.freedesktop.org (Postfix) with ESMTPS id B64B310E368 for ; Sat, 15 Jan 2022 01:17:54 +0000 (UTC) Received: by mail-lf1-x136.google.com with SMTP id d3so35520238lfv.13 for ; Fri, 14 Jan 2022 17:17:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=DSUCsXvUq5CC+YLJR6sM+UncKVzG/eChv6GRiJ5ewuo=; b=Km7B94yItHq7aVfP1T9NUkUg0CfyYu53x8ocQbPhc+dKDkm2Z3Qdmqq6lhxvM80Pks 16ttYCCVWt7dbiTvfB/TJxujAvsC6cSa06GEpsKkkuaeQlcM8M+t4u99s5lARvhfxInW Ci1oy5mNVTaPwV+2dSBlSscKmvmZ+mg0LMkcK6MV3GSRb+XMtxMOJgcgXRxQrrOziDKZ Bc7zRC9XKZDw0XoE+bVrA4iEkQtZ7fVhKAaqedPN8V6l0oR6BZz+wRBmSzU31XZDthCr spefGhSvdjB+tbrWX7EjLUw/q7lrjUel8Kaldz+FP/57vDBGGjvW2MPQW/bngKKnr/RE IoZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=DSUCsXvUq5CC+YLJR6sM+UncKVzG/eChv6GRiJ5ewuo=; b=V8kti7yO6egupPWnCCOuKo1n+3C+i7LCsivZV16wZ8XYE7CSokgn2akzVUZkxwVA2h z0ueZVc7xbK0VxzhuWD4gY5NjExvyW/SfmEe7tRkqNNUbklo8o09kgLAZRso9tgT27D0 1eLWAoXBMpg4lpXVFD0cEISI707X2yOd/Xl8EgAmQ7av2qS8DSB0hglscdVKpsGV5Qwt 0liRG7t+AUFPdn2AFMAgyWYV/0T79SIde4nbY8eIBiunpsefolynZNANdovvcdmduKYs UkLrAUCva+x1fv8OVknDf2dnO2atiPdocNCdhWQN6F6+tWcd0snV1WYru55J6hdNegrA KGTg== X-Gm-Message-State: AOAM530JFLvP53DHG+X5SI3RwcIDFSGDa9dKeF+905B5kX7xfCbLYz14 UW+QLJkQMKbjygYsg/mDXtzvvz522LNmALaKcHd1ag== X-Google-Smtp-Source: ABdhPJySDowHRxGMfXN2K9VReVwH+SUfch9JrimtyE5ccTX6eX5LjL8lOKhq1C4RF1mflvPlwsqfGtTGOZn0hxrfPFg= X-Received: by 2002:a05:6512:3e1f:: with SMTP id i31mr4004663lfv.661.1642209473081; Fri, 14 Jan 2022 17:17:53 -0800 (PST) MIME-Version: 1.0 References: <20220113123406.11520-1-guangming.cao@mediatek.com> <4f88205c1b344aea8608960e2f85b8f4@intel.com> <24157767-dc29-bbdd-5428-d89ecc6b9606@amd.com> <6b8182a1-7cdc-7369-5c34-e6d0c24efcca@amd.com> <82faa62f1bc946cf2f9ee2f7d15c567162238eab.camel@mediatek.com> In-Reply-To: <82faa62f1bc946cf2f9ee2f7d15c567162238eab.camel@mediatek.com> From: John Stultz Date: Fri, 14 Jan 2022 17:17:39 -0800 Message-ID: Subject: Re: [PATCH v3] dma-buf: dma-heap: Add a size check for allocation To: "Guangming.Cao" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "jianjiao.zeng@mediatek.com" , "lmark@codeaurora.org" , "wsd_upstream@mediatek.com" , "linux-kernel@vger.kernel.org" , "libo.kang@mediatek.com" , "linaro-mm-sig@lists.linaro.org" , "Ruhl, Michael J" , "yf.wang@mediatek.com" , "linux-mediatek@lists.infradead.org" , "dri-devel@lists.freedesktop.org" , "benjamin.gaignard@linaro.org" , "bo.song@mediatek.com" , "matthias.bgg@gmail.com" , "mingyuan.ma@mediatek.com" , "labbott@redhat.com" , =?UTF-8?Q?Christian_K=C3=B6nig?= , "linux-arm-kernel@lists.infradead.org" , "linux-media@vger.kernel.org" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" On Fri, Jan 14, 2022 at 4:04 AM Guangming.Cao wrote: > > On Fri, 2022-01-14 at 08:16 +0100, Christian K=C3=B6nig wrote: > > Am 14.01.22 um 00:26 schrieb John Stultz: > > > On Thu, Jan 13, 2022 at 5:05 AM Christian K=C3=B6nig > > > wrote: > > > > Am 13.01.22 um 14:00 schrieb Ruhl, Michael J: > > > > > > -----Original Message----- > > > > > > From: dri-devel On > > > > > > Behalf Of > > > > > > Ruhl, Michael J > > > > > > > -----Original Message----- > > > > > > > From: dri-devel > > > > > > > On Behalf Of > > > > > > > guangming.cao@mediatek.com > > > > > > > + /* > > > > > > > + * Invalid size check. The "len" should be less than > > > > > > > totalram. > > > > > > > + * > > > > > > > + * Without this check, once the invalid size allocation > > > > > > > runs on a process > > > > > > > that > > > > > > > + * can't be killed by OOM flow(such as "gralloc" on > > > > > > > Android devices), it > > > > > > > will > > > > > > > + * cause a kernel exception, and to make matters worse, > > > > > > > we can't find > > > > > > > who are using > > > > > > > + * so many memory with "dma_buf_debug_show" since the > > > > > > > relevant > > > > > > > dma-buf hasn't exported. > > > > > > > + */ > > > > > > > + if (len >> PAGE_SHIFT > totalram_pages()) > > > > > > > > > > > > If your "heap" is from cma, is this still a valid check? > > > > > > > > > > And thinking a bit further, if I create a heap from something > > > > > else (say device memory), > > > > > you will need to be able to figure out the maximum allowable > > > > > check for the specific > > > > > heap. > > > > > > > > > > Maybe the heap needs a callback for max size? > Yes, I agree with this solution. > If dma-heap framework support this via adding a callback to support it, > seems it's more clear than adding a limitation in dma-heap framework > since each heap maybe has different limitation. > If you prefer adding callback, I can update this patch and add totalram > limitation to system dma-heap. If the max value is per-heap, why not enforce that value in the per-heap allocation function? Moving the check to the heap alloc to me seems simpler to me than adding complexity to the infrastructure to add a heap max_size callback. Is there some other use for the callback that you envision? thanks -john From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 14E74C433EF for ; Sat, 15 Jan 2022 01:19:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=tt93W0BXGtOKPTTbiUDvZuk+vy9TIsjso3XvZ1j9si0=; b=v2dSkcZM96+34O BOugauF30jZC9EPJyCTaNX4SLrS4CaaqFWz9tjM+cj9ZZRtRzNKEhzW7UzmRWCZMllrJtMpYWosvU VOqTmtBHVh/kGCoSX8abjke72NDfsBwj84XH+dsot111Ixc4LzPc6LXhHTavTelYHDcCO5k+oAOtt 2p9oEXshsgHSiFXiQis+j61xCgVY1+z4s5dSbbM8D69e9ymhcBiVoYvzIZ23LtKIwBmrEiVLqdqSO kueld9H0Q/Sm6yYFIgRdb6JsdDpOxDznN1jVYbfT63WsOb/Px5UptS4xf5r0IIWzoMgqRR9YwmWNH UTaQR7WDBWrhwdlrCJzA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1n8Xhf-00AWu8-BY; Sat, 15 Jan 2022 01:17:59 +0000 Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1n8Xhb-00AWt9-Lq for linux-arm-kernel@lists.infradead.org; Sat, 15 Jan 2022 01:17:57 +0000 Received: by mail-lf1-x12e.google.com with SMTP id x7so35639796lfu.8 for ; Fri, 14 Jan 2022 17:17:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=DSUCsXvUq5CC+YLJR6sM+UncKVzG/eChv6GRiJ5ewuo=; b=Km7B94yItHq7aVfP1T9NUkUg0CfyYu53x8ocQbPhc+dKDkm2Z3Qdmqq6lhxvM80Pks 16ttYCCVWt7dbiTvfB/TJxujAvsC6cSa06GEpsKkkuaeQlcM8M+t4u99s5lARvhfxInW Ci1oy5mNVTaPwV+2dSBlSscKmvmZ+mg0LMkcK6MV3GSRb+XMtxMOJgcgXRxQrrOziDKZ Bc7zRC9XKZDw0XoE+bVrA4iEkQtZ7fVhKAaqedPN8V6l0oR6BZz+wRBmSzU31XZDthCr spefGhSvdjB+tbrWX7EjLUw/q7lrjUel8Kaldz+FP/57vDBGGjvW2MPQW/bngKKnr/RE IoZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=DSUCsXvUq5CC+YLJR6sM+UncKVzG/eChv6GRiJ5ewuo=; b=QbJ/oXFq0HMcMAMXSpi4MvVE1h5zrdjnnULUSRbmYmfT+ZI5THY9rBl65JFNViA0pe dgQf0Z9ukdBZUBejerKIDz4Wyw049MAq+1uwJNidQP9u1G8eq3HUtQN3g3UuQTMUHIcz aqvj0iJBhRmEmJ/lqRz6Rwv85PVwsR4Io+pynxPVgpVZJReWUOuYdrbec42eohIXWFtx FSKvEbMlRd7E2umcXyPoMDfuPW4M+gcvJqZeMF4oak4TxoVpihc6H9r6CBxLYWBUByhG NsiMtZ8/LugmgEj4VTVS6wqnCrpjztkI3pozSrw0fUO8q4waXkp9R/aHaTsIuN2q1ZYi A49Q== X-Gm-Message-State: AOAM533NkntOktiYGksukyqYE7J4SCZ3K+k1yDHrW44gxMl8ubZuGIWv pZjTlAip6kmgznU6giGxJ2U6SQmUB30qt+J4LKUIlg== X-Google-Smtp-Source: ABdhPJySDowHRxGMfXN2K9VReVwH+SUfch9JrimtyE5ccTX6eX5LjL8lOKhq1C4RF1mflvPlwsqfGtTGOZn0hxrfPFg= X-Received: by 2002:a05:6512:3e1f:: with SMTP id i31mr4004663lfv.661.1642209473081; Fri, 14 Jan 2022 17:17:53 -0800 (PST) MIME-Version: 1.0 References: <20220113123406.11520-1-guangming.cao@mediatek.com> <4f88205c1b344aea8608960e2f85b8f4@intel.com> <24157767-dc29-bbdd-5428-d89ecc6b9606@amd.com> <6b8182a1-7cdc-7369-5c34-e6d0c24efcca@amd.com> <82faa62f1bc946cf2f9ee2f7d15c567162238eab.camel@mediatek.com> In-Reply-To: <82faa62f1bc946cf2f9ee2f7d15c567162238eab.camel@mediatek.com> From: John Stultz Date: Fri, 14 Jan 2022 17:17:39 -0800 Message-ID: Subject: Re: [PATCH v3] dma-buf: dma-heap: Add a size check for allocation To: "Guangming.Cao" Cc: =?UTF-8?Q?Christian_K=C3=B6nig?= , "Ruhl, Michael J" , "sumit.semwal@linaro.org" , "linux-arm-kernel@lists.infradead.org" , "wsd_upstream@mediatek.com" , "libo.kang@mediatek.com" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "yf.wang@mediatek.com" , "linaro-mm-sig@lists.linaro.org" , "linux-mediatek@lists.infradead.org" , "lmark@codeaurora.org" , "benjamin.gaignard@linaro.org" , "bo.song@mediatek.com" , "matthias.bgg@gmail.com" , "labbott@redhat.com" , "mingyuan.ma@mediatek.com" , "jianjiao.zeng@mediatek.com" , "linux-media@vger.kernel.org" X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220114_171755_723541_25252D69 X-CRM114-Status: GOOD ( 31.77 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gRnJpLCBKYW4gMTQsIDIwMjIgYXQgNDowNCBBTSBHdWFuZ21pbmcuQ2FvCjxndWFuZ21pbmcu Y2FvQG1lZGlhdGVrLmNvbT4gd3JvdGU6Cj4KPiBPbiBGcmksIDIwMjItMDEtMTQgYXQgMDg6MTYg KzAxMDAsIENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4gPiBBbSAxNC4wMS4yMiB1bSAwMDoyNiBz Y2hyaWViIEpvaG4gU3R1bHR6Ogo+ID4gPiBPbiBUaHUsIEphbiAxMywgMjAyMiBhdCA1OjA1IEFN IENocmlzdGlhbiBLw7ZuaWcKPiA+ID4gPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4gd3JvdGU6 Cj4gPiA+ID4gQW0gMTMuMDEuMjIgdW0gMTQ6MDAgc2NocmllYiBSdWhsLCBNaWNoYWVsIEo6Cj4g PiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gPiA+ID4gPiA+IEZyb206IGRy aS1kZXZlbCA8ZHJpLWRldmVsLWJvdW5jZXNAbGlzdHMuZnJlZWRlc2t0b3Aub3JnPiBPbgo+ID4g PiA+ID4gPiBCZWhhbGYgT2YKPiA+ID4gPiA+ID4gUnVobCwgTWljaGFlbCBKCj4gPiA+ID4gPiA+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+ID4gPiA+ID4gPiBGcm9tOiBkcmktZGV2 ZWwgPGRyaS1kZXZlbC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4KPiA+ID4gPiA+ID4g PiBPbiBCZWhhbGYgT2YKPiA+ID4gPiA+ID4gPiBndWFuZ21pbmcuY2FvQG1lZGlhdGVrLmNvbQo+ ID4gPiA+ID4gPiA+ICsgICAvKgo+ID4gPiA+ID4gPiA+ICsgICAgKiBJbnZhbGlkIHNpemUgY2hl Y2suIFRoZSAibGVuIiBzaG91bGQgYmUgbGVzcyB0aGFuCj4gPiA+ID4gPiA+ID4gdG90YWxyYW0u Cj4gPiA+ID4gPiA+ID4gKyAgICAqCj4gPiA+ID4gPiA+ID4gKyAgICAqIFdpdGhvdXQgdGhpcyBj aGVjaywgb25jZSB0aGUgaW52YWxpZCBzaXplIGFsbG9jYXRpb24KPiA+ID4gPiA+ID4gPiBydW5z IG9uIGEgcHJvY2Vzcwo+ID4gPiA+ID4gPiA+IHRoYXQKPiA+ID4gPiA+ID4gPiArICAgICogY2Fu J3QgYmUga2lsbGVkIGJ5IE9PTSBmbG93KHN1Y2ggYXMgImdyYWxsb2MiIG9uCj4gPiA+ID4gPiA+ ID4gQW5kcm9pZCBkZXZpY2VzKSwgaXQKPiA+ID4gPiA+ID4gPiB3aWxsCj4gPiA+ID4gPiA+ID4g KyAgICAqIGNhdXNlIGEga2VybmVsIGV4Y2VwdGlvbiwgYW5kIHRvIG1ha2UgbWF0dGVycyB3b3Jz ZSwKPiA+ID4gPiA+ID4gPiB3ZSBjYW4ndCBmaW5kCj4gPiA+ID4gPiA+ID4gd2hvIGFyZSB1c2lu Zwo+ID4gPiA+ID4gPiA+ICsgICAgKiBzbyBtYW55IG1lbW9yeSB3aXRoICJkbWFfYnVmX2RlYnVn X3Nob3ciIHNpbmNlIHRoZQo+ID4gPiA+ID4gPiA+IHJlbGV2YW50Cj4gPiA+ID4gPiA+ID4gZG1h LWJ1ZiBoYXNuJ3QgZXhwb3J0ZWQuCj4gPiA+ID4gPiA+ID4gKyAgICAqLwo+ID4gPiA+ID4gPiA+ ICsgICBpZiAobGVuID4+IFBBR0VfU0hJRlQgPiB0b3RhbHJhbV9wYWdlcygpKQo+ID4gPiA+ID4g Pgo+ID4gPiA+ID4gPiBJZiB5b3VyICJoZWFwIiBpcyBmcm9tIGNtYSwgaXMgdGhpcyBzdGlsbCBh IHZhbGlkIGNoZWNrPwo+ID4gPiA+ID4KPiA+ID4gPiA+IEFuZCB0aGlua2luZyBhIGJpdCBmdXJ0 aGVyLCBpZiBJIGNyZWF0ZSBhIGhlYXAgZnJvbSBzb21ldGhpbmcKPiA+ID4gPiA+IGVsc2UgKHNh eSBkZXZpY2UgbWVtb3J5KSwKPiA+ID4gPiA+IHlvdSB3aWxsIG5lZWQgdG8gYmUgYWJsZSB0byBm aWd1cmUgb3V0IHRoZSBtYXhpbXVtIGFsbG93YWJsZQo+ID4gPiA+ID4gY2hlY2sgZm9yIHRoZSBz cGVjaWZpYwo+ID4gPiA+ID4gaGVhcC4KPiA+ID4gPiA+Cj4gPiA+ID4gPiBNYXliZSB0aGUgaGVh cCBuZWVkcyBhIGNhbGxiYWNrIGZvciBtYXggc2l6ZT8KPiBZZXMsIEkgYWdyZWUgd2l0aCB0aGlz IHNvbHV0aW9uLgo+IElmIGRtYS1oZWFwIGZyYW1ld29yayBzdXBwb3J0IHRoaXMgdmlhIGFkZGlu ZyBhIGNhbGxiYWNrIHRvIHN1cHBvcnQgaXQsCj4gc2VlbXMgaXQncyBtb3JlIGNsZWFyIHRoYW4g YWRkaW5nIGEgbGltaXRhdGlvbiBpbiBkbWEtaGVhcCBmcmFtZXdvcmsKPiBzaW5jZSBlYWNoIGhl YXAgbWF5YmUgaGFzIGRpZmZlcmVudCBsaW1pdGF0aW9uLgo+IElmIHlvdSBwcmVmZXIgYWRkaW5n IGNhbGxiYWNrLCBJIGNhbiB1cGRhdGUgdGhpcyBwYXRjaCBhbmQgYWRkIHRvdGFscmFtCj4gbGlt aXRhdGlvbiB0byBzeXN0ZW0gZG1hLWhlYXAuCgpJZiB0aGUgbWF4IHZhbHVlIGlzIHBlci1oZWFw LCB3aHkgbm90IGVuZm9yY2UgdGhhdCB2YWx1ZSBpbiB0aGUKcGVyLWhlYXAgYWxsb2NhdGlvbiBm dW5jdGlvbj8KCk1vdmluZyB0aGUgY2hlY2sgdG8gdGhlIGhlYXAgYWxsb2MgdG8gbWUgc2VlbXMg c2ltcGxlciB0byBtZSB0aGFuCmFkZGluZyBjb21wbGV4aXR5IHRvIHRoZSBpbmZyYXN0cnVjdHVy ZSB0byBhZGQgYSBoZWFwIG1heF9zaXplCmNhbGxiYWNrLiBJcyB0aGVyZSBzb21lIG90aGVyIHVz ZSBmb3IgdGhlIGNhbGxiYWNrIHRoYXQgeW91IGVudmlzaW9uPwoKdGhhbmtzCi1qb2huCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg==