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

Greg KH
2012-03-16T17:22:24Z

On Fri, Mar 16, 2012 at 01:52:29PM +0100, Jiri Slaby wrote:
> On 03/15/2012 05:51 PM, Jiri Slaby wrote:
> > On 03/15/2012 05:49 PM, Willy Tarreau wrote:
> >> 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.
> >
> > But it was changed to linux/compat.h in 3.0.24 -- that's why it doesn't
> > build. So the same fix as for setup.c should help here.
>
> It is attached. With that patch (and the previous one), s390 builds fine
> now.

Thanks for the patch, now queued up.

greg k-h