From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: linux-next: build failure after merge of the akpm tree Date: Wed, 20 Jan 2016 15:09:47 +0100 Message-ID: References: <20151231232210.7ab890f1@canb.auug.org.au> <20160114151541.17e76d23@canb.auug.org.au> <20160115130527.c43357d0aef93d22380c6673@linux-foundation.org> <20160116100047.681e0e03@canb.auug.org.au> <20160115151401.03fe1a39ca397079407c2ca9@linux-foundation.org> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Return-path: Received: from mx2.suse.de ([195.135.220.15]:53019 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933132AbcATOJu (ORCPT ); Wed, 20 Jan 2016 09:09:50 -0500 In-Reply-To: Sender: linux-next-owner@vger.kernel.org List-ID: To: Vinod Koul Cc: Andrew Morton , Stephen Rothwell , linux-next@vger.kernel.org, linux-kernel@vger.kernel.org, Pierre-Louis Bossart 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 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