Re: [PATCH 8/8] ALSA: add new 32-bit layout for snd_pcm_mmap_status/control

From: kbuild test robot
Date: Thu Apr 26 2018 - 02:21:37 EST


Hi Arnd,

I love your patch! Yet something to improve:

[auto build test ERROR on v4.17-rc2]
[cannot apply to sound/for-next asoc/for-next arm-soc/for-next next-20180424]
[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: x86_64-acpi-redef (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

In file included from sound/core/pcm_native.c:3728:0:
sound/core/pcm_compat.c: In function 'snd_pcm_ioctl_compat':
>> sound/core/pcm_compat.c:580:2: error: duplicate case value
case SNDRV_PCM_IOCTL_SYNC_PTR_X32:
^~~~
sound/core/pcm_compat.c:547:2: note: previously used here
case __SNDRV_PCM_IOCTL_SYNC_PTR64:
^~~~

vim +580 sound/core/pcm_compat.c

^1da177e Linus Torvalds 2005-04-16 507
^1da177e Linus Torvalds 2005-04-16 508 static long snd_pcm_ioctl_compat(struct file *file, unsigned int cmd, unsigned long arg)
^1da177e Linus Torvalds 2005-04-16 509 {
877211f5 Takashi Iwai 2005-11-17 510 struct snd_pcm_file *pcm_file;
877211f5 Takashi Iwai 2005-11-17 511 struct snd_pcm_substream *substream;
^1da177e Linus Torvalds 2005-04-16 512 void __user *argp = compat_ptr(arg);
^1da177e Linus Torvalds 2005-04-16 513
^1da177e Linus Torvalds 2005-04-16 514 pcm_file = file->private_data;
^1da177e Linus Torvalds 2005-04-16 515 if (! pcm_file)
^1da177e Linus Torvalds 2005-04-16 516 return -ENOTTY;
^1da177e Linus Torvalds 2005-04-16 517 substream = pcm_file->substream;
^1da177e Linus Torvalds 2005-04-16 518 if (! substream)
^1da177e Linus Torvalds 2005-04-16 519 return -ENOTTY;
^1da177e Linus Torvalds 2005-04-16 520
^1da177e Linus Torvalds 2005-04-16 521 /*
^1da177e Linus Torvalds 2005-04-16 522 * When PCM is used on 32bit mode, we need to disable
53cdcc38 Arnd Bergmann 2018-04-24 523 * mmap of the old PCM status/control records because
53cdcc38 Arnd Bergmann 2018-04-24 524 * of the size incompatibility.
^1da177e Linus Torvalds 2005-04-16 525 */
548a648b Takashi Iwai 2006-07-31 526 pcm_file->no_compat_mmap = 1;
^1da177e Linus Torvalds 2005-04-16 527
^1da177e Linus Torvalds 2005-04-16 528 switch (cmd) {
^1da177e Linus Torvalds 2005-04-16 529 case SNDRV_PCM_IOCTL_PVERSION:
^1da177e Linus Torvalds 2005-04-16 530 case SNDRV_PCM_IOCTL_INFO:
5a7f2619 Takashi Iwai 2007-12-17 531 case SNDRV_PCM_IOCTL_TSTAMP:
6b587ef9 Takashi Iwai 2007-12-14 532 case SNDRV_PCM_IOCTL_TTSTAMP:
4b671f57 Takashi Iwai 2017-06-19 533 case SNDRV_PCM_IOCTL_USER_PVERSION:
^1da177e Linus Torvalds 2005-04-16 534 case SNDRV_PCM_IOCTL_HWSYNC:
^1da177e Linus Torvalds 2005-04-16 535 case SNDRV_PCM_IOCTL_PREPARE:
^1da177e Linus Torvalds 2005-04-16 536 case SNDRV_PCM_IOCTL_RESET:
^1da177e Linus Torvalds 2005-04-16 537 case SNDRV_PCM_IOCTL_START:
^1da177e Linus Torvalds 2005-04-16 538 case SNDRV_PCM_IOCTL_DROP:
^1da177e Linus Torvalds 2005-04-16 539 case SNDRV_PCM_IOCTL_DRAIN:
^1da177e Linus Torvalds 2005-04-16 540 case SNDRV_PCM_IOCTL_PAUSE:
^1da177e Linus Torvalds 2005-04-16 541 case SNDRV_PCM_IOCTL_HW_FREE:
^1da177e Linus Torvalds 2005-04-16 542 case SNDRV_PCM_IOCTL_RESUME:
^1da177e Linus Torvalds 2005-04-16 543 case SNDRV_PCM_IOCTL_XRUN:
^1da177e Linus Torvalds 2005-04-16 544 case SNDRV_PCM_IOCTL_LINK:
^1da177e Linus Torvalds 2005-04-16 545 case SNDRV_PCM_IOCTL_UNLINK:
53cdcc38 Arnd Bergmann 2018-04-24 546 case __SNDRV_PCM_IOCTL_SYNC_PTR32:
53cdcc38 Arnd Bergmann 2018-04-24 547 case __SNDRV_PCM_IOCTL_SYNC_PTR64:
67616fed Takashi Iwai 2017-08-30 548 return snd_pcm_common_ioctl(file, substream, cmd, argp);
^1da177e Linus Torvalds 2005-04-16 549 case SNDRV_PCM_IOCTL_HW_REFINE32:
^1da177e Linus Torvalds 2005-04-16 550 return snd_pcm_ioctl_hw_params_compat(substream, 1, argp);
^1da177e Linus Torvalds 2005-04-16 551 case SNDRV_PCM_IOCTL_HW_PARAMS32:
^1da177e Linus Torvalds 2005-04-16 552 return snd_pcm_ioctl_hw_params_compat(substream, 0, argp);
^1da177e Linus Torvalds 2005-04-16 553 case SNDRV_PCM_IOCTL_SW_PARAMS32:
^1da177e Linus Torvalds 2005-04-16 554 return snd_pcm_ioctl_sw_params_compat(substream, argp);
de41e437 Baolin Wang 2018-04-24 555 case SNDRV_PCM_IOCTL_STATUS_COMPAT32:
de41e437 Baolin Wang 2018-04-24 556 return snd_pcm_status_user32(substream, argp, false);
de41e437 Baolin Wang 2018-04-24 557 case SNDRV_PCM_IOCTL_STATUS_EXT_COMPAT32:
de41e437 Baolin Wang 2018-04-24 558 return snd_pcm_status_user32(substream, argp, true);
^1da177e Linus Torvalds 2005-04-16 559 case SNDRV_PCM_IOCTL_CHANNEL_INFO32:
^1da177e Linus Torvalds 2005-04-16 560 return snd_pcm_ioctl_channel_info_compat(substream, argp);
^1da177e Linus Torvalds 2005-04-16 561 case SNDRV_PCM_IOCTL_WRITEI_FRAMES32:
^1da177e Linus Torvalds 2005-04-16 562 return snd_pcm_ioctl_xferi_compat(substream, SNDRV_PCM_STREAM_PLAYBACK, argp);
^1da177e Linus Torvalds 2005-04-16 563 case SNDRV_PCM_IOCTL_READI_FRAMES32:
^1da177e Linus Torvalds 2005-04-16 564 return snd_pcm_ioctl_xferi_compat(substream, SNDRV_PCM_STREAM_CAPTURE, argp);
^1da177e Linus Torvalds 2005-04-16 565 case SNDRV_PCM_IOCTL_WRITEN_FRAMES32:
^1da177e Linus Torvalds 2005-04-16 566 return snd_pcm_ioctl_xfern_compat(substream, SNDRV_PCM_STREAM_PLAYBACK, argp);
^1da177e Linus Torvalds 2005-04-16 567 case SNDRV_PCM_IOCTL_READN_FRAMES32:
^1da177e Linus Torvalds 2005-04-16 568 return snd_pcm_ioctl_xfern_compat(substream, SNDRV_PCM_STREAM_CAPTURE, argp);
^1da177e Linus Torvalds 2005-04-16 569 case SNDRV_PCM_IOCTL_DELAY32:
^1da177e Linus Torvalds 2005-04-16 570 return snd_pcm_ioctl_delay_compat(substream, argp);
^1da177e Linus Torvalds 2005-04-16 571 case SNDRV_PCM_IOCTL_REWIND32:
^1da177e Linus Torvalds 2005-04-16 572 return snd_pcm_ioctl_rewind_compat(substream, argp);
^1da177e Linus Torvalds 2005-04-16 573 case SNDRV_PCM_IOCTL_FORWARD32:
^1da177e Linus Torvalds 2005-04-16 574 return snd_pcm_ioctl_forward_compat(substream, argp);
de41e437 Baolin Wang 2018-04-24 575 case SNDRV_PCM_IOCTL_STATUS_COMPAT64:
de41e437 Baolin Wang 2018-04-24 576 return snd_pcm_status_user_compat64(substream, argp, false);
de41e437 Baolin Wang 2018-04-24 577 case SNDRV_PCM_IOCTL_STATUS_EXT_COMPAT64:
de41e437 Baolin Wang 2018-04-24 578 return snd_pcm_status_user_compat64(substream, argp, true);
513ace79 Takashi Iwai 2016-02-28 579 #ifdef CONFIG_X86_X32
513ace79 Takashi Iwai 2016-02-28 @580 case SNDRV_PCM_IOCTL_SYNC_PTR_X32:

:::::: The code at line 580 was first introduced by commit
:::::: 513ace79b657e2022a592e77f24074e088681ecc ALSA: pcm: Fix ioctls for X32 ABI

:::::: TO: Takashi Iwai <tiwai@xxxxxxx>
:::::: CC: Takashi Iwai <tiwai@xxxxxxx>

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

Attachment: .config.gz
Description: application/gzip