Re: R: [PATCH] arm64: fix missing include in asm uaccess.h

From: Andrew Morton
Date: Thu Nov 12 2020 - 19:48:12 EST


On Wed, 11 Nov 2020 02:19:48 +0100 <ansuelsmth@xxxxxxxxx> wrote:

> > <asm/uaccess.h> ok ? */
> > include/linux/uaccess.h:11:#include <asm/uaccess.h>
> >
> > The last one is the only such include that should exist; drivers/s390 one
> > is obviously a false positive. And IMO the right thing to do is to
> > replace the remaining arch/* instances with includes of linux/uaccess.h.
> >
> > All of those are asking for trouble; any change moving e.g. a common
> > variant of some primitive into linux/uaccess.h might end up breaking
> > those.
>
> Thx for the quick response. I found this error while working on a qcom
> driver that
> use this include. I can confirm that by using linux/uaccess.h the problem is
> solved.

Thanks, all.

I queued up the below for sending to Linus Real Soon Now. Please note
that I added the cc:stable, because the offending df325e05a6 ("arm64:
Validate tagged addresses in access_ok() called from kernel threads")
had a cc:stable.


From: Ansuel Smith <ansuelsmth@xxxxxxxxx>
Subject: arm64: fix missing include in asm/uaccess.h

Fix a compilation error as PF_KTHREAD is defined in linux/sched.h and this
is missing.

[viro@xxxxxxxxxxxxxxxxxx: use linux/uaccess.h]
Link: https://lkml.kernel.org/r/20201111005826.GY3576660@xxxxxxxxxxxxxxxxxx
Link: https://lkml.kernel.org/r/20201111004440.8783-1-ansuelsmth@xxxxxxxxx
Fixes: df325e05a682 ("arm64: Validate tagged addresses in access_ok() called from kernel threads")
Signed-off-by: Ansuel Smith <ansuelsmth@xxxxxxxxx>
Cc: Will Deacon <will@xxxxxxxxxx>
Cc: Catalin Marinas <catalin.marinas@xxxxxxx>
Cc: Mark Rutland <mark.rutland@xxxxxxx>
Cc: Pavel Tatashin <pasha.tatashin@xxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

arch/arm64/include/asm/uaccess.h | 2 ++
1 file changed, 2 insertions(+)

--- a/arch/arm64/include/asm/uaccess.h~arm64-fix-missing-include-in-asm-uaccessh
+++ a/arch/arm64/include/asm/uaccess.h
@@ -7,6 +7,8 @@
#ifndef __ASM_UACCESS_H
#define __ASM_UACCESS_H

+#include <linux/uaccess.h>
+
#include <asm/alternative.h>
#include <asm/kernel-pgtable.h>
#include <asm/sysreg.h>
_