Re: stable-3.0: s390 build breakage [was: Linux 3.0.24]

Willy Tarreau
2012-03-15T16:53:15Z

On Thu, Mar 15, 2012 at 09:46:24AM -0700, Greg KH wrote:
> On Thu, Mar 15, 2012 at 05:27:26PM +0100, Jiri Slaby wrote:
> > On 03/15/2012 11:48 AM, Jiri Slaby wrote:
> > > On 03/12/2012 09:34 PM, Greg KH wrote:
> > >> I'm announcing the release of the 3.0.24 kernel.
> > > ...
> > >> Heiko Carstens (1): compat: fix compile breakage on s390
> > >
> > > It looks like we need the same fix as for 2.6.32.59:
> > > arch/s390/kernel/setup.c: In function 'setup_addressing_mode':
> > > arch/s390/kernel/setup.c:328: error: 'PSW32_ASC_PRIMARY' undeclared
> > > (first use in this function)
> > > arch/s390/kernel/setup.c:328: error: (Each undeclared identifier is
> > > reported only once
> > > arch/s390/kernel/setup.c:328: error: for each function it appears in.)
> >
> > And when that one is fixed, there is another error:
> > drivers/s390/char/fs3270.c: In function 'fs3270_ioctl':
> > drivers/s390/char/fs3270.c:335: error: implicit declaration of function
> > 'compat_ptr'
> > drivers/s390/char/fs3270.c:335: warning: assignment makes pointer from
> > integer without a cast
>
> Ick, have a patch for this?

This one is declared in arch/s390/include/asm/compat.h:

static inline void __user *compat_ptr(compat_uptr_t uptr)
{
return (void __user *)(unsigned long)(uptr & 0x7fffffffUL);
}

In 2.6.32, fs3270.c include linux/compat.h. In 3.0 it includes asm/compat.h
instead. I would have thought the later would have been enough.

Hoping this helps,
Willy