All of lore.kernel.org
 help / color / mirror / Atom feed
From: Baolin Wang <baolin.wang@linaro.org>
To: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@01.org, Jaroslav Kysela <perex@perex.cz>,
	Takashi Iwai <tiwai@suse.com>, Arnd Bergmann <arnd@arndb.de>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Takashi Sakamoto <o-takashi@sakamocchi.jp>,
	Ingo Molnar <mingo@kernel.org>,
	SF Markus Elfring <elfring@users.sourceforge.net>,
	Dan Carpenter <dan.carpenter@oracle.com>,
	jeeja.kp@intel.com, Vinod Koul <vinod.koul@intel.com>,
	Guneshwor Singh <guneshwor.o.singh@intel.com>,
	subhransu.s.prusty@intel.com, Bhumika Goyal <bhumirks@gmail.com>,
	gudishax.kranthikumar@intel.com, Naveen M <naveen.m@intel.com>,
	hardik.t.shah@intel.com, Arvind Yadav <arvind.yadav.cs@gmail.com>,
	Fabian Frederick <fabf@skynet.be>,
	alsa-devel@alsa-project.org, LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 4/8] ALSA: Avoid using timespec for struct snd_pcm_status
Date: Thu, 26 Apr 2018 18:53:16 +0800	[thread overview]
Message-ID: <CAMz4kuJ0xy-0UByd8UzSUyc9iwgytH7EYE2JPDXFTe-1PFG3+A@mail.gmail.com> (raw)
In-Reply-To: <201804261703.caDB8Qo5%fengguang.wu@intel.com>

Hi Arnd,

On 26 April 2018 at 17:20, kbuild test robot <lkp@intel.com> wrote:
> Hi Baolin,
>
> I love your patch! Perhaps something to improve:
>
> [auto build test WARNING on v4.17-rc2]
> [cannot apply to sound/for-next asoc/for-next arm-soc/for-next next-20180426]
> [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
> reproduce:
>         # apt-get install sparse
>         make ARCH=x86_64 allmodconfig
>         make C=1 CF=-D__CHECK_ENDIAN__
>
>
> sparse warnings: (new ones prefixed by >>)
>
>    sound/core/pcm_native.c:561:51: sparse: incorrect type in assignment (different base types) @@    expected restricted snd_pcm_state_t [usertype] state @@    got t [usertype] state @@
>    sound/core/pcm_native.c:561:51:    expected restricted snd_pcm_state_t [usertype] state
>    sound/core/pcm_native.c:561:51:    got int [signed] state
>    sound/core/pcm_native.c:726:38: sparse: incorrect type in argument 2 (different base types) @@    expected int [signed] state @@    got restricted snd_pcm_state_int [signed] state @@
>    sound/core/pcm_native.c:726:38:    expected int [signed] state
>    sound/core/pcm_native.c:726:38:    got restricted snd_pcm_state_t [usertype] <noident>
>    sound/core/pcm_native.c:738:38: sparse: incorrect type in argument 2 (different base types) @@    expected int [signed] state @@    got restricted snd_pcm_state_int [signed] state @@
>    sound/core/pcm_native.c:738:38:    expected int [signed] state
>    sound/core/pcm_native.c:738:38:    got restricted snd_pcm_state_t [usertype] <noident>
>    sound/core/pcm_native.c:787:38: sparse: incorrect type in argument 2 (different base types) @@    expected int [signed] state @@    got restricted snd_pcm_state_int [signed] state @@
>    sound/core/pcm_native.c:787:38:    expected int [signed] state
>    sound/core/pcm_native.c:787:38:    got restricted snd_pcm_state_t [usertype] <noident>
>>> sound/core/pcm_native.c:995:34: sparse: incorrect type in initializer (different base types) @@    expected signed int [signed] [usertype] [explicitly-signed] state @@    got restricted ssigned int [signed] [usertype] [explicitly-signed] state @@
>    sound/core/pcm_native.c:995:34:    expected signed int [signed] [usertype] [explicitly-signed] state
>    sound/core/pcm_native.c:995:34:    got restricted snd_pcm_state_t [addressable] [assigned] [usertype] state
>>> sound/core/pcm_native.c:1006:44: sparse: incorrect type in initializer (different base types) @@    expected signed int [signed] [usertype] [explicitly-signed] suspended_state @@    got restricted ssigned int [signed] [usertype] [explicitly-signed] suspended_state @@
>    sound/core/pcm_native.c:1006:44:    expected signed int [signed] [usertype] [explicitly-signed] suspended_state
>    sound/core/pcm_native.c:1006:44:    got restricted snd_pcm_state_t [addressable] [assigned] [usertype] suspended_state
>    sound/core/pcm_native.c:1259:32: sparse: incorrect type in assignment (different base types) @@    expected restricted snd_pcm_state_t [usertype] state @@    got t [usertype] state @@
>    sound/core/pcm_native.c:1259:32:    expected restricted snd_pcm_state_t [usertype] state
>    sound/core/pcm_native.c:1259:32:    got int [signed] state
>    sound/core/pcm_native.c:1283:31: sparse: incorrect type in argument 3 (different base types) @@    expected int [signed] state @@    got restricted snd_pcm_state_int [signed] state @@
>    sound/core/pcm_native.c:1283:31:    expected int [signed] state
>    sound/core/pcm_native.c:1283:31:    got restricted snd_pcm_state_t [usertype] <noident>
>    sound/core/pcm_native.c:1290:40: sparse: incorrect type in argument 3 (different base types) @@    expected int [signed] state @@    got restricted snd_pcm_state_int [signed] state @@
>    sound/core/pcm_native.c:1290:40:    expected int [signed] state
>    sound/core/pcm_native.c:1290:40:    got restricted snd_pcm_state_t [usertype] <noident>
>    sound/core/pcm_native.c:1316:28: sparse: restricted snd_pcm_state_t degrades to integer
>    sound/core/pcm_native.c:1318:40: sparse: incorrect type in assignment (different base types) @@    expected restricted snd_pcm_state_t [usertype] state @@    got t [usertype] state @@
>    sound/core/pcm_native.c:1318:40:    expected restricted snd_pcm_state_t [usertype] state
>    sound/core/pcm_native.c:1318:40:    got int [signed] state
>    sound/core/pcm_native.c:1342:64: sparse: incorrect type in argument 3 (different base types) @@    expected int [signed] state @@    got restricted snd_pcm_state_int [signed] state @@
>    sound/core/pcm_native.c:1342:64:    expected int [signed] state
>    sound/core/pcm_native.c:1342:64:    got restricted snd_pcm_state_t [usertype] state
>    sound/core/pcm_native.c:1358:38: sparse: incorrect type in argument 3 (different base types) @@    expected int [signed] state @@    got restricted snd_pcm_state_int [signed] state @@
>    sound/core/pcm_native.c:1358:38:    expected int [signed] state
>    sound/core/pcm_native.c:1358:38:    got restricted snd_pcm_state_t [usertype] <noident>
>    sound/core/pcm_native.c:1717:38: sparse: incorrect type in argument 2 (different base types) @@    expected int [signed] state @@    got restricted snd_pcm_state_int [signed] state @@
>    sound/core/pcm_native.c:1717:38:    expected int [signed] state
>    sound/core/pcm_native.c:1717:38:    got restricted snd_pcm_state_t [usertype] <noident>
>    sound/core/pcm_native.c:1783:61: sparse: incorrect type in argument 2 (different base types) @@    expected int [signed] state @@    got restricted snd_pcm_state_int [signed] state @@
>    sound/core/pcm_native.c:1783:61:    expected int [signed] state
>    sound/core/pcm_native.c:1783:61:    got restricted snd_pcm_state_t [usertype] <noident>
>    sound/core/pcm_native.c:1784:63: sparse: incorrect type in argument 2 (different base types) @@    expected int [signed] state @@    got restricted snd_pcm_state_int [signed] state @@
>    sound/core/pcm_native.c:1784:63:    expected int [signed] state
>    sound/core/pcm_native.c:1784:63:    got restricted snd_pcm_state_t [usertype] <noident>
>    sound/core/pcm_native.c:1801:76: sparse: incorrect type in initializer (different base types) @@    expected int [signed] new_state @@    got restricted snint [signed] new_state @@
>    sound/core/pcm_native.c:1801:76:    expected int [signed] new_state
>    sound/core/pcm_native.c:1801:76:    got restricted snd_pcm_state_t
>    sound/core/pcm_native.c:1904:40: sparse: expression using sizeof(void)
>    sound/core/pcm_native.c:1904:40: sparse: expression using sizeof(void)
>    sound/core/pcm_native.c:2122:26: sparse: restricted snd_pcm_format_t degrades to integer
>    sound/core/pcm_native.c:2126:54: sparse: incorrect type in argument 1 (different base types) @@    expected restricted snd_pcm_format_t [usertype] format @@    got ricted snd_pcm_format_t [usertype] format @@
>    sound/core/pcm_native.c:2126:54:    expected restricted snd_pcm_format_t [usertype] format
>    sound/core/pcm_native.c:2126:54:    got unsigned int [unsigned] [assigned] k
>    sound/core/pcm_native.c:2144:26: sparse: restricted snd_pcm_format_t degrades to integer
>    sound/core/pcm_native.c:2148:54: sparse: incorrect type in argument 1 (different base types) @@    expected restricted snd_pcm_format_t [usertype] format @@    got ricted snd_pcm_format_t [usertype] format @@
>    sound/core/pcm_native.c:2148:54:    expected restricted snd_pcm_format_t [usertype] format
>    sound/core/pcm_native.c:2148:54:    got unsigned int [unsigned] [assigned] k
>    sound/core/pcm_native.c:2328:30: sparse: restricted snd_pcm_access_t degrades to integer
>    sound/core/pcm_native.c:2330:30: sparse: restricted snd_pcm_access_t degrades to integer
>    sound/core/pcm_native.c:2333:38: sparse: restricted snd_pcm_access_t degrades to integer
>    sound/core/pcm_native.c:2335:38: sparse: restricted snd_pcm_access_t degrades to integer
>    sound/core/pcm_native.c:2337:38: sparse: restricted snd_pcm_access_t degrades to integer
>    sound/core/pcm_native.c:2347:86: sparse: restricted snd_pcm_subformat_t degrades to integer
>    include/sound/pcm.h:1093:47: sparse: cast removes address space of expression
>    include/sound/pcm.h:1100:47: sparse: cast removes address space of expression
>    include/sound/pcm.h:1100:47: sparse: cast removes address space of expression
>    include/sound/pcm.h:1093:47: sparse: cast removes address space of expression
>    sound/core/pcm_compat.c:241:32: sparse: incorrect type in initializer (different base types) @@    expected signed int [signed] [usertype] [explicitly-signed] state @@    got restricted ssigned int [signed] [usertype] [explicitly-signed] state @@
>    sound/core/pcm_compat.c:241:32:    expected signed int [signed] [usertype] [explicitly-signed] state
>    sound/core/pcm_compat.c:241:32:    got restricted snd_pcm_state_t [addressable] [assigned] [usertype] state
>    sound/core/pcm_compat.c:252:42: sparse: incorrect type in initializer (different base types) @@    expected signed int [signed] [usertype] [explicitly-signed] suspended_state @@    got restricted ssigned int [signed] [usertype] [explicitly-signed] suspended_state @@
>    sound/core/pcm_compat.c:252:42:    expected signed int [signed] [usertype] [explicitly-signed] suspended_state
>    sound/core/pcm_compat.c:252:42:    got restricted snd_pcm_state_t [addressable] [assigned] [usertype] suspended_state
>    include/sound/pcm.h:1093:47: sparse: cast removes address space of expression
>    include/sound/pcm.h:1100:47: sparse: cast removes address space of expression
>    sound/core/pcm_compat.c:480:13: sparse: incorrect type in assignment (different base types) @@    expected signed int [signed] [explicitly-signed] __pu_val @@    got restrictesigned int [signed] [explicitly-signed] __pu_val @@
>    sound/core/pcm_compat.c:480:13:    expected signed int [signed] [explicitly-signed] __pu_val
>    sound/core/pcm_compat.c:480:13:    got restricted snd_pcm_state_t [assigned] [usertype] state
>    sound/core/pcm_compat.c:483:13: sparse: incorrect type in assignment (different base types) @@    expected signed int [signed] [explicitly-signed] __pu_val @@    got restrictesigned int [signed] [explicitly-signed] __pu_val @@
>    sound/core/pcm_compat.c:483:13:    expected signed int [signed] [explicitly-signed] __pu_val
>    sound/core/pcm_compat.c:483:13:    got restricted snd_pcm_state_t [assigned] [usertype] suspended_state
>    sound/core/pcm_compat.c:569:13: sparse: incorrect type in assignment (different base types) @@    expected signed int [signed] [explicitly-signed] __pu_val @@    got restrictesigned int [signed] [explicitly-signed] __pu_val @@
>    sound/core/pcm_compat.c:569:13:    expected signed int [signed] [explicitly-signed] __pu_val
>    sound/core/pcm_compat.c:569:13:    got restricted snd_pcm_state_t [assigned] [usertype] state
>    sound/core/pcm_compat.c:572:13: sparse: incorrect type in assignment (different base types) @@    expected signed int [signed] [explicitly-signed] __pu_val @@    got restrictesigned int [signed] [explicitly-signed] __pu_val @@
>    sound/core/pcm_compat.c:572:13:    expected signed int [signed] [explicitly-signed] __pu_val
>    sound/core/pcm_compat.c:572:13:    got restricted snd_pcm_state_t [assigned] [usertype] suspended_state
>    sound/core/pcm_native.c:112:9: sparse: context imbalance in 'snd_pcm_stream_lock' - different lock contexts for basic block
>    sound/core/pcm_native.c:134:28: sparse: context imbalance in 'snd_pcm_stream_unlock' - unexpected unlock
>    sound/core/pcm_native.c:1130:52: sparse: context imbalance in 'snd_pcm_action_group' - unexpected unlock
>
> vim +995 sound/core/pcm_native.c
>
>    971
>    972  static int snd_pcm_status_user32(struct snd_pcm_substream *substream,
>    973                                   struct snd_pcm_status32 __user * _status,
>    974                                   bool ext)
>    975  {
>    976          struct snd_pcm_status64 status64;
>    977          struct snd_pcm_status32 status32;
>    978          int res;
>    979
>    980          memset(&status64, 0, sizeof(status64));
>    981          memset(&status32, 0, sizeof(status32));
>    982          /*
>    983           * with extension, parameters are read/write,
>    984           * get audio_tstamp_data from user,
>    985           * ignore rest of status structure
>    986           */
>    987          if (ext && get_user(status64.audio_tstamp_data,
>    988                              (u32 __user *)(&_status->audio_tstamp_data)))
>    989                  return -EFAULT;
>    990          res = snd_pcm_status64(substream, &status64);
>    991          if (res < 0)
>    992                  return res;
>    993
>    994          status32 = (struct snd_pcm_status32) {
>  > 995                  .state = status64.state,
>    996                  .trigger_tstamp_sec = status64.trigger_tstamp_sec,
>    997                  .trigger_tstamp_nsec = status64.trigger_tstamp_nsec,
>    998                  .tstamp_sec = status64.tstamp_sec,
>    999                  .tstamp_nsec = status64.tstamp_nsec,
>   1000                  .appl_ptr = status64.appl_ptr,
>   1001                  .hw_ptr = status64.hw_ptr,
>   1002                  .delay = status64.delay,
>   1003                  .avail = status64.avail,
>   1004                  .avail_max = status64.avail_max,
>   1005                  .overrange = status64.overrange,
>> 1006                  .suspended_state = status64.suspended_state,

I am not sure for the warning here, we should change 'snd_pcm_state_t'
to 's32' for struct snd_pcm_status64?

typedef int __bitwise snd_pcm_state_t;

-- 
Baolin.wang
Best Regards

  reply	other threads:[~2018-04-26 10:53 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-24 12:06 [PATCH 0/8] Fix year 2038 issue for sound subsystem Baolin Wang
2018-04-24 12:06 ` [PATCH 1/8] ALSA: Replace timespec with timespec64 Baolin Wang
2018-04-24 12:06   ` Baolin Wang
2018-04-26  8:15   ` kbuild test robot
2018-04-26  8:15     ` kbuild test robot
2018-04-26  8:30     ` Arnd Bergmann
2018-04-26  8:30       ` Arnd Bergmann
2018-04-26  8:41       ` Baolin Wang
2018-04-26  8:41         ` Baolin Wang
2018-04-24 12:06 ` [PATCH 2/8] ALSA: Avoid using timespec for struct snd_timer_status Baolin Wang
2018-04-24 12:06   ` Baolin Wang
2018-04-24 12:06 ` [PATCH 3/8] ALSA: Avoid using timespec for struct snd_ctl_elem_value Baolin Wang
2018-04-24 12:06 ` [PATCH 4/8] ALSA: Avoid using timespec for struct snd_pcm_status Baolin Wang
2018-04-26  9:20   ` kbuild test robot
2018-04-26  9:20     ` kbuild test robot
2018-04-26 10:53     ` Baolin Wang [this message]
2018-04-26 12:50       ` Arnd Bergmann
2018-04-26 12:50         ` Arnd Bergmann
2018-04-24 12:06 ` [PATCH 5/8] ALSA: Avoid using timespec for struct snd_rawmidi_status Baolin Wang
2018-04-24 12:06   ` Baolin Wang
2018-04-24 12:06 ` [PATCH 6/8] ALSA: Avoid using timespec for struct snd_timer_tread Baolin Wang
2018-04-24 12:06 ` [PATCH 7/8] ALSA: move snd_pcm_ioctl_sync_ptr_compat into pcm_native.c Baolin Wang
2018-04-24 12:06 ` [PATCH 8/8] ALSA: add new 32-bit layout for snd_pcm_mmap_status/control Baolin Wang
2018-04-24 13:27   ` Arnd Bergmann
2018-04-26  3:07   ` kbuild test robot
2018-04-26  3:07     ` kbuild test robot
2018-04-26 11:34     ` Arnd Bergmann
2018-04-26 11:34       ` Arnd Bergmann
2018-04-26  6:20   ` kbuild test robot
2018-04-26  6:20     ` kbuild test robot
2018-04-26  6:23   ` kbuild test robot
2018-04-26  6:23     ` kbuild test robot
2018-04-26 11:25   ` kbuild test robot
2018-04-26 11:25     ` kbuild test robot
2018-04-26 11:31     ` Arnd Bergmann
2018-04-26 11:31       ` Arnd Bergmann
2018-04-26 12:11       ` Takashi Iwai
2018-04-26 12:11         ` Takashi Iwai
2018-04-26 15:14   ` Arnd Bergmann
2018-04-24 13:29 ` [PATCH 0/8] Fix year 2038 issue for sound subsystem Jaroslav Kysela
2018-04-24 13:29   ` Jaroslav Kysela
2018-04-24 13:37   ` Arnd Bergmann
2018-04-24 13:37     ` Arnd Bergmann
2018-04-25  7:23     ` Jaroslav Kysela
2018-04-25 11:26       ` Arnd Bergmann
2018-04-25 11:56         ` Mark Brown
2018-04-24 13:29 ` Arnd Bergmann
2018-04-24 13:29   ` Arnd Bergmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAMz4kuJ0xy-0UByd8UzSUyc9iwgytH7EYE2JPDXFTe-1PFG3+A@mail.gmail.com \
    --to=baolin.wang@linaro.org \
    --cc=alsa-devel@alsa-project.org \
    --cc=arnd@arndb.de \
    --cc=arvind.yadav.cs@gmail.com \
    --cc=bhumirks@gmail.com \
    --cc=broonie@kernel.org \
    --cc=dan.carpenter@oracle.com \
    --cc=elfring@users.sourceforge.net \
    --cc=fabf@skynet.be \
    --cc=gudishax.kranthikumar@intel.com \
    --cc=guneshwor.o.singh@intel.com \
    --cc=hardik.t.shah@intel.com \
    --cc=jeeja.kp@intel.com \
    --cc=kbuild-all@01.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=mingo@kernel.org \
    --cc=naveen.m@intel.com \
    --cc=o-takashi@sakamocchi.jp \
    --cc=perex@perex.cz \
    --cc=subhransu.s.prusty@intel.com \
    --cc=tiwai@suse.com \
    --cc=vinod.koul@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.