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]
Message-ID: <201804261345.1lsWsCDl%fengguang.wu@intel.com>
Date:   Thu, 26 Apr 2018 16:15:32 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Baolin Wang <baolin.wang@...aro.org>
Cc:     kbuild-all@...org, perex@...ex.cz, tiwai@...e.com, arnd@...db.de,
        baolin.wang@...aro.org, lgirdwood@...il.com, broonie@...nel.org,
        o-takashi@...amocchi.jp, mingo@...nel.org,
        elfring@...rs.sourceforge.net, dan.carpenter@...cle.com,
        jeeja.kp@...el.com, vinod.koul@...el.com,
        guneshwor.o.singh@...el.com, subhransu.s.prusty@...el.com,
        bhumirks@...il.com, gudishax.kranthikumar@...el.com,
        naveen.m@...el.com, hardik.t.shah@...el.com,
        arvind.yadav.cs@...il.com, fabf@...net.be,
        alsa-devel@...a-project.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/8] ALSA: Replace timespec with timespec64

Hi Baolin,

I love your patch! Yet something to improve:

[auto build test ERROR on v4.17-rc2]
[also build test ERROR on next-20180424]
[cannot apply to sound/for-next asoc/for-next arm-soc/for-next]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Baolin-Wang/Fix-year-2038-issue-for-sound-subsystem/20180426-010145
config: sh-ecovec24_defconfig (attached as .config)
compiler: sh4-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=sh 

Note: the linux-review/Baolin-Wang/Fix-year-2038-issue-for-sound-subsystem/20180426-010145 HEAD 53cdcc389f07bdd923be240cdb746a97de063301 builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   sound/core/pcm_lib.c: In function 'update_audio_tstamp':
>> sound/core/pcm_lib.c:256:54: error: passing argument 2 of 'timespec_equal' from incompatible pointer type [-Werror=incompatible-pointer-types]
     if (!timespec_equal(&runtime->status->audio_tstamp, audio_tstamp)) {
                                                         ^~~~~~~~~~~~
   In file included from include/linux/time.h:73:0,
                    from include/linux/ktime.h:24,
                    from include/linux/timer.h:6,
                    from include/linux/workqueue.h:9,
                    from include/linux/srcu.h:34,
                    from include/linux/notifier.h:16,
                    from include/linux/memory_hotplug.h:7,
                    from include/linux/mmzone.h:777,
                    from include/linux/gfp.h:6,
                    from include/linux/slab.h:15,
                    from sound/core/pcm_lib.c:23:
   include/linux/time32.h:59:19: note: expected 'const struct timespec *' but argument is of type 'struct timespec64 *'
    static inline int timespec_equal(const struct timespec *a,
                      ^~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/timespec_equal +256 sound/core/pcm_lib.c

^1da177e Linus Torvalds       2005-04-16  222  
3179f620 Pierre-Louis Bossart 2015-02-13  223  static void update_audio_tstamp(struct snd_pcm_substream *substream,
ac8bbfea Baolin Wang          2018-04-24  224  				struct timespec64 *curr_tstamp,
ac8bbfea Baolin Wang          2018-04-24  225  				struct timespec64 *audio_tstamp)
3179f620 Pierre-Louis Bossart 2015-02-13  226  {
3179f620 Pierre-Louis Bossart 2015-02-13  227  	struct snd_pcm_runtime *runtime = substream->runtime;
3179f620 Pierre-Louis Bossart 2015-02-13  228  	u64 audio_frames, audio_nsecs;
ac8bbfea Baolin Wang          2018-04-24  229  	struct timespec64 driver_tstamp;
3179f620 Pierre-Louis Bossart 2015-02-13  230  
3179f620 Pierre-Louis Bossart 2015-02-13  231  	if (runtime->tstamp_mode != SNDRV_PCM_TSTAMP_ENABLE)
3179f620 Pierre-Louis Bossart 2015-02-13  232  		return;
3179f620 Pierre-Louis Bossart 2015-02-13  233  
3179f620 Pierre-Louis Bossart 2015-02-13  234  	if (!(substream->ops->get_time_info) ||
3179f620 Pierre-Louis Bossart 2015-02-13  235  		(runtime->audio_tstamp_report.actual_type ==
3179f620 Pierre-Louis Bossart 2015-02-13  236  			SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT)) {
3179f620 Pierre-Louis Bossart 2015-02-13  237  
3179f620 Pierre-Louis Bossart 2015-02-13  238  		/*
3179f620 Pierre-Louis Bossart 2015-02-13  239  		 * provide audio timestamp derived from pointer position
3179f620 Pierre-Louis Bossart 2015-02-13  240  		 * add delay only if requested
3179f620 Pierre-Louis Bossart 2015-02-13  241  		 */
3179f620 Pierre-Louis Bossart 2015-02-13  242  
3179f620 Pierre-Louis Bossart 2015-02-13  243  		audio_frames = runtime->hw_ptr_wrap + runtime->status->hw_ptr;
3179f620 Pierre-Louis Bossart 2015-02-13  244  
3179f620 Pierre-Louis Bossart 2015-02-13  245  		if (runtime->audio_tstamp_config.report_delay) {
3179f620 Pierre-Louis Bossart 2015-02-13  246  			if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
3179f620 Pierre-Louis Bossart 2015-02-13  247  				audio_frames -=  runtime->delay;
3179f620 Pierre-Louis Bossart 2015-02-13  248  			else
3179f620 Pierre-Louis Bossart 2015-02-13  249  				audio_frames +=  runtime->delay;
3179f620 Pierre-Louis Bossart 2015-02-13  250  		}
3179f620 Pierre-Louis Bossart 2015-02-13  251  		audio_nsecs = div_u64(audio_frames * 1000000000LL,
3179f620 Pierre-Louis Bossart 2015-02-13  252  				runtime->rate);
ac8bbfea Baolin Wang          2018-04-24  253  		*audio_tstamp = ns_to_timespec64(audio_nsecs);
3179f620 Pierre-Louis Bossart 2015-02-13  254  	}
ac8bbfea Baolin Wang          2018-04-24  255  
20e3f985 Henrik Eriksson      2017-11-21 @256  	if (!timespec_equal(&runtime->status->audio_tstamp, audio_tstamp)) {
ac8bbfea Baolin Wang          2018-04-24  257  		runtime->status->audio_tstamp =
ac8bbfea Baolin Wang          2018-04-24  258  			timespec64_to_timespec(*audio_tstamp);
ac8bbfea Baolin Wang          2018-04-24  259  		runtime->status->tstamp = timespec64_to_timespec(*curr_tstamp);
20e3f985 Henrik Eriksson      2017-11-21  260  	}
3179f620 Pierre-Louis Bossart 2015-02-13  261  
ac8bbfea Baolin Wang          2018-04-24  262  
3179f620 Pierre-Louis Bossart 2015-02-13  263  	/*
3179f620 Pierre-Louis Bossart 2015-02-13  264  	 * re-take a driver timestamp to let apps detect if the reference tstamp
3179f620 Pierre-Louis Bossart 2015-02-13  265  	 * read by low-level hardware was provided with a delay
3179f620 Pierre-Louis Bossart 2015-02-13  266  	 */
ac8bbfea Baolin Wang          2018-04-24  267  	snd_pcm_gettime(substream->runtime, &driver_tstamp);
3179f620 Pierre-Louis Bossart 2015-02-13  268  	runtime->driver_tstamp = driver_tstamp;
3179f620 Pierre-Louis Bossart 2015-02-13  269  }
3179f620 Pierre-Louis Bossart 2015-02-13  270  

:::::: The code at line 256 was first introduced by commit
:::::: 20e3f985bb875fea4f86b04eba4b6cc29bfd6b71 ALSA: pcm: update tstamp only if audio_tstamp changed

:::::: TO: Henrik Eriksson <henrik.eriksson@...s.com>
:::::: CC: Takashi Iwai <tiwai@...e.de>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (15699 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ