Re: v4.4.12-rt20 build: 0 failures 5 warnings (v4.4.12-rt20)

From: Sebastian Andrzej Siewior
Date: Fri Jul 15 2016 - 08:05:42 EST


* Arnd Bergmann | 2016-07-15 09:07:20 [+0200]:

>Cc linux-rt-users@xxxxxxxxxxxxxxx, let's have a look at the individual warnings:
thanks.

>
>> Warnings Summary: 5
>> 9 ../kernel/sched/core.c:3473:12: warning: 'preemptible_lazy' defined but not used [-Wunused-function]
>
>This was introduced by the rt patchset, I'd suggest adding a fix to the next
>v4.4-rt release. This is almost certainly harmless.

has been adressed in 4.6.4-rt8 and is harmless.

>> 2 ../include/linux/spinlock.h:246:3: warning: 'flags' may be used uninitialized in this function [-Wmaybe-uninitialized]
>
>I'm missing context here, so I don't know what caused it, but the warning is
>not present in v4.4.12 (without -rt), so it's worth looking into.

the full log:

|In file included from include/linux/seqlock.h:35:0,
| from include/linux/time.h:5,
| from include/uapi/linux/timex.h:56,
| from include/linux/timex.h:56,
| from include/linux/sched.h:19,
| from arch/arm64/include/asm/compat.h:25,
| from arch/arm64/include/asm/stat.h:23,
| from include/linux/stat.h:5,
| from include/linux/module.h:10,
| from drivers/tty/serial/amba-pl011.c:37:
|drivers/tty/serial/amba-pl011.c: In function âpl011_console_writeâ:
|include/linux/spinlock.h:246:3: warning: âflagsâ may be used uninitialized in this function [-Wmaybe-uninitialized]
| _raw_spin_unlock_irqrestore(lock, flags); \
| ^
|drivers/tty/serial/amba-pl011.c:2065:16: note: âflagsâ was declared here
| unsigned long flags;
| ^

and relevant part of the source:
|pl011_console_write(struct console *co, const char *s, unsigned int count)
|{
â
| unsigned long flags;
| int locked = 1;
|
â
| if (uap->port.sysrq)
| locked = 0;
| else if (oops_in_progress)
| locked = spin_trylock_irqsave(&uap->port.lock, flags);
| else
| spin_lock_irqsave(&uap->port.lock, flags);
â
| if (locked)
| spin_unlock_irqrestore(&uap->port.lock, flags);
â
|}

looks like a false positive to me.

> Arnd

Sebastian