Message ID | 20170919115042.6800-1-net147@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Sep 19, 2017 at 4:50 AM, Jonathan Liu <net147@gmail.com> wrote: > Fixes "implicit declaration of function" compile error for out-of-tree > kernel modules including asm/uaccess.h. I failed to reproduce this issue by creating an out of tree module with a separate file (with only uaccess.h). Are you using a special config? Looking at the headers on uaccess.h. You get thread_info through: asm/domain.h -> asm/thread_info.h > > Fixes: 73ac5d6a2b6a ("arm/syscalls: Check address limit on user-mode return") > Signed-off-by: Jonathan Liu <net147@gmail.com> > --- > arch/arm/include/asm/uaccess.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h > index 87936dd5d151..13d1877ffb75 100644 > --- a/arch/arm/include/asm/uaccess.h > +++ b/arch/arm/include/asm/uaccess.h > @@ -17,6 +17,7 @@ > #include <asm/unified.h> > #include <asm/compiler.h> > > +#include <linux/thread_info.h> > #include <asm/extable.h> > > /* > -- > 2.13.2 >
Hi Thomas, The top of the C source file I am compiling has: #include <linux/kernel.h> #include <asm/uaccess.h> Tracing through the asm/uaccess.h include I see asm/uaccess.h -> asm/domain.h -> asm/thread_info.h but set_thread_info is defined in linux/thread_info.h not asm/thread_info.h (see http://elixir.free-electrons.com/linux/v4.14-rc1/ident/set_thread_flag). Regards, Jonathan On 20 September 2017 at 00:32, Thomas Garnier <thgarnie@google.com> wrote: > On Tue, Sep 19, 2017 at 4:50 AM, Jonathan Liu <net147@gmail.com> wrote: >> Fixes "implicit declaration of function" compile error for out-of-tree >> kernel modules including asm/uaccess.h. > > I failed to reproduce this issue by creating an out of tree module > with a separate file (with only uaccess.h). Are you using a special > config? > > Looking at the headers on uaccess.h. You get thread_info through: > > asm/domain.h -> asm/thread_info.h > >> >> Fixes: 73ac5d6a2b6a ("arm/syscalls: Check address limit on user-mode return") >> Signed-off-by: Jonathan Liu <net147@gmail.com> >> --- >> arch/arm/include/asm/uaccess.h | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h >> index 87936dd5d151..13d1877ffb75 100644 >> --- a/arch/arm/include/asm/uaccess.h >> +++ b/arch/arm/include/asm/uaccess.h >> @@ -17,6 +17,7 @@ >> #include <asm/unified.h> >> #include <asm/compiler.h> >> >> +#include <linux/thread_info.h> >> #include <asm/extable.h> >> >> /* >> -- >> 2.13.2 >> > > > > -- > Thomas
On Tue, Sep 19, 2017 at 2:35 PM, Jonathan Liu <net147@gmail.com> wrote: > > Hi Thomas, > > The top of the C source file I am compiling has: > #include <linux/kernel.h> > #include <asm/uaccess.h> > > Tracing through the asm/uaccess.h include I see > asm/uaccess.h -> asm/domain.h -> asm/thread_info.h > > but set_thread_info is defined in linux/thread_info.h not > asm/thread_info.h (see > http://elixir.free-electrons.com/linux/v4.14-rc1/ident/set_thread_flag). I see, I think I could not reproduce this issue because I already reverted the original commit in favor of a different approach on linux-next (see commit 2404269bc4e77a67875c8db6667be34c9913c96e). Let me know if this commit resolve the issue and thanks for reaching out. > > Regards, > Jonathan > > On 20 September 2017 at 00:32, Thomas Garnier <thgarnie@google.com> wrote: > > On Tue, Sep 19, 2017 at 4:50 AM, Jonathan Liu <net147@gmail.com> wrote: > >> Fixes "implicit declaration of function" compile error for out-of-tree > >> kernel modules including asm/uaccess.h. > > > > I failed to reproduce this issue by creating an out of tree module > > with a separate file (with only uaccess.h). Are you using a special > > config? > > > > Looking at the headers on uaccess.h. You get thread_info through: > > > > asm/domain.h -> asm/thread_info.h > > > >> > >> Fixes: 73ac5d6a2b6a ("arm/syscalls: Check address limit on user-mode return") > >> Signed-off-by: Jonathan Liu <net147@gmail.com> > >> --- > >> arch/arm/include/asm/uaccess.h | 1 + > >> 1 file changed, 1 insertion(+) > >> > >> diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h > >> index 87936dd5d151..13d1877ffb75 100644 > >> --- a/arch/arm/include/asm/uaccess.h > >> +++ b/arch/arm/include/asm/uaccess.h > >> @@ -17,6 +17,7 @@ > >> #include <asm/unified.h> > >> #include <asm/compiler.h> > >> > >> +#include <linux/thread_info.h> > >> #include <asm/extable.h> > >> > >> /* > >> -- > >> 2.13.2 > >> > > > > > > > > -- > > Thomas
Hi Thomas, On 21 September 2017 at 02:31, Thomas Garnier <thgarnie@google.com> wrote: > On Tue, Sep 19, 2017 at 2:35 PM, Jonathan Liu <net147@gmail.com> wrote: >> >> Hi Thomas, >> >> The top of the C source file I am compiling has: >> #include <linux/kernel.h> >> #include <asm/uaccess.h> >> >> Tracing through the asm/uaccess.h include I see >> asm/uaccess.h -> asm/domain.h -> asm/thread_info.h >> >> but set_thread_info is defined in linux/thread_info.h not >> asm/thread_info.h (see >> http://elixir.free-electrons.com/linux/v4.14-rc1/ident/set_thread_flag). > > I see, I think I could not reproduce this issue because I already > reverted the original commit in favor of a different approach on > linux-next (see commit 2404269bc4e77a67875c8db6667be34c9913c96e). > > Let me know if this commit resolve the issue and thanks for reaching out. > Cherry-picking commit 2404269bc4e77a67875c8db6667be34c9913c96e on top of 4.14-rc1 resolves the issue. Thanks. >> >> Regards, >> Jonathan >> >> On 20 September 2017 at 00:32, Thomas Garnier <thgarnie@google.com> wrote: >> > On Tue, Sep 19, 2017 at 4:50 AM, Jonathan Liu <net147@gmail.com> wrote: >> >> Fixes "implicit declaration of function" compile error for out-of-tree >> >> kernel modules including asm/uaccess.h. >> > >> > I failed to reproduce this issue by creating an out of tree module >> > with a separate file (with only uaccess.h). Are you using a special >> > config? >> > >> > Looking at the headers on uaccess.h. You get thread_info through: >> > >> > asm/domain.h -> asm/thread_info.h >> > >> >> >> >> Fixes: 73ac5d6a2b6a ("arm/syscalls: Check address limit on user-mode return") >> >> Signed-off-by: Jonathan Liu <net147@gmail.com> >> >> --- >> >> arch/arm/include/asm/uaccess.h | 1 + >> >> 1 file changed, 1 insertion(+) >> >> >> >> diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h >> >> index 87936dd5d151..13d1877ffb75 100644 >> >> --- a/arch/arm/include/asm/uaccess.h >> >> +++ b/arch/arm/include/asm/uaccess.h >> >> @@ -17,6 +17,7 @@ >> >> #include <asm/unified.h> >> >> #include <asm/compiler.h> >> >> >> >> +#include <linux/thread_info.h> >> >> #include <asm/extable.h> >> >> >> >> /* >> >> -- >> >> 2.13.2 >> >> >> > >> > >> > >> > -- >> > Thomas > > > > > -- > Thomas Regards, Jonathan
diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h index 87936dd5d151..13d1877ffb75 100644 --- a/arch/arm/include/asm/uaccess.h +++ b/arch/arm/include/asm/uaccess.h @@ -17,6 +17,7 @@ #include <asm/unified.h> #include <asm/compiler.h> +#include <linux/thread_info.h> #include <asm/extable.h> /*
Fixes "implicit declaration of function" compile error for out-of-tree kernel modules including asm/uaccess.h. Fixes: 73ac5d6a2b6a ("arm/syscalls: Check address limit on user-mode return") Signed-off-by: Jonathan Liu <net147@gmail.com> --- arch/arm/include/asm/uaccess.h | 1 + 1 file changed, 1 insertion(+)