Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1734869 > unrolled thread
| Started by | Stefan Mätje <Stefan.Maetje@esd.eu> |
|---|---|
| First post | 2017-09-19 14:30 +0200 |
| Last post | 2017-09-19 16:00 +0200 |
| Articles | 3 — 2 participants |
Back to article view | Back to linux.kernel
linux-4.14-rc1/arch/x86/include/asm/uaccess.h: Missing include of <linux/sched.h> Stefan Mätje <Stefan.Maetje@esd.eu> - 2017-09-19 14:30 +0200
Re: linux-4.14-rc1/arch/x86/include/asm/uaccess.h: Missing include of <linux/sched.h> Seraphime Kirkovski <kirkseraph@gmail.com> - 2017-09-19 15:20 +0200
Re: linux-4.14-rc1/arch/x86/include/asm/uaccess.h: Missing include of <linux/sched.h> Stefan Mätje <Stefan.Maetje@esd.eu> - 2017-09-19 16:00 +0200
| From | Stefan Mätje <Stefan.Maetje@esd.eu> |
|---|---|
| Date | 2017-09-19 14:30 +0200 |
| Subject | linux-4.14-rc1/arch/x86/include/asm/uaccess.h: Missing include of <linux/sched.h> |
| Message-ID | <urpP6-5pF-31@gated-at.bofh.it> |
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
[toc] | [next] | [standalone]
| From | Seraphime Kirkovski <kirkseraph@gmail.com> |
|---|---|
| Date | 2017-09-19 15:20 +0200 |
| Subject | Re: linux-4.14-rc1/arch/x86/include/asm/uaccess.h: Missing include of <linux/sched.h> |
| Message-ID | <urqBs-5WC-13@gated-at.bofh.it> |
| In reply to | #1734869 |
Hi,
> ./arch/x86/include/asm/uaccess.h: In function ‘set_fs’:
> ./arch/x86/include/asm/uaccess.h:31:9: error: dereferencing pointer to
> incomplete type
I can reproduce your problem by including <asm/uaccess.h>, but not with
<linux/uaccess.h>.
#include <asm/uaccess.h>
//#include <linux/uaccess.h> does compile
#include <linux/module.h>
int __init init(void)
{
set_fs(get_fs());
return 0;
}
void __exit finit(void)
{
}
module_init(init);
module_exit(finit);
If my memory is any good, direct inclusion of <asm/uaccess.h> was
deprecated in 4.12 and new code should use <linux/uaccess.h>
Thanks,
Seraphime Kirkovski
[toc] | [prev] | [next] | [standalone]
| From | Stefan Mätje <Stefan.Maetje@esd.eu> |
|---|---|
| Date | 2017-09-19 16:00 +0200 |
| Message-ID | <urrea-69k-19@gated-at.bofh.it> |
| In reply to | #1734900 |
Hi, changing the include line to <linux/uaccess.h> solves the problem for me. Thank you for taking the time to look into this. Best regards, Stefan Mätje Am 19.09.2017 um 15:12 schrieb Seraphime Kirkovski: > Hi, > >> ./arch/x86/include/asm/uaccess.h: In function ‘set_fs’: >> ./arch/x86/include/asm/uaccess.h:31:9: error: dereferencing pointer to >> incomplete type > > I can reproduce your problem by including <asm/uaccess.h>, but not with > <linux/uaccess.h>. > > #include <asm/uaccess.h> > //#include <linux/uaccess.h> does compile > #include <linux/module.h> My code doesn't use set_fs() but it is only in the header. > If my memory is any good, direct inclusion of <asm/uaccess.h> was > deprecated in 4.12 and new code should use <linux/uaccess.h> I did miss this deprecation. > Thanks, > Seraphime Kirkovski >
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web