Messages in this thread | | | From | Stefan Mätje <> | Subject | Change of set_fs() in uaccess.h breaks this header being self contained for x86 (4.14-rc1) | Date | Mon, 18 Sep 2017 20:32:19 +0200 |
| |
Hi,
there is a change in Linus' mainline kernel (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
| |