mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	ALSA: Convert strlcpy to strscpy when return value is unused
strlcpy is deprecated. see: Documentation/process/deprecated.rst Change the calls that do not use the strlcpy return value to the preferred strscpy. Done with cocci script: @@ expression e1, e2, e3; @@ - strlcpy( + strscpy( e1, e2, e3); This cocci script leaves the instances where the return value is used unchanged. After this patch, sound/ has 3 uses of strlcpy() that need to be manually inspected for conversion and changed one day. $ git grep -w strlcpy sound/ sound/usb/card.c: len = strlcpy(card->longname, s, sizeof(card->longname)); sound/usb/mixer.c: return strlcpy(buf, p->name, buflen); sound/usb/mixer.c: return strlcpy(buf, p->names[index], buflen); Miscellenea: o Remove trailing whitespace in conversion of sound/core/hwdep.c Link: https://lore.kernel.org/lkml/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/ Signed-off-by: Joe Perches <joe@perches.com> Acked-by: Mark Brown <broonie@kernel.org> Link: https://lore.kernel.org/r/22b393d1790bb268769d0bab7bacf0866dcb0c14.camel@perches.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
		
							parent
							
								
									6dcb8bf9a1
								
							
						
					
					
						commit
						75b1a8f9d6
					
				
					 79 changed files with 134 additions and 134 deletions
				
			
		| 
						 | 
					@ -1013,7 +1013,7 @@ static int onyx_i2c_probe(struct i2c_client *client,
 | 
				
			||||||
		goto fail;
 | 
							goto fail;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(onyx->codec.name, "onyx", MAX_CODEC_NAME_LEN);
 | 
						strscpy(onyx->codec.name, "onyx", MAX_CODEC_NAME_LEN);
 | 
				
			||||||
	onyx->codec.owner = THIS_MODULE;
 | 
						onyx->codec.owner = THIS_MODULE;
 | 
				
			||||||
	onyx->codec.init = onyx_init_codec;
 | 
						onyx->codec.init = onyx_init_codec;
 | 
				
			||||||
	onyx->codec.exit = onyx_exit_codec;
 | 
						onyx->codec.exit = onyx_exit_codec;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -894,7 +894,7 @@ static int tas_i2c_probe(struct i2c_client *client,
 | 
				
			||||||
	/* seems that half is a saner default */
 | 
						/* seems that half is a saner default */
 | 
				
			||||||
	tas->drc_range = TAS3004_DRC_MAX / 2;
 | 
						tas->drc_range = TAS3004_DRC_MAX / 2;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(tas->codec.name, "tas", MAX_CODEC_NAME_LEN);
 | 
						strscpy(tas->codec.name, "tas", MAX_CODEC_NAME_LEN);
 | 
				
			||||||
	tas->codec.owner = THIS_MODULE;
 | 
						tas->codec.owner = THIS_MODULE;
 | 
				
			||||||
	tas->codec.init = tas_init_codec;
 | 
						tas->codec.init = tas_init_codec;
 | 
				
			||||||
	tas->codec.exit = tas_exit_codec;
 | 
						tas->codec.exit = tas_exit_codec;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -126,7 +126,7 @@ static int __init toonie_init(void)
 | 
				
			||||||
	if (!toonie)
 | 
						if (!toonie)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(toonie->codec.name, "toonie", sizeof(toonie->codec.name));
 | 
						strscpy(toonie->codec.name, "toonie", sizeof(toonie->codec.name));
 | 
				
			||||||
	toonie->codec.owner = THIS_MODULE;
 | 
						toonie->codec.owner = THIS_MODULE;
 | 
				
			||||||
	toonie->codec.init = toonie_init_codec;
 | 
						toonie->codec.init = toonie_init_codec;
 | 
				
			||||||
	toonie->codec.exit = toonie_exit_codec;
 | 
						toonie->codec.exit = toonie_exit_codec;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,10 +28,10 @@ int aoa_alsa_init(char *name, struct module *mod, struct device *dev)
 | 
				
			||||||
		return err;
 | 
							return err;
 | 
				
			||||||
	aoa_card = alsa_card->private_data;
 | 
						aoa_card = alsa_card->private_data;
 | 
				
			||||||
	aoa_card->alsa_card = alsa_card;
 | 
						aoa_card->alsa_card = alsa_card;
 | 
				
			||||||
	strlcpy(alsa_card->driver, "AppleOnbdAudio", sizeof(alsa_card->driver));
 | 
						strscpy(alsa_card->driver, "AppleOnbdAudio", sizeof(alsa_card->driver));
 | 
				
			||||||
	strlcpy(alsa_card->shortname, name, sizeof(alsa_card->shortname));
 | 
						strscpy(alsa_card->shortname, name, sizeof(alsa_card->shortname));
 | 
				
			||||||
	strlcpy(alsa_card->longname, name, sizeof(alsa_card->longname));
 | 
						strscpy(alsa_card->longname, name, sizeof(alsa_card->longname));
 | 
				
			||||||
	strlcpy(alsa_card->mixername, name, sizeof(alsa_card->mixername));
 | 
						strscpy(alsa_card->mixername, name, sizeof(alsa_card->mixername));
 | 
				
			||||||
	err = snd_card_register(aoa_card->alsa_card);
 | 
						err = snd_card_register(aoa_card->alsa_card);
 | 
				
			||||||
	if (err < 0) {
 | 
						if (err < 0) {
 | 
				
			||||||
		printk(KERN_ERR "snd-aoa: couldn't register alsa card\n");
 | 
							printk(KERN_ERR "snd-aoa: couldn't register alsa card\n");
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -948,7 +948,7 @@ static void layout_attached_codec(struct aoa_codec *codec)
 | 
				
			||||||
				ldev->gpio.methods->set_lineout(codec->gpio, 1);
 | 
									ldev->gpio.methods->set_lineout(codec->gpio, 1);
 | 
				
			||||||
			ctl = snd_ctl_new1(&lineout_ctl, codec->gpio);
 | 
								ctl = snd_ctl_new1(&lineout_ctl, codec->gpio);
 | 
				
			||||||
			if (cc->connected & CC_LINEOUT_LABELLED_HEADPHONE)
 | 
								if (cc->connected & CC_LINEOUT_LABELLED_HEADPHONE)
 | 
				
			||||||
				strlcpy(ctl->id.name,
 | 
									strscpy(ctl->id.name,
 | 
				
			||||||
					"Headphone Switch", sizeof(ctl->id.name));
 | 
										"Headphone Switch", sizeof(ctl->id.name));
 | 
				
			||||||
			ldev->lineout_ctrl = ctl;
 | 
								ldev->lineout_ctrl = ctl;
 | 
				
			||||||
			aoa_snd_ctl_add(ctl);
 | 
								aoa_snd_ctl_add(ctl);
 | 
				
			||||||
| 
						 | 
					@ -962,14 +962,14 @@ static void layout_attached_codec(struct aoa_codec *codec)
 | 
				
			||||||
				ctl = snd_ctl_new1(&lineout_detect_choice,
 | 
									ctl = snd_ctl_new1(&lineout_detect_choice,
 | 
				
			||||||
						   ldev);
 | 
											   ldev);
 | 
				
			||||||
				if (cc->connected & CC_LINEOUT_LABELLED_HEADPHONE)
 | 
									if (cc->connected & CC_LINEOUT_LABELLED_HEADPHONE)
 | 
				
			||||||
					strlcpy(ctl->id.name,
 | 
										strscpy(ctl->id.name,
 | 
				
			||||||
						"Headphone Detect Autoswitch",
 | 
											"Headphone Detect Autoswitch",
 | 
				
			||||||
						sizeof(ctl->id.name));
 | 
											sizeof(ctl->id.name));
 | 
				
			||||||
				aoa_snd_ctl_add(ctl);
 | 
									aoa_snd_ctl_add(ctl);
 | 
				
			||||||
				ctl = snd_ctl_new1(&lineout_detected,
 | 
									ctl = snd_ctl_new1(&lineout_detected,
 | 
				
			||||||
						   ldev);
 | 
											   ldev);
 | 
				
			||||||
				if (cc->connected & CC_LINEOUT_LABELLED_HEADPHONE)
 | 
									if (cc->connected & CC_LINEOUT_LABELLED_HEADPHONE)
 | 
				
			||||||
					strlcpy(ctl->id.name,
 | 
										strscpy(ctl->id.name,
 | 
				
			||||||
						"Headphone Detected",
 | 
											"Headphone Detected",
 | 
				
			||||||
						sizeof(ctl->id.name));
 | 
											sizeof(ctl->id.name));
 | 
				
			||||||
				ldev->lineout_detected_ctrl = ctl;
 | 
									ldev->lineout_detected_ctrl = ctl;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,7 @@ static ssize_t modalias_show(struct device *dev, struct device_attribute *attr,
 | 
				
			||||||
	int length;
 | 
						int length;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (*sdev->modalias) {
 | 
						if (*sdev->modalias) {
 | 
				
			||||||
		strlcpy(buf, sdev->modalias, sizeof(sdev->modalias) + 1);
 | 
							strscpy(buf, sdev->modalias, sizeof(sdev->modalias) + 1);
 | 
				
			||||||
		strcat(buf, "\n");
 | 
							strcat(buf, "\n");
 | 
				
			||||||
		length = strlen(buf);
 | 
							length = strlen(buf);
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -890,8 +890,8 @@ static struct aaci *aaci_init_card(struct amba_device *dev)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	card->private_free = aaci_free_card;
 | 
						card->private_free = aaci_free_card;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(card->driver, DRIVER_NAME, sizeof(card->driver));
 | 
						strscpy(card->driver, DRIVER_NAME, sizeof(card->driver));
 | 
				
			||||||
	strlcpy(card->shortname, "ARM AC'97 Interface", sizeof(card->shortname));
 | 
						strscpy(card->shortname, "ARM AC'97 Interface", sizeof(card->shortname));
 | 
				
			||||||
	snprintf(card->longname, sizeof(card->longname),
 | 
						snprintf(card->longname, sizeof(card->longname),
 | 
				
			||||||
		 "%s PL%03x rev%u at 0x%08llx, irq %d",
 | 
							 "%s PL%03x rev%u at 0x%08llx, irq %d",
 | 
				
			||||||
		 card->shortname, amba_part(dev), amba_rev(dev),
 | 
							 card->shortname, amba_part(dev), amba_rev(dev),
 | 
				
			||||||
| 
						 | 
					@ -921,7 +921,7 @@ static int aaci_init_pcm(struct aaci *aaci)
 | 
				
			||||||
		pcm->private_data = aaci;
 | 
							pcm->private_data = aaci;
 | 
				
			||||||
		pcm->info_flags = 0;
 | 
							pcm->info_flags = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		strlcpy(pcm->name, DRIVER_NAME, sizeof(pcm->name));
 | 
							strscpy(pcm->name, DRIVER_NAME, sizeof(pcm->name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &aaci_playback_ops);
 | 
							snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &aaci_playback_ops);
 | 
				
			||||||
		snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &aaci_capture_ops);
 | 
							snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &aaci_capture_ops);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -235,7 +235,7 @@ static int pxa2xx_ac97_probe(struct platform_device *dev)
 | 
				
			||||||
	if (ret < 0)
 | 
						if (ret < 0)
 | 
				
			||||||
		goto err;
 | 
							goto err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(card->driver, dev->dev.driver->name, sizeof(card->driver));
 | 
						strscpy(card->driver, dev->dev.driver->name, sizeof(card->driver));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ret = pxa2xx_ac97_pcm_new(card);
 | 
						ret = pxa2xx_ac97_pcm_new(card);
 | 
				
			||||||
	if (ret)
 | 
						if (ret)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1132,7 +1132,7 @@ static void snd_compress_proc_done(struct snd_compr *compr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline void snd_compress_set_id(struct snd_compr *compr, const char *id)
 | 
					static inline void snd_compress_set_id(struct snd_compr *compr, const char *id)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	strlcpy(compr->id, id, sizeof(compr->id));
 | 
						strscpy(compr->id, id, sizeof(compr->id));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
#else
 | 
					#else
 | 
				
			||||||
static inline int snd_compress_proc_init(struct snd_compr *compr)
 | 
					static inline int snd_compress_proc_init(struct snd_compr *compr)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -261,7 +261,7 @@ struct snd_kcontrol *snd_ctl_new1(const struct snd_kcontrol_new *ncontrol,
 | 
				
			||||||
	kctl->id.device = ncontrol->device;
 | 
						kctl->id.device = ncontrol->device;
 | 
				
			||||||
	kctl->id.subdevice = ncontrol->subdevice;
 | 
						kctl->id.subdevice = ncontrol->subdevice;
 | 
				
			||||||
	if (ncontrol->name) {
 | 
						if (ncontrol->name) {
 | 
				
			||||||
		strlcpy(kctl->id.name, ncontrol->name, sizeof(kctl->id.name));
 | 
							strscpy(kctl->id.name, ncontrol->name, sizeof(kctl->id.name));
 | 
				
			||||||
		if (strcmp(ncontrol->name, kctl->id.name) != 0)
 | 
							if (strcmp(ncontrol->name, kctl->id.name) != 0)
 | 
				
			||||||
			pr_warn("ALSA: Control name '%s' truncated to '%s'\n",
 | 
								pr_warn("ALSA: Control name '%s' truncated to '%s'\n",
 | 
				
			||||||
				ncontrol->name, kctl->id.name);
 | 
									ncontrol->name, kctl->id.name);
 | 
				
			||||||
| 
						 | 
					@ -701,12 +701,12 @@ static int snd_ctl_card_info(struct snd_card *card, struct snd_ctl_file * ctl,
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
	down_read(&snd_ioctl_rwsem);
 | 
						down_read(&snd_ioctl_rwsem);
 | 
				
			||||||
	info->card = card->number;
 | 
						info->card = card->number;
 | 
				
			||||||
	strlcpy(info->id, card->id, sizeof(info->id));
 | 
						strscpy(info->id, card->id, sizeof(info->id));
 | 
				
			||||||
	strlcpy(info->driver, card->driver, sizeof(info->driver));
 | 
						strscpy(info->driver, card->driver, sizeof(info->driver));
 | 
				
			||||||
	strlcpy(info->name, card->shortname, sizeof(info->name));
 | 
						strscpy(info->name, card->shortname, sizeof(info->name));
 | 
				
			||||||
	strlcpy(info->longname, card->longname, sizeof(info->longname));
 | 
						strscpy(info->longname, card->longname, sizeof(info->longname));
 | 
				
			||||||
	strlcpy(info->mixername, card->mixername, sizeof(info->mixername));
 | 
						strscpy(info->mixername, card->mixername, sizeof(info->mixername));
 | 
				
			||||||
	strlcpy(info->components, card->components, sizeof(info->components));
 | 
						strscpy(info->components, card->components, sizeof(info->components));
 | 
				
			||||||
	up_read(&snd_ioctl_rwsem);
 | 
						up_read(&snd_ioctl_rwsem);
 | 
				
			||||||
	if (copy_to_user(arg, info, sizeof(struct snd_ctl_card_info))) {
 | 
						if (copy_to_user(arg, info, sizeof(struct snd_ctl_card_info))) {
 | 
				
			||||||
		kfree(info);
 | 
							kfree(info);
 | 
				
			||||||
| 
						 | 
					@ -2137,7 +2137,7 @@ int snd_ctl_enum_info(struct snd_ctl_elem_info *info, unsigned int channels,
 | 
				
			||||||
	WARN(strlen(names[info->value.enumerated.item]) >= sizeof(info->value.enumerated.name),
 | 
						WARN(strlen(names[info->value.enumerated.item]) >= sizeof(info->value.enumerated.name),
 | 
				
			||||||
	     "ALSA: too long item name '%s'\n",
 | 
						     "ALSA: too long item name '%s'\n",
 | 
				
			||||||
	     names[info->value.enumerated.item]);
 | 
						     names[info->value.enumerated.item]);
 | 
				
			||||||
	strlcpy(info->value.enumerated.name,
 | 
						strscpy(info->value.enumerated.name,
 | 
				
			||||||
		names[info->value.enumerated.item],
 | 
							names[info->value.enumerated.item],
 | 
				
			||||||
		sizeof(info->value.enumerated.name));
 | 
							sizeof(info->value.enumerated.name));
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -35,7 +35,7 @@ static int get_available_index(struct snd_card *card, const char *name)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	sid.index = 0;
 | 
						sid.index = 0;
 | 
				
			||||||
	sid.iface = SNDRV_CTL_ELEM_IFACE_CARD;
 | 
						sid.iface = SNDRV_CTL_ELEM_IFACE_CARD;
 | 
				
			||||||
	strlcpy(sid.name, name, sizeof(sid.name));
 | 
						strscpy(sid.name, name, sizeof(sid.name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	while (snd_ctl_find_id(card, &sid)) {
 | 
						while (snd_ctl_find_id(card, &sid)) {
 | 
				
			||||||
		sid.index++;
 | 
							sid.index++;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -177,8 +177,8 @@ static int snd_hwdep_info(struct snd_hwdep *hw,
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	memset(&info, 0, sizeof(info));
 | 
						memset(&info, 0, sizeof(info));
 | 
				
			||||||
	info.card = hw->card->number;
 | 
						info.card = hw->card->number;
 | 
				
			||||||
	strlcpy(info.id, hw->id, sizeof(info.id));	
 | 
						strscpy(info.id, hw->id, sizeof(info.id));
 | 
				
			||||||
	strlcpy(info.name, hw->name, sizeof(info.name));
 | 
						strscpy(info.name, hw->name, sizeof(info.name));
 | 
				
			||||||
	info.iface = hw->iface;
 | 
						info.iface = hw->iface;
 | 
				
			||||||
	if (copy_to_user(_info, &info, sizeof(info)))
 | 
						if (copy_to_user(_info, &info, sizeof(info)))
 | 
				
			||||||
		return -EFAULT;
 | 
							return -EFAULT;
 | 
				
			||||||
| 
						 | 
					@ -379,7 +379,7 @@ int snd_hwdep_new(struct snd_card *card, char *id, int device,
 | 
				
			||||||
	hwdep->card = card;
 | 
						hwdep->card = card;
 | 
				
			||||||
	hwdep->device = device;
 | 
						hwdep->device = device;
 | 
				
			||||||
	if (id)
 | 
						if (id)
 | 
				
			||||||
		strlcpy(hwdep->id, id, sizeof(hwdep->id));
 | 
							strscpy(hwdep->id, id, sizeof(hwdep->id));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	snd_device_initialize(&hwdep->dev, card);
 | 
						snd_device_initialize(&hwdep->dev, card);
 | 
				
			||||||
	hwdep->dev.release = release_hwdep_device;
 | 
						hwdep->dev.release = release_hwdep_device;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -174,7 +174,7 @@ int snd_card_new(struct device *parent, int idx, const char *xid,
 | 
				
			||||||
	if (extra_size > 0)
 | 
						if (extra_size > 0)
 | 
				
			||||||
		card->private_data = (char *)card + sizeof(struct snd_card);
 | 
							card->private_data = (char *)card + sizeof(struct snd_card);
 | 
				
			||||||
	if (xid)
 | 
						if (xid)
 | 
				
			||||||
		strlcpy(card->id, xid, sizeof(card->id));
 | 
							strscpy(card->id, xid, sizeof(card->id));
 | 
				
			||||||
	err = 0;
 | 
						err = 0;
 | 
				
			||||||
	mutex_lock(&snd_card_mutex);
 | 
						mutex_lock(&snd_card_mutex);
 | 
				
			||||||
	if (idx < 0) /* first check the matching module-name slot */
 | 
						if (idx < 0) /* first check the matching module-name slot */
 | 
				
			||||||
| 
						 | 
					@ -623,7 +623,7 @@ static void snd_card_set_id_no_lock(struct snd_card *card, const char *src,
 | 
				
			||||||
	/* last resort... */
 | 
						/* last resort... */
 | 
				
			||||||
	dev_err(card->dev, "unable to set card id (%s)\n", id);
 | 
						dev_err(card->dev, "unable to set card id (%s)\n", id);
 | 
				
			||||||
	if (card->proc_root->name)
 | 
						if (card->proc_root->name)
 | 
				
			||||||
		strlcpy(card->id, card->proc_root->name, sizeof(card->id));
 | 
							strscpy(card->id, card->proc_root->name, sizeof(card->id));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -87,8 +87,8 @@ static int snd_mixer_oss_info(struct snd_mixer_oss_file *fmixer,
 | 
				
			||||||
	struct mixer_info info;
 | 
						struct mixer_info info;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	memset(&info, 0, sizeof(info));
 | 
						memset(&info, 0, sizeof(info));
 | 
				
			||||||
	strlcpy(info.id, mixer && mixer->id[0] ? mixer->id : card->driver, sizeof(info.id));
 | 
						strscpy(info.id, mixer && mixer->id[0] ? mixer->id : card->driver, sizeof(info.id));
 | 
				
			||||||
	strlcpy(info.name, mixer && mixer->name[0] ? mixer->name : card->mixername, sizeof(info.name));
 | 
						strscpy(info.name, mixer && mixer->name[0] ? mixer->name : card->mixername, sizeof(info.name));
 | 
				
			||||||
	info.modify_counter = card->mixer_oss_change_count;
 | 
						info.modify_counter = card->mixer_oss_change_count;
 | 
				
			||||||
	if (copy_to_user(_info, &info, sizeof(info)))
 | 
						if (copy_to_user(_info, &info, sizeof(info)))
 | 
				
			||||||
		return -EFAULT;
 | 
							return -EFAULT;
 | 
				
			||||||
| 
						 | 
					@ -103,8 +103,8 @@ static int snd_mixer_oss_info_obsolete(struct snd_mixer_oss_file *fmixer,
 | 
				
			||||||
	_old_mixer_info info;
 | 
						_old_mixer_info info;
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	memset(&info, 0, sizeof(info));
 | 
						memset(&info, 0, sizeof(info));
 | 
				
			||||||
	strlcpy(info.id, mixer && mixer->id[0] ? mixer->id : card->driver, sizeof(info.id));
 | 
						strscpy(info.id, mixer && mixer->id[0] ? mixer->id : card->driver, sizeof(info.id));
 | 
				
			||||||
	strlcpy(info.name, mixer && mixer->name[0] ? mixer->name : card->mixername, sizeof(info.name));
 | 
						strscpy(info.name, mixer && mixer->name[0] ? mixer->name : card->mixername, sizeof(info.name));
 | 
				
			||||||
	if (copy_to_user(_info, &info, sizeof(info)))
 | 
						if (copy_to_user(_info, &info, sizeof(info)))
 | 
				
			||||||
		return -EFAULT;
 | 
							return -EFAULT;
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
| 
						 | 
					@ -499,7 +499,7 @@ static struct snd_kcontrol *snd_mixer_oss_test_id(struct snd_mixer_oss *mixer, c
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	memset(&id, 0, sizeof(id));
 | 
						memset(&id, 0, sizeof(id));
 | 
				
			||||||
	id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
						id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
				
			||||||
	strlcpy(id.name, name, sizeof(id.name));
 | 
						strscpy(id.name, name, sizeof(id.name));
 | 
				
			||||||
	id.index = index;
 | 
						id.index = index;
 | 
				
			||||||
	return snd_ctl_find_id(card, &id);
 | 
						return snd_ctl_find_id(card, &id);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1355,7 +1355,7 @@ static int snd_mixer_oss_notify_handler(struct snd_card *card, int cmd)
 | 
				
			||||||
		mixer->oss_dev_alloc = 1;
 | 
							mixer->oss_dev_alloc = 1;
 | 
				
			||||||
		mixer->card = card;
 | 
							mixer->card = card;
 | 
				
			||||||
		if (*card->mixername)
 | 
							if (*card->mixername)
 | 
				
			||||||
			strlcpy(mixer->name, card->mixername, sizeof(mixer->name));
 | 
								strscpy(mixer->name, card->mixername, sizeof(mixer->name));
 | 
				
			||||||
		else
 | 
							else
 | 
				
			||||||
			snprintf(mixer->name, sizeof(mixer->name),
 | 
								snprintf(mixer->name, sizeof(mixer->name),
 | 
				
			||||||
				 "mixer%i", card->number);
 | 
									 "mixer%i", card->number);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -729,7 +729,7 @@ static int _snd_pcm_new(struct snd_card *card, const char *id, int device,
 | 
				
			||||||
	init_waitqueue_head(&pcm->open_wait);
 | 
						init_waitqueue_head(&pcm->open_wait);
 | 
				
			||||||
	INIT_LIST_HEAD(&pcm->list);
 | 
						INIT_LIST_HEAD(&pcm->list);
 | 
				
			||||||
	if (id)
 | 
						if (id)
 | 
				
			||||||
		strlcpy(pcm->id, id, sizeof(pcm->id));
 | 
							strscpy(pcm->id, id, sizeof(pcm->id));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	err = snd_pcm_new_stream(pcm, SNDRV_PCM_STREAM_PLAYBACK,
 | 
						err = snd_pcm_new_stream(pcm, SNDRV_PCM_STREAM_PLAYBACK,
 | 
				
			||||||
				 playback_count);
 | 
									 playback_count);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -209,13 +209,13 @@ int snd_pcm_info(struct snd_pcm_substream *substream, struct snd_pcm_info *info)
 | 
				
			||||||
	info->device = pcm->device;
 | 
						info->device = pcm->device;
 | 
				
			||||||
	info->stream = substream->stream;
 | 
						info->stream = substream->stream;
 | 
				
			||||||
	info->subdevice = substream->number;
 | 
						info->subdevice = substream->number;
 | 
				
			||||||
	strlcpy(info->id, pcm->id, sizeof(info->id));
 | 
						strscpy(info->id, pcm->id, sizeof(info->id));
 | 
				
			||||||
	strlcpy(info->name, pcm->name, sizeof(info->name));
 | 
						strscpy(info->name, pcm->name, sizeof(info->name));
 | 
				
			||||||
	info->dev_class = pcm->dev_class;
 | 
						info->dev_class = pcm->dev_class;
 | 
				
			||||||
	info->dev_subclass = pcm->dev_subclass;
 | 
						info->dev_subclass = pcm->dev_subclass;
 | 
				
			||||||
	info->subdevices_count = pstr->substream_count;
 | 
						info->subdevices_count = pstr->substream_count;
 | 
				
			||||||
	info->subdevices_avail = pstr->substream_count - pstr->substream_opened;
 | 
						info->subdevices_avail = pstr->substream_count - pstr->substream_opened;
 | 
				
			||||||
	strlcpy(info->subname, substream->name, sizeof(info->subname));
 | 
						strscpy(info->subname, substream->name, sizeof(info->subname));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1686,7 +1686,7 @@ int snd_rawmidi_new(struct snd_card *card, char *id, int device,
 | 
				
			||||||
	INIT_LIST_HEAD(&rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT].substreams);
 | 
						INIT_LIST_HEAD(&rmidi->streams[SNDRV_RAWMIDI_STREAM_OUTPUT].substreams);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (id != NULL)
 | 
						if (id != NULL)
 | 
				
			||||||
		strlcpy(rmidi->id, id, sizeof(rmidi->id));
 | 
							strscpy(rmidi->id, id, sizeof(rmidi->id));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	snd_device_initialize(&rmidi->dev, card);
 | 
						snd_device_initialize(&rmidi->dev, card);
 | 
				
			||||||
	rmidi->dev.release = release_rawmidi_device;
 | 
						rmidi->dev.release = release_rawmidi_device;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -173,7 +173,7 @@ snd_seq_oss_midi_check_new_port(struct snd_seq_port_info *pinfo)
 | 
				
			||||||
	snd_use_lock_init(&mdev->use_lock);
 | 
						snd_use_lock_init(&mdev->use_lock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* copy and truncate the name of synth device */
 | 
						/* copy and truncate the name of synth device */
 | 
				
			||||||
	strlcpy(mdev->name, pinfo->name, sizeof(mdev->name));
 | 
						strscpy(mdev->name, pinfo->name, sizeof(mdev->name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* create MIDI coder */
 | 
						/* create MIDI coder */
 | 
				
			||||||
	if (snd_midi_event_new(MAX_MIDI_EVENT_BUF, &mdev->coder) < 0) {
 | 
						if (snd_midi_event_new(MAX_MIDI_EVENT_BUF, &mdev->coder) < 0) {
 | 
				
			||||||
| 
						 | 
					@ -647,7 +647,7 @@ snd_seq_oss_midi_make_info(struct seq_oss_devinfo *dp, int dev, struct midi_info
 | 
				
			||||||
	inf->device = dev;
 | 
						inf->device = dev;
 | 
				
			||||||
	inf->dev_type = 0; /* FIXME: ?? */
 | 
						inf->dev_type = 0; /* FIXME: ?? */
 | 
				
			||||||
	inf->capabilities = 0; /* FIXME: ?? */
 | 
						inf->capabilities = 0; /* FIXME: ?? */
 | 
				
			||||||
	strlcpy(inf->name, mdev->name, sizeof(inf->name));
 | 
						strscpy(inf->name, mdev->name, sizeof(inf->name));
 | 
				
			||||||
	snd_use_lock_free(&mdev->use_lock);
 | 
						snd_use_lock_free(&mdev->use_lock);
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -107,7 +107,7 @@ snd_seq_oss_synth_probe(struct device *_dev)
 | 
				
			||||||
	snd_use_lock_init(&rec->use_lock);
 | 
						snd_use_lock_init(&rec->use_lock);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* copy and truncate the name of synth device */
 | 
						/* copy and truncate the name of synth device */
 | 
				
			||||||
	strlcpy(rec->name, dev->name, sizeof(rec->name));
 | 
						strscpy(rec->name, dev->name, sizeof(rec->name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* registration */
 | 
						/* registration */
 | 
				
			||||||
	spin_lock_irqsave(®ister_lock, flags);
 | 
						spin_lock_irqsave(®ister_lock, flags);
 | 
				
			||||||
| 
						 | 
					@ -616,7 +616,7 @@ snd_seq_oss_synth_make_info(struct seq_oss_devinfo *dp, int dev, struct synth_in
 | 
				
			||||||
		inf->synth_subtype = 0;
 | 
							inf->synth_subtype = 0;
 | 
				
			||||||
		inf->nr_voices = 16;
 | 
							inf->nr_voices = 16;
 | 
				
			||||||
		inf->device = dev;
 | 
							inf->device = dev;
 | 
				
			||||||
		strlcpy(inf->name, minf.name, sizeof(inf->name));
 | 
							strscpy(inf->name, minf.name, sizeof(inf->name));
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
		if ((rec = get_synthdev(dp, dev)) == NULL)
 | 
							if ((rec = get_synthdev(dp, dev)) == NULL)
 | 
				
			||||||
			return -ENXIO;
 | 
								return -ENXIO;
 | 
				
			||||||
| 
						 | 
					@ -624,7 +624,7 @@ snd_seq_oss_synth_make_info(struct seq_oss_devinfo *dp, int dev, struct synth_in
 | 
				
			||||||
		inf->synth_subtype = rec->synth_subtype;
 | 
							inf->synth_subtype = rec->synth_subtype;
 | 
				
			||||||
		inf->nr_voices = rec->nr_voices;
 | 
							inf->nr_voices = rec->nr_voices;
 | 
				
			||||||
		inf->device = dev;
 | 
							inf->device = dev;
 | 
				
			||||||
		strlcpy(inf->name, rec->name, sizeof(inf->name));
 | 
							strscpy(inf->name, rec->name, sizeof(inf->name));
 | 
				
			||||||
		snd_use_lock_free(&rec->use_lock);
 | 
							snd_use_lock_free(&rec->use_lock);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1584,7 +1584,7 @@ static int snd_seq_ioctl_get_queue_info(struct snd_seq_client *client,
 | 
				
			||||||
	info->queue = q->queue;
 | 
						info->queue = q->queue;
 | 
				
			||||||
	info->owner = q->owner;
 | 
						info->owner = q->owner;
 | 
				
			||||||
	info->locked = q->locked;
 | 
						info->locked = q->locked;
 | 
				
			||||||
	strlcpy(info->name, q->name, sizeof(info->name));
 | 
						strscpy(info->name, q->name, sizeof(info->name));
 | 
				
			||||||
	queuefree(q);
 | 
						queuefree(q);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -327,7 +327,7 @@ int snd_seq_set_port_info(struct snd_seq_client_port * port,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* set port name */
 | 
						/* set port name */
 | 
				
			||||||
	if (info->name[0])
 | 
						if (info->name[0])
 | 
				
			||||||
		strlcpy(port->name, info->name, sizeof(port->name));
 | 
							strscpy(port->name, info->name, sizeof(port->name));
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	/* set capabilities */
 | 
						/* set capabilities */
 | 
				
			||||||
	port->capability = info->capability;
 | 
						port->capability = info->capability;
 | 
				
			||||||
| 
						 | 
					@ -356,7 +356,7 @@ int snd_seq_get_port_info(struct snd_seq_client_port * port,
 | 
				
			||||||
		return -EINVAL;
 | 
							return -EINVAL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* get port name */
 | 
						/* get port name */
 | 
				
			||||||
	strlcpy(info->name, port->name, sizeof(info->name));
 | 
						strscpy(info->name, port->name, sizeof(info->name));
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	/* get capabilities */
 | 
						/* get capabilities */
 | 
				
			||||||
	info->capability = port->capability;
 | 
						info->capability = port->capability;
 | 
				
			||||||
| 
						 | 
					@ -654,7 +654,7 @@ int snd_seq_event_port_attach(int client,
 | 
				
			||||||
	/* Set up the port */
 | 
						/* Set up the port */
 | 
				
			||||||
	memset(&portinfo, 0, sizeof(portinfo));
 | 
						memset(&portinfo, 0, sizeof(portinfo));
 | 
				
			||||||
	portinfo.addr.client = client;
 | 
						portinfo.addr.client = client;
 | 
				
			||||||
	strlcpy(portinfo.name, portname ? portname : "Unnamed port",
 | 
						strscpy(portinfo.name, portname ? portname : "Unnamed port",
 | 
				
			||||||
		sizeof(portinfo.name));
 | 
							sizeof(portinfo.name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	portinfo.capability = cap;
 | 
						portinfo.capability = cap;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -959,7 +959,7 @@ int snd_timer_new(struct snd_card *card, char *id, struct snd_timer_id *tid,
 | 
				
			||||||
	timer->tmr_device = tid->device;
 | 
						timer->tmr_device = tid->device;
 | 
				
			||||||
	timer->tmr_subdevice = tid->subdevice;
 | 
						timer->tmr_subdevice = tid->subdevice;
 | 
				
			||||||
	if (id)
 | 
						if (id)
 | 
				
			||||||
		strlcpy(timer->id, id, sizeof(timer->id));
 | 
							strscpy(timer->id, id, sizeof(timer->id));
 | 
				
			||||||
	timer->sticks = 1;
 | 
						timer->sticks = 1;
 | 
				
			||||||
	INIT_LIST_HEAD(&timer->device_list);
 | 
						INIT_LIST_HEAD(&timer->device_list);
 | 
				
			||||||
	INIT_LIST_HEAD(&timer->open_list_head);
 | 
						INIT_LIST_HEAD(&timer->open_list_head);
 | 
				
			||||||
| 
						 | 
					@ -1659,8 +1659,8 @@ static int snd_timer_user_ginfo(struct file *file,
 | 
				
			||||||
		ginfo->card = t->card ? t->card->number : -1;
 | 
							ginfo->card = t->card ? t->card->number : -1;
 | 
				
			||||||
		if (t->hw.flags & SNDRV_TIMER_HW_SLAVE)
 | 
							if (t->hw.flags & SNDRV_TIMER_HW_SLAVE)
 | 
				
			||||||
			ginfo->flags |= SNDRV_TIMER_FLG_SLAVE;
 | 
								ginfo->flags |= SNDRV_TIMER_FLG_SLAVE;
 | 
				
			||||||
		strlcpy(ginfo->id, t->id, sizeof(ginfo->id));
 | 
							strscpy(ginfo->id, t->id, sizeof(ginfo->id));
 | 
				
			||||||
		strlcpy(ginfo->name, t->name, sizeof(ginfo->name));
 | 
							strscpy(ginfo->name, t->name, sizeof(ginfo->name));
 | 
				
			||||||
		ginfo->resolution = t->hw.resolution;
 | 
							ginfo->resolution = t->hw.resolution;
 | 
				
			||||||
		if (t->hw.resolution_min > 0) {
 | 
							if (t->hw.resolution_min > 0) {
 | 
				
			||||||
			ginfo->resolution_min = t->hw.resolution_min;
 | 
								ginfo->resolution_min = t->hw.resolution_min;
 | 
				
			||||||
| 
						 | 
					@ -1814,8 +1814,8 @@ static int snd_timer_user_info(struct file *file,
 | 
				
			||||||
	info->card = t->card ? t->card->number : -1;
 | 
						info->card = t->card ? t->card->number : -1;
 | 
				
			||||||
	if (t->hw.flags & SNDRV_TIMER_HW_SLAVE)
 | 
						if (t->hw.flags & SNDRV_TIMER_HW_SLAVE)
 | 
				
			||||||
		info->flags |= SNDRV_TIMER_FLG_SLAVE;
 | 
							info->flags |= SNDRV_TIMER_FLG_SLAVE;
 | 
				
			||||||
	strlcpy(info->id, t->id, sizeof(info->id));
 | 
						strscpy(info->id, t->id, sizeof(info->id));
 | 
				
			||||||
	strlcpy(info->name, t->name, sizeof(info->name));
 | 
						strscpy(info->name, t->name, sizeof(info->name));
 | 
				
			||||||
	info->resolution = t->hw.resolution;
 | 
						info->resolution = t->hw.resolution;
 | 
				
			||||||
	if (copy_to_user(_info, info, sizeof(*_info)))
 | 
						if (copy_to_user(_info, info, sizeof(*_info)))
 | 
				
			||||||
		err = -EFAULT;
 | 
							err = -EFAULT;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,8 +61,8 @@ static int snd_timer_user_info_compat(struct file *file,
 | 
				
			||||||
	info.card = t->card ? t->card->number : -1;
 | 
						info.card = t->card ? t->card->number : -1;
 | 
				
			||||||
	if (t->hw.flags & SNDRV_TIMER_HW_SLAVE)
 | 
						if (t->hw.flags & SNDRV_TIMER_HW_SLAVE)
 | 
				
			||||||
		info.flags |= SNDRV_TIMER_FLG_SLAVE;
 | 
							info.flags |= SNDRV_TIMER_FLG_SLAVE;
 | 
				
			||||||
	strlcpy(info.id, t->id, sizeof(info.id));
 | 
						strscpy(info.id, t->id, sizeof(info.id));
 | 
				
			||||||
	strlcpy(info.name, t->name, sizeof(info.name));
 | 
						strscpy(info.name, t->name, sizeof(info.name));
 | 
				
			||||||
	info.resolution = t->hw.resolution;
 | 
						info.resolution = t->hw.resolution;
 | 
				
			||||||
	if (copy_to_user(_info, &info, sizeof(*_info)))
 | 
						if (copy_to_user(_info, &info, sizeof(*_info)))
 | 
				
			||||||
		return -EFAULT;
 | 
							return -EFAULT;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -97,7 +97,7 @@ void snd_opl3_init_seq_oss(struct snd_opl3 *opl3, char *name)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	opl3->oss_seq_dev = dev;
 | 
						opl3->oss_seq_dev = dev;
 | 
				
			||||||
	strlcpy(dev->name, name, sizeof(dev->name));
 | 
						strscpy(dev->name, name, sizeof(dev->name));
 | 
				
			||||||
	arg = SNDRV_SEQ_DEVICE_ARGPTR(dev);
 | 
						arg = SNDRV_SEQ_DEVICE_ARGPTR(dev);
 | 
				
			||||||
	arg->type = SYNTH_TYPE_FM;
 | 
						arg->type = SYNTH_TYPE_FM;
 | 
				
			||||||
	if (opl3->hardware < OPL3_HW_OPL3) {
 | 
						if (opl3->hardware < OPL3_HW_OPL3) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -290,7 +290,7 @@ int snd_opl3_load_patch(struct snd_opl3 *opl3,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (name)
 | 
						if (name)
 | 
				
			||||||
		strlcpy(patch->name, name, sizeof(patch->name));
 | 
							strscpy(patch->name, name, sizeof(patch->name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return 0;
 | 
						return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -80,7 +80,7 @@ hwdep_get_info(struct snd_bebob *bebob, void __user *arg)
 | 
				
			||||||
	info.card = dev->card->index;
 | 
						info.card = dev->card->index;
 | 
				
			||||||
	*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
						*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
				
			||||||
	*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
						*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
				
			||||||
	strlcpy(info.device_name, dev_name(&dev->device),
 | 
						strscpy(info.device_name, dev_name(&dev->device),
 | 
				
			||||||
		sizeof(info.device_name));
 | 
							sizeof(info.device_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (copy_to_user(arg, &info, sizeof(info)))
 | 
						if (copy_to_user(arg, &info, sizeof(info)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -79,7 +79,7 @@ static int hwdep_get_info(struct snd_dice *dice, void __user *arg)
 | 
				
			||||||
	info.card = dev->card->index;
 | 
						info.card = dev->card->index;
 | 
				
			||||||
	*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
						*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
				
			||||||
	*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
						*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
				
			||||||
	strlcpy(info.device_name, dev_name(&dev->device),
 | 
						strscpy(info.device_name, dev_name(&dev->device),
 | 
				
			||||||
		sizeof(info.device_name));
 | 
							sizeof(info.device_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (copy_to_user(arg, &info, sizeof(info)))
 | 
						if (copy_to_user(arg, &info, sizeof(info)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -87,7 +87,7 @@ static int hwdep_get_info(struct snd_dg00x *dg00x, void __user *arg)
 | 
				
			||||||
	info.card = dev->card->index;
 | 
						info.card = dev->card->index;
 | 
				
			||||||
	*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
						*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
				
			||||||
	*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
						*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
				
			||||||
	strlcpy(info.device_name, dev_name(&dev->device),
 | 
						strscpy(info.device_name, dev_name(&dev->device),
 | 
				
			||||||
		sizeof(info.device_name));
 | 
							sizeof(info.device_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (copy_to_user(arg, &info, sizeof(info)))
 | 
						if (copy_to_user(arg, &info, sizeof(info)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -79,7 +79,7 @@ static int hwdep_get_info(struct snd_ff *ff, void __user *arg)
 | 
				
			||||||
	info.card = dev->card->index;
 | 
						info.card = dev->card->index;
 | 
				
			||||||
	*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
						*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
				
			||||||
	*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
						*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
				
			||||||
	strlcpy(info.device_name, dev_name(&dev->device),
 | 
						strscpy(info.device_name, dev_name(&dev->device),
 | 
				
			||||||
		sizeof(info.device_name));
 | 
							sizeof(info.device_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (copy_to_user(arg, &info, sizeof(info)))
 | 
						if (copy_to_user(arg, &info, sizeof(info)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -212,7 +212,7 @@ hwdep_get_info(struct snd_efw *efw, void __user *arg)
 | 
				
			||||||
	info.card = dev->card->index;
 | 
						info.card = dev->card->index;
 | 
				
			||||||
	*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
						*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
				
			||||||
	*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
						*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
				
			||||||
	strlcpy(info.device_name, dev_name(&dev->device),
 | 
						strscpy(info.device_name, dev_name(&dev->device),
 | 
				
			||||||
		sizeof(info.device_name));
 | 
							sizeof(info.device_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (copy_to_user(arg, &info, sizeof(info)))
 | 
						if (copy_to_user(arg, &info, sizeof(info)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -86,7 +86,7 @@ static int hwdep_get_info(struct snd_motu *motu, void __user *arg)
 | 
				
			||||||
	info.card = dev->card->index;
 | 
						info.card = dev->card->index;
 | 
				
			||||||
	*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
						*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
				
			||||||
	*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
						*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
				
			||||||
	strlcpy(info.device_name, dev_name(&dev->device),
 | 
						strscpy(info.device_name, dev_name(&dev->device),
 | 
				
			||||||
		sizeof(info.device_name));
 | 
							sizeof(info.device_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (copy_to_user(arg, &info, sizeof(info)))
 | 
						if (copy_to_user(arg, &info, sizeof(info)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -79,7 +79,7 @@ static int hwdep_get_info(struct snd_oxfw *oxfw, void __user *arg)
 | 
				
			||||||
	info.card = dev->card->index;
 | 
						info.card = dev->card->index;
 | 
				
			||||||
	*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
						*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
				
			||||||
	*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
						*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
				
			||||||
	strlcpy(info.device_name, dev_name(&dev->device),
 | 
						strscpy(info.device_name, dev_name(&dev->device),
 | 
				
			||||||
		sizeof(info.device_name));
 | 
							sizeof(info.device_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (copy_to_user(arg, &info, sizeof(info)))
 | 
						if (copy_to_user(arg, &info, sizeof(info)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -154,7 +154,7 @@ static int hwdep_get_info(struct snd_tscm *tscm, void __user *arg)
 | 
				
			||||||
	info.card = dev->card->index;
 | 
						info.card = dev->card->index;
 | 
				
			||||||
	*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
						*(__be32 *)&info.guid[0] = cpu_to_be32(dev->config_rom[3]);
 | 
				
			||||||
	*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
						*(__be32 *)&info.guid[4] = cpu_to_be32(dev->config_rom[4]);
 | 
				
			||||||
	strlcpy(info.device_name, dev_name(&dev->device),
 | 
						strscpy(info.device_name, dev_name(&dev->device),
 | 
				
			||||||
		sizeof(info.device_name));
 | 
							sizeof(info.device_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (copy_to_user(arg, &info, sizeof(info)))
 | 
						if (copy_to_user(arg, &info, sizeof(info)))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -84,7 +84,7 @@ int snd_i2c_bus_create(struct snd_card *card, const char *name,
 | 
				
			||||||
		list_add_tail(&bus->buses, &master->buses);
 | 
							list_add_tail(&bus->buses, &master->buses);
 | 
				
			||||||
		bus->master = master;
 | 
							bus->master = master;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	strlcpy(bus->name, name, sizeof(bus->name));
 | 
						strscpy(bus->name, name, sizeof(bus->name));
 | 
				
			||||||
	err = snd_device_new(card, SNDRV_DEV_BUS, bus, &ops);
 | 
						err = snd_device_new(card, SNDRV_DEV_BUS, bus, &ops);
 | 
				
			||||||
	if (err < 0) {
 | 
						if (err < 0) {
 | 
				
			||||||
		snd_i2c_bus_free(bus);
 | 
							snd_i2c_bus_free(bus);
 | 
				
			||||||
| 
						 | 
					@ -108,7 +108,7 @@ int snd_i2c_device_create(struct snd_i2c_bus *bus, const char *name,
 | 
				
			||||||
	if (device == NULL)
 | 
						if (device == NULL)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
	device->addr = addr;
 | 
						device->addr = addr;
 | 
				
			||||||
	strlcpy(device->name, name, sizeof(device->name));
 | 
						strscpy(device->name, name, sizeof(device->name));
 | 
				
			||||||
	list_add_tail(&device->list, &bus->devices);
 | 
						list_add_tail(&device->list, &bus->devices);
 | 
				
			||||||
	device->bus = bus;
 | 
						device->bus = bus;
 | 
				
			||||||
	*rdevice = device;
 | 
						*rdevice = device;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -95,8 +95,8 @@ static int snd_ad1848_probe(struct device *dev, unsigned int n)
 | 
				
			||||||
	if (error < 0)
 | 
						if (error < 0)
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(card->driver, "AD1848", sizeof(card->driver));
 | 
						strscpy(card->driver, "AD1848", sizeof(card->driver));
 | 
				
			||||||
	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
 | 
						strscpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!thinkpad[n])
 | 
						if (!thinkpad[n])
 | 
				
			||||||
		snprintf(card->longname, sizeof(card->longname),
 | 
							snprintf(card->longname, sizeof(card->longname),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -95,8 +95,8 @@ static int snd_cs4231_probe(struct device *dev, unsigned int n)
 | 
				
			||||||
	if (error < 0)
 | 
						if (error < 0)
 | 
				
			||||||
		goto out;
 | 
							goto out;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(card->driver, "CS4231", sizeof(card->driver));
 | 
						strscpy(card->driver, "CS4231", sizeof(card->driver));
 | 
				
			||||||
	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
 | 
						strscpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (dma2[n] < 0)
 | 
						if (dma2[n] < 0)
 | 
				
			||||||
		snprintf(card->longname, sizeof(card->longname),
 | 
							snprintf(card->longname, sizeof(card->longname),
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -405,8 +405,8 @@ static int snd_cs423x_probe(struct snd_card *card, int dev)
 | 
				
			||||||
		if (err < 0)
 | 
							if (err < 0)
 | 
				
			||||||
			return err;
 | 
								return err;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	strlcpy(card->driver, chip->pcm->name, sizeof(card->driver));
 | 
						strscpy(card->driver, chip->pcm->name, sizeof(card->driver));
 | 
				
			||||||
	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
 | 
						strscpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
 | 
				
			||||||
	if (dma2[dev] < 0)
 | 
						if (dma2[dev] < 0)
 | 
				
			||||||
		snprintf(card->longname, sizeof(card->longname),
 | 
							snprintf(card->longname, sizeof(card->longname),
 | 
				
			||||||
			 "%s at 0x%lx, irq %i, dma %i",
 | 
								 "%s at 0x%lx, irq %i, dma %i",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -133,8 +133,8 @@ static int snd_es1688_probe(struct snd_card *card, unsigned int n)
 | 
				
			||||||
	if (error < 0)
 | 
						if (error < 0)
 | 
				
			||||||
		return error;
 | 
							return error;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(card->driver, "ES1688", sizeof(card->driver));
 | 
						strscpy(card->driver, "ES1688", sizeof(card->driver));
 | 
				
			||||||
	strlcpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
 | 
						strscpy(card->shortname, chip->pcm->name, sizeof(card->shortname));
 | 
				
			||||||
	snprintf(card->longname, sizeof(card->longname),
 | 
						snprintf(card->longname, sizeof(card->longname),
 | 
				
			||||||
		"%s at 0x%lx, irq %i, dma %i", chip->pcm->name, chip->port,
 | 
							"%s at 0x%lx, irq %i, dma %i", chip->pcm->name, chip->port,
 | 
				
			||||||
		 chip->irq, chip->dma8);
 | 
							 chip->irq, chip->dma8);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -388,7 +388,7 @@ static int snd_sb_csp_riff_load(struct snd_sb_csp * p,
 | 
				
			||||||
				return err;
 | 
									return err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			/* fill in codec header */
 | 
								/* fill in codec header */
 | 
				
			||||||
			strlcpy(p->codec_name, info.codec_name, sizeof(p->codec_name));
 | 
								strscpy(p->codec_name, info.codec_name, sizeof(p->codec_name));
 | 
				
			||||||
			p->func_nr = func_nr;
 | 
								p->func_nr = func_nr;
 | 
				
			||||||
			p->mode = le16_to_cpu(funcdesc_h.flags_play_rec);
 | 
								p->mode = le16_to_cpu(funcdesc_h.flags_play_rec);
 | 
				
			||||||
			switch (le16_to_cpu(funcdesc_h.VOC_type)) {
 | 
								switch (le16_to_cpu(funcdesc_h.VOC_type)) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -482,7 +482,7 @@ int snd_sbmixer_add_ctl(struct snd_sb *chip, const char *name, int index, int ty
 | 
				
			||||||
	ctl = snd_ctl_new1(&newctls[type], chip);
 | 
						ctl = snd_ctl_new1(&newctls[type], chip);
 | 
				
			||||||
	if (! ctl)
 | 
						if (! ctl)
 | 
				
			||||||
		return -ENOMEM;
 | 
							return -ENOMEM;
 | 
				
			||||||
	strlcpy(ctl->id.name, name, sizeof(ctl->id.name));
 | 
						strscpy(ctl->id.name, name, sizeof(ctl->id.name));
 | 
				
			||||||
	ctl->id.index = index;
 | 
						ctl->id.index = index;
 | 
				
			||||||
	ctl->private_value = value;
 | 
						ctl->private_value = value;
 | 
				
			||||||
	if ((err = snd_ctl_add(chip->card, ctl)) < 0)
 | 
						if ((err = snd_ctl_add(chip->card, ctl)) < 0)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -355,8 +355,8 @@ static int mixer_ioctl(struct file *file, u_int cmd, u_long arg)
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
		    mixer_info info;
 | 
							    mixer_info info;
 | 
				
			||||||
		    memset(&info, 0, sizeof(info));
 | 
							    memset(&info, 0, sizeof(info));
 | 
				
			||||||
		    strlcpy(info.id, dmasound.mach.name2, sizeof(info.id));
 | 
							    strscpy(info.id, dmasound.mach.name2, sizeof(info.id));
 | 
				
			||||||
		    strlcpy(info.name, dmasound.mach.name2, sizeof(info.name));
 | 
							    strscpy(info.name, dmasound.mach.name2, sizeof(info.name));
 | 
				
			||||||
		    info.modify_counter = mixer.modify_counter;
 | 
							    info.modify_counter = mixer.modify_counter;
 | 
				
			||||||
		    if (copy_to_user((void __user *)arg, &info, sizeof(info)))
 | 
							    if (copy_to_user((void __user *)arg, &info, sizeof(info)))
 | 
				
			||||||
			    return -EFAULT;
 | 
								    return -EFAULT;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -158,13 +158,13 @@ int olpc_quirks(struct snd_card *card, struct snd_ac97 *ac97)
 | 
				
			||||||
	/* drop the original AD1888 HPF control */
 | 
						/* drop the original AD1888 HPF control */
 | 
				
			||||||
	memset(&elem, 0, sizeof(elem));
 | 
						memset(&elem, 0, sizeof(elem));
 | 
				
			||||||
	elem.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
						elem.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
				
			||||||
	strlcpy(elem.name, "High Pass Filter Enable", sizeof(elem.name));
 | 
						strscpy(elem.name, "High Pass Filter Enable", sizeof(elem.name));
 | 
				
			||||||
	snd_ctl_remove_id(card, &elem);
 | 
						snd_ctl_remove_id(card, &elem);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* drop the original V_REFOUT control */
 | 
						/* drop the original V_REFOUT control */
 | 
				
			||||||
	memset(&elem, 0, sizeof(elem));
 | 
						memset(&elem, 0, sizeof(elem));
 | 
				
			||||||
	elem.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
						elem.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
				
			||||||
	strlcpy(elem.name, "V_REFOUT Enable", sizeof(elem.name));
 | 
						strscpy(elem.name, "V_REFOUT Enable", sizeof(elem.name));
 | 
				
			||||||
	snd_ctl_remove_id(card, &elem);
 | 
						snd_ctl_remove_id(card, &elem);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* add the OLPC-specific controls */
 | 
						/* add the OLPC-specific controls */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -433,7 +433,7 @@ int ct_alsa_pcm_create(struct ct_atc *atc,
 | 
				
			||||||
	pcm->private_data = atc;
 | 
						pcm->private_data = atc;
 | 
				
			||||||
	pcm->info_flags = 0;
 | 
						pcm->info_flags = 0;
 | 
				
			||||||
	pcm->dev_subclass = SNDRV_PCM_SUBCLASS_GENERIC_MIX;
 | 
						pcm->dev_subclass = SNDRV_PCM_SUBCLASS_GENERIC_MIX;
 | 
				
			||||||
	strlcpy(pcm->name, device_name, sizeof(pcm->name));
 | 
						strscpy(pcm->name, device_name, sizeof(pcm->name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &ct_pcm_playback_ops);
 | 
						snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &ct_pcm_playback_ops);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -168,9 +168,9 @@ static int snd_card_emu10k1_probe(struct pci_dev *pci,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
	strlcpy(card->driver, emu->card_capabilities->driver,
 | 
						strscpy(card->driver, emu->card_capabilities->driver,
 | 
				
			||||||
		sizeof(card->driver));
 | 
							sizeof(card->driver));
 | 
				
			||||||
	strlcpy(card->shortname, emu->card_capabilities->name,
 | 
						strscpy(card->shortname, emu->card_capabilities->name,
 | 
				
			||||||
		sizeof(card->shortname));
 | 
							sizeof(card->shortname));
 | 
				
			||||||
	snprintf(card->longname, sizeof(card->longname),
 | 
						snprintf(card->longname, sizeof(card->longname),
 | 
				
			||||||
		 "%s (rev.%d, serial:0x%x) at 0x%lx, irq %i",
 | 
							 "%s (rev.%d, serial:0x%x) at 0x%lx, irq %i",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1869,7 +1869,7 @@ int snd_emu10k1_create(struct snd_card *card,
 | 
				
			||||||
			emu->serial);
 | 
								emu->serial);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!*card->id && c->id)
 | 
						if (!*card->id && c->id)
 | 
				
			||||||
		strlcpy(card->id, c->id, sizeof(card->id));
 | 
							strscpy(card->id, c->id, sizeof(card->id));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	is_audigy = emu->audigy = c->emu10k2_chip;
 | 
						is_audigy = emu->audigy = c->emu10k2_chip;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -940,7 +940,7 @@ static int snd_emu10k1_list_controls(struct snd_emu10k1 *emu,
 | 
				
			||||||
			memset(gctl, 0, sizeof(*gctl));
 | 
								memset(gctl, 0, sizeof(*gctl));
 | 
				
			||||||
			id = &ctl->kcontrol->id;
 | 
								id = &ctl->kcontrol->id;
 | 
				
			||||||
			gctl->id.iface = (__force int)id->iface;
 | 
								gctl->id.iface = (__force int)id->iface;
 | 
				
			||||||
			strlcpy(gctl->id.name, id->name, sizeof(gctl->id.name));
 | 
								strscpy(gctl->id.name, id->name, sizeof(gctl->id.name));
 | 
				
			||||||
			gctl->id.index = id->index;
 | 
								gctl->id.index = id->index;
 | 
				
			||||||
			gctl->id.device = id->device;
 | 
								gctl->id.device = id->device;
 | 
				
			||||||
			gctl->id.subdevice = id->subdevice;
 | 
								gctl->id.subdevice = id->subdevice;
 | 
				
			||||||
| 
						 | 
					@ -976,7 +976,7 @@ static int snd_emu10k1_icode_poke(struct snd_emu10k1 *emu,
 | 
				
			||||||
	err = snd_emu10k1_verify_controls(emu, icode, in_kernel);
 | 
						err = snd_emu10k1_verify_controls(emu, icode, in_kernel);
 | 
				
			||||||
	if (err < 0)
 | 
						if (err < 0)
 | 
				
			||||||
		goto __error;
 | 
							goto __error;
 | 
				
			||||||
	strlcpy(emu->fx8010.name, icode->name, sizeof(emu->fx8010.name));
 | 
						strscpy(emu->fx8010.name, icode->name, sizeof(emu->fx8010.name));
 | 
				
			||||||
	/* stop FX processor - this may be dangerous, but it's better to miss
 | 
						/* stop FX processor - this may be dangerous, but it's better to miss
 | 
				
			||||||
	   some samples than generate wrong ones - [jk] */
 | 
						   some samples than generate wrong ones - [jk] */
 | 
				
			||||||
	if (emu->audigy)
 | 
						if (emu->audigy)
 | 
				
			||||||
| 
						 | 
					@ -1015,7 +1015,7 @@ static int snd_emu10k1_icode_peek(struct snd_emu10k1 *emu,
 | 
				
			||||||
	int err;
 | 
						int err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	mutex_lock(&emu->fx8010.lock);
 | 
						mutex_lock(&emu->fx8010.lock);
 | 
				
			||||||
	strlcpy(icode->name, emu->fx8010.name, sizeof(icode->name));
 | 
						strscpy(icode->name, emu->fx8010.name, sizeof(icode->name));
 | 
				
			||||||
	/* ok, do the main job */
 | 
						/* ok, do the main job */
 | 
				
			||||||
	err = snd_emu10k1_gpr_peek(emu, icode);
 | 
						err = snd_emu10k1_gpr_peek(emu, icode);
 | 
				
			||||||
	if (err >= 0)
 | 
						if (err >= 0)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2768,7 +2768,7 @@ static int snd_es1968_create(struct snd_card *card,
 | 
				
			||||||
		if (!snd_tea575x_init(&chip->tea, THIS_MODULE)) {
 | 
							if (!snd_tea575x_init(&chip->tea, THIS_MODULE)) {
 | 
				
			||||||
			dev_info(card->dev, "detected TEA575x radio type %s\n",
 | 
								dev_info(card->dev, "detected TEA575x radio type %s\n",
 | 
				
			||||||
				   get_tea575x_gpio(chip)->name);
 | 
									   get_tea575x_gpio(chip)->name);
 | 
				
			||||||
			strlcpy(chip->tea.card, get_tea575x_gpio(chip)->name,
 | 
								strscpy(chip->tea.card, get_tea575x_gpio(chip)->name,
 | 
				
			||||||
				sizeof(chip->tea.card));
 | 
									sizeof(chip->tea.card));
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1300,7 +1300,7 @@ static int snd_fm801_create(struct snd_card *card,
 | 
				
			||||||
		chip->tea575x_tuner |= tuner_only;
 | 
							chip->tea575x_tuner |= tuner_only;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (!(chip->tea575x_tuner & TUNER_DISABLED)) {
 | 
						if (!(chip->tea575x_tuner & TUNER_DISABLED)) {
 | 
				
			||||||
		strlcpy(chip->tea.card, get_tea575x_gpio(chip)->name,
 | 
							strscpy(chip->tea.card, get_tea575x_gpio(chip)->name,
 | 
				
			||||||
			sizeof(chip->tea.card));
 | 
								sizeof(chip->tea.card));
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -764,7 +764,7 @@ int snd_hda_get_pin_label(struct hda_codec *codec, hda_nid_t nid,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	if (!name)
 | 
						if (!name)
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
	strlcpy(label, name, maxlen);
 | 
						strscpy(label, name, maxlen);
 | 
				
			||||||
	return 1;
 | 
						return 1;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
EXPORT_SYMBOL_GPL(snd_hda_get_pin_label);
 | 
					EXPORT_SYMBOL_GPL(snd_hda_get_pin_label);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4009,7 +4009,7 @@ int snd_hda_add_imux_item(struct hda_codec *codec,
 | 
				
			||||||
			 sizeof(imux->items[imux->num_items].label),
 | 
								 sizeof(imux->items[imux->num_items].label),
 | 
				
			||||||
			 "%s %d", label, label_idx);
 | 
								 "%s %d", label, label_idx);
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		strlcpy(imux->items[imux->num_items].label, label,
 | 
							strscpy(imux->items[imux->num_items].label, label,
 | 
				
			||||||
			sizeof(imux->items[imux->num_items].label));
 | 
								sizeof(imux->items[imux->num_items].label));
 | 
				
			||||||
	imux->items[imux->num_items].index = index;
 | 
						imux->items[imux->num_items].index = index;
 | 
				
			||||||
	imux->num_items++;
 | 
						imux->num_items++;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -735,7 +735,7 @@ int snd_hda_attach_pcm_stream(struct hda_bus *_bus, struct hda_codec *codec,
 | 
				
			||||||
			  &pcm);
 | 
								  &pcm);
 | 
				
			||||||
	if (err < 0)
 | 
						if (err < 0)
 | 
				
			||||||
		return err;
 | 
							return err;
 | 
				
			||||||
	strlcpy(pcm->name, cpcm->name, sizeof(pcm->name));
 | 
						strscpy(pcm->name, cpcm->name, sizeof(pcm->name));
 | 
				
			||||||
	apcm = kzalloc(sizeof(*apcm), GFP_KERNEL);
 | 
						apcm = kzalloc(sizeof(*apcm), GFP_KERNEL);
 | 
				
			||||||
	if (apcm == NULL) {
 | 
						if (apcm == NULL) {
 | 
				
			||||||
		snd_device_free(chip->card, pcm);
 | 
							snd_device_free(chip->card, pcm);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -260,7 +260,7 @@ int snd_hdmi_parse_eld(struct hda_codec *codec, struct parsed_hdmi_eld *e,
 | 
				
			||||||
		codec_info(codec, "HDMI: out of range MNL %d\n", mnl);
 | 
							codec_info(codec, "HDMI: out of range MNL %d\n", mnl);
 | 
				
			||||||
		goto out_fail;
 | 
							goto out_fail;
 | 
				
			||||||
	} else
 | 
						} else
 | 
				
			||||||
		strlcpy(e->monitor_name, buf + ELD_FIXED_BYTES, mnl + 1);
 | 
							strscpy(e->monitor_name, buf + ELD_FIXED_BYTES, mnl + 1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	for (i = 0; i < e->sad_count; i++) {
 | 
						for (i = 0; i < e->sad_count; i++) {
 | 
				
			||||||
		if (ELD_FIXED_BYTES + mnl + 3 * (i + 1) > size) {
 | 
							if (ELD_FIXED_BYTES + mnl + 3 * (i + 1) > size) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -5721,7 +5721,7 @@ static void fill_pcm_stream_name(char *str, size_t len, const char *sfx,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (*str)
 | 
						if (*str)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	strlcpy(str, chip_name, len);
 | 
						strscpy(str, chip_name, len);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* drop non-alnum chars after a space */
 | 
						/* drop non-alnum chars after a space */
 | 
				
			||||||
	for (p = strchr(str, ' '); p; p = strchr(p + 1, ' ')) {
 | 
						for (p = strchr(str, ' '); p; p = strchr(p + 1, ' ')) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2037,7 +2037,7 @@ static int azx_first_init(struct azx *chip)
 | 
				
			||||||
		return -EBUSY;
 | 
							return -EBUSY;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strcpy(card->driver, "HDA-Intel");
 | 
						strcpy(card->driver, "HDA-Intel");
 | 
				
			||||||
	strlcpy(card->shortname, driver_short_names[chip->driver_type],
 | 
						strscpy(card->shortname, driver_short_names[chip->driver_type],
 | 
				
			||||||
		sizeof(card->shortname));
 | 
							sizeof(card->shortname));
 | 
				
			||||||
	snprintf(card->longname, sizeof(card->longname),
 | 
						snprintf(card->longname, sizeof(card->longname),
 | 
				
			||||||
		 "%s at 0x%lx irq %i",
 | 
							 "%s at 0x%lx irq %i",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -530,7 +530,7 @@ static int add_jack_kctl(struct hda_codec *codec, hda_nid_t nid,
 | 
				
			||||||
		       !is_jack_detectable(codec, nid);
 | 
							       !is_jack_detectable(codec, nid);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (base_name)
 | 
						if (base_name)
 | 
				
			||||||
		strlcpy(name, base_name, sizeof(name));
 | 
							strscpy(name, base_name, sizeof(name));
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		snd_hda_get_pin_label(codec, nid, cfg, name, sizeof(name), NULL);
 | 
							snd_hda_get_pin_label(codec, nid, cfg, name, sizeof(name), NULL);
 | 
				
			||||||
	if (phantom_jack)
 | 
						if (phantom_jack)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -413,7 +413,7 @@ static struct snd_kcontrol *ctl_find(struct snd_card *card,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct snd_ctl_elem_id sid = {0};
 | 
						struct snd_ctl_elem_id sid = {0};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(sid.name, name, sizeof(sid.name));
 | 
						strscpy(sid.name, name, sizeof(sid.name));
 | 
				
			||||||
	sid.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
						sid.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
				
			||||||
	return snd_ctl_find_id(card, &sid);
 | 
						return snd_ctl_find_id(card, &sid);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -189,12 +189,12 @@ static void psc724_set_jack_state(struct snd_ice1712 *ice, bool hp_connected)
 | 
				
			||||||
	/* notify about master speaker mute change */
 | 
						/* notify about master speaker mute change */
 | 
				
			||||||
	memset(&elem_id, 0, sizeof(elem_id));
 | 
						memset(&elem_id, 0, sizeof(elem_id));
 | 
				
			||||||
	elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
						elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
				
			||||||
	strlcpy(elem_id.name, "Master Speakers Playback Switch",
 | 
						strscpy(elem_id.name, "Master Speakers Playback Switch",
 | 
				
			||||||
						sizeof(elem_id.name));
 | 
											sizeof(elem_id.name));
 | 
				
			||||||
	kctl = snd_ctl_find_id(ice->card, &elem_id);
 | 
						kctl = snd_ctl_find_id(ice->card, &elem_id);
 | 
				
			||||||
	snd_ctl_notify(ice->card, SNDRV_CTL_EVENT_MASK_VALUE, &kctl->id);
 | 
						snd_ctl_notify(ice->card, SNDRV_CTL_EVENT_MASK_VALUE, &kctl->id);
 | 
				
			||||||
	/* and headphone mute change */
 | 
						/* and headphone mute change */
 | 
				
			||||||
	strlcpy(elem_id.name, spec->wm8776.ctl[WM8776_CTL_HP_SW].name,
 | 
						strscpy(elem_id.name, spec->wm8776.ctl[WM8776_CTL_HP_SW].name,
 | 
				
			||||||
						sizeof(elem_id.name));
 | 
											sizeof(elem_id.name));
 | 
				
			||||||
	kctl = snd_ctl_find_id(ice->card, &elem_id);
 | 
						kctl = snd_ctl_find_id(ice->card, &elem_id);
 | 
				
			||||||
	snd_ctl_notify(ice->card, SNDRV_CTL_EVENT_MASK_VALUE, &kctl->id);
 | 
						snd_ctl_notify(ice->card, SNDRV_CTL_EVENT_MASK_VALUE, &kctl->id);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -771,7 +771,7 @@ static struct snd_kcontrol *ctl_find(struct snd_card *card,
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	struct snd_ctl_elem_id sid = {0};
 | 
						struct snd_ctl_elem_id sid = {0};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(sid.name, name, sizeof(sid.name));
 | 
						strscpy(sid.name, name, sizeof(sid.name));
 | 
				
			||||||
	sid.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
						sid.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
				
			||||||
	return snd_ctl_find_id(card, &sid);
 | 
						return snd_ctl_find_id(card, &sid);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,7 +38,7 @@ static void snd_wm8776_activate_ctl(struct snd_wm8776 *wm,
 | 
				
			||||||
	unsigned int index_offset;
 | 
						unsigned int index_offset;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memset(&elem_id, 0, sizeof(elem_id));
 | 
						memset(&elem_id, 0, sizeof(elem_id));
 | 
				
			||||||
	strlcpy(elem_id.name, ctl_name, sizeof(elem_id.name));
 | 
						strscpy(elem_id.name, ctl_name, sizeof(elem_id.name));
 | 
				
			||||||
	elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
						elem_id.iface = SNDRV_CTL_ELEM_IFACE_MIXER;
 | 
				
			||||||
	kctl = snd_ctl_find_id(card, &elem_id);
 | 
						kctl = snd_ctl_find_id(card, &elem_id);
 | 
				
			||||||
	if (!kctl)
 | 
						if (!kctl)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -669,7 +669,7 @@ static int lola_create(struct snd_card *card, struct pci_dev *pci,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strcpy(card->driver, "Lola");
 | 
						strcpy(card->driver, "Lola");
 | 
				
			||||||
	strlcpy(card->shortname, "Digigram Lola", sizeof(card->shortname));
 | 
						strscpy(card->shortname, "Digigram Lola", sizeof(card->shortname));
 | 
				
			||||||
	snprintf(card->longname, sizeof(card->longname),
 | 
						snprintf(card->longname, sizeof(card->longname),
 | 
				
			||||||
		 "%s at 0x%lx irq %i",
 | 
							 "%s at 0x%lx irq %i",
 | 
				
			||||||
		 card->shortname, chip->bar[0].addr, chip->irq);
 | 
							 card->shortname, chip->bar[0].addr, chip->irq);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -601,7 +601,7 @@ int lola_create_pcm(struct lola *chip)
 | 
				
			||||||
			  &pcm);
 | 
								  &pcm);
 | 
				
			||||||
	if (err < 0)
 | 
						if (err < 0)
 | 
				
			||||||
		return err;
 | 
							return err;
 | 
				
			||||||
	strlcpy(pcm->name, "Digigram Lola", sizeof(pcm->name));
 | 
						strscpy(pcm->name, "Digigram Lola", sizeof(pcm->name));
 | 
				
			||||||
	pcm->private_data = chip;
 | 
						pcm->private_data = chip;
 | 
				
			||||||
	for (i = 0; i < 2; i++) {
 | 
						for (i = 0; i < 2; i++) {
 | 
				
			||||||
		if (chip->pcm[i].num_streams)
 | 
							if (chip->pcm[i].num_streams)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -6329,7 +6329,7 @@ static int snd_hdspm_hwdep_ioctl(struct snd_hwdep *hw, struct file *file,
 | 
				
			||||||
		memset(&hdspm_version, 0, sizeof(hdspm_version));
 | 
							memset(&hdspm_version, 0, sizeof(hdspm_version));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		hdspm_version.card_type = hdspm->io_type;
 | 
							hdspm_version.card_type = hdspm->io_type;
 | 
				
			||||||
		strlcpy(hdspm_version.cardname, hdspm->card_name,
 | 
							strscpy(hdspm_version.cardname, hdspm->card_name,
 | 
				
			||||||
				sizeof(hdspm_version.cardname));
 | 
									sizeof(hdspm_version.cardname));
 | 
				
			||||||
		hdspm_version.serial = hdspm->serial;
 | 
							hdspm_version.serial = hdspm->serial;
 | 
				
			||||||
		hdspm_version.firmware_rev = hdspm->firmware_rev;
 | 
							hdspm_version.firmware_rev = hdspm->firmware_rev;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -49,7 +49,7 @@ static int keywest_attach_adapter(struct i2c_adapter *adapter)
 | 
				
			||||||
		return -EINVAL; /* ignored */
 | 
							return -EINVAL; /* ignored */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memset(&info, 0, sizeof(struct i2c_board_info));
 | 
						memset(&info, 0, sizeof(struct i2c_board_info));
 | 
				
			||||||
	strlcpy(info.type, "keywest", I2C_NAME_SIZE);
 | 
						strscpy(info.type, "keywest", I2C_NAME_SIZE);
 | 
				
			||||||
	info.addr = keywest_ctx->addr;
 | 
						info.addr = keywest_ctx->addr;
 | 
				
			||||||
	client = i2c_new_client_device(adapter, &info);
 | 
						client = i2c_new_client_device(adapter, &info);
 | 
				
			||||||
	if (IS_ERR(client))
 | 
						if (IS_ERR(client))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1707,7 +1707,7 @@ int q6afe_vote_lpass_core_hw(struct device *dev, uint32_t hw_block_id,
 | 
				
			||||||
	pkt->hdr.token = hw_block_id;
 | 
						pkt->hdr.token = hw_block_id;
 | 
				
			||||||
	pkt->hdr.opcode = AFE_CMD_REMOTE_LPASS_CORE_HW_VOTE_REQUEST;
 | 
						pkt->hdr.opcode = AFE_CMD_REMOTE_LPASS_CORE_HW_VOTE_REQUEST;
 | 
				
			||||||
	vote_cfg->hw_block_id = hw_block_id;
 | 
						vote_cfg->hw_block_id = hw_block_id;
 | 
				
			||||||
	strlcpy(vote_cfg->client_name, client_name,
 | 
						strscpy(vote_cfg->client_name, client_name,
 | 
				
			||||||
			sizeof(vote_cfg->client_name));
 | 
								sizeof(vote_cfg->client_name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ret = afe_apr_send_pkt(afe, pkt, NULL,
 | 
						ret = afe_apr_send_pkt(afe, pkt, NULL,
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1472,7 +1472,7 @@ static int rsnd_kctrl_info(struct snd_kcontrol *kctrl,
 | 
				
			||||||
		uinfo->value.enumerated.items = cfg->max;
 | 
							uinfo->value.enumerated.items = cfg->max;
 | 
				
			||||||
		if (uinfo->value.enumerated.item >= cfg->max)
 | 
							if (uinfo->value.enumerated.item >= cfg->max)
 | 
				
			||||||
			uinfo->value.enumerated.item = cfg->max - 1;
 | 
								uinfo->value.enumerated.item = cfg->max - 1;
 | 
				
			||||||
		strlcpy(uinfo->value.enumerated.name,
 | 
							strscpy(uinfo->value.enumerated.name,
 | 
				
			||||||
			cfg->texts[uinfo->value.enumerated.item],
 | 
								cfg->texts[uinfo->value.enumerated.item],
 | 
				
			||||||
			sizeof(uinfo->value.enumerated.name));
 | 
								sizeof(uinfo->value.enumerated.name));
 | 
				
			||||||
	} else {
 | 
						} else {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -300,7 +300,7 @@ static int bcd2000_init_midi(struct bcd2000 *bcd2k)
 | 
				
			||||||
	if (ret < 0)
 | 
						if (ret < 0)
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(rmidi->name, bcd2k->card->shortname, sizeof(rmidi->name));
 | 
						strscpy(rmidi->name, bcd2k->card->shortname, sizeof(rmidi->name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	rmidi->info_flags = SNDRV_RAWMIDI_INFO_DUPLEX;
 | 
						rmidi->info_flags = SNDRV_RAWMIDI_INFO_DUPLEX;
 | 
				
			||||||
	rmidi->private_data = bcd2k;
 | 
						rmidi->private_data = bcd2k;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -804,7 +804,7 @@ int snd_usb_caiaq_audio_init(struct snd_usb_caiaqdev *cdev)
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	cdev->pcm->private_data = cdev;
 | 
						cdev->pcm->private_data = cdev;
 | 
				
			||||||
	strlcpy(cdev->pcm->name, cdev->product_name, sizeof(cdev->pcm->name));
 | 
						strscpy(cdev->pcm->name, cdev->product_name, sizeof(cdev->pcm->name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	memset(cdev->sub_playback, 0, sizeof(cdev->sub_playback));
 | 
						memset(cdev->sub_playback, 0, sizeof(cdev->sub_playback));
 | 
				
			||||||
	memset(cdev->sub_capture, 0, sizeof(cdev->sub_capture));
 | 
						memset(cdev->sub_capture, 0, sizeof(cdev->sub_capture));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -477,9 +477,9 @@ static int init_card(struct snd_usb_caiaqdev *cdev)
 | 
				
			||||||
	usb_string(usb_dev, usb_dev->descriptor.iProduct,
 | 
						usb_string(usb_dev, usb_dev->descriptor.iProduct,
 | 
				
			||||||
		   cdev->product_name, CAIAQ_USB_STR_LEN);
 | 
							   cdev->product_name, CAIAQ_USB_STR_LEN);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(card->driver, MODNAME, sizeof(card->driver));
 | 
						strscpy(card->driver, MODNAME, sizeof(card->driver));
 | 
				
			||||||
	strlcpy(card->shortname, cdev->product_name, sizeof(card->shortname));
 | 
						strscpy(card->shortname, cdev->product_name, sizeof(card->shortname));
 | 
				
			||||||
	strlcpy(card->mixername, cdev->product_name, sizeof(card->mixername));
 | 
						strscpy(card->mixername, cdev->product_name, sizeof(card->mixername));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* if the id was not passed as module option, fill it with a shortened
 | 
						/* if the id was not passed as module option, fill it with a shortened
 | 
				
			||||||
	 * version of the product string which does not contain any
 | 
						 * version of the product string which does not contain any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -125,7 +125,7 @@ int snd_usb_caiaq_midi_init(struct snd_usb_caiaqdev *device)
 | 
				
			||||||
	if (ret < 0)
 | 
						if (ret < 0)
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(rmidi->name, device->product_name, sizeof(rmidi->name));
 | 
						strscpy(rmidi->name, device->product_name, sizeof(rmidi->name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	rmidi->info_flags = SNDRV_RAWMIDI_INFO_DUPLEX;
 | 
						rmidi->info_flags = SNDRV_RAWMIDI_INFO_DUPLEX;
 | 
				
			||||||
	rmidi->private_data = device;
 | 
						rmidi->private_data = device;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -474,7 +474,7 @@ static void usb_audio_make_shortname(struct usb_device *dev,
 | 
				
			||||||
	else if (quirk && quirk->product_name)
 | 
						else if (quirk && quirk->product_name)
 | 
				
			||||||
		s = quirk->product_name;
 | 
							s = quirk->product_name;
 | 
				
			||||||
	if (s && *s) {
 | 
						if (s && *s) {
 | 
				
			||||||
		strlcpy(card->shortname, s, sizeof(card->shortname));
 | 
							strscpy(card->shortname, s, sizeof(card->shortname));
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -506,7 +506,7 @@ static void usb_audio_make_longname(struct usb_device *dev,
 | 
				
			||||||
	if (preset && preset->profile_name)
 | 
						if (preset && preset->profile_name)
 | 
				
			||||||
		s = preset->profile_name;
 | 
							s = preset->profile_name;
 | 
				
			||||||
	if (s && *s) {
 | 
						if (s && *s) {
 | 
				
			||||||
		strlcpy(card->longname, s, sizeof(card->longname));
 | 
							strscpy(card->longname, s, sizeof(card->longname));
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -80,12 +80,12 @@ static int hiface_chip_create(struct usb_interface *intf,
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(card->driver, DRIVER_NAME, sizeof(card->driver));
 | 
						strscpy(card->driver, DRIVER_NAME, sizeof(card->driver));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (quirk && quirk->device_name)
 | 
						if (quirk && quirk->device_name)
 | 
				
			||||||
		strlcpy(card->shortname, quirk->device_name, sizeof(card->shortname));
 | 
							strscpy(card->shortname, quirk->device_name, sizeof(card->shortname));
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		strlcpy(card->shortname, "M2Tech generic audio", sizeof(card->shortname));
 | 
							strscpy(card->shortname, "M2Tech generic audio", sizeof(card->shortname));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcat(card->longname, card->shortname, sizeof(card->longname));
 | 
						strlcat(card->longname, card->shortname, sizeof(card->longname));
 | 
				
			||||||
	len = strlcat(card->longname, " at ", sizeof(card->longname));
 | 
						len = strlcat(card->longname, " at ", sizeof(card->longname));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -594,7 +594,7 @@ int hiface_pcm_init(struct hiface_chip *chip, u8 extra_freq)
 | 
				
			||||||
	pcm->private_data = rt;
 | 
						pcm->private_data = rt;
 | 
				
			||||||
	pcm->private_free = hiface_pcm_free;
 | 
						pcm->private_free = hiface_pcm_free;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(pcm->name, "USB-SPDIF Audio", sizeof(pcm->name));
 | 
						strscpy(pcm->name, "USB-SPDIF Audio", sizeof(pcm->name));
 | 
				
			||||||
	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &pcm_ops);
 | 
						snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &pcm_ops);
 | 
				
			||||||
	snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_VMALLOC,
 | 
						snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_VMALLOC,
 | 
				
			||||||
				       NULL, 0, 0);
 | 
									       NULL, 0, 0);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1556,7 +1556,7 @@ static void check_no_speaker_on_headset(struct snd_kcontrol *kctl,
 | 
				
			||||||
	if (!found)
 | 
						if (!found)
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(kctl->id.name, "Headphone", sizeof(kctl->id.name));
 | 
						strscpy(kctl->id.name, "Headphone", sizeof(kctl->id.name));
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const struct usb_feature_control_info *get_feature_control_info(int control)
 | 
					static const struct usb_feature_control_info *get_feature_control_info(int control)
 | 
				
			||||||
| 
						 | 
					@ -1691,7 +1691,7 @@ static void __build_feature_ctl(struct usb_mixer_interface *mixer,
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	default:
 | 
						default:
 | 
				
			||||||
		if (!len)
 | 
							if (!len)
 | 
				
			||||||
			strlcpy(kctl->id.name, audio_feature_info[control-1].name,
 | 
								strscpy(kctl->id.name, audio_feature_info[control-1].name,
 | 
				
			||||||
				sizeof(kctl->id.name));
 | 
									sizeof(kctl->id.name));
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -1770,7 +1770,7 @@ static void get_connector_control_name(struct usb_mixer_interface *mixer,
 | 
				
			||||||
	int name_len = get_term_name(mixer->chip, term, name, name_size, 0);
 | 
						int name_len = get_term_name(mixer->chip, term, name, name_size, 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (name_len == 0)
 | 
						if (name_len == 0)
 | 
				
			||||||
		strlcpy(name, "Unknown", name_size);
 | 
							strscpy(name, "Unknown", name_size);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/*
 | 
						/*
 | 
				
			||||||
	 *  sound/core/ctljack.c has a convention of naming jack controls
 | 
						 *  sound/core/ctljack.c has a convention of naming jack controls
 | 
				
			||||||
| 
						 | 
					@ -2490,7 +2490,7 @@ static int build_audio_procunit(struct mixer_build *state, int unitid,
 | 
				
			||||||
		if (check_mapped_name(map, kctl->id.name, sizeof(kctl->id.name))) {
 | 
							if (check_mapped_name(map, kctl->id.name, sizeof(kctl->id.name))) {
 | 
				
			||||||
			/* nothing */ ;
 | 
								/* nothing */ ;
 | 
				
			||||||
		} else if (info->name) {
 | 
							} else if (info->name) {
 | 
				
			||||||
			strlcpy(kctl->id.name, info->name, sizeof(kctl->id.name));
 | 
								strscpy(kctl->id.name, info->name, sizeof(kctl->id.name));
 | 
				
			||||||
		} else {
 | 
							} else {
 | 
				
			||||||
			if (extension_unit)
 | 
								if (extension_unit)
 | 
				
			||||||
				nameid = uac_extension_unit_iExtension(desc, state->mixer->protocol);
 | 
									nameid = uac_extension_unit_iExtension(desc, state->mixer->protocol);
 | 
				
			||||||
| 
						 | 
					@ -2503,7 +2503,7 @@ static int build_audio_procunit(struct mixer_build *state, int unitid,
 | 
				
			||||||
							       kctl->id.name,
 | 
												       kctl->id.name,
 | 
				
			||||||
							       sizeof(kctl->id.name));
 | 
												       sizeof(kctl->id.name));
 | 
				
			||||||
			if (!len)
 | 
								if (!len)
 | 
				
			||||||
				strlcpy(kctl->id.name, name, sizeof(kctl->id.name));
 | 
									strscpy(kctl->id.name, name, sizeof(kctl->id.name));
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		append_ctl_name(kctl, " ");
 | 
							append_ctl_name(kctl, " ");
 | 
				
			||||||
		append_ctl_name(kctl, valinfo->suffix);
 | 
							append_ctl_name(kctl, valinfo->suffix);
 | 
				
			||||||
| 
						 | 
					@ -2743,7 +2743,7 @@ static int parse_audio_selector_unit(struct mixer_build *state, int unitid,
 | 
				
			||||||
				    kctl->id.name, sizeof(kctl->id.name), 0);
 | 
									    kctl->id.name, sizeof(kctl->id.name), 0);
 | 
				
			||||||
		/* ... or use the fixed string "USB" as the last resort */
 | 
							/* ... or use the fixed string "USB" as the last resort */
 | 
				
			||||||
		if (!len)
 | 
							if (!len)
 | 
				
			||||||
			strlcpy(kctl->id.name, "USB", sizeof(kctl->id.name));
 | 
								strscpy(kctl->id.name, "USB", sizeof(kctl->id.name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/* and add the proper suffix */
 | 
							/* and add the proper suffix */
 | 
				
			||||||
		if (desc->bDescriptorSubtype == UAC2_CLOCK_SELECTOR ||
 | 
							if (desc->bDescriptorSubtype == UAC2_CLOCK_SELECTOR ||
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2725,7 +2725,7 @@ static int snd_pioneer_djm_controls_info(struct snd_kcontrol *kctl, struct snd_c
 | 
				
			||||||
	if (info->value.enumerated.item >= count)
 | 
						if (info->value.enumerated.item >= count)
 | 
				
			||||||
		info->value.enumerated.item = count - 1;
 | 
							info->value.enumerated.item = count - 1;
 | 
				
			||||||
	name = group->options[info->value.enumerated.item].name;
 | 
						name = group->options[info->value.enumerated.item].name;
 | 
				
			||||||
	strlcpy(info->value.enumerated.name, name, sizeof(info->value.enumerated.name));
 | 
						strscpy(info->value.enumerated.name, name, sizeof(info->value.enumerated.name));
 | 
				
			||||||
	info->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
 | 
						info->type = SNDRV_CTL_ELEM_TYPE_ENUMERATED;
 | 
				
			||||||
	info->count = 1;
 | 
						info->count = 1;
 | 
				
			||||||
	info->value.enumerated.items = count;
 | 
						info->value.enumerated.items = count;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -569,7 +569,7 @@ static int add_new_ctl(struct usb_mixer_interface *mixer,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	kctl->private_free = snd_usb_mixer_elem_free;
 | 
						kctl->private_free = snd_usb_mixer_elem_free;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(kctl->id.name, name, sizeof(kctl->id.name));
 | 
						strscpy(kctl->id.name, name, sizeof(kctl->id.name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	err = snd_usb_mixer_add_control(&elem->head, kctl);
 | 
						err = snd_usb_mixer_add_control(&elem->head, kctl);
 | 
				
			||||||
	if (err < 0)
 | 
						if (err < 0)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -961,7 +961,7 @@ static int scarlett2_add_new_ctl(struct usb_mixer_interface *mixer,
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	kctl->private_free = snd_usb_mixer_elem_free;
 | 
						kctl->private_free = snd_usb_mixer_elem_free;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(kctl->id.name, name, sizeof(kctl->id.name));
 | 
						strscpy(kctl->id.name, name, sizeof(kctl->id.name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	err = snd_usb_mixer_add_control(&elem->head, kctl);
 | 
						err = snd_usb_mixer_add_control(&elem->head, kctl);
 | 
				
			||||||
	if (err < 0)
 | 
						if (err < 0)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1076,7 +1076,7 @@ static int add_new_ctl(struct usb_mixer_interface *mixer,
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		kctl->private_free = snd_usb_mixer_elem_free;
 | 
							kctl->private_free = snd_usb_mixer_elem_free;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	strlcpy(kctl->id.name, name, sizeof(kctl->id.name));
 | 
						strscpy(kctl->id.name, name, sizeof(kctl->id.name));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	err = snd_usb_mixer_add_control(&elem->head, kctl);
 | 
						err = snd_usb_mixer_add_control(&elem->head, kctl);
 | 
				
			||||||
	if (err < 0)
 | 
						if (err < 0)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1790,7 +1790,7 @@ static int hdmi_lpe_audio_probe(struct platform_device *pdev)
 | 
				
			||||||
		/* setup private data which can be retrieved when required */
 | 
							/* setup private data which can be retrieved when required */
 | 
				
			||||||
		pcm->private_data = ctx;
 | 
							pcm->private_data = ctx;
 | 
				
			||||||
		pcm->info_flags = 0;
 | 
							pcm->info_flags = 0;
 | 
				
			||||||
		strlcpy(pcm->name, card->shortname, strlen(card->shortname));
 | 
							strscpy(pcm->name, card->shortname, strlen(card->shortname));
 | 
				
			||||||
		/* setup the ops for playabck */
 | 
							/* setup the ops for playabck */
 | 
				
			||||||
		snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &had_pcm_ops);
 | 
							snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &had_pcm_ops);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -398,7 +398,7 @@ static int cfg_device(struct xen_snd_front_info *front_info,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	str = xenbus_read(XBT_NIL, device_path, XENSND_FIELD_DEVICE_NAME, NULL);
 | 
						str = xenbus_read(XBT_NIL, device_path, XENSND_FIELD_DEVICE_NAME, NULL);
 | 
				
			||||||
	if (!IS_ERR(str)) {
 | 
						if (!IS_ERR(str)) {
 | 
				
			||||||
		strlcpy(pcm_instance->name, str, sizeof(pcm_instance->name));
 | 
							strscpy(pcm_instance->name, str, sizeof(pcm_instance->name));
 | 
				
			||||||
		kfree(str);
 | 
							kfree(str);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue