Re: linux-next: build failure after merge of the akpm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 16 Jan 2016 09:51:29 +0100,
Takashi Iwai wrote:
> 
> On Sat, 16 Jan 2016 00:14:01 +0100,
> Andrew Morton wrote:
> > 
> > On Sat, 16 Jan 2016 10:00:47 +1100 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
> > 
> > > Hi Andrew,
> > > > +#define SNDRV_COMPRESS_GET_CODEC_CAPS	_IOWR('C', 0x11, struct snd_compr_caps)
> > > >  #define SNDRV_COMPRESS_SET_PARAMS	_IOW('C', 0x12, struct snd_compr_params)
> > > >  #define SNDRV_COMPRESS_GET_PARAMS	_IOR('C', 0x13, struct snd_codec)
> > > >  #define SNDRV_COMPRESS_SET_METADATA	_IOW('C', 0x14,\
> > > > 
> > > > then it compiles OK.  So there's something special about `struct
> > > > snd_compr_codec_caps' which is confusing the compiler.
> > > 
> > > Its very big (hint, I think it is bigger than 1 << 13).
> > 
> > ah-hah.
> > 
> > sizeof(struct snd_compr_codec_caps) is 11144 on x86_64
> > allyesconfig, but x86_64 uses (1<<14), not (1<<13) - x86_64 has more
> > space in the ioctl payload.
> > 
> > 
> > So.  Sound guys: your struct snd_compr_codec_caps is too large for
> > powerpc ioctls.
> 
> Ouch, this was what I was concerned.  I thought we did calculate it at
> the time writing API, alas, we failed.  We need to do math drills
> again...
> 
> There are a few ways to fix this, but all are not comfortable.
> 
> A. Disable compress API for powerpc.
> 
> B. Disable this ioctl for powerpc and keep it for others while
>    providing yet a new ioctl for the similar functionality.
> 
>   B1. Pass the same struct via a pointer: this needs a special
>       compat_ioctl handling
>   B2. Reduce the size of struct snd_compr_codec_caps, e.g. set
>       MAX_NUM_CODEC_DESCRIPTORS to 16.
> 
> C. What else?

Vinod, what's your take?


Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-next" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux