All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Takashi Iwai <tiwai@suse.de>
Cc: oe-kbuild-all@lists.linux.dev, alsa-devel@alsa-project.org
Subject: [tiwai-sound:test/format-truncation-fixes 20/23] sound/pci/cmipci.c:3106:35: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size 8
Date: Wed, 13 Sep 2023 02:07:58 +0800	[thread overview]
Message-ID: <202309130112.VUtCZ4wu-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git test/format-truncation-fixes
head:   5eb64dfc2dc9c05e50f2f122d77b28cede293b6b
commit: 1c87c035c832a55414b42288df76bb10a5b11b34 [20/23] ALSA: cmipci: Fix -Wformat-truncation warning
config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20230913/202309130112.VUtCZ4wu-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230913/202309130112.VUtCZ4wu-lkp@intel.com/reproduce)

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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309130112.VUtCZ4wu-lkp@intel.com/

All warnings (new ones prefixed by >>):

   sound/pci/cmipci.c: In function 'snd_cmipci_create':
>> sound/pci/cmipci.c:3106:35: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size 8 [-Wformat-truncation=]
    3106 |                          " (model %d)", cm->chip_version);
         |                                   ^~
   sound/pci/cmipci.c:3106:26: note: directive argument in the range [-2147483648, 67]
    3106 |                          " (model %d)", cm->chip_version);
         |                          ^~~~~~~~~~~~~
   sound/pci/cmipci.c:3105:17: note: 'snprintf' output between 11 and 21 bytes into a destination of size 16
    3105 |                 snprintf(modelstr, sizeof(modelstr),
         |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    3106 |                          " (model %d)", cm->chip_version);
         |                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +3106 sound/pci/cmipci.c

  3041	
  3042		/* initialize codec registers */
  3043		snd_cmipci_set_bit(cm, CM_REG_MISC_CTRL, CM_RESET);
  3044		snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_RESET);
  3045		snd_cmipci_write(cm, CM_REG_INT_HLDCLR, 0);	/* disable ints */
  3046		snd_cmipci_ch_reset(cm, CM_CH_PLAY);
  3047		snd_cmipci_ch_reset(cm, CM_CH_CAPT);
  3048		snd_cmipci_write(cm, CM_REG_FUNCTRL0, 0);	/* disable channels */
  3049		snd_cmipci_write(cm, CM_REG_FUNCTRL1, 0);
  3050	
  3051		snd_cmipci_write(cm, CM_REG_CHFORMAT, 0);
  3052		snd_cmipci_set_bit(cm, CM_REG_MISC_CTRL, CM_ENDBDAC|CM_N4SPK3D);
  3053	#if CM_CH_PLAY == 1
  3054		snd_cmipci_set_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC);
  3055	#else
  3056		snd_cmipci_clear_bit(cm, CM_REG_MISC_CTRL, CM_XCHGDAC);
  3057	#endif
  3058		if (cm->chip_version) {
  3059			snd_cmipci_write_b(cm, CM_REG_EXT_MISC, 0x20); /* magic */
  3060			snd_cmipci_write_b(cm, CM_REG_EXT_MISC + 1, 0x09); /* more magic */
  3061		}
  3062		/* Set Bus Master Request */
  3063		snd_cmipci_set_bit(cm, CM_REG_FUNCTRL1, CM_BREQ);
  3064	
  3065		/* Assume TX and compatible chip set (Autodetection required for VX chip sets) */
  3066		switch (pci->device) {
  3067		case PCI_DEVICE_ID_CMEDIA_CM8738:
  3068		case PCI_DEVICE_ID_CMEDIA_CM8738B:
  3069			if (!pci_dev_present(intel_82437vx)) 
  3070				snd_cmipci_set_bit(cm, CM_REG_MISC_CTRL, CM_TXVX);
  3071			break;
  3072		default:
  3073			break;
  3074		}
  3075	
  3076		if (cm->chip_version < 68) {
  3077			val = pci->device < 0x110 ? 8338 : 8738;
  3078		} else {
  3079			switch (snd_cmipci_read_b(cm, CM_REG_INT_HLDCLR + 3) & 0x03) {
  3080			case 0:
  3081				val = 8769;
  3082				break;
  3083			case 2:
  3084				val = 8762;
  3085				break;
  3086			default:
  3087				switch ((pci->subsystem_vendor << 16) |
  3088					pci->subsystem_device) {
  3089				case 0x13f69761:
  3090				case 0x584d3741:
  3091				case 0x584d3751:
  3092				case 0x584d3761:
  3093				case 0x584d3771:
  3094				case 0x72848384:
  3095					val = 8770;
  3096					break;
  3097				default:
  3098					val = 8768;
  3099					break;
  3100				}
  3101			}
  3102		}
  3103		sprintf(card->shortname, "C-Media CMI%d", val);
  3104		if (cm->chip_version < 68)
  3105			snprintf(modelstr, sizeof(modelstr),
> 3106				 " (model %d)", cm->chip_version);
  3107		else
  3108			modelstr[0] = '\0';
  3109		scnprintf(card->longname, sizeof(card->longname),
  3110			  "%s%s at %#lx, irq %i",
  3111			  card->shortname, modelstr, cm->iobase, cm->irq);
  3112	
  3113		if (cm->chip_version >= 39) {
  3114			val = snd_cmipci_read_b(cm, CM_REG_MPU_PCI + 1);
  3115			if (val != 0x00 && val != 0xff) {
  3116				if (mpu_port[dev])
  3117					iomidi = cm->iobase + CM_REG_MPU_PCI;
  3118				integrated_midi = 1;
  3119			}
  3120		}
  3121		if (!integrated_midi) {
  3122			val = 0;
  3123			iomidi = mpu_port[dev];
  3124			switch (iomidi) {
  3125			case 0x320: val = CM_VMPU_320; break;
  3126			case 0x310: val = CM_VMPU_310; break;
  3127			case 0x300: val = CM_VMPU_300; break;
  3128			case 0x330: val = CM_VMPU_330; break;
  3129			default:
  3130				    iomidi = 0; break;
  3131			}
  3132			if (iomidi > 0) {
  3133				snd_cmipci_write(cm, CM_REG_LEGACY_CTRL, val);
  3134				/* enable UART */
  3135				snd_cmipci_set_bit(cm, CM_REG_FUNCTRL1, CM_UART_EN);
  3136				if (inb(iomidi + 1) == 0xff) {
  3137					dev_err(cm->card->dev,
  3138						"cannot enable MPU-401 port at %#lx\n",
  3139						iomidi);
  3140					snd_cmipci_clear_bit(cm, CM_REG_FUNCTRL1,
  3141							     CM_UART_EN);
  3142					iomidi = 0;
  3143				}
  3144			}
  3145		}
  3146	
  3147		if (cm->chip_version < 68) {
  3148			err = snd_cmipci_create_fm(cm, fm_port[dev]);
  3149			if (err < 0)
  3150				return err;
  3151		}
  3152	
  3153		/* reset mixer */
  3154		snd_cmipci_mixer_write(cm, 0, 0);
  3155	
  3156		snd_cmipci_proc_init(cm);
  3157	
  3158		/* create pcm devices */
  3159		pcm_index = pcm_spdif_index = 0;
  3160		err = snd_cmipci_pcm_new(cm, pcm_index);
  3161		if (err < 0)
  3162			return err;
  3163		pcm_index++;
  3164		err = snd_cmipci_pcm2_new(cm, pcm_index);
  3165		if (err < 0)
  3166			return err;
  3167		pcm_index++;
  3168		if (cm->can_ac3_hw || cm->can_ac3_sw) {
  3169			pcm_spdif_index = pcm_index;
  3170			err = snd_cmipci_pcm_spdif_new(cm, pcm_index);
  3171			if (err < 0)
  3172				return err;
  3173		}
  3174	
  3175		/* create mixer interface & switches */
  3176		err = snd_cmipci_mixer_new(cm, pcm_spdif_index);
  3177		if (err < 0)
  3178			return err;
  3179	
  3180		if (iomidi > 0) {
  3181			err = snd_mpu401_uart_new(card, 0, MPU401_HW_CMIPCI,
  3182						  iomidi,
  3183						  (integrated_midi ?
  3184						   MPU401_INFO_INTEGRATED : 0) |
  3185						  MPU401_INFO_IRQ_HOOK,
  3186						  -1, &cm->rmidi);
  3187			if (err < 0)
  3188				dev_err(cm->card->dev,
  3189					"no UART401 device at 0x%lx\n", iomidi);
  3190		}
  3191	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2023-09-12 18:09 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202309130112.VUtCZ4wu-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=tiwai@suse.de \
    /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.