./include/linux/err.h:35:16: warning: dereference of noderef expression

Charlemagne Lasse charlemagnelasse at gmail.com
Tue Jun 13 05:55:26 EDT 2017


Hi,

I have following code which generates a warning when compiling with "make C=1".

~~~~~~~
struct task_struct *kthread;
kthread = kthread_create(xxxxx, yyyyy, "zzzzz");
if (IS_ERR(kthread)) {
~~~~~~~

The warning is

    ./include/linux/err.h:35:16: warning: dereference of noderef expression

And disappears when I remove the IS_ERR. How do I correctly work
around this incorrect warning?

Btw. I am using Debian stretch amd64. It seems like this is related to
the __force used in the parameter list of IS_ERR. Removing it also
removes the warning.

If it is fixed in sparse's git then when will there be a new release of it?

Greetings,
Charlemagne Lasse



More information about the Kernelnewbies mailing list