From: Catalin Marinas <catalin.marinas@arm.com>
To: Macpaul Lin <macpaul.lin@mediatek.com>
Cc: Sasha Levin <sashal@kernel.org>, Shen Jing <jingx.shen@intel.com>,
CC Hwang <cc.hwang@mediatek.com>, Peter Chen <peter.chen@nxp.com>,
Mediatek WSD Upstream <wsd_upstream@mediatek.com>,
Jerry Zhang <zhangjerry@google.com>,
andreyknvl@google.com, linux-usb@vger.kernel.org,
Loda Chou <loda.chou@mediatek.com>,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
Andrzej Pietrasiewicz <andrzej.p@collabora.com>,
Miles Chen <miles.chen@mediatek.com>,
eugenis@google.com, John Stultz <john.stultz@linaro.org>,
Al Viro <viro@zeniv.linux.org.uk>,
Vincent Pelletier <plr.vincent@gmail.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4] usb: gadget: f_fs: try to fix AIO issue under ARM 64 bit TAGGED mode
Date: Fri, 28 Feb 2020 16:48:48 +0000 [thread overview]
Message-ID: <20200228164848.GH4019108@arrakis.emea.arm.com> (raw)
In-Reply-To: <1582718512-28923-1-git-send-email-macpaul.lin@mediatek.com>
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")?
--
Catalin
_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek
WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: Macpaul Lin <macpaul.lin@mediatek.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
Shen Jing <jingx.shen@intel.com>, Sasha Levin <sashal@kernel.org>,
John Stultz <john.stultz@linaro.org>,
Andrzej Pietrasiewicz <andrzej.p@collabora.com>,
Vincent Pelletier <plr.vincent@gmail.com>,
Jerry Zhang <zhangjerry@google.com>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
Mediatek WSD Upstream <wsd_upstream@mediatek.com>,
CC Hwang <cc.hwang@mediatek.com>,
Loda Chou <loda.chou@mediatek.com>,
Al Viro <viro@zeniv.linux.org.uk>,
stable@vger.kernel.org, andreyknvl@google.com,
Peter Chen <peter.chen@nxp.com>,
Miles Chen <miles.chen@mediatek.com>,
eugenis@google.com
Subject: Re: [PATCH v4] usb: gadget: f_fs: try to fix AIO issue under ARM 64 bit TAGGED mode
Date: Fri, 28 Feb 2020 16:48:48 +0000 [thread overview]
Message-ID: <20200228164848.GH4019108@arrakis.emea.arm.com> (raw)
In-Reply-To: <1582718512-28923-1-git-send-email-macpaul.lin@mediatek.com>
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")?
--
Catalin
WARNING: multiple messages have this Message-ID (diff)
From: Catalin Marinas <catalin.marinas@arm.com>
To: Macpaul Lin <macpaul.lin@mediatek.com>
Cc: Sasha Levin <sashal@kernel.org>, Shen Jing <jingx.shen@intel.com>,
CC Hwang <cc.hwang@mediatek.com>, Peter Chen <peter.chen@nxp.com>,
Mediatek WSD Upstream <wsd_upstream@mediatek.com>,
Jerry Zhang <zhangjerry@google.com>,
andreyknvl@google.com, linux-usb@vger.kernel.org,
Loda Chou <loda.chou@mediatek.com>,
linux-kernel@vger.kernel.org, stable@vger.kernel.org,
Andrzej Pietrasiewicz <andrzej.p@collabora.com>,
Miles Chen <miles.chen@mediatek.com>,
eugenis@google.com, John Stultz <john.stultz@linaro.org>,
Al Viro <viro@zeniv.linux.org.uk>,
Vincent Pelletier <plr.vincent@gmail.com>,
Matthias Brugger <matthias.bgg@gmail.com>,
linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v4] usb: gadget: f_fs: try to fix AIO issue under ARM 64 bit TAGGED mode
Date: Fri, 28 Feb 2020 16:48:48 +0000 [thread overview]
Message-ID: <20200228164848.GH4019108@arrakis.emea.arm.com> (raw)
In-Reply-To: <1582718512-28923-1-git-send-email-macpaul.lin@mediatek.com>
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")?
--
Catalin
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-02-28 16:49 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-23 15:49 [PATCH v2] usb: gadget: f_fs: try to fix AIO issue under ARM 64 bit TAGGED mode Macpaul Lin
2020-02-23 15:49 ` Macpaul Lin
2020-02-23 15:49 ` Macpaul Lin
2020-02-25 8:12 ` Peter Chen
2020-02-25 8:12 ` Peter Chen
2020-02-25 8:12 ` Peter Chen
2020-02-25 10:41 ` [PATCH v3] " Macpaul Lin
2020-02-25 10:41 ` Macpaul Lin
2020-02-25 10:41 ` Macpaul Lin
2020-02-25 11:07 ` Miles Chen
2020-02-25 11:07 ` Miles Chen
2020-02-25 11:07 ` Miles Chen
2020-02-25 11:52 ` Catalin Marinas
2020-02-25 11:52 ` Catalin Marinas
2020-02-25 11:52 ` Catalin Marinas
2020-02-26 12:01 ` [PATCH v4] " Macpaul Lin
2020-02-26 12:01 ` Macpaul Lin
2020-02-26 12:01 ` Macpaul Lin
2020-02-27 9:55 ` Catalin Marinas
2020-02-27 9:55 ` Catalin Marinas
2020-02-27 9:55 ` Catalin Marinas
2020-02-27 10:28 ` Macpaul Lin
2020-02-27 10:28 ` Macpaul Lin
2020-02-27 10:28 ` Macpaul Lin
2020-02-28 16:48 ` Catalin Marinas [this message]
2020-02-28 16:48 ` Catalin Marinas
2020-02-28 16:48 ` Catalin Marinas
2020-03-01 3:20 ` Macpaul Lin
2020-03-01 3:20 ` Macpaul Lin
2020-03-01 3:20 ` Macpaul Lin
2020-03-02 16:19 ` Catalin Marinas
2020-03-02 16:19 ` Catalin Marinas
2020-03-02 16:19 ` Catalin Marinas
[not found] ` <CAFKCwrj-0aQN_cUxf8=h7AbfS_rLEwxqePZN2kGHZxgWi2=ncw@mail.gmail.com>
2020-03-04 2:42 ` Macpaul Lin
2020-03-04 2:42 ` Macpaul Lin
2020-03-04 2:42 ` Macpaul Lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200228164848.GH4019108@arrakis.emea.arm.com \
--to=catalin.marinas@arm.com \
--cc=andreyknvl@google.com \
--cc=andrzej.p@collabora.com \
--cc=cc.hwang@mediatek.com \
--cc=eugenis@google.com \
--cc=jingx.shen@intel.com \
--cc=john.stultz@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-usb@vger.kernel.org \
--cc=loda.chou@mediatek.com \
--cc=macpaul.lin@mediatek.com \
--cc=matthias.bgg@gmail.com \
--cc=miles.chen@mediatek.com \
--cc=peter.chen@nxp.com \
--cc=plr.vincent@gmail.com \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
--cc=wsd_upstream@mediatek.com \
--cc=zhangjerry@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.