lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 16 Jun 2023 12:21:13 +0200
From:   Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To:     kernel test robot <lkp@...el.com>
Cc:     llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
        linux-kernel@...r.kernel.org, Mark Brown <broonie@...nel.org>,
        Rander Wang <rander.wang@...el.com>,
        Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>,
        Péter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
        Bard Liao <yung-chuan.liao@...ux.intel.com>,
        ALSA Development Mailing List <alsa-devel@...a-project.org>
Subject: Re: sound/soc/soc-pcm.c:2089:5: warning: stack frame size (2064)
 exceeds limit (2048) in 'dpcm_be_dai_trigger'



On 6/15/23 20:34, kernel test robot wrote:
> Hi Pierre-Louis,
> 
> First bad commit (maybe != root cause):
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   b6dad5178ceaf23f369c3711062ce1f2afc33644
> commit: 9995c1d096c8ab1b5f1edc4141257719f6a53524 ASoC: soc-pcm: improve BE transition for PAUSE_RELEASE
> date:   1 year, 2 months ago
> config: riscv-buildonly-randconfig-r001-20230615 (https://download.01.org/0day-ci/archive/20230616/202306160240.ahGjvPqw-lkp@intel.com/config)
> compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project.git f28c006a5895fc0e329fe15fead81e37457cb1d1)
> reproduce (this is a W=1 build):
>         mkdir -p ~/bin
>         wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>         chmod +x ~/bin/make.cross
>         # install riscv cross compiling tool for clang build
>         # apt-get install binutils-riscv64-linux-gnu
>         # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9995c1d096c8ab1b5f1edc4141257719f6a53524
>         git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>         git fetch --no-tags linus master
>         git checkout 9995c1d096c8ab1b5f1edc4141257719f6a53524
>         # save the config file
>         mkdir build_dir && cp config build_dir/.config
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=riscv olddefconfig
>         COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang ~/bin/make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash ./ drivers/ fs/ lib/zstd/ mm/ sound/pci/hda/ sound/soc/
> 
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Reported-by: kernel test robot <lkp@...el.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202306160240.ahGjvPqw-lkp@intel.com/
> 
> All warnings (new ones prefixed by >>):
> 
>>> sound/soc/soc-pcm.c:2089:5: warning: stack frame size (2064) exceeds limit (2048) in 'dpcm_be_dai_trigger' [-Wframe-larger-than]
>    int dpcm_be_dai_trigger(struct snd_soc_pcm_runtime *fe, int stream,

Not sure what causes this warning to show up, the code hasn't changed in
1.2 years, nor what to do about it....

>        ^
>    1 warning generated.
> 
> 
> vim +/dpcm_be_dai_trigger +2089 sound/soc/soc-pcm.c
> 
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2088  
> 23607025303af6e Liam Girdwood        2014-01-17 @2089  int dpcm_be_dai_trigger(struct snd_soc_pcm_runtime *fe, int stream,
> 45c0a188ca59e7e Mark Brown           2012-05-09  2090  			       int cmd)
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2091  {
> db3aa39c9106842 Kuninori Morimoto    2021-03-15  2092  	struct snd_soc_pcm_runtime *be;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2093  	bool pause_stop_transition;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2094  	struct snd_soc_dpcm *dpcm;
> b2ae80663008a76 Takashi Iwai         2021-12-07  2095  	unsigned long flags;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2096  	int ret = 0;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2097  
> 8d6258a4dd26783 Kuninori Morimoto    2018-09-18  2098  	for_each_dpcm_be(fe, stream, dpcm) {
> db3aa39c9106842 Kuninori Morimoto    2021-03-15  2099  		struct snd_pcm_substream *be_substream;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2100  
> db3aa39c9106842 Kuninori Morimoto    2021-03-15  2101  		be = dpcm->be;
> db3aa39c9106842 Kuninori Morimoto    2021-03-15  2102  		be_substream = snd_soc_dpcm_get_substream(be, stream);
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2103  
> 3c75c0ea5da749b Takashi Iwai         2022-01-19  2104  		snd_soc_dpcm_stream_lock_irqsave_nested(be, stream, flags);
> b2ae80663008a76 Takashi Iwai         2021-12-07  2105  
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2106  		/* is this op for this BE ? */
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2107  		if (!snd_soc_dpcm_be_can_update(fe, be, stream))
> b2ae80663008a76 Takashi Iwai         2021-12-07  2108  			goto next;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2109  
> a9faca15a644ff7 Kuninori Morimoto    2020-12-01  2110  		dev_dbg(be->dev, "ASoC: trigger BE %s cmd %d\n",
> a9faca15a644ff7 Kuninori Morimoto    2020-12-01  2111  			be->dai_link->name, cmd);
> a9faca15a644ff7 Kuninori Morimoto    2020-12-01  2112  
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2113  		switch (cmd) {
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2114  		case SNDRV_PCM_TRIGGER_START:
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2115  			if (!be->dpcm[stream].be_start &&
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2116  			    (be->dpcm[stream].state != SND_SOC_DPCM_STATE_PREPARE) &&
> 21fca8bdbb64df1 이경택               2020-04-01  2117  			    (be->dpcm[stream].state != SND_SOC_DPCM_STATE_STOP) &&
> 3202e2f5fac0032 Mark Brown           2021-08-30  2118  			    (be->dpcm[stream].state != SND_SOC_DPCM_STATE_PAUSED))
> b2ae80663008a76 Takashi Iwai         2021-12-07  2119  				goto next;
> 6479f7588651cbc Pierre-Louis Bossart 2021-08-17  2120  
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2121  			be->dpcm[stream].be_start++;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2122  			if (be->dpcm[stream].be_start != 1)
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2123  				goto next;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2124  
> a9faca15a644ff7 Kuninori Morimoto    2020-12-01  2125  			ret = soc_pcm_trigger(be_substream, cmd);
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2126  			if (ret) {
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2127  				be->dpcm[stream].be_start--;
> b2ae80663008a76 Takashi Iwai         2021-12-07  2128  				goto next;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2129  			}
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2130  
> 3202e2f5fac0032 Mark Brown           2021-08-30  2131  			be->dpcm[stream].state = SND_SOC_DPCM_STATE_START;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2132  			break;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2133  		case SNDRV_PCM_TRIGGER_RESUME:
> 3202e2f5fac0032 Mark Brown           2021-08-30  2134  			if ((be->dpcm[stream].state != SND_SOC_DPCM_STATE_SUSPEND))
> b2ae80663008a76 Takashi Iwai         2021-12-07  2135  				goto next;
> 6479f7588651cbc Pierre-Louis Bossart 2021-08-17  2136  
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2137  			be->dpcm[stream].be_start++;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2138  			if (be->dpcm[stream].be_start != 1)
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2139  				goto next;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2140  
> a9faca15a644ff7 Kuninori Morimoto    2020-12-01  2141  			ret = soc_pcm_trigger(be_substream, cmd);
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2142  			if (ret) {
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2143  				be->dpcm[stream].be_start--;
> b2ae80663008a76 Takashi Iwai         2021-12-07  2144  				goto next;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2145  			}
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2146  
> 3202e2f5fac0032 Mark Brown           2021-08-30  2147  			be->dpcm[stream].state = SND_SOC_DPCM_STATE_START;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2148  			break;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2149  		case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
> 3aa1e96a2b95e2e Pierre-Louis Bossart 2021-12-07  2150  			if (!be->dpcm[stream].be_start &&
> 3aa1e96a2b95e2e Pierre-Louis Bossart 2021-12-07  2151  			    (be->dpcm[stream].state != SND_SOC_DPCM_STATE_START) &&
> 3aa1e96a2b95e2e Pierre-Louis Bossart 2021-12-07  2152  			    (be->dpcm[stream].state != SND_SOC_DPCM_STATE_PAUSED))
> b2ae80663008a76 Takashi Iwai         2021-12-07  2153  				goto next;
> 6479f7588651cbc Pierre-Louis Bossart 2021-08-17  2154  
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2155  			fe->dpcm[stream].fe_pause = false;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2156  			be->dpcm[stream].be_pause--;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2157  
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2158  			be->dpcm[stream].be_start++;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2159  			if (be->dpcm[stream].be_start != 1)
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2160  				goto next;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2161  
> a9faca15a644ff7 Kuninori Morimoto    2020-12-01  2162  			ret = soc_pcm_trigger(be_substream, cmd);
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2163  			if (ret) {
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2164  				be->dpcm[stream].be_start--;
> b2ae80663008a76 Takashi Iwai         2021-12-07  2165  				goto next;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2166  			}
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2167  
> 3202e2f5fac0032 Mark Brown           2021-08-30  2168  			be->dpcm[stream].state = SND_SOC_DPCM_STATE_START;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2169  			break;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2170  		case SNDRV_PCM_TRIGGER_STOP:
> 21fca8bdbb64df1 이경택               2020-04-01  2171  			if ((be->dpcm[stream].state != SND_SOC_DPCM_STATE_START) &&
> 3202e2f5fac0032 Mark Brown           2021-08-30  2172  			    (be->dpcm[stream].state != SND_SOC_DPCM_STATE_PAUSED))
> b2ae80663008a76 Takashi Iwai         2021-12-07  2173  				goto next;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2174  
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2175  			if (be->dpcm[stream].state == SND_SOC_DPCM_STATE_START)
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2176  				be->dpcm[stream].be_start--;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2177  
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2178  			if (be->dpcm[stream].be_start != 0)
> b2ae80663008a76 Takashi Iwai         2021-12-07  2179  				goto next;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2180  
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2181  			pause_stop_transition = false;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2182  			if (fe->dpcm[stream].fe_pause) {
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2183  				pause_stop_transition = true;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2184  				fe->dpcm[stream].fe_pause = false;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2185  				be->dpcm[stream].be_pause--;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2186  			}
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2187  
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2188  			if (be->dpcm[stream].be_pause != 0)
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2189  				ret = soc_pcm_trigger(be_substream, SNDRV_PCM_TRIGGER_PAUSE_PUSH);
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2190  			else
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2191  				ret = soc_pcm_trigger(be_substream, SNDRV_PCM_TRIGGER_STOP);
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2192  
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2193  			if (ret) {
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2194  				if (be->dpcm[stream].state == SND_SOC_DPCM_STATE_START)
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2195  					be->dpcm[stream].be_start++;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2196  				if (pause_stop_transition) {
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2197  					fe->dpcm[stream].fe_pause = true;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2198  					be->dpcm[stream].be_pause++;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2199  				}
> b2ae80663008a76 Takashi Iwai         2021-12-07  2200  				goto next;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2201  			}
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2202  
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2203  			if (be->dpcm[stream].be_pause != 0)
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2204  				be->dpcm[stream].state = SND_SOC_DPCM_STATE_PAUSED;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2205  			else
> 3202e2f5fac0032 Mark Brown           2021-08-30  2206  				be->dpcm[stream].state = SND_SOC_DPCM_STATE_STOP;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2207  
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2208  			break;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2209  		case SNDRV_PCM_TRIGGER_SUSPEND:
> 3202e2f5fac0032 Mark Brown           2021-08-30  2210  			if (be->dpcm[stream].state != SND_SOC_DPCM_STATE_START)
> b2ae80663008a76 Takashi Iwai         2021-12-07  2211  				goto next;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2212  
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2213  			be->dpcm[stream].be_start--;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2214  			if (be->dpcm[stream].be_start != 0)
> b2ae80663008a76 Takashi Iwai         2021-12-07  2215  				goto next;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2216  
> a9faca15a644ff7 Kuninori Morimoto    2020-12-01  2217  			ret = soc_pcm_trigger(be_substream, cmd);
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2218  			if (ret) {
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2219  				be->dpcm[stream].be_start++;
> b2ae80663008a76 Takashi Iwai         2021-12-07  2220  				goto next;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2221  			}
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2222  
> 3202e2f5fac0032 Mark Brown           2021-08-30  2223  			be->dpcm[stream].state = SND_SOC_DPCM_STATE_SUSPEND;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2224  			break;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2225  		case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
> 3202e2f5fac0032 Mark Brown           2021-08-30  2226  			if (be->dpcm[stream].state != SND_SOC_DPCM_STATE_START)
> b2ae80663008a76 Takashi Iwai         2021-12-07  2227  				goto next;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2228  
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2229  			fe->dpcm[stream].fe_pause = true;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2230  			be->dpcm[stream].be_pause++;
> 9995c1d096c8ab1 Pierre-Louis Bossart 2022-04-06  2231  
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2232  			be->dpcm[stream].be_start--;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2233  			if (be->dpcm[stream].be_start != 0)
> b2ae80663008a76 Takashi Iwai         2021-12-07  2234  				goto next;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2235  
> a9faca15a644ff7 Kuninori Morimoto    2020-12-01  2236  			ret = soc_pcm_trigger(be_substream, cmd);
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2237  			if (ret) {
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2238  				be->dpcm[stream].be_start++;
> b2ae80663008a76 Takashi Iwai         2021-12-07  2239  				goto next;
> 848aedfdc6ba25a Pierre-Louis Bossart 2021-12-07  2240  			}
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2241  
> 3202e2f5fac0032 Mark Brown           2021-08-30  2242  			be->dpcm[stream].state = SND_SOC_DPCM_STATE_PAUSED;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2243  			break;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2244  		}
> b2ae80663008a76 Takashi Iwai         2021-12-07  2245  next:
> b2ae80663008a76 Takashi Iwai         2021-12-07  2246  		snd_soc_dpcm_stream_unlock_irqrestore(be, stream, flags);
> b2ae80663008a76 Takashi Iwai         2021-12-07  2247  		if (ret)
> b2ae80663008a76 Takashi Iwai         2021-12-07  2248  			break;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2249  	}
> db3aa39c9106842 Kuninori Morimoto    2021-03-15  2250  	if (ret < 0)
> db3aa39c9106842 Kuninori Morimoto    2021-03-15  2251  		dev_err(fe->dev, "ASoC: %s() failed at %s (%d)\n",
> db3aa39c9106842 Kuninori Morimoto    2021-03-15  2252  			__func__, be->dai_link->name, ret);
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2253  	return ret;
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2254  }
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2255  EXPORT_SYMBOL_GPL(dpcm_be_dai_trigger);
> 01d7584cd2e5a93 Liam Girdwood        2012-04-25  2256  
> 
> :::::: The code at line 2089 was first introduced by commit
> :::::: 23607025303af6e84bc2cd4cabe89c21f6a22a3f ASoC: DPCM: make some DPCM API calls non static for compressed usage
> 
> :::::: TO: Liam Girdwood <liam.r.girdwood@...ux.intel.com>
> :::::: CC: Mark Brown <broonie@...aro.org>
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ