Subject: Build failures (s390) in -next due to 'mm, printk: introduce new format string for flags'

From: Guenter Roeck <[email-masked]>
Date: Fri, 29 Jan 2016 07:35:22 -0800

Hi,

s390 builds in -next fail with lots of errors such as:

include/linux/jump_label.h: In function 'static_key_count':
include/linux/jump_label.h:122:2: error: implicit declaration of function 'atomic_read' [-Werror=implicit-function-declaration]
   return atomic_read(&key->enabled);
...
./arch/s390/include/asm/atomic.h: At top level:
./arch/s390/include/asm/atomic.h:74:19: error: static declaration of 'atomic_read' follows non-static declaration
  static inline int atomic_read(const atomic_t *v)

As far as I can see this is due to recursive inclusion of linux/atomic.h
(which in turn is triggered by recursive inclusion of linux/mmdebug.h).

I was able to "fix" the problem by removing the inclusion of mmdebug.h from
arch/s390/include/asm/cmpxchg.h. That is not a proper fix, though, since the file
uses VM_BUG_ON(), which is defined in mmdebug.h.

The problem was introduced with 'mm, printk: introduce new format string for flags'.

Guenter