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 X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 785CBC3F2C6 for ; Sun, 1 Mar 2020 03:21:17 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 4918F2192A for ; Sun, 1 Mar 2020 03:21:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="SjPvXcyg"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="DBbEYTNV" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4918F2192A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=dn4Yy7V5ImvkSRY/mTpiAgtWWfTLVlP1g/8Br7nOvUw=; b=SjPvXcygJEI+QV Xulhdajr6tEX7+cBZ9pygvwMB4UPOuPTjFuuoqmmGpGswThMutMQ1PN2bH6soZWjyQ7N/+NhCAbT7 mrQP+9ROliKzeKCWduK7uZX1rGWeEIfCqMj0WJjUcDzmtbBUoFeLaxBUSzE0JQPUtNGE+zEj29/39 0UJLy6YjegpKT1FGfpRzGajgx7oj0/RMUyL0EE1e+jMUnMQ3iWpou7eCIPBRLIPArK1gyQ23Fjb77 bYq1LT710Ia5BfTuMQVjwCKKcQMCgtw9e+o7UdlE1nwvSmYSi1Wb2ifLv9htlUW/zq4dRxXdHzp8K K3qaGetAnRtOYE5Kn9IA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1j8FA8-0000FA-T8; Sun, 01 Mar 2020 03:21:04 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1j8F9z-00008s-TO; Sun, 01 Mar 2020 03:20:57 +0000 X-UUID: 967e38062d0746219db2a340770e7c90-20200229 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=gEuqpc3FvuW2EqLSsfehY0NEfaRH3CHq60ZO1Tz8Ll0=; b=DBbEYTNVuWKolwpjxOOvsL41xfWXB2vWKUedwE1eblZ217SXPMXhDo3Brx5D26nyB4KWZyA4ZLXCuAFixNPCjJije47I28I1oGimaVegueC3TtzJ/hj/wCvo2qwgw821Lz2cY/qNZAi2mDLJnN+pn1p5OdnZ6r1SLc+OgJQ760c=; X-UUID: 967e38062d0746219db2a340770e7c90-20200229 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 57743514; Sat, 29 Feb 2020 19:20:47 -0800 Received: from mtkmbs08n1.mediatek.inc (172.21.101.55) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sat, 29 Feb 2020 19:21:57 -0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sun, 1 Mar 2020 11:22:18 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Sun, 1 Mar 2020 11:20:18 +0800 Message-ID: <1583032843.12083.24.camel@mtkswgap22> Subject: Re: [PATCH v4] usb: gadget: f_fs: try to fix AIO issue under ARM 64 bit TAGGED mode From: Macpaul Lin To: Catalin Marinas Date: Sun, 1 Mar 2020 11:20:43 +0800 In-Reply-To: <20200228164848.GH4019108@arrakis.emea.arm.com> References: <1582627315-21123-1-git-send-email-macpaul.lin@mediatek.com> <1582718512-28923-1-git-send-email-macpaul.lin@mediatek.com> <20200228164848.GH4019108@arrakis.emea.arm.com> X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200229_192055_975139_CB16F37E X-CRM114-Status: GOOD ( 15.68 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sasha Levin , Shen Jing , CC Hwang , Mediatek WSD Upstream , Jerry Zhang , andreyknvl@google.com, linux-usb@vger.kernel.org, Loda Chou , linux-kernel@vger.kernel.org, stable@vger.kernel.org, Andrzej Pietrasiewicz , Miles Chen , linux-mediatek@lists.infradead.org, Peter Chen , Al Viro , Vincent Pelletier , Matthias Brugger , John Stultz , eugenis@google.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org On Fri, 2020-02-28 at 16:48 +0000, Catalin Marinas wrote: > On Wed, Feb 26, 2020 at 08:01:52PM +0800, Macpaul Lin wrote: > > diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c > > index ce1d023..192935f 100644 > > --- a/drivers/usb/gadget/function/f_fs.c > > +++ b/drivers/usb/gadget/function/f_fs.c > > @@ -715,7 +715,20 @@ static void ffs_epfile_io_complete(struct usb_ep *_ep, struct usb_request *req) > > > > static ssize_t ffs_copy_to_iter(void *data, int data_len, struct iov_iter *iter) > > { > > - ssize_t ret = copy_to_iter(data, data_len, iter); > > + ssize_t ret; > > + > > +#if defined(CONFIG_ARM64) > > + /* > > + * Replace tagged address passed by user space application before > > + * copying. > > + */ > > + if (IS_ENABLED(CONFIG_ARM64_TAGGED_ADDR_ABI) && > > + (iter->type == ITER_IOVEC)) { > > + *(unsigned long *)&iter->iov->iov_base = > > + (unsigned long)untagged_addr(iter->iov->iov_base); > > + } > > +#endif > > + ret = copy_to_iter(data, data_len, iter); > > if (likely(ret == data_len)) > > return ret; > > I had forgotten that we discussed a similar case already a few months > ago (thanks to Evgenii for pointing out). Do you have this commit > applied to your tree: df325e05a682 ("arm64: Validate tagged addresses in > access_ok() called from kernel threads")? > Yes! We have that patch. I've also got Google's reply about referencing this patch in android kernel tree. https://android-review.googlesource.com/c/kernel/common/+/1186615 However, during my debugging process, I've dumped specific length (e.g., 24 bytes for the first request) AIO request buffer address both in adbd and in __range_ok(). Then I've found __range_ok() still always return false on address begin with "0x3c". Since untagged_addr() already called in __range_ok(), to set "TIF_TAGGED_ADDR" with adbd's user space buffer should be the possible solution. Hence I've send the v3 patch. Anyway, I've found that to disable TAGGED address in adbd is possible by this way and will report to Google and see how they think. diff --git a/adb/daemon/main.cpp b/adb/daemon/main.cpp index 9e02e89ab..b2f6f8e3f 100644 --- a/adb/daemon/main.cpp +++ b/adb/daemon/main.cpp @@ -317,6 +317,8 @@ int main(int argc, char** argv) { mallopt(M_DECAY_TIME, 1); #endif + prctl(PR_SET_TAGGED_ADDR_CTRL, ~PR_TAGGED_ADDR_ENABLE, 0, 0, 0); + while (true) { static struct option opts[] = { {"root_seclabel", required_argument, nullptr, 's'}, Many thanks! Macpaul Lin _______________________________________________ Linux-mediatek mailing list Linux-mediatek@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-mediatek 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 X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C1FF3C3F2D4 for ; Sun, 1 Mar 2020 03:20:58 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 9839D2192A for ; Sun, 1 Mar 2020 03:20:58 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="STzk469Z" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727289AbgCADUz (ORCPT ); Sat, 29 Feb 2020 22:20:55 -0500 Received: from mailgw01.mediatek.com ([210.61.82.183]:32827 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727242AbgCADUz (ORCPT ); Sat, 29 Feb 2020 22:20:55 -0500 X-UUID: 7b3ded5a30884d9988efa18b6d36d784-20200301 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=gEuqpc3FvuW2EqLSsfehY0NEfaRH3CHq60ZO1Tz8Ll0=; b=STzk469ZSYIlP+pyoY3x8u2RtXO3oALFryqCMlRvwlrneR+vRfK8B8+UM8WWTP31kB8WpTx/lgqqJgNm/GBDiJvFyxzO7d+SYYz/tjoIbUQ0DC8D4WSgLGdsaKJ2LWnUUHf07/O/IyQyVbBodXs7HS+FXVyaRXxYgyHx5Ww7aeI=; X-UUID: 7b3ded5a30884d9988efa18b6d36d784-20200301 Received: from mtkexhb02.mediatek.inc [(172.21.101.103)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 725150250; Sun, 01 Mar 2020 11:20:45 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sun, 1 Mar 2020 11:22:18 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Sun, 1 Mar 2020 11:20:18 +0800 Message-ID: <1583032843.12083.24.camel@mtkswgap22> Subject: Re: [PATCH v4] usb: gadget: f_fs: try to fix AIO issue under ARM 64 bit TAGGED mode From: Macpaul Lin To: Catalin Marinas CC: Sasha Levin , Shen Jing , "CC Hwang" , Peter Chen , "Mediatek WSD Upstream" , Jerry Zhang , , , Loda Chou , , , Andrzej Pietrasiewicz , Miles Chen , , John Stultz , Al Viro , "Vincent Pelletier" , Matthias Brugger , , Date: Sun, 1 Mar 2020 11:20:43 +0800 In-Reply-To: <20200228164848.GH4019108@arrakis.emea.arm.com> References: <1582627315-21123-1-git-send-email-macpaul.lin@mediatek.com> <1582718512-28923-1-git-send-email-macpaul.lin@mediatek.com> <20200228164848.GH4019108@arrakis.emea.arm.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-usb-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org T24gRnJpLCAyMDIwLTAyLTI4IGF0IDE2OjQ4ICswMDAwLCBDYXRhbGluIE1hcmluYXMgd3JvdGU6 DQo+IE9uIFdlZCwgRmViIDI2LCAyMDIwIGF0IDA4OjAxOjUyUE0gKzA4MDAsIE1hY3BhdWwgTGlu IHdyb3RlOg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9nYWRnZXQvZnVuY3Rpb24vZl9m cy5jIGIvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9uL2ZfZnMuYw0KPiA+IGluZGV4IGNlMWQw MjMuLjE5MjkzNWYgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy91c2IvZ2FkZ2V0L2Z1bmN0aW9u L2ZfZnMuYw0KPiA+ICsrKyBiL2RyaXZlcnMvdXNiL2dhZGdldC9mdW5jdGlvbi9mX2ZzLmMNCj4g PiBAQCAtNzE1LDcgKzcxNSwyMCBAQCBzdGF0aWMgdm9pZCBmZnNfZXBmaWxlX2lvX2NvbXBsZXRl KHN0cnVjdCB1c2JfZXAgKl9lcCwgc3RydWN0IHVzYl9yZXF1ZXN0ICpyZXEpDQo+ID4gIA0KPiA+ ICBzdGF0aWMgc3NpemVfdCBmZnNfY29weV90b19pdGVyKHZvaWQgKmRhdGEsIGludCBkYXRhX2xl biwgc3RydWN0IGlvdl9pdGVyICppdGVyKQ0KPiA+ICB7DQo+ID4gLQlzc2l6ZV90IHJldCA9IGNv cHlfdG9faXRlcihkYXRhLCBkYXRhX2xlbiwgaXRlcik7DQo+ID4gKwlzc2l6ZV90IHJldDsNCj4g PiArDQo+ID4gKyNpZiBkZWZpbmVkKENPTkZJR19BUk02NCkNCj4gPiArCS8qDQo+ID4gKwkgKiBS ZXBsYWNlIHRhZ2dlZCBhZGRyZXNzIHBhc3NlZCBieSB1c2VyIHNwYWNlIGFwcGxpY2F0aW9uIGJl Zm9yZQ0KPiA+ICsJICogY29weWluZy4NCj4gPiArCSAqLw0KPiA+ICsJaWYgKElTX0VOQUJMRUQo Q09ORklHX0FSTTY0X1RBR0dFRF9BRERSX0FCSSkgJiYNCj4gPiArCQkoaXRlci0+dHlwZSA9PSBJ VEVSX0lPVkVDKSkgew0KPiA+ICsJCSoodW5zaWduZWQgbG9uZyAqKSZpdGVyLT5pb3YtPmlvdl9i YXNlID0NCj4gPiArCQkJKHVuc2lnbmVkIGxvbmcpdW50YWdnZWRfYWRkcihpdGVyLT5pb3YtPmlv dl9iYXNlKTsNCj4gPiArCX0NCj4gPiArI2VuZGlmDQo+ID4gKwlyZXQgPSBjb3B5X3RvX2l0ZXIo ZGF0YSwgZGF0YV9sZW4sIGl0ZXIpOw0KPiA+ICAJaWYgKGxpa2VseShyZXQgPT0gZGF0YV9sZW4p KQ0KPiA+ICAJCXJldHVybiByZXQ7DQo+IA0KPiBJIGhhZCBmb3Jnb3R0ZW4gdGhhdCB3ZSBkaXNj dXNzZWQgYSBzaW1pbGFyIGNhc2UgYWxyZWFkeSBhIGZldyBtb250aHMNCj4gYWdvICh0aGFua3Mg dG8gRXZnZW5paSBmb3IgcG9pbnRpbmcgb3V0KS4gRG8geW91IGhhdmUgdGhpcyBjb21taXQNCj4g YXBwbGllZCB0byB5b3VyIHRyZWU6IGRmMzI1ZTA1YTY4MiAoImFybTY0OiBWYWxpZGF0ZSB0YWdn ZWQgYWRkcmVzc2VzIGluDQo+IGFjY2Vzc19vaygpIGNhbGxlZCBmcm9tIGtlcm5lbCB0aHJlYWRz Iik/DQo+IA0KDQpZZXMhIFdlIGhhdmUgdGhhdCBwYXRjaC4gSSd2ZSBhbHNvIGdvdCBHb29nbGUn cyByZXBseSBhYm91dCByZWZlcmVuY2luZw0KdGhpcyBwYXRjaCBpbiBhbmRyb2lkIGtlcm5lbCB0 cmVlLg0KaHR0cHM6Ly9hbmRyb2lkLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2Mva2VybmVsL2Nv bW1vbi8rLzExODY2MTUNCg0KSG93ZXZlciwgZHVyaW5nIG15IGRlYnVnZ2luZyBwcm9jZXNzLCBJ J3ZlIGR1bXBlZCBzcGVjaWZpYyBsZW5ndGggKGUuZy4sDQoyNCBieXRlcyBmb3IgdGhlIGZpcnN0 IHJlcXVlc3QpIEFJTyByZXF1ZXN0IGJ1ZmZlciBhZGRyZXNzIGJvdGggaW4gYWRiZA0KYW5kIGlu IF9fcmFuZ2Vfb2soKS4gVGhlbiBJJ3ZlIGZvdW5kIF9fcmFuZ2Vfb2soKSBzdGlsbCBhbHdheXMg cmV0dXJuDQpmYWxzZSBvbiBhZGRyZXNzIGJlZ2luIHdpdGggIjB4M2MiLiBTaW5jZSB1bnRhZ2dl ZF9hZGRyKCkgYWxyZWFkeSBjYWxsZWQNCmluIF9fcmFuZ2Vfb2soKSwgdG8gc2V0ICJUSUZfVEFH R0VEX0FERFIiIHdpdGggYWRiZCdzIHVzZXIgc3BhY2UgYnVmZmVyDQpzaG91bGQgYmUgdGhlIHBv c3NpYmxlIHNvbHV0aW9uLiBIZW5jZSBJJ3ZlIHNlbmQgdGhlIHYzIHBhdGNoLg0KDQpBbnl3YXks IEkndmUgZm91bmQgdGhhdCB0byBkaXNhYmxlIFRBR0dFRCBhZGRyZXNzIGluIGFkYmQgaXMgcG9z c2libGUgYnkNCnRoaXMgd2F5IGFuZCB3aWxsIHJlcG9ydCB0byBHb29nbGUgYW5kIHNlZSBob3cg dGhleSB0aGluay4NCg0KZGlmZiAtLWdpdCBhL2FkYi9kYWVtb24vbWFpbi5jcHAgYi9hZGIvZGFl bW9uL21haW4uY3BwDQppbmRleCA5ZTAyZTg5YWIuLmIyZjZmOGUzZiAxMDA2NDQNCi0tLSBhL2Fk Yi9kYWVtb24vbWFpbi5jcHANCisrKyBiL2FkYi9kYWVtb24vbWFpbi5jcHANCkBAIC0zMTcsNiAr MzE3LDggQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KSB7DQogICAgIG1hbGxvcHQo TV9ERUNBWV9USU1FLCAxKTsNCiAjZW5kaWYNCg0KKyAgICBwcmN0bChQUl9TRVRfVEFHR0VEX0FE RFJfQ1RSTCwgflBSX1RBR0dFRF9BRERSX0VOQUJMRSwgMCwgMCwgMCk7DQorDQogICAgIHdoaWxl ICh0cnVlKSB7DQogICAgICAgICBzdGF0aWMgc3RydWN0IG9wdGlvbiBvcHRzW10gPSB7DQogICAg ICAgICAgICAgICAgIHsicm9vdF9zZWNsYWJlbCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBudWxscHRy LCAncyd9LA0KDQpNYW55IHRoYW5rcyENCk1hY3BhdWwgTGluDQo= 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 X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,USER_AGENT_SANE_2 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DC7FAC3F2C6 for ; Sun, 1 Mar 2020 03:21:00 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 846772192A for ; Sun, 1 Mar 2020 03:21:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="ozyUt79L"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="DBbEYTNV" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 846772192A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=mediatek.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Qaz+Wx9mbXkIBGklCfOz8uKpRHvLMRsHjxWZ/QfViNQ=; b=ozyUt79LLDlN7f 88yxWrTVhsA8il8zQEFmUJYMlT3fpLOkzxfjxwyHaE4BiHK4FJcZ/4s0Cq4kEqfs1Gf6Pcvb9TUog UyyJViv19+T5lwJdZPayrTwaIjfo6tvGINXSmGcqzPuk8bwDT/1NRcoC0HQrfpJUHI1xRlNJB/oF/ 7c3rR5GE2GFJguFt+3idSzcHW+RNWI28wvcJWh8/B67rm51pSTZyWHg0eoFH/RbWV2JJfdgyM2NFF m9VbX/bXtD3ipObyxLYmomfKzjm+EQJFxJ6sd2MjmV9nqKK1Djm1qbu0nrCafKseG3VdGjNOVS/ol A06ggPJgzsTI4IbHpoqA==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1j8FA3-00009U-Fk; Sun, 01 Mar 2020 03:20:59 +0000 Received: from mailgw01.mediatek.com ([216.200.240.184]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1j8F9z-00008s-TO; Sun, 01 Mar 2020 03:20:57 +0000 X-UUID: 967e38062d0746219db2a340770e7c90-20200229 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=gEuqpc3FvuW2EqLSsfehY0NEfaRH3CHq60ZO1Tz8Ll0=; b=DBbEYTNVuWKolwpjxOOvsL41xfWXB2vWKUedwE1eblZ217SXPMXhDo3Brx5D26nyB4KWZyA4ZLXCuAFixNPCjJije47I28I1oGimaVegueC3TtzJ/hj/wCvo2qwgw821Lz2cY/qNZAi2mDLJnN+pn1p5OdnZ6r1SLc+OgJQ760c=; X-UUID: 967e38062d0746219db2a340770e7c90-20200229 Received: from mtkcas68.mediatek.inc [(172.29.94.19)] by mailgw01.mediatek.com (envelope-from ) (musrelay.mediatek.com ESMTP with TLS) with ESMTP id 57743514; Sat, 29 Feb 2020 19:20:47 -0800 Received: from mtkmbs08n1.mediatek.inc (172.21.101.55) by MTKMBS62N2.mediatek.inc (172.29.193.42) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sat, 29 Feb 2020 19:21:57 -0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs08n1.mediatek.inc (172.21.101.55) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Sun, 1 Mar 2020 11:22:18 +0800 Received: from [172.21.77.33] (172.21.77.33) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1395.4 via Frontend Transport; Sun, 1 Mar 2020 11:20:18 +0800 Message-ID: <1583032843.12083.24.camel@mtkswgap22> Subject: Re: [PATCH v4] usb: gadget: f_fs: try to fix AIO issue under ARM 64 bit TAGGED mode From: Macpaul Lin To: Catalin Marinas Date: Sun, 1 Mar 2020 11:20:43 +0800 In-Reply-To: <20200228164848.GH4019108@arrakis.emea.arm.com> References: <1582627315-21123-1-git-send-email-macpaul.lin@mediatek.com> <1582718512-28923-1-git-send-email-macpaul.lin@mediatek.com> <20200228164848.GH4019108@arrakis.emea.arm.com> X-Mailer: Evolution 3.2.3-0ubuntu6 MIME-Version: 1.0 X-MTK: N X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200229_192055_975139_CB16F37E X-CRM114-Status: GOOD ( 15.68 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sasha Levin , Shen Jing , CC Hwang , Mediatek WSD Upstream , Jerry Zhang , andreyknvl@google.com, linux-usb@vger.kernel.org, Loda Chou , linux-kernel@vger.kernel.org, stable@vger.kernel.org, Andrzej Pietrasiewicz , Miles Chen , linux-mediatek@lists.infradead.org, Peter Chen , Al Viro , Vincent Pelletier , Matthias Brugger , John Stultz , eugenis@google.com, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Fri, 2020-02-28 at 16:48 +0000, Catalin Marinas wrote: > On Wed, Feb 26, 2020 at 08:01:52PM +0800, Macpaul Lin wrote: > > diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c > > index ce1d023..192935f 100644 > > --- a/drivers/usb/gadget/function/f_fs.c > > +++ b/drivers/usb/gadget/function/f_fs.c > > @@ -715,7 +715,20 @@ static void ffs_epfile_io_complete(struct usb_ep *_ep, struct usb_request *req) > > > > static ssize_t ffs_copy_to_iter(void *data, int data_len, struct iov_iter *iter) > > { > > - ssize_t ret = copy_to_iter(data, data_len, iter); > > + ssize_t ret; > > + > > +#if defined(CONFIG_ARM64) > > + /* > > + * Replace tagged address passed by user space application before > > + * copying. > > + */ > > + if (IS_ENABLED(CONFIG_ARM64_TAGGED_ADDR_ABI) && > > + (iter->type == ITER_IOVEC)) { > > + *(unsigned long *)&iter->iov->iov_base = > > + (unsigned long)untagged_addr(iter->iov->iov_base); > > + } > > +#endif > > + ret = copy_to_iter(data, data_len, iter); > > if (likely(ret == data_len)) > > return ret; > > I had forgotten that we discussed a similar case already a few months > ago (thanks to Evgenii for pointing out). Do you have this commit > applied to your tree: df325e05a682 ("arm64: Validate tagged addresses in > access_ok() called from kernel threads")? > Yes! We have that patch. I've also got Google's reply about referencing this patch in android kernel tree. https://android-review.googlesource.com/c/kernel/common/+/1186615 However, during my debugging process, I've dumped specific length (e.g., 24 bytes for the first request) AIO request buffer address both in adbd and in __range_ok(). Then I've found __range_ok() still always return false on address begin with "0x3c". Since untagged_addr() already called in __range_ok(), to set "TIF_TAGGED_ADDR" with adbd's user space buffer should be the possible solution. Hence I've send the v3 patch. Anyway, I've found that to disable TAGGED address in adbd is possible by this way and will report to Google and see how they think. diff --git a/adb/daemon/main.cpp b/adb/daemon/main.cpp index 9e02e89ab..b2f6f8e3f 100644 --- a/adb/daemon/main.cpp +++ b/adb/daemon/main.cpp @@ -317,6 +317,8 @@ int main(int argc, char** argv) { mallopt(M_DECAY_TIME, 1); #endif + prctl(PR_SET_TAGGED_ADDR_CTRL, ~PR_TAGGED_ADDR_ENABLE, 0, 0, 0); + while (true) { static struct option opts[] = { {"root_seclabel", required_argument, nullptr, 's'}, Many thanks! Macpaul Lin _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel