Messages in this thread | | | From | Stefan Mätje <> | Subject | linux-4.14-rc1/arch/x86/include/asm/uaccess.h: Missing include of <linux/sched.h> | Date | Tue, 19 Sep 2017 14:21:12 +0200 |
| |
Resend with changed subject:
Hi,
there is a change in Linus' mainline kernel for 4.14-rc1 (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/arch/x86/include/asm/uaccess.h?id=6c51e67b64d169419fb13318035bb442f9176612) that changes the set_fs() macro into an inline function.
This breaks the build of an out of kernel driver I maintain with this message:
./arch/x86/include/asm/uaccess.h: In function ‘set_fs’: ./arch/x86/include/asm/uaccess.h:31:9: error: dereferencing pointer to incomplete type
set_fs() is referencing the "current" pointer which is of type "struct task_struct" declared in include/linux/sched.h.
Before the change set_fs() was a macro. Because I don't use it it was of no concern for me. But now the compiler needs to compile the inline function set_fs() and fails.
Should I add the needed <linux/sched.h> myself in my code or will that be changed / fixed in the <asm/uaccess.h> header by including the missing header.
Thanks for any advice.
Best regards, Stefan Mätje
| |