Thread (32 messages) 32 messages, 7 authors, 2018-08-06

Re: [PATCH v4 0/7] arm64: untag user pointers passed to the kernel

From: Andrey Konovalov <hidden>
Date: 2018-08-03 14:59:22
Also in: linux-arch, linux-arm-kernel, linux-kselftest, linux-mm, lkml

On Thu, Aug 2, 2018 at 5:00 PM, Andrey Konovalov [off-list ref] wrote:
On Wed, Aug 1, 2018 at 7:42 PM, Catalin Marinas [off-list ref] wrote:
quoted
On Mon, Jul 16, 2018 at 01:25:59PM +0200, Andrey Konovalov wrote:
quoted
On Thu, Jun 28, 2018 at 9:30 PM, Andrey Konovalov [off-list ref] wrote:
So the checker reports ~100 different places where a __user pointer
being casted. I've looked through them and found 3 places where we
need to add untagging. Source code lines below come from 4.18-rc2+
(6f0d349d).
[...]
quoted
I'll add the 3 patches with fixes to v5 of this patchset.
Thanks for investigating. You can fix those three places in your code
OK, will do.
quoted
but I was rather looking for a way to check such casting in the future
for newly added code. While for the khwasan we can assume it's a debug
option, the tagged user pointers are ABI and we need to keep it stable.

We could we actually add some macros for explicit conversion between
__user ptr and long and silence the warning there (I guess this would
work better for sparse). We can then detect new ptr to long casts as
they appear. I just hope that's not too intrusive.

(I haven't tried the sparse patch yet, hopefully sometime this week)
Haven't look at that sparse patch yet myself, but sounds doable.
Should these macros go into this patchset or should they go
separately?
Started looking at this. When I run sparse with default checks enabled
(make C=1) I get countless warnings. Does anybody actually use it?
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help