[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK8P3a1wfeWboHvU1o_kooMc2hML8iWcNrz=mp6tYT52iGwfjw@mail.gmail.com>
Date: Wed, 17 Oct 2018 17:44:17 +0200
From: Arnd Bergmann <arnd@...db.de>
To: Guo Ren <ren_guo@...ky.com>
Cc: Andrew Morton <akpm@...ux-foundation.org>,
Daniel Lezcano <daniel.lezcano@...aro.org>,
David Miller <davem@...emloft.net>,
gregkh <gregkh@...uxfoundation.org>,
Christoph Hellwig <hch@...radead.org>,
Marc Zyngier <marc.zyngier@....com>,
Mark Rutland <mark.rutland@....com>,
Peter Zijlstra <peterz@...radead.org>,
Rob Herring <robh@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-arch <linux-arch@...r.kernel.org>,
DTML <devicetree@...r.kernel.org>,
Rob Herring <robh+dt@...nel.org>, c-sky_gcc_upstream@...ky.com
Subject: Re: [PATCH V9 21/21] csky: support dword access for get_user_size()
On Tue, Oct 16, 2018 at 5:33 AM Guo Ren <ren_guo@...ky.com> wrote:
>
> Support dword access for get_user_size and redesign put_user_size with
> the same style of get_user_size. It's Ok to use xxx_user_asm_common for
> all size of variable with ldb, ldh, ldw, ld.d
>
> ld.d rx, (addr, 0) could "rx <= addr" "and r(x+1) <= addr+4" and this also
> follow abiv2 gcc ABI for dword access.
Are you sure this is correct for this?
static inline u32 get_64_to_32(__u64 __user *p)
{
u32 ret;
get_user(ret, p);
return ret;
}
If I read __get_user_asm_common() right, the ld.d would overwrite
two registers, but the caller only expects one, so it clobbers one
that might be in use.
Arnd
Powered by blists - more mailing lists