summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-09-10 16:20:42 -0400
committerMauro Carvalho Chehab <mchehab+samsung@kernel.org>2018-09-11 13:32:17 -0400
commitcc1e6315e83db0e517dd9279050b88adc83a7eba (patch)
tree2fab5c7b2a4f3f50a045357a41c419fccc975de2
parentc0decac19da3906d9b66291e57b7759489e1170f (diff)
media: replace strcpy() by strscpy()
The strcpy() function is being deprecated upstream. Replace it by the safer strscpy(). Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Reviewed-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-rw-r--r--drivers/media/common/saa7146/saa7146_video.c2
-rw-r--r--drivers/media/dvb-core/dvb_frontend.c2
-rw-r--r--drivers/media/dvb-frontends/mt312.c9
-rw-r--r--drivers/media/dvb-frontends/zl10039.c5
-rw-r--r--drivers/media/firewire/firedtv-fe.c2
-rw-r--r--drivers/media/i2c/ad5820.c2
-rw-r--r--drivers/media/i2c/lm3560.c3
-rw-r--r--drivers/media/i2c/lm3646.c3
-rw-r--r--drivers/media/i2c/s5c73m3/s5c73m3-core.c2
-rw-r--r--drivers/media/i2c/sr030pc30.c2
-rw-r--r--drivers/media/pci/bt8xx/bttv-driver.c4
-rw-r--r--drivers/media/pci/cx23885/cx23885-417.c2
-rw-r--r--drivers/media/pci/cx23885/cx23885-alsa.c4
-rw-r--r--drivers/media/pci/cx23885/cx23885-video.c11
-rw-r--r--drivers/media/pci/cx25821/cx25821-alsa.c8
-rw-r--r--drivers/media/pci/cx25821/cx25821-video.c6
-rw-r--r--drivers/media/pci/cx88/cx88-alsa.c6
-rw-r--r--drivers/media/pci/cx88/cx88-blackbird.c4
-rw-r--r--drivers/media/pci/cx88/cx88-cards.c2
-rw-r--r--drivers/media/pci/cx88/cx88-video.c8
-rw-r--r--drivers/media/pci/dm1105/dm1105.c5
-rw-r--r--drivers/media/pci/dt3155/dt3155.c6
-rw-r--r--drivers/media/pci/meye/meye.c10
-rw-r--r--drivers/media/pci/ngene/ngene-i2c.c2
-rw-r--r--drivers/media/pci/pluto2/pluto2.c2
-rw-r--r--drivers/media/pci/pt1/pt1.c2
-rw-r--r--drivers/media/pci/saa7134/saa7134-alsa.c8
-rw-r--r--drivers/media/pci/saa7134/saa7134-i2c.c2
-rw-r--r--drivers/media/pci/saa7134/saa7134-video.c9
-rw-r--r--drivers/media/pci/saa7164/saa7164-core.c2
-rw-r--r--drivers/media/pci/saa7164/saa7164-encoder.c6
-rw-r--r--drivers/media/pci/saa7164/saa7164-vbi.c2
-rw-r--r--drivers/media/pci/smipcie/smipcie-main.c4
-rw-r--r--drivers/media/pci/solo6x10/solo6x10-g723.c8
-rw-r--r--drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c12
-rw-r--r--drivers/media/pci/solo6x10/solo6x10-v4l2.c4
-rw-r--r--drivers/media/pci/sta2x11/sta2x11_vip.c6
-rw-r--r--drivers/media/pci/ttpci/av7110_v4l.c2
-rw-r--r--drivers/media/pci/ttpci/budget-core.c3
-rw-r--r--drivers/media/pci/tw5864/tw5864-video.c2
-rw-r--r--drivers/media/pci/tw68/tw68-video.c2
-rw-r--r--drivers/media/platform/am437x/am437x-vpfe.c3
-rw-r--r--drivers/media/platform/atmel/atmel-isc.c6
-rw-r--r--drivers/media/platform/davinci/vpbe_display.c6
-rw-r--r--drivers/media/platform/davinci/vpbe_venc.c2
-rw-r--r--drivers/media/platform/davinci/vpif_capture.c6
-rw-r--r--drivers/media/platform/davinci/vpif_display.c3
-rw-r--r--drivers/media/platform/fsl-viu.c8
-rw-r--r--drivers/media/platform/marvell-ccic/cafe-driver.c2
-rw-r--r--drivers/media/platform/marvell-ccic/mcam-core.c6
-rw-r--r--drivers/media/platform/soc_camera/soc_camera.c2
-rw-r--r--drivers/media/platform/via-camera.c6
-rw-r--r--drivers/media/platform/vivid/vivid-cec.c4
-rw-r--r--drivers/media/platform/vivid/vivid-core.c4
-rw-r--r--drivers/media/radio/dsbr100.c2
-rw-r--r--drivers/media/radio/radio-ma901.c2
-rw-r--r--drivers/media/radio/radio-mr800.c2
-rw-r--r--drivers/media/radio/si470x/radio-si470x-common.c2
-rw-r--r--drivers/media/radio/wl128x/fmdrv_v4l2.c4
-rw-r--r--drivers/media/usb/au0828/au0828-video.c18
-rw-r--r--drivers/media/usb/cpia2/cpia2_v4l.c12
-rw-r--r--drivers/media/usb/cx231xx/cx231xx-audio.c8
-rw-r--r--drivers/media/usb/cx231xx/cx231xx-video.c9
-rw-r--r--drivers/media/usb/em28xx/em28xx-audio.c8
-rw-r--r--drivers/media/usb/em28xx/em28xx-i2c.c3
-rw-r--r--drivers/media/usb/em28xx/em28xx-video.c22
-rw-r--r--drivers/media/usb/hdpvr/hdpvr-video.c7
-rw-r--r--drivers/media/usb/pulse8-cec/pulse8-cec.c3
-rw-r--r--drivers/media/usb/pwc/pwc-if.c2
-rw-r--r--drivers/media/usb/pwc/pwc-v4l.c2
-rw-r--r--drivers/media/usb/rainshadow-cec/rainshadow-cec.c3
-rw-r--r--drivers/media/usb/stk1160/stk1160-i2c.c2
-rw-r--r--drivers/media/usb/stk1160/stk1160-v4l.c4
-rw-r--r--drivers/media/usb/stkwebcam/stk-webcam.c16
-rw-r--r--drivers/media/usb/tm6000/tm6000-alsa.c6
-rw-r--r--drivers/media/usb/tm6000/tm6000-video.c6
-rw-r--r--drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c2
-rw-r--r--drivers/media/usb/usbvision/usbvision-video.c22
-rw-r--r--drivers/media/usb/uvc/uvc_driver.c2
-rw-r--r--drivers/media/usb/zr364xx/zr364xx.c4
-rw-r--r--drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c3
-rw-r--r--drivers/staging/media/imx/imx6-mipi-csi2.c2
-rw-r--r--drivers/staging/media/zoran/zoran_card.c2
83 files changed, 225 insertions, 199 deletions
diff --git a/drivers/media/common/saa7146/saa7146_video.c b/drivers/media/common/saa7146/saa7146_video.c
index 2a5c4b113f89..f90aa8109663 100644
--- a/drivers/media/common/saa7146/saa7146_video.c
+++ b/drivers/media/common/saa7146/saa7146_video.c
@@ -451,7 +451,7 @@ static int vidioc_querycap(struct file *file, void *fh, struct v4l2_capability *
451 struct video_device *vdev = video_devdata(file); 451 struct video_device *vdev = video_devdata(file);
452 struct saa7146_dev *dev = ((struct saa7146_fh *)fh)->dev; 452 struct saa7146_dev *dev = ((struct saa7146_fh *)fh)->dev;
453 453
454 strcpy((char *)cap->driver, "saa7146 v4l2"); 454 strscpy((char *)cap->driver, "saa7146 v4l2", sizeof(cap->driver));
455 strscpy((char *)cap->card, dev->ext->name, sizeof(cap->card)); 455 strscpy((char *)cap->card, dev->ext->name, sizeof(cap->card));
456 sprintf((char *)cap->bus_info, "PCI:%s", pci_name(dev->pci)); 456 sprintf((char *)cap->bus_info, "PCI:%s", pci_name(dev->pci));
457 cap->device_caps = 457 cap->device_caps =
diff --git a/drivers/media/dvb-core/dvb_frontend.c b/drivers/media/dvb-core/dvb_frontend.c
index c4e7ebfe4d29..961207cf09eb 100644
--- a/drivers/media/dvb-core/dvb_frontend.c
+++ b/drivers/media/dvb-core/dvb_frontend.c
@@ -2422,7 +2422,7 @@ static int dvb_frontend_handle_ioctl(struct file *file,
2422 struct dvb_frontend_info *info = parg; 2422 struct dvb_frontend_info *info = parg;
2423 memset(info, 0, sizeof(*info)); 2423 memset(info, 0, sizeof(*info));
2424 2424
2425 strcpy(info->name, fe->ops.info.name); 2425 strscpy(info->name, fe->ops.info.name, sizeof(info->name));
2426 info->symbol_rate_min = fe->ops.info.symbol_rate_min; 2426 info->symbol_rate_min = fe->ops.info.symbol_rate_min;
2427 info->symbol_rate_max = fe->ops.info.symbol_rate_max; 2427 info->symbol_rate_max = fe->ops.info.symbol_rate_max;
2428 info->symbol_rate_tolerance = fe->ops.info.symbol_rate_tolerance; 2428 info->symbol_rate_tolerance = fe->ops.info.symbol_rate_tolerance;
diff --git a/drivers/media/dvb-frontends/mt312.c b/drivers/media/dvb-frontends/mt312.c
index aad07adda37d..03e74a729168 100644
--- a/drivers/media/dvb-frontends/mt312.c
+++ b/drivers/media/dvb-frontends/mt312.c
@@ -815,17 +815,20 @@ struct dvb_frontend *mt312_attach(const struct mt312_config *config,
815 815
816 switch (state->id) { 816 switch (state->id) {
817 case ID_VP310: 817 case ID_VP310:
818 strcpy(state->frontend.ops.info.name, "Zarlink VP310 DVB-S"); 818 strscpy(state->frontend.ops.info.name, "Zarlink VP310 DVB-S",
819 sizeof(state->frontend.ops.info.name));
819 state->xtal = MT312_PLL_CLK; 820 state->xtal = MT312_PLL_CLK;
820 state->freq_mult = 9; 821 state->freq_mult = 9;
821 break; 822 break;
822 case ID_MT312: 823 case ID_MT312:
823 strcpy(state->frontend.ops.info.name, "Zarlink MT312 DVB-S"); 824 strscpy(state->frontend.ops.info.name, "Zarlink MT312 DVB-S",
825 sizeof(state->frontend.ops.info.name));
824 state->xtal = MT312_PLL_CLK; 826 state->xtal = MT312_PLL_CLK;
825 state->freq_mult = 6; 827 state->freq_mult = 6;
826 break; 828 break;
827 case ID_ZL10313: 829 case ID_ZL10313:
828 strcpy(state->frontend.ops.info.name, "Zarlink ZL10313 DVB-S"); 830 strscpy(state->frontend.ops.info.name, "Zarlink ZL10313 DVB-S",
831 sizeof(state->frontend.ops.info.name));
829 state->xtal = MT312_PLL_CLK_10_111; 832 state->xtal = MT312_PLL_CLK_10_111;
830 state->freq_mult = 9; 833 state->freq_mult = 9;
831 break; 834 break;
diff --git a/drivers/media/dvb-frontends/zl10039.c b/drivers/media/dvb-frontends/zl10039.c
index 6293bd920fa6..333e4a1da13b 100644
--- a/drivers/media/dvb-frontends/zl10039.c
+++ b/drivers/media/dvb-frontends/zl10039.c
@@ -288,8 +288,9 @@ struct dvb_frontend *zl10039_attach(struct dvb_frontend *fe,
288 state->id = state->id & 0x0f; 288 state->id = state->id & 0x0f;
289 switch (state->id) { 289 switch (state->id) {
290 case ID_ZL10039: 290 case ID_ZL10039:
291 strcpy(fe->ops.tuner_ops.info.name, 291 strscpy(fe->ops.tuner_ops.info.name,
292 "Zarlink ZL10039 DVB-S tuner"); 292 "Zarlink ZL10039 DVB-S tuner",
293 sizeof(fe->ops.tuner_ops.info.name));
293 break; 294 break;
294 default: 295 default:
295 dprintk("Chip ID=%x does not match a known type\n", state->id); 296 dprintk("Chip ID=%x does not match a known type\n", state->id);
diff --git a/drivers/media/firewire/firedtv-fe.c b/drivers/media/firewire/firedtv-fe.c
index 69087ae6c1d0..683957885ac4 100644
--- a/drivers/media/firewire/firedtv-fe.c
+++ b/drivers/media/firewire/firedtv-fe.c
@@ -247,7 +247,7 @@ void fdtv_frontend_init(struct firedtv *fdtv, const char *name)
247 dev_err(fdtv->device, "no frontend for model type %d\n", 247 dev_err(fdtv->device, "no frontend for model type %d\n",
248 fdtv->type); 248 fdtv->type);
249 } 249 }
250 strcpy(fi->name, name); 250 strscpy(fi->name, name, sizeof(fi->name));
251 251
252 fdtv->fe.dvb = &fdtv->adapter; 252 fdtv->fe.dvb = &fdtv->adapter;
253 fdtv->fe.sec_priv = fdtv; 253 fdtv->fe.sec_priv = fdtv;
diff --git a/drivers/media/i2c/ad5820.c b/drivers/media/i2c/ad5820.c
index 034ebf754007..907323f0ca3b 100644
--- a/drivers/media/i2c/ad5820.c
+++ b/drivers/media/i2c/ad5820.c
@@ -317,7 +317,7 @@ static int ad5820_probe(struct i2c_client *client,
317 v4l2_i2c_subdev_init(&coil->subdev, client, &ad5820_ops); 317 v4l2_i2c_subdev_init(&coil->subdev, client, &ad5820_ops);
318 coil->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; 318 coil->subdev.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
319 coil->subdev.internal_ops = &ad5820_internal_ops; 319 coil->subdev.internal_ops = &ad5820_internal_ops;
320 strcpy(coil->subdev.name, "ad5820 focus"); 320 strscpy(coil->subdev.name, "ad5820 focus", sizeof(coil->subdev.name));
321 321
322 ret = media_entity_pads_init(&coil->subdev.entity, 0, NULL); 322 ret = media_entity_pads_init(&coil->subdev.entity, 0, NULL);
323 if (ret < 0) 323 if (ret < 0)
diff --git a/drivers/media/i2c/lm3560.c b/drivers/media/i2c/lm3560.c
index 49c6644cbba7..f122f03bd6b7 100644
--- a/drivers/media/i2c/lm3560.c
+++ b/drivers/media/i2c/lm3560.c
@@ -362,7 +362,8 @@ static int lm3560_subdev_init(struct lm3560_flash *flash,
362 362
363 v4l2_i2c_subdev_init(&flash->subdev_led[led_no], client, &lm3560_ops); 363 v4l2_i2c_subdev_init(&flash->subdev_led[led_no], client, &lm3560_ops);
364 flash->subdev_led[led_no].flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; 364 flash->subdev_led[led_no].flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
365 strcpy(flash->subdev_led[led_no].name, led_name); 365 strscpy(flash->subdev_led[led_no].name, led_name,
366 sizeof(flash->subdev_led[led_no].name));
366 rval = lm3560_init_controls(flash, led_no); 367 rval = lm3560_init_controls(flash, led_no);
367 if (rval) 368 if (rval)
368 goto err_out; 369 goto err_out;
diff --git a/drivers/media/i2c/lm3646.c b/drivers/media/i2c/lm3646.c
index 7e9967af36ec..12ef2653987b 100644
--- a/drivers/media/i2c/lm3646.c
+++ b/drivers/media/i2c/lm3646.c
@@ -278,7 +278,8 @@ static int lm3646_subdev_init(struct lm3646_flash *flash)
278 278
279 v4l2_i2c_subdev_init(&flash->subdev_led, client, &lm3646_ops); 279 v4l2_i2c_subdev_init(&flash->subdev_led, client, &lm3646_ops);
280 flash->subdev_led.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; 280 flash->subdev_led.flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
281 strcpy(flash->subdev_led.name, LM3646_NAME); 281 strscpy(flash->subdev_led.name, LM3646_NAME,
282 sizeof(flash->subdev_led.name));
282 rval = lm3646_init_controls(flash); 283 rval = lm3646_init_controls(flash);
283 if (rval) 284 if (rval)
284 goto err_out; 285 goto err_out;
diff --git a/drivers/media/i2c/s5c73m3/s5c73m3-core.c b/drivers/media/i2c/s5c73m3/s5c73m3-core.c
index 9ca9b3997073..21ca5186f9ed 100644
--- a/drivers/media/i2c/s5c73m3/s5c73m3-core.c
+++ b/drivers/media/i2c/s5c73m3/s5c73m3-core.c
@@ -1698,7 +1698,7 @@ static int s5c73m3_probe(struct i2c_client *client,
1698 return ret; 1698 return ret;
1699 1699
1700 v4l2_i2c_subdev_init(oif_sd, client, &oif_subdev_ops); 1700 v4l2_i2c_subdev_init(oif_sd, client, &oif_subdev_ops);
1701 strcpy(oif_sd->name, "S5C73M3-OIF"); 1701 strscpy(oif_sd->name, "S5C73M3-OIF", sizeof(oif_sd->name));
1702 1702
1703 oif_sd->internal_ops = &oif_internal_ops; 1703 oif_sd->internal_ops = &oif_internal_ops;
1704 oif_sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; 1704 oif_sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
diff --git a/drivers/media/i2c/sr030pc30.c b/drivers/media/i2c/sr030pc30.c
index 2a4882cddc51..344666293f7d 100644
--- a/drivers/media/i2c/sr030pc30.c
+++ b/drivers/media/i2c/sr030pc30.c
@@ -703,7 +703,7 @@ static int sr030pc30_probe(struct i2c_client *client,
703 return -ENOMEM; 703 return -ENOMEM;
704 704
705 sd = &info->sd; 705 sd = &info->sd;
706 strcpy(sd->name, MODULE_NAME); 706 strscpy(sd->name, MODULE_NAME, sizeof(sd->name));
707 info->pdata = client->dev.platform_data; 707 info->pdata = client->dev.platform_data;
708 708
709 v4l2_i2c_subdev_init(sd, client, &sr030pc30_ops); 709 v4l2_i2c_subdev_init(sd, client, &sr030pc30_ops);
diff --git a/drivers/media/pci/bt8xx/bttv-driver.c b/drivers/media/pci/bt8xx/bttv-driver.c
index 95045448a112..413bf287547c 100644
--- a/drivers/media/pci/bt8xx/bttv-driver.c
+++ b/drivers/media/pci/bt8xx/bttv-driver.c
@@ -2782,7 +2782,7 @@ static int bttv_g_tuner(struct file *file, void *priv,
2782 t->rxsubchans = V4L2_TUNER_SUB_MONO; 2782 t->rxsubchans = V4L2_TUNER_SUB_MONO;
2783 t->capability = V4L2_TUNER_CAP_NORM; 2783 t->capability = V4L2_TUNER_CAP_NORM;
2784 bttv_call_all(btv, tuner, g_tuner, t); 2784 bttv_call_all(btv, tuner, g_tuner, t);
2785 strcpy(t->name, "Television"); 2785 strscpy(t->name, "Television", sizeof(t->name));
2786 t->type = V4L2_TUNER_ANALOG_TV; 2786 t->type = V4L2_TUNER_ANALOG_TV;
2787 if (btread(BT848_DSTATUS)&BT848_DSTATUS_HLOC) 2787 if (btread(BT848_DSTATUS)&BT848_DSTATUS_HLOC)
2788 t->signal = 0xffff; 2788 t->signal = 0xffff;
@@ -3257,7 +3257,7 @@ static int radio_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t)
3257 3257
3258 if (0 != t->index) 3258 if (0 != t->index)
3259 return -EINVAL; 3259 return -EINVAL;
3260 strcpy(t->name, "Radio"); 3260 strscpy(t->name, "Radio", sizeof(t->name));
3261 t->type = V4L2_TUNER_RADIO; 3261 t->type = V4L2_TUNER_RADIO;
3262 radio_enable(btv); 3262 radio_enable(btv);
3263 3263
diff --git a/drivers/media/pci/cx23885/cx23885-417.c b/drivers/media/pci/cx23885/cx23885-417.c
index 8579de5bb61b..3083434bb636 100644
--- a/drivers/media/pci/cx23885/cx23885-417.c
+++ b/drivers/media/pci/cx23885/cx23885-417.c
@@ -1280,7 +1280,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
1280 return -EINVAL; 1280 return -EINVAL;
1281 if (0 != t->index) 1281 if (0 != t->index)
1282 return -EINVAL; 1282 return -EINVAL;
1283 strcpy(t->name, "Television"); 1283 strscpy(t->name, "Television", sizeof(t->name));
1284 call_all(dev, tuner, g_tuner, t); 1284 call_all(dev, tuner, g_tuner, t);
1285 1285
1286 dprintk(1, "VIDIOC_G_TUNER: tuner type %d\n", t->type); 1286 dprintk(1, "VIDIOC_G_TUNER: tuner type %d\n", t->type);
diff --git a/drivers/media/pci/cx23885/cx23885-alsa.c b/drivers/media/pci/cx23885/cx23885-alsa.c
index db1e8ff35474..ee9d329c4038 100644
--- a/drivers/media/pci/cx23885/cx23885-alsa.c
+++ b/drivers/media/pci/cx23885/cx23885-alsa.c
@@ -526,7 +526,7 @@ static int snd_cx23885_pcm(struct cx23885_audio_dev *chip, int device,
526 if (err < 0) 526 if (err < 0)
527 return err; 527 return err;
528 pcm->private_data = chip; 528 pcm->private_data = chip;
529 strcpy(pcm->name, name); 529 strscpy(pcm->name, name, sizeof(pcm->name));
530 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx23885_pcm_ops); 530 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx23885_pcm_ops);
531 531
532 return 0; 532 return 0;
@@ -571,7 +571,7 @@ struct cx23885_audio_dev *cx23885_audio_register(struct cx23885_dev *dev)
571 if (err < 0) 571 if (err < 0)
572 goto error; 572 goto error;
573 573
574 strcpy(card->driver, "CX23885"); 574 strscpy(card->driver, "CX23885", sizeof(card->driver));
575 sprintf(card->shortname, "Conexant CX23885"); 575 sprintf(card->shortname, "Conexant CX23885");
576 sprintf(card->longname, "%s at %s", card->shortname, dev->name); 576 sprintf(card->longname, "%s at %s", card->shortname, dev->name);
577 577
diff --git a/drivers/media/pci/cx23885/cx23885-video.c b/drivers/media/pci/cx23885/cx23885-video.c
index b5ac7a6a9a62..92d32a733f1b 100644
--- a/drivers/media/pci/cx23885/cx23885-video.c
+++ b/drivers/media/pci/cx23885/cx23885-video.c
@@ -639,7 +639,7 @@ static int vidioc_querycap(struct file *file, void *priv,
639 struct cx23885_dev *dev = video_drvdata(file); 639 struct cx23885_dev *dev = video_drvdata(file);
640 struct video_device *vdev = video_devdata(file); 640 struct video_device *vdev = video_devdata(file);
641 641
642 strcpy(cap->driver, "cx23885"); 642 strscpy(cap->driver, "cx23885", sizeof(cap->driver));
643 strscpy(cap->card, cx23885_boards[dev->board].name, 643 strscpy(cap->card, cx23885_boards[dev->board].name,
644 sizeof(cap->card)); 644 sizeof(cap->card));
645 sprintf(cap->bus_info, "PCIe:%s", pci_name(dev->pci)); 645 sprintf(cap->bus_info, "PCIe:%s", pci_name(dev->pci));
@@ -731,7 +731,7 @@ int cx23885_enum_input(struct cx23885_dev *dev, struct v4l2_input *i)
731 731
732 i->index = n; 732 i->index = n;
733 i->type = V4L2_INPUT_TYPE_CAMERA; 733 i->type = V4L2_INPUT_TYPE_CAMERA;
734 strcpy(i->name, iname[INPUT(n)->type]); 734 strscpy(i->name, iname[INPUT(n)->type], sizeof(i->name));
735 i->std = CX23885_NORMS; 735 i->std = CX23885_NORMS;
736 if ((CX23885_VMUX_TELEVISION == INPUT(n)->type) || 736 if ((CX23885_VMUX_TELEVISION == INPUT(n)->type) ||
737 (CX23885_VMUX_CABLE == INPUT(n)->type)) { 737 (CX23885_VMUX_CABLE == INPUT(n)->type)) {
@@ -828,7 +828,7 @@ static int cx23885_query_audinput(struct file *file, void *priv,
828 828
829 memset(i, 0, sizeof(*i)); 829 memset(i, 0, sizeof(*i));
830 i->index = n; 830 i->index = n;
831 strcpy(i->name, iname[n]); 831 strscpy(i->name, iname[n], sizeof(i->name));
832 i->capability = V4L2_AUDCAP_STEREO; 832 i->capability = V4L2_AUDCAP_STEREO;
833 return 0; 833 return 0;
834 834
@@ -887,7 +887,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
887 if (0 != t->index) 887 if (0 != t->index)
888 return -EINVAL; 888 return -EINVAL;
889 889
890 strcpy(t->name, "Television"); 890 strscpy(t->name, "Television", sizeof(t->name));
891 891
892 call_all(dev, tuner, g_tuner, t); 892 call_all(dev, tuner, g_tuner, t);
893 return 0; 893 return 0;
@@ -1186,7 +1186,8 @@ int cx23885_video_register(struct cx23885_dev *dev)
1186 1186
1187 /* Initialize VBI template */ 1187 /* Initialize VBI template */
1188 cx23885_vbi_template = cx23885_video_template; 1188 cx23885_vbi_template = cx23885_video_template;
1189 strcpy(cx23885_vbi_template.name, "cx23885-vbi"); 1189 strscpy(cx23885_vbi_template.name, "cx23885-vbi",
1190 sizeof(cx23885_vbi_template.name));
1190 1191
1191 dev->tvnorm = V4L2_STD_NTSC_M; 1192 dev->tvnorm = V4L2_STD_NTSC_M;
1192 dev->fmt = format_by_fourcc(V4L2_PIX_FMT_YUYV); 1193 dev->fmt = format_by_fourcc(V4L2_PIX_FMT_YUYV);
diff --git a/drivers/media/pci/cx25821/cx25821-alsa.c b/drivers/media/pci/cx25821/cx25821-alsa.c
index ef6380651c10..0a6c90e92557 100644
--- a/drivers/media/pci/cx25821/cx25821-alsa.c
+++ b/drivers/media/pci/cx25821/cx25821-alsa.c
@@ -674,7 +674,7 @@ static int snd_cx25821_pcm(struct cx25821_audio_dev *chip, int device,
674 } 674 }
675 pcm->private_data = chip; 675 pcm->private_data = chip;
676 pcm->info_flags = 0; 676 pcm->info_flags = 0;
677 strcpy(pcm->name, name); 677 strscpy(pcm->name, name, sizeof(pcm->name));
678 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx25821_pcm_ops); 678 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx25821_pcm_ops);
679 679
680 return 0; 680 return 0;
@@ -725,7 +725,7 @@ static int cx25821_audio_initdev(struct cx25821_dev *dev)
725 return err; 725 return err;
726 } 726 }
727 727
728 strcpy(card->driver, "cx25821"); 728 strscpy(card->driver, "cx25821", sizeof(card->driver));
729 729
730 /* Card "creation" */ 730 /* Card "creation" */
731 chip = card->private_data; 731 chip = card->private_data;
@@ -754,10 +754,10 @@ static int cx25821_audio_initdev(struct cx25821_dev *dev)
754 goto error; 754 goto error;
755 } 755 }
756 756
757 strcpy(card->shortname, "cx25821"); 757 strscpy(card->shortname, "cx25821", sizeof(card->shortname));
758 sprintf(card->longname, "%s at 0x%lx irq %d", chip->dev->name, 758 sprintf(card->longname, "%s at 0x%lx irq %d", chip->dev->name,
759 chip->iobase, chip->irq); 759 chip->iobase, chip->irq);
760 strcpy(card->mixername, "CX25821"); 760 strscpy(card->mixername, "CX25821", sizeof(card->mixername));
761 761
762 pr_info("%s/%i: ALSA support for cx25821 boards\n", card->driver, 762 pr_info("%s/%i: ALSA support for cx25821 boards\n", card->driver,
763 devno); 763 devno);
diff --git a/drivers/media/pci/cx25821/cx25821-video.c b/drivers/media/pci/cx25821/cx25821-video.c
index 21607fbb6758..3d23c2e64102 100644
--- a/drivers/media/pci/cx25821/cx25821-video.c
+++ b/drivers/media/pci/cx25821/cx25821-video.c
@@ -441,7 +441,7 @@ static int cx25821_vidioc_querycap(struct file *file, void *priv,
441 V4L2_CAP_READWRITE | V4L2_CAP_STREAMING; 441 V4L2_CAP_READWRITE | V4L2_CAP_STREAMING;
442 const u32 cap_output = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_READWRITE; 442 const u32 cap_output = V4L2_CAP_VIDEO_OUTPUT | V4L2_CAP_READWRITE;
443 443
444 strcpy(cap->driver, "cx25821"); 444 strscpy(cap->driver, "cx25821", sizeof(cap->driver));
445 strscpy(cap->card, cx25821_boards[dev->board].name, sizeof(cap->card)); 445 strscpy(cap->card, cx25821_boards[dev->board].name, sizeof(cap->card));
446 sprintf(cap->bus_info, "PCIe:%s", pci_name(dev->pci)); 446 sprintf(cap->bus_info, "PCIe:%s", pci_name(dev->pci));
447 if (chan->id >= VID_CHANNEL_NUM) 447 if (chan->id >= VID_CHANNEL_NUM)
@@ -486,7 +486,7 @@ static int cx25821_vidioc_enum_input(struct file *file, void *priv,
486 486
487 i->type = V4L2_INPUT_TYPE_CAMERA; 487 i->type = V4L2_INPUT_TYPE_CAMERA;
488 i->std = CX25821_NORMS; 488 i->std = CX25821_NORMS;
489 strcpy(i->name, "Composite"); 489 strscpy(i->name, "Composite", sizeof(i->name));
490 return 0; 490 return 0;
491} 491}
492 492
@@ -534,7 +534,7 @@ static int cx25821_vidioc_enum_output(struct file *file, void *priv,
534 534
535 o->type = V4L2_INPUT_TYPE_CAMERA; 535 o->type = V4L2_INPUT_TYPE_CAMERA;
536 o->std = CX25821_NORMS; 536 o->std = CX25821_NORMS;
537 strcpy(o->name, "Composite"); 537 strscpy(o->name, "Composite", sizeof(o->name));
538 return 0; 538 return 0;
539} 539}
540 540
diff --git a/drivers/media/pci/cx88/cx88-alsa.c b/drivers/media/pci/cx88/cx88-alsa.c
index 89a65478ae36..b683cbe13dee 100644
--- a/drivers/media/pci/cx88/cx88-alsa.c
+++ b/drivers/media/pci/cx88/cx88-alsa.c
@@ -616,7 +616,7 @@ static int snd_cx88_pcm(struct cx88_audio_dev *chip, int device,
616 if (err < 0) 616 if (err < 0)
617 return err; 617 return err;
618 pcm->private_data = chip; 618 pcm->private_data = chip;
619 strcpy(pcm->name, name); 619 strscpy(pcm->name, name, sizeof(pcm->name));
620 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx88_pcm_ops); 620 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_cx88_pcm_ops);
621 621
622 return 0; 622 return 0;
@@ -968,12 +968,12 @@ static int cx88_audio_initdev(struct pci_dev *pci,
968 goto error; 968 goto error;
969 } 969 }
970 970
971 strcpy(card->driver, "CX88x"); 971 strscpy(card->driver, "CX88x", sizeof(card->driver));
972 sprintf(card->shortname, "Conexant CX%x", pci->device); 972 sprintf(card->shortname, "Conexant CX%x", pci->device);
973 sprintf(card->longname, "%s at %#llx", 973 sprintf(card->longname, "%s at %#llx",
974 card->shortname, 974 card->shortname,
975 (unsigned long long)pci_resource_start(pci, 0)); 975 (unsigned long long)pci_resource_start(pci, 0));
976 strcpy(card->mixername, "CX88"); 976 strscpy(card->mixername, "CX88", sizeof(card->mixername));
977 977
978 dprintk(0, "%s/%i: ALSA support for cx2388x boards\n", 978 dprintk(0, "%s/%i: ALSA support for cx2388x boards\n",
979 card->driver, devno); 979 card->driver, devno);
diff --git a/drivers/media/pci/cx88/cx88-blackbird.c b/drivers/media/pci/cx88/cx88-blackbird.c
index cf4e926cc388..199756547f03 100644
--- a/drivers/media/pci/cx88/cx88-blackbird.c
+++ b/drivers/media/pci/cx88/cx88-blackbird.c
@@ -803,7 +803,7 @@ static int vidioc_querycap(struct file *file, void *priv,
803 struct cx8802_dev *dev = video_drvdata(file); 803 struct cx8802_dev *dev = video_drvdata(file);
804 struct cx88_core *core = dev->core; 804 struct cx88_core *core = dev->core;
805 805
806 strcpy(cap->driver, "cx88_blackbird"); 806 strscpy(cap->driver, "cx88_blackbird", sizeof(cap->driver));
807 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); 807 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci));
808 return cx88_querycap(file, core, cap); 808 return cx88_querycap(file, core, cap);
809} 809}
@@ -995,7 +995,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
995 if (t->index != 0) 995 if (t->index != 0)
996 return -EINVAL; 996 return -EINVAL;
997 997
998 strcpy(t->name, "Television"); 998 strscpy(t->name, "Television", sizeof(t->name));
999 t->capability = V4L2_TUNER_CAP_NORM; 999 t->capability = V4L2_TUNER_CAP_NORM;
1000 t->rangehigh = 0xffffffffUL; 1000 t->rangehigh = 0xffffffffUL;
1001 call_all(core, tuner, g_tuner, t); 1001 call_all(core, tuner, g_tuner, t);
diff --git a/drivers/media/pci/cx88/cx88-cards.c b/drivers/media/pci/cx88/cx88-cards.c
index 07e1483e987d..382af90fd4a9 100644
--- a/drivers/media/pci/cx88/cx88-cards.c
+++ b/drivers/media/pci/cx88/cx88-cards.c
@@ -3693,7 +3693,7 @@ struct cx88_core *cx88_core_create(struct pci_dev *pci, int nr)
3693 core->height = 240; 3693 core->height = 240;
3694 core->field = V4L2_FIELD_INTERLACED; 3694 core->field = V4L2_FIELD_INTERLACED;
3695 3695
3696 strcpy(core->v4l2_dev.name, core->name); 3696 strscpy(core->v4l2_dev.name, core->name, sizeof(core->v4l2_dev.name));
3697 if (v4l2_device_register(NULL, &core->v4l2_dev)) { 3697 if (v4l2_device_register(NULL, &core->v4l2_dev)) {
3698 kfree(core); 3698 kfree(core);
3699 return NULL; 3699 return NULL;
diff --git a/drivers/media/pci/cx88/cx88-video.c b/drivers/media/pci/cx88/cx88-video.c
index f5d0624023da..df4e7a0686e0 100644
--- a/drivers/media/pci/cx88/cx88-video.c
+++ b/drivers/media/pci/cx88/cx88-video.c
@@ -842,7 +842,7 @@ static int vidioc_querycap(struct file *file, void *priv,
842 struct cx8800_dev *dev = video_drvdata(file); 842 struct cx8800_dev *dev = video_drvdata(file);
843 struct cx88_core *core = dev->core; 843 struct cx88_core *core = dev->core;
844 844
845 strcpy(cap->driver, "cx8800"); 845 strscpy(cap->driver, "cx8800", sizeof(cap->driver));
846 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); 846 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci));
847 return cx88_querycap(file, core, cap); 847 return cx88_querycap(file, core, cap);
848} 848}
@@ -897,7 +897,7 @@ int cx88_enum_input(struct cx88_core *core, struct v4l2_input *i)
897 if (!INPUT(n).type) 897 if (!INPUT(n).type)
898 return -EINVAL; 898 return -EINVAL;
899 i->type = V4L2_INPUT_TYPE_CAMERA; 899 i->type = V4L2_INPUT_TYPE_CAMERA;
900 strcpy(i->name, iname[INPUT(n).type]); 900 strscpy(i->name, iname[INPUT(n).type], sizeof(i->name));
901 if ((INPUT(n).type == CX88_VMUX_TELEVISION) || 901 if ((INPUT(n).type == CX88_VMUX_TELEVISION) ||
902 (INPUT(n).type == CX88_VMUX_CABLE)) 902 (INPUT(n).type == CX88_VMUX_CABLE))
903 i->type = V4L2_INPUT_TYPE_TUNER; 903 i->type = V4L2_INPUT_TYPE_TUNER;
@@ -952,7 +952,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
952 if (t->index != 0) 952 if (t->index != 0)
953 return -EINVAL; 953 return -EINVAL;
954 954
955 strcpy(t->name, "Television"); 955 strscpy(t->name, "Television", sizeof(t->name));
956 t->capability = V4L2_TUNER_CAP_NORM; 956 t->capability = V4L2_TUNER_CAP_NORM;
957 t->rangehigh = 0xffffffffUL; 957 t->rangehigh = 0xffffffffUL;
958 call_all(core, tuner, g_tuner, t); 958 call_all(core, tuner, g_tuner, t);
@@ -1065,7 +1065,7 @@ static int radio_g_tuner(struct file *file, void *priv,
1065 if (unlikely(t->index > 0)) 1065 if (unlikely(t->index > 0))
1066 return -EINVAL; 1066 return -EINVAL;
1067 1067
1068 strcpy(t->name, "Radio"); 1068 strscpy(t->name, "Radio", sizeof(t->name));
1069 1069
1070 call_all(core, tuner, g_tuner, t); 1070 call_all(core, tuner, g_tuner, t);
1071 return 0; 1071 return 0;
diff --git a/drivers/media/pci/dm1105/dm1105.c b/drivers/media/pci/dm1105/dm1105.c
index 1ddb0576fb7b..a84c8270ea13 100644
--- a/drivers/media/pci/dm1105/dm1105.c
+++ b/drivers/media/pci/dm1105/dm1105.c
@@ -1046,7 +1046,7 @@ static int dm1105_probe(struct pci_dev *pdev,
1046 1046
1047 /* i2c */ 1047 /* i2c */
1048 i2c_set_adapdata(&dev->i2c_adap, dev); 1048 i2c_set_adapdata(&dev->i2c_adap, dev);
1049 strcpy(dev->i2c_adap.name, DRIVER_NAME); 1049 strscpy(dev->i2c_adap.name, DRIVER_NAME, sizeof(dev->i2c_adap.name));
1050 dev->i2c_adap.owner = THIS_MODULE; 1050 dev->i2c_adap.owner = THIS_MODULE;
1051 dev->i2c_adap.dev.parent = &pdev->dev; 1051 dev->i2c_adap.dev.parent = &pdev->dev;
1052 dev->i2c_adap.algo = &dm1105_algo; 1052 dev->i2c_adap.algo = &dm1105_algo;
@@ -1057,7 +1057,8 @@ static int dm1105_probe(struct pci_dev *pdev,
1057 goto err_dm1105_hw_exit; 1057 goto err_dm1105_hw_exit;
1058 1058
1059 i2c_set_adapdata(&dev->i2c_bb_adap, dev); 1059 i2c_set_adapdata(&dev->i2c_bb_adap, dev);
1060 strcpy(dev->i2c_bb_adap.name, DM1105_I2C_GPIO_NAME); 1060 strscpy(dev->i2c_bb_adap.name, DM1105_I2C_GPIO_NAME,
1061 sizeof(dev->i2c_bb_adap.name));
1061 dev->i2c_bb_adap.owner = THIS_MODULE; 1062 dev->i2c_bb_adap.owner = THIS_MODULE;
1062 dev->i2c_bb_adap.dev.parent = &pdev->dev; 1063 dev->i2c_bb_adap.dev.parent = &pdev->dev;
1063 dev->i2c_bb_adap.algo_data = &dev->i2c_bit; 1064 dev->i2c_bb_adap.algo_data = &dev->i2c_bit;
diff --git a/drivers/media/pci/dt3155/dt3155.c b/drivers/media/pci/dt3155/dt3155.c
index bf6e1621ad6b..17d69bd5d7f1 100644
--- a/drivers/media/pci/dt3155/dt3155.c
+++ b/drivers/media/pci/dt3155/dt3155.c
@@ -307,8 +307,8 @@ static int dt3155_querycap(struct file *filp, void *p,
307{ 307{
308 struct dt3155_priv *pd = video_drvdata(filp); 308 struct dt3155_priv *pd = video_drvdata(filp);
309 309
310 strcpy(cap->driver, DT3155_NAME); 310 strscpy(cap->driver, DT3155_NAME, sizeof(cap->driver));
311 strcpy(cap->card, DT3155_NAME " frame grabber"); 311 strscpy(cap->card, DT3155_NAME " frame grabber", sizeof(cap->card));
312 sprintf(cap->bus_info, "PCI:%s", pci_name(pd->pdev)); 312 sprintf(cap->bus_info, "PCI:%s", pci_name(pd->pdev));
313 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | 313 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
314 V4L2_CAP_STREAMING | V4L2_CAP_READWRITE; 314 V4L2_CAP_STREAMING | V4L2_CAP_READWRITE;
@@ -322,7 +322,7 @@ static int dt3155_enum_fmt_vid_cap(struct file *filp,
322 if (f->index) 322 if (f->index)
323 return -EINVAL; 323 return -EINVAL;
324 f->pixelformat = V4L2_PIX_FMT_GREY; 324 f->pixelformat = V4L2_PIX_FMT_GREY;
325 strcpy(f->description, "8-bit Greyscale"); 325 strscpy(f->description, "8-bit Greyscale", sizeof(f->description));
326 return 0; 326 return 0;
327} 327}
328 328
diff --git a/drivers/media/pci/meye/meye.c b/drivers/media/pci/meye/meye.c
index 8001d3e9134e..7285edcdd323 100644
--- a/drivers/media/pci/meye/meye.c
+++ b/drivers/media/pci/meye/meye.c
@@ -1019,8 +1019,8 @@ static int meyeioc_stilljcapt(int *len)
1019static int vidioc_querycap(struct file *file, void *fh, 1019static int vidioc_querycap(struct file *file, void *fh,
1020 struct v4l2_capability *cap) 1020 struct v4l2_capability *cap)
1021{ 1021{
1022 strcpy(cap->driver, "meye"); 1022 strscpy(cap->driver, "meye", sizeof(cap->driver));
1023 strcpy(cap->card, "meye"); 1023 strscpy(cap->card, "meye", sizeof(cap->card));
1024 sprintf(cap->bus_info, "PCI:%s", pci_name(meye.mchip_dev)); 1024 sprintf(cap->bus_info, "PCI:%s", pci_name(meye.mchip_dev));
1025 1025
1026 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | 1026 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
@@ -1035,7 +1035,7 @@ static int vidioc_enum_input(struct file *file, void *fh, struct v4l2_input *i)
1035 if (i->index != 0) 1035 if (i->index != 0)
1036 return -EINVAL; 1036 return -EINVAL;
1037 1037
1038 strcpy(i->name, "Camera"); 1038 strscpy(i->name, "Camera", sizeof(i->name));
1039 i->type = V4L2_INPUT_TYPE_CAMERA; 1039 i->type = V4L2_INPUT_TYPE_CAMERA;
1040 1040
1041 return 0; 1041 return 0;
@@ -1118,12 +1118,12 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *fh,
1118 if (f->index == 0) { 1118 if (f->index == 0) {
1119 /* standard YUV 422 capture */ 1119 /* standard YUV 422 capture */
1120 f->flags = 0; 1120 f->flags = 0;
1121 strcpy(f->description, "YUV422"); 1121 strscpy(f->description, "YUV422", sizeof(f->description));
1122 f->pixelformat = V4L2_PIX_FMT_YUYV; 1122 f->pixelformat = V4L2_PIX_FMT_YUYV;
1123 } else { 1123 } else {
1124 /* compressed MJPEG capture */ 1124 /* compressed MJPEG capture */
1125 f->flags = V4L2_FMT_FLAG_COMPRESSED; 1125 f->flags = V4L2_FMT_FLAG_COMPRESSED;
1126 strcpy(f->description, "MJPEG"); 1126 strscpy(f->description, "MJPEG", sizeof(f->description));
1127 f->pixelformat = V4L2_PIX_FMT_MJPEG; 1127 f->pixelformat = V4L2_PIX_FMT_MJPEG;
1128 } 1128 }
1129 1129
diff --git a/drivers/media/pci/ngene/ngene-i2c.c b/drivers/media/pci/ngene/ngene-i2c.c
index 092d46c2a3a9..02a06f6c97f8 100644
--- a/drivers/media/pci/ngene/ngene-i2c.c
+++ b/drivers/media/pci/ngene/ngene-i2c.c
@@ -161,7 +161,7 @@ int ngene_i2c_init(struct ngene *dev, int dev_nr)
161 161
162 i2c_set_adapdata(adap, &(dev->channel[dev_nr])); 162 i2c_set_adapdata(adap, &(dev->channel[dev_nr]));
163 163
164 strcpy(adap->name, "nGene"); 164 strscpy(adap->name, "nGene", sizeof(adap->name));
165 165
166 adap->algo = &ngene_i2c_algo; 166 adap->algo = &ngene_i2c_algo;
167 adap->algo_data = (void *)&(dev->channel[dev_nr]); 167 adap->algo_data = (void *)&(dev->channel[dev_nr]);
diff --git a/drivers/media/pci/pluto2/pluto2.c b/drivers/media/pci/pluto2/pluto2.c
index 5e6fe686f420..872c796621d2 100644
--- a/drivers/media/pci/pluto2/pluto2.c
+++ b/drivers/media/pci/pluto2/pluto2.c
@@ -633,7 +633,7 @@ static int pluto2_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
633 633
634 /* i2c */ 634 /* i2c */
635 i2c_set_adapdata(&pluto->i2c_adap, pluto); 635 i2c_set_adapdata(&pluto->i2c_adap, pluto);
636 strcpy(pluto->i2c_adap.name, DRIVER_NAME); 636 strscpy(pluto->i2c_adap.name, DRIVER_NAME, sizeof(pluto->i2c_adap.name));
637 pluto->i2c_adap.owner = THIS_MODULE; 637 pluto->i2c_adap.owner = THIS_MODULE;
638 pluto->i2c_adap.dev.parent = &pdev->dev; 638 pluto->i2c_adap.dev.parent = &pdev->dev;
639 pluto->i2c_adap.algo_data = &pluto->i2c_bit; 639 pluto->i2c_adap.algo_data = &pluto->i2c_bit;
diff --git a/drivers/media/pci/pt1/pt1.c b/drivers/media/pci/pt1/pt1.c
index 7f878fc41b7e..f4b8030e2369 100644
--- a/drivers/media/pci/pt1/pt1.c
+++ b/drivers/media/pci/pt1/pt1.c
@@ -1354,7 +1354,7 @@ static int pt1_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
1354 i2c_adap->algo = &pt1_i2c_algo; 1354 i2c_adap->algo = &pt1_i2c_algo;
1355 i2c_adap->algo_data = NULL; 1355 i2c_adap->algo_data = NULL;
1356 i2c_adap->dev.parent = &pdev->dev; 1356 i2c_adap->dev.parent = &pdev->dev;
1357 strcpy(i2c_adap->name, DRIVER_NAME); 1357 strscpy(i2c_adap->name, DRIVER_NAME, sizeof(i2c_adap->name));
1358 i2c_set_adapdata(i2c_adap, pt1); 1358 i2c_set_adapdata(i2c_adap, pt1);
1359 ret = i2c_add_adapter(i2c_adap); 1359 ret = i2c_add_adapter(i2c_adap);
1360 if (ret < 0) 1360 if (ret < 0)
diff --git a/drivers/media/pci/saa7134/saa7134-alsa.c b/drivers/media/pci/saa7134/saa7134-alsa.c
index b90cfde6e301..dc9cdaaee1fb 100644
--- a/drivers/media/pci/saa7134/saa7134-alsa.c
+++ b/drivers/media/pci/saa7134/saa7134-alsa.c
@@ -901,7 +901,7 @@ static int snd_card_saa7134_pcm(snd_card_saa7134_t *saa7134, int device)
901 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_saa7134_capture_ops); 901 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_card_saa7134_capture_ops);
902 pcm->private_data = saa7134; 902 pcm->private_data = saa7134;
903 pcm->info_flags = 0; 903 pcm->info_flags = 0;
904 strcpy(pcm->name, "SAA7134 PCM"); 904 strscpy(pcm->name, "SAA7134 PCM", sizeof(pcm->name));
905 return 0; 905 return 0;
906} 906}
907 907
@@ -1074,7 +1074,7 @@ static int snd_card_saa7134_new_mixer(snd_card_saa7134_t * chip)
1074 unsigned int idx; 1074 unsigned int idx;
1075 int err, addr; 1075 int err, addr;
1076 1076
1077 strcpy(card->mixername, "SAA7134 Mixer"); 1077 strscpy(card->mixername, "SAA7134 Mixer", sizeof(card->mixername));
1078 1078
1079 for (idx = 0; idx < ARRAY_SIZE(snd_saa7134_volume_controls); idx++) { 1079 for (idx = 0; idx < ARRAY_SIZE(snd_saa7134_volume_controls); idx++) {
1080 kcontrol = snd_ctl_new1(&snd_saa7134_volume_controls[idx], 1080 kcontrol = snd_ctl_new1(&snd_saa7134_volume_controls[idx],
@@ -1138,7 +1138,7 @@ static int alsa_card_saa7134_create(struct saa7134_dev *dev, int devnum)
1138 if (err < 0) 1138 if (err < 0)
1139 return err; 1139 return err;
1140 1140
1141 strcpy(card->driver, "SAA7134"); 1141 strscpy(card->driver, "SAA7134", sizeof(card->driver));
1142 1142
1143 /* Card "creation" */ 1143 /* Card "creation" */
1144 1144
@@ -1178,7 +1178,7 @@ static int alsa_card_saa7134_create(struct saa7134_dev *dev, int devnum)
1178 1178
1179 /* End of "creation" */ 1179 /* End of "creation" */
1180 1180
1181 strcpy(card->shortname, "SAA7134"); 1181 strscpy(card->shortname, "SAA7134", sizeof(card->shortname));
1182 sprintf(card->longname, "%s at 0x%lx irq %d", 1182 sprintf(card->longname, "%s at 0x%lx irq %d",
1183 chip->dev->name, chip->iobase, chip->irq); 1183 chip->dev->name, chip->iobase, chip->irq);
1184 1184
diff --git a/drivers/media/pci/saa7134/saa7134-i2c.c b/drivers/media/pci/saa7134/saa7134-i2c.c
index cf1e526de56a..51af3310654c 100644
--- a/drivers/media/pci/saa7134/saa7134-i2c.c
+++ b/drivers/media/pci/saa7134/saa7134-i2c.c
@@ -437,7 +437,7 @@ int saa7134_i2c_register(struct saa7134_dev *dev)
437{ 437{
438 dev->i2c_adap = saa7134_adap_template; 438 dev->i2c_adap = saa7134_adap_template;
439 dev->i2c_adap.dev.parent = &dev->pci->dev; 439 dev->i2c_adap.dev.parent = &dev->pci->dev;
440 strcpy(dev->i2c_adap.name,dev->name); 440 strscpy(dev->i2c_adap.name, dev->name, sizeof(dev->i2c_adap.name));
441 dev->i2c_adap.algo_data = dev; 441 dev->i2c_adap.algo_data = dev;
442 i2c_set_adapdata(&dev->i2c_adap, &dev->v4l2_dev); 442 i2c_set_adapdata(&dev->i2c_adap, &dev->v4l2_dev);
443 i2c_add_adapter(&dev->i2c_adap); 443 i2c_add_adapter(&dev->i2c_adap);
diff --git a/drivers/media/pci/saa7134/saa7134-video.c b/drivers/media/pci/saa7134/saa7134-video.c
index b41de940a1ee..1a22ae7cbdd9 100644
--- a/drivers/media/pci/saa7134/saa7134-video.c
+++ b/drivers/media/pci/saa7134/saa7134-video.c
@@ -1445,7 +1445,8 @@ int saa7134_enum_input(struct file *file, void *priv, struct v4l2_input *i)
1445 if (card_in(dev, i->index).type == SAA7134_NO_INPUT) 1445 if (card_in(dev, i->index).type == SAA7134_NO_INPUT)
1446 return -EINVAL; 1446 return -EINVAL;
1447 i->index = n; 1447 i->index = n;
1448 strcpy(i->name, saa7134_input_name[card_in(dev, n).type]); 1448 strscpy(i->name, saa7134_input_name[card_in(dev, n).type],
1449 sizeof(i->name));
1449 switch (card_in(dev, n).type) { 1450 switch (card_in(dev, n).type) {
1450 case SAA7134_INPUT_TV: 1451 case SAA7134_INPUT_TV:
1451 case SAA7134_INPUT_TV_MONO: 1452 case SAA7134_INPUT_TV_MONO:
@@ -1502,7 +1503,7 @@ int saa7134_querycap(struct file *file, void *priv,
1502 1503
1503 unsigned int tuner_type = dev->tuner_type; 1504 unsigned int tuner_type = dev->tuner_type;
1504 1505
1505 strcpy(cap->driver, "saa7134"); 1506 strscpy(cap->driver, "saa7134", sizeof(cap->driver));
1506 strscpy(cap->card, saa7134_boards[dev->board].name, 1507 strscpy(cap->card, saa7134_boards[dev->board].name,
1507 sizeof(cap->card)); 1508 sizeof(cap->card));
1508 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); 1509 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci));
@@ -1747,7 +1748,7 @@ int saa7134_g_tuner(struct file *file, void *priv,
1747 if (n == SAA7134_INPUT_MAX) 1748 if (n == SAA7134_INPUT_MAX)
1748 return -EINVAL; 1749 return -EINVAL;
1749 if (card_in(dev, n).type != SAA7134_NO_INPUT) { 1750 if (card_in(dev, n).type != SAA7134_NO_INPUT) {
1750 strcpy(t->name, "Television"); 1751 strscpy(t->name, "Television", sizeof(t->name));
1751 t->type = V4L2_TUNER_ANALOG_TV; 1752 t->type = V4L2_TUNER_ANALOG_TV;
1752 saa_call_all(dev, tuner, g_tuner, t); 1753 saa_call_all(dev, tuner, g_tuner, t);
1753 t->capability = V4L2_TUNER_CAP_NORM | 1754 t->capability = V4L2_TUNER_CAP_NORM |
@@ -1939,7 +1940,7 @@ static int radio_g_tuner(struct file *file, void *priv,
1939 if (0 != t->index) 1940 if (0 != t->index)
1940 return -EINVAL; 1941 return -EINVAL;
1941 1942
1942 strcpy(t->name, "Radio"); 1943 strscpy(t->name, "Radio", sizeof(t->name));
1943 1944
1944 saa_call_all(dev, tuner, g_tuner, t); 1945 saa_call_all(dev, tuner, g_tuner, t);
1945 t->audmode &= V4L2_TUNER_MODE_MONO | V4L2_TUNER_MODE_STEREO; 1946 t->audmode &= V4L2_TUNER_MODE_MONO | V4L2_TUNER_MODE_STEREO;
diff --git a/drivers/media/pci/saa7164/saa7164-core.c b/drivers/media/pci/saa7164/saa7164-core.c
index d697e1ad929c..f33349e16359 100644
--- a/drivers/media/pci/saa7164/saa7164-core.c
+++ b/drivers/media/pci/saa7164/saa7164-core.c
@@ -179,7 +179,7 @@ static void saa7164_histogram_reset(struct saa7164_histogram *hg, char *name)
179 int i; 179 int i;
180 180
181 memset(hg, 0, sizeof(struct saa7164_histogram)); 181 memset(hg, 0, sizeof(struct saa7164_histogram));
182 strcpy(hg->name, name); 182 strscpy(hg->name, name, sizeof(hg->name));
183 183
184 /* First 30ms x 1ms */ 184 /* First 30ms x 1ms */
185 for (i = 0; i < 30; i++) 185 for (i = 0; i < 30; i++)
diff --git a/drivers/media/pci/saa7164/saa7164-encoder.c b/drivers/media/pci/saa7164/saa7164-encoder.c
index 50161921e4e7..adec2bab8352 100644
--- a/drivers/media/pci/saa7164/saa7164-encoder.c
+++ b/drivers/media/pci/saa7164/saa7164-encoder.c
@@ -258,7 +258,7 @@ int saa7164_enum_input(struct file *file, void *priv, struct v4l2_input *i)
258 if (i->index >= 7) 258 if (i->index >= 7)
259 return -EINVAL; 259 return -EINVAL;
260 260
261 strcpy(i->name, inputs[i->index]); 261 strscpy(i->name, inputs[i->index], sizeof(i->name));
262 262
263 if (i->index == 0) 263 if (i->index == 0)
264 i->type = V4L2_INPUT_TYPE_TUNER; 264 i->type = V4L2_INPUT_TYPE_TUNER;
@@ -325,7 +325,7 @@ int saa7164_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t)
325 if (0 != t->index) 325 if (0 != t->index)
326 return -EINVAL; 326 return -EINVAL;
327 327
328 strcpy(t->name, "tuner"); 328 strscpy(t->name, "tuner", sizeof(t->name));
329 t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO; 329 t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO;
330 t->rangelow = SAA7164_TV_MIN_FREQ; 330 t->rangelow = SAA7164_TV_MIN_FREQ;
331 t->rangehigh = SAA7164_TV_MAX_FREQ; 331 t->rangehigh = SAA7164_TV_MAX_FREQ;
@@ -497,7 +497,7 @@ static int vidioc_querycap(struct file *file, void *priv,
497 struct saa7164_port *port = fh->port; 497 struct saa7164_port *port = fh->port;
498 struct saa7164_dev *dev = port->dev; 498 struct saa7164_dev *dev = port->dev;
499 499
500 strcpy(cap->driver, dev->name); 500 strscpy(cap->driver, dev->name, sizeof(cap->driver));
501 strscpy(cap->card, saa7164_boards[dev->board].name, 501 strscpy(cap->card, saa7164_boards[dev->board].name,
502 sizeof(cap->card)); 502 sizeof(cap->card));
503 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); 503 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci));
diff --git a/drivers/media/pci/saa7164/saa7164-vbi.c b/drivers/media/pci/saa7164/saa7164-vbi.c
index 17b7cabf9a1f..841c7e94405d 100644
--- a/drivers/media/pci/saa7164/saa7164-vbi.c
+++ b/drivers/media/pci/saa7164/saa7164-vbi.c
@@ -208,7 +208,7 @@ static int vidioc_querycap(struct file *file, void *priv,
208 struct saa7164_port *port = fh->port; 208 struct saa7164_port *port = fh->port;
209 struct saa7164_dev *dev = port->dev; 209 struct saa7164_dev *dev = port->dev;
210 210
211 strcpy(cap->driver, dev->name); 211 strscpy(cap->driver, dev->name, sizeof(cap->driver));
212 strscpy(cap->card, saa7164_boards[dev->board].name, 212 strscpy(cap->card, saa7164_boards[dev->board].name,
213 sizeof(cap->card)); 213 sizeof(cap->card));
214 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); 214 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci));
diff --git a/drivers/media/pci/smipcie/smipcie-main.c b/drivers/media/pci/smipcie/smipcie-main.c
index 4c2da27fee4b..4d5ddbcb3514 100644
--- a/drivers/media/pci/smipcie/smipcie-main.c
+++ b/drivers/media/pci/smipcie/smipcie-main.c
@@ -191,7 +191,7 @@ static int smi_i2c_init(struct smi_dev *dev)
191 /* i2c bus 0 */ 191 /* i2c bus 0 */
192 smi_i2c_cfg(dev, I2C_A_SW_CTL); 192 smi_i2c_cfg(dev, I2C_A_SW_CTL);
193 i2c_set_adapdata(&dev->i2c_bus[0], dev); 193 i2c_set_adapdata(&dev->i2c_bus[0], dev);
194 strcpy(dev->i2c_bus[0].name, "SMI-I2C0"); 194 strscpy(dev->i2c_bus[0].name, "SMI-I2C0", sizeof(dev->i2c_bus[0].name));
195 dev->i2c_bus[0].owner = THIS_MODULE; 195 dev->i2c_bus[0].owner = THIS_MODULE;
196 dev->i2c_bus[0].dev.parent = &dev->pci_dev->dev; 196 dev->i2c_bus[0].dev.parent = &dev->pci_dev->dev;
197 dev->i2c_bus[0].algo_data = &dev->i2c_bit[0]; 197 dev->i2c_bus[0].algo_data = &dev->i2c_bit[0];
@@ -213,7 +213,7 @@ static int smi_i2c_init(struct smi_dev *dev)
213 /* i2c bus 1 */ 213 /* i2c bus 1 */
214 smi_i2c_cfg(dev, I2C_B_SW_CTL); 214 smi_i2c_cfg(dev, I2C_B_SW_CTL);
215 i2c_set_adapdata(&dev->i2c_bus[1], dev); 215 i2c_set_adapdata(&dev->i2c_bus[1], dev);
216 strcpy(dev->i2c_bus[1].name, "SMI-I2C1"); 216 strscpy(dev->i2c_bus[1].name, "SMI-I2C1", sizeof(dev->i2c_bus[1].name));
217 dev->i2c_bus[1].owner = THIS_MODULE; 217 dev->i2c_bus[1].owner = THIS_MODULE;
218 dev->i2c_bus[1].dev.parent = &dev->pci_dev->dev; 218 dev->i2c_bus[1].dev.parent = &dev->pci_dev->dev;
219 dev->i2c_bus[1].algo_data = &dev->i2c_bit[1]; 219 dev->i2c_bus[1].algo_data = &dev->i2c_bit[1];
diff --git a/drivers/media/pci/solo6x10/solo6x10-g723.c b/drivers/media/pci/solo6x10/solo6x10-g723.c
index 2ac33b5cc454..2cc05a9d57ac 100644
--- a/drivers/media/pci/solo6x10/solo6x10-g723.c
+++ b/drivers/media/pci/solo6x10/solo6x10-g723.c
@@ -354,7 +354,7 @@ static int solo_snd_pcm_init(struct solo_dev *solo_dev)
354 354
355 snd_pcm_chip(pcm) = solo_dev; 355 snd_pcm_chip(pcm) = solo_dev;
356 pcm->info_flags = 0; 356 pcm->info_flags = 0;
357 strcpy(pcm->name, card->shortname); 357 strscpy(pcm->name, card->shortname, sizeof(pcm->name));
358 358
359 for (i = 0, ss = pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream; 359 for (i = 0, ss = pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream;
360 ss; ss = ss->next, i++) 360 ss; ss = ss->next, i++)
@@ -394,8 +394,8 @@ int solo_g723_init(struct solo_dev *solo_dev)
394 394
395 card = solo_dev->snd_card; 395 card = solo_dev->snd_card;
396 396
397 strcpy(card->driver, SOLO6X10_NAME); 397 strscpy(card->driver, SOLO6X10_NAME, sizeof(card->driver));
398 strcpy(card->shortname, "SOLO-6x10 Audio"); 398 strscpy(card->shortname, "SOLO-6x10 Audio", sizeof(card->shortname));
399 sprintf(card->longname, "%s on %s IRQ %d", card->shortname, 399 sprintf(card->longname, "%s on %s IRQ %d", card->shortname,
400 pci_name(solo_dev->pdev), solo_dev->pdev->irq); 400 pci_name(solo_dev->pdev), solo_dev->pdev->irq);
401 401
@@ -404,7 +404,7 @@ int solo_g723_init(struct solo_dev *solo_dev)
404 goto snd_error; 404 goto snd_error;
405 405
406 /* Mixer controls */ 406 /* Mixer controls */
407 strcpy(card->mixername, "SOLO-6x10"); 407 strscpy(card->mixername, "SOLO-6x10", sizeof(card->mixername));
408 kctl = snd_solo_capture_volume; 408 kctl = snd_solo_capture_volume;
409 kctl.count = solo_dev->nr_chans; 409 kctl.count = solo_dev->nr_chans;
410 410
diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
index 25f9f2ebff1d..9d27e7463070 100644
--- a/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
+++ b/drivers/media/pci/solo6x10/solo6x10-v4l2-enc.c
@@ -775,7 +775,7 @@ static int solo_enc_querycap(struct file *file, void *priv,
775 struct solo_enc_dev *solo_enc = video_drvdata(file); 775 struct solo_enc_dev *solo_enc = video_drvdata(file);
776 struct solo_dev *solo_dev = solo_enc->solo_dev; 776 struct solo_dev *solo_dev = solo_enc->solo_dev;
777 777
778 strcpy(cap->driver, SOLO6X10_NAME); 778 strscpy(cap->driver, SOLO6X10_NAME, sizeof(cap->driver));
779 snprintf(cap->card, sizeof(cap->card), "Softlogic 6x10 Enc %d", 779 snprintf(cap->card, sizeof(cap->card), "Softlogic 6x10 Enc %d",
780 solo_enc->ch); 780 solo_enc->ch);
781 snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", 781 snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s",
@@ -834,17 +834,18 @@ static int solo_enc_enum_fmt_cap(struct file *file, void *priv,
834 switch (dev_type) { 834 switch (dev_type) {
835 case SOLO_DEV_6010: 835 case SOLO_DEV_6010:
836 f->pixelformat = V4L2_PIX_FMT_MPEG4; 836 f->pixelformat = V4L2_PIX_FMT_MPEG4;
837 strcpy(f->description, "MPEG-4 part 2"); 837 strscpy(f->description, "MPEG-4 part 2",
838 sizeof(f->description));
838 break; 839 break;
839 case SOLO_DEV_6110: 840 case SOLO_DEV_6110:
840 f->pixelformat = V4L2_PIX_FMT_H264; 841 f->pixelformat = V4L2_PIX_FMT_H264;
841 strcpy(f->description, "H.264"); 842 strscpy(f->description, "H.264", sizeof(f->description));
842 break; 843 break;
843 } 844 }
844 break; 845 break;
845 case 1: 846 case 1:
846 f->pixelformat = V4L2_PIX_FMT_MJPEG; 847 f->pixelformat = V4L2_PIX_FMT_MJPEG;
847 strcpy(f->description, "MJPEG"); 848 strscpy(f->description, "MJPEG", sizeof(f->description));
848 break; 849 break;
849 default: 850 default:
850 return -EINVAL; 851 return -EINVAL;
@@ -1126,7 +1127,8 @@ static int solo_s_ctrl(struct v4l2_ctrl *ctrl)
1126 solo_enc->md_thresholds->p_new.p_u16); 1127 solo_enc->md_thresholds->p_new.p_u16);
1127 break; 1128 break;
1128 case V4L2_CID_OSD_TEXT: 1129 case V4L2_CID_OSD_TEXT:
1129 strcpy(solo_enc->osd_text, ctrl->p_new.p_char); 1130 strscpy(solo_enc->osd_text, ctrl->p_new.p_char,
1131 sizeof(solo_enc->osd_text));
1130 return solo_osd_print(solo_enc); 1132 return solo_osd_print(solo_enc);
1131 default: 1133 default:
1132 return -EINVAL; 1134 return -EINVAL;
diff --git a/drivers/media/pci/solo6x10/solo6x10-v4l2.c b/drivers/media/pci/solo6x10/solo6x10-v4l2.c
index 351bc434d3a2..69fc939fd3d9 100644
--- a/drivers/media/pci/solo6x10/solo6x10-v4l2.c
+++ b/drivers/media/pci/solo6x10/solo6x10-v4l2.c
@@ -383,8 +383,8 @@ static int solo_querycap(struct file *file, void *priv,
383{ 383{
384 struct solo_dev *solo_dev = video_drvdata(file); 384 struct solo_dev *solo_dev = video_drvdata(file);
385 385
386 strcpy(cap->driver, SOLO6X10_NAME); 386 strscpy(cap->driver, SOLO6X10_NAME, sizeof(cap->driver));
387 strcpy(cap->card, "Softlogic 6x10"); 387 strscpy(cap->card, "Softlogic 6x10", sizeof(cap->card));
388 snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", 388 snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s",
389 pci_name(solo_dev->pdev)); 389 pci_name(solo_dev->pdev));
390 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | 390 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
diff --git a/drivers/media/pci/sta2x11/sta2x11_vip.c b/drivers/media/pci/sta2x11/sta2x11_vip.c
index 1858efedaf1a..411177ec4d72 100644
--- a/drivers/media/pci/sta2x11/sta2x11_vip.c
+++ b/drivers/media/pci/sta2x11/sta2x11_vip.c
@@ -419,8 +419,8 @@ static int vidioc_querycap(struct file *file, void *priv,
419{ 419{
420 struct sta2x11_vip *vip = video_drvdata(file); 420 struct sta2x11_vip *vip = video_drvdata(file);
421 421
422 strcpy(cap->driver, KBUILD_MODNAME); 422 strscpy(cap->driver, KBUILD_MODNAME, sizeof(cap->driver));
423 strcpy(cap->card, KBUILD_MODNAME); 423 strscpy(cap->card, KBUILD_MODNAME, sizeof(cap->card));
424 snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s", 424 snprintf(cap->bus_info, sizeof(cap->bus_info), "PCI:%s",
425 pci_name(vip->pdev)); 425 pci_name(vip->pdev));
426 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_READWRITE | 426 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_READWRITE |
@@ -580,7 +580,7 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
580 if (f->index != 0) 580 if (f->index != 0)
581 return -EINVAL; 581 return -EINVAL;
582 582
583 strcpy(f->description, "4:2:2, packed, UYVY"); 583 strscpy(f->description, "4:2:2, packed, UYVY", sizeof(f->description));
584 f->pixelformat = V4L2_PIX_FMT_UYVY; 584 f->pixelformat = V4L2_PIX_FMT_UYVY;
585 f->flags = 0; 585 f->flags = 0;
586 return 0; 586 return 0;
diff --git a/drivers/media/pci/ttpci/av7110_v4l.c b/drivers/media/pci/ttpci/av7110_v4l.c
index e4cf42c32284..d1fe15365f4a 100644
--- a/drivers/media/pci/ttpci/av7110_v4l.c
+++ b/drivers/media/pci/ttpci/av7110_v4l.c
@@ -332,7 +332,7 @@ static int vidioc_g_tuner(struct file *file, void *fh, struct v4l2_tuner *t)
332 return -EINVAL; 332 return -EINVAL;
333 333
334 memset(t, 0, sizeof(*t)); 334 memset(t, 0, sizeof(*t));
335 strcpy((char *)t->name, "Television"); 335 strscpy((char *)t->name, "Television", sizeof(t->name));
336 336
337 t->type = V4L2_TUNER_ANALOG_TV; 337 t->type = V4L2_TUNER_ANALOG_TV;
338 t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO | 338 t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO |
diff --git a/drivers/media/pci/ttpci/budget-core.c b/drivers/media/pci/ttpci/budget-core.c
index 505356bde14b..35b696bdb2df 100644
--- a/drivers/media/pci/ttpci/budget-core.c
+++ b/drivers/media/pci/ttpci/budget-core.c
@@ -508,7 +508,8 @@ int ttpci_budget_init(struct budget *budget, struct saa7146_dev *dev,
508 sizeof(budget->i2c_adap.name)); 508 sizeof(budget->i2c_adap.name));
509 509
510 saa7146_i2c_adapter_prepare(dev, &budget->i2c_adap, SAA7146_I2C_BUS_BIT_RATE_120); 510 saa7146_i2c_adapter_prepare(dev, &budget->i2c_adap, SAA7146_I2C_BUS_BIT_RATE_120);
511 strcpy(budget->i2c_adap.name, budget->card->name); 511 strscpy(budget->i2c_adap.name, budget->card->name,
512 sizeof(budget->i2c_adap.name));
512 513
513 if (i2c_add_adapter(&budget->i2c_adap) < 0) { 514 if (i2c_add_adapter(&budget->i2c_adap) < 0) {
514 ret = -ENOMEM; 515 ret = -ENOMEM;
diff --git a/drivers/media/pci/tw5864/tw5864-video.c b/drivers/media/pci/tw5864/tw5864-video.c
index ff2b7da90c08..5a1f3aa4101a 100644
--- a/drivers/media/pci/tw5864/tw5864-video.c
+++ b/drivers/media/pci/tw5864/tw5864-video.c
@@ -610,7 +610,7 @@ static int tw5864_querycap(struct file *file, void *priv,
610{ 610{
611 struct tw5864_input *input = video_drvdata(file); 611 struct tw5864_input *input = video_drvdata(file);
612 612
613 strcpy(cap->driver, "tw5864"); 613 strscpy(cap->driver, "tw5864", sizeof(cap->driver));
614 snprintf(cap->card, sizeof(cap->card), "TW5864 Encoder %d", 614 snprintf(cap->card, sizeof(cap->card), "TW5864 Encoder %d",
615 input->nr); 615 input->nr);
616 sprintf(cap->bus_info, "PCI:%s", pci_name(input->root->pci)); 616 sprintf(cap->bus_info, "PCI:%s", pci_name(input->root->pci));
diff --git a/drivers/media/pci/tw68/tw68-video.c b/drivers/media/pci/tw68/tw68-video.c
index 08e7dd6ecb07..d3f727045ae8 100644
--- a/drivers/media/pci/tw68/tw68-video.c
+++ b/drivers/media/pci/tw68/tw68-video.c
@@ -734,7 +734,7 @@ static int tw68_querycap(struct file *file, void *priv,
734{ 734{
735 struct tw68_dev *dev = video_drvdata(file); 735 struct tw68_dev *dev = video_drvdata(file);
736 736
737 strcpy(cap->driver, "tw68"); 737 strscpy(cap->driver, "tw68", sizeof(cap->driver));
738 strscpy(cap->card, "Techwell Capture Card", 738 strscpy(cap->card, "Techwell Capture Card",
739 sizeof(cap->card)); 739 sizeof(cap->card));
740 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci)); 740 sprintf(cap->bus_info, "PCI:%s", pci_name(dev->pci));
diff --git a/drivers/media/platform/am437x/am437x-vpfe.c b/drivers/media/platform/am437x/am437x-vpfe.c
index 28590cf3770b..cac6aec0ffa7 100644
--- a/drivers/media/platform/am437x/am437x-vpfe.c
+++ b/drivers/media/platform/am437x/am437x-vpfe.c
@@ -2455,7 +2455,8 @@ vpfe_get_pdata(struct platform_device *pdev)
2455 2455
2456 /* we only support camera */ 2456 /* we only support camera */
2457 sdinfo->inputs[0].index = i; 2457 sdinfo->inputs[0].index = i;
2458 strcpy(sdinfo->inputs[0].name, "Camera"); 2458 strscpy(sdinfo->inputs[0].name, "Camera",
2459 sizeof(sdinfo->inputs[0].name));
2459 sdinfo->inputs[0].type = V4L2_INPUT_TYPE_CAMERA; 2460 sdinfo->inputs[0].type = V4L2_INPUT_TYPE_CAMERA;
2460 sdinfo->inputs[0].std = V4L2_STD_ALL; 2461 sdinfo->inputs[0].std = V4L2_STD_ALL;
2461 sdinfo->inputs[0].capabilities = V4L2_IN_CAP_STD; 2462 sdinfo->inputs[0].capabilities = V4L2_IN_CAP_STD;
diff --git a/drivers/media/platform/atmel/atmel-isc.c b/drivers/media/platform/atmel/atmel-isc.c
index 776a92d7387f..dc637bffe63c 100644
--- a/drivers/media/platform/atmel/atmel-isc.c
+++ b/drivers/media/platform/atmel/atmel-isc.c
@@ -1238,8 +1238,8 @@ static int isc_querycap(struct file *file, void *priv,
1238{ 1238{
1239 struct isc_device *isc = video_drvdata(file); 1239 struct isc_device *isc = video_drvdata(file);
1240 1240
1241 strcpy(cap->driver, ATMEL_ISC_NAME); 1241 strscpy(cap->driver, ATMEL_ISC_NAME, sizeof(cap->driver));
1242 strcpy(cap->card, "Atmel Image Sensor Controller"); 1242 strscpy(cap->card, "Atmel Image Sensor Controller", sizeof(cap->card));
1243 snprintf(cap->bus_info, sizeof(cap->bus_info), 1243 snprintf(cap->bus_info, sizeof(cap->bus_info),
1244 "platform:%s", isc->v4l2_dev.name); 1244 "platform:%s", isc->v4l2_dev.name);
1245 1245
@@ -1393,7 +1393,7 @@ static int isc_enum_input(struct file *file, void *priv,
1393 1393
1394 inp->type = V4L2_INPUT_TYPE_CAMERA; 1394 inp->type = V4L2_INPUT_TYPE_CAMERA;
1395 inp->std = 0; 1395 inp->std = 0;
1396 strcpy(inp->name, "Camera"); 1396 strscpy(inp->name, "Camera", sizeof(inp->name));
1397 1397
1398 return 0; 1398 return 0;
1399} 1399}
diff --git a/drivers/media/platform/davinci/vpbe_display.c b/drivers/media/platform/davinci/vpbe_display.c
index a96c9337ae58..d6bf96ad474c 100644
--- a/drivers/media/platform/davinci/vpbe_display.c
+++ b/drivers/media/platform/davinci/vpbe_display.c
@@ -816,10 +816,12 @@ static int vpbe_display_enum_fmt(struct file *file, void *priv,
816 fmt->index = index; 816 fmt->index = index;
817 fmt->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; 817 fmt->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
818 if (index == 0) { 818 if (index == 0) {
819 strcpy(fmt->description, "YUV 4:2:2 - UYVY"); 819 strscpy(fmt->description, "YUV 4:2:2 - UYVY",
820 sizeof(fmt->description));
820 fmt->pixelformat = V4L2_PIX_FMT_UYVY; 821 fmt->pixelformat = V4L2_PIX_FMT_UYVY;
821 } else { 822 } else {
822 strcpy(fmt->description, "Y/CbCr 4:2:0"); 823 strscpy(fmt->description, "Y/CbCr 4:2:0",
824 sizeof(fmt->description));
823 fmt->pixelformat = V4L2_PIX_FMT_NV12; 825 fmt->pixelformat = V4L2_PIX_FMT_NV12;
824 } 826 }
825 827
diff --git a/drivers/media/platform/davinci/vpbe_venc.c b/drivers/media/platform/davinci/vpbe_venc.c
index ddcad7b3e76c..ca78eb29641a 100644
--- a/drivers/media/platform/davinci/vpbe_venc.c
+++ b/drivers/media/platform/davinci/vpbe_venc.c
@@ -616,7 +616,7 @@ struct v4l2_subdev *venc_sub_dev_init(struct v4l2_device *v4l2_dev,
616 616
617 v4l2_subdev_init(&venc->sd, &venc_ops); 617 v4l2_subdev_init(&venc->sd, &venc_ops);
618 618
619 strcpy(venc->sd.name, venc_name); 619 strscpy(venc->sd.name, venc_name, sizeof(venc->sd.name));
620 if (v4l2_device_register_subdev(v4l2_dev, &venc->sd) < 0) { 620 if (v4l2_device_register_subdev(v4l2_dev, &venc->sd) < 0) {
621 v4l2_err(v4l2_dev, 621 v4l2_err(v4l2_dev,
622 "vpbe unable to register venc sub device\n"); 622 "vpbe unable to register venc sub device\n");
diff --git a/drivers/media/platform/davinci/vpif_capture.c b/drivers/media/platform/davinci/vpif_capture.c
index f0c2508a6e2e..62bced38db10 100644
--- a/drivers/media/platform/davinci/vpif_capture.c
+++ b/drivers/media/platform/davinci/vpif_capture.c
@@ -949,11 +949,13 @@ static int vpif_enum_fmt_vid_cap(struct file *file, void *priv,
949 /* Fill in the information about format */ 949 /* Fill in the information about format */
950 if (ch->vpifparams.iface.if_type == VPIF_IF_RAW_BAYER) { 950 if (ch->vpifparams.iface.if_type == VPIF_IF_RAW_BAYER) {
951 fmt->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 951 fmt->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
952 strcpy(fmt->description, "Raw Mode -Bayer Pattern GrRBGb"); 952 strscpy(fmt->description, "Raw Mode -Bayer Pattern GrRBGb",
953 sizeof(fmt->description));
953 fmt->pixelformat = V4L2_PIX_FMT_SBGGR8; 954 fmt->pixelformat = V4L2_PIX_FMT_SBGGR8;
954 } else { 955 } else {
955 fmt->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 956 fmt->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
956 strcpy(fmt->description, "YCbCr4:2:2 Semi-Planar"); 957 strscpy(fmt->description, "YCbCr4:2:2 Semi-Planar",
958 sizeof(fmt->description));
957 fmt->pixelformat = V4L2_PIX_FMT_NV16; 959 fmt->pixelformat = V4L2_PIX_FMT_NV16;
958 } 960 }
959 return 0; 961 return 0;
diff --git a/drivers/media/platform/davinci/vpif_display.c b/drivers/media/platform/davinci/vpif_display.c
index fec4341eb93e..78eba66f4b2b 100644
--- a/drivers/media/platform/davinci/vpif_display.c
+++ b/drivers/media/platform/davinci/vpif_display.c
@@ -602,7 +602,8 @@ static int vpif_enum_fmt_vid_out(struct file *file, void *priv,
602 602
603 /* Fill in the information about format */ 603 /* Fill in the information about format */
604 fmt->type = V4L2_BUF_TYPE_VIDEO_OUTPUT; 604 fmt->type = V4L2_BUF_TYPE_VIDEO_OUTPUT;
605 strcpy(fmt->description, "YCbCr4:2:2 YC Planar"); 605 strscpy(fmt->description, "YCbCr4:2:2 YC Planar",
606 sizeof(fmt->description));
606 fmt->pixelformat = V4L2_PIX_FMT_YUV422P; 607 fmt->pixelformat = V4L2_PIX_FMT_YUV422P;
607 fmt->flags = 0; 608 fmt->flags = 0;
608 return 0; 609 return 0;
diff --git a/drivers/media/platform/fsl-viu.c b/drivers/media/platform/fsl-viu.c
index 0273302aa741..ca6d0317ab42 100644
--- a/drivers/media/platform/fsl-viu.c
+++ b/drivers/media/platform/fsl-viu.c
@@ -565,9 +565,9 @@ static const struct videobuf_queue_ops viu_video_qops = {
565static int vidioc_querycap(struct file *file, void *priv, 565static int vidioc_querycap(struct file *file, void *priv,
566 struct v4l2_capability *cap) 566 struct v4l2_capability *cap)
567{ 567{
568 strcpy(cap->driver, "viu"); 568 strscpy(cap->driver, "viu", sizeof(cap->driver));
569 strcpy(cap->card, "viu"); 569 strscpy(cap->card, "viu", sizeof(cap->card));
570 strcpy(cap->bus_info, "platform:viu"); 570 strscpy(cap->bus_info, "platform:viu", sizeof(cap->bus_info));
571 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | 571 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
572 V4L2_CAP_STREAMING | 572 V4L2_CAP_STREAMING |
573 V4L2_CAP_VIDEO_OVERLAY | 573 V4L2_CAP_VIDEO_OVERLAY |
@@ -941,7 +941,7 @@ static int vidioc_enum_input(struct file *file, void *priv,
941 941
942 inp->type = V4L2_INPUT_TYPE_CAMERA; 942 inp->type = V4L2_INPUT_TYPE_CAMERA;
943 inp->std = fh->dev->vdev->tvnorms; 943 inp->std = fh->dev->vdev->tvnorms;
944 strcpy(inp->name, "Camera"); 944 strscpy(inp->name, "Camera", sizeof(inp->name));
945 return 0; 945 return 0;
946} 946}
947 947
diff --git a/drivers/media/platform/marvell-ccic/cafe-driver.c b/drivers/media/platform/marvell-ccic/cafe-driver.c
index 57d2c483ad09..2986cb4b88d0 100644
--- a/drivers/media/platform/marvell-ccic/cafe-driver.c
+++ b/drivers/media/platform/marvell-ccic/cafe-driver.c
@@ -341,7 +341,7 @@ static int cafe_smbus_setup(struct cafe_camera *cam)
341 return -ENOMEM; 341 return -ENOMEM;
342 adap->owner = THIS_MODULE; 342 adap->owner = THIS_MODULE;
343 adap->algo = &cafe_smbus_algo; 343 adap->algo = &cafe_smbus_algo;
344 strcpy(adap->name, "cafe_ccic"); 344 strscpy(adap->name, "cafe_ccic", sizeof(adap->name));
345 adap->dev.parent = &cam->pdev->dev; 345 adap->dev.parent = &cam->pdev->dev;
346 i2c_set_adapdata(adap, cam); 346 i2c_set_adapdata(adap, cam);
347 ret = i2c_add_adapter(adap); 347 ret = i2c_add_adapter(adap);
diff --git a/drivers/media/platform/marvell-ccic/mcam-core.c b/drivers/media/platform/marvell-ccic/mcam-core.c
index c47011194710..f8e1af101817 100644
--- a/drivers/media/platform/marvell-ccic/mcam-core.c
+++ b/drivers/media/platform/marvell-ccic/mcam-core.c
@@ -1303,8 +1303,8 @@ static int mcam_vidioc_querycap(struct file *file, void *priv,
1303{ 1303{
1304 struct mcam_camera *cam = video_drvdata(file); 1304 struct mcam_camera *cam = video_drvdata(file);
1305 1305
1306 strcpy(cap->driver, "marvell_ccic"); 1306 strscpy(cap->driver, "marvell_ccic", sizeof(cap->driver));
1307 strcpy(cap->card, "marvell_ccic"); 1307 strscpy(cap->card, "marvell_ccic", sizeof(cap->card));
1308 strscpy(cap->bus_info, cam->bus_info, sizeof(cap->bus_info)); 1308 strscpy(cap->bus_info, cam->bus_info, sizeof(cap->bus_info));
1309 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | 1309 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
1310 V4L2_CAP_READWRITE | V4L2_CAP_STREAMING; 1310 V4L2_CAP_READWRITE | V4L2_CAP_STREAMING;
@@ -1421,7 +1421,7 @@ static int mcam_vidioc_enum_input(struct file *filp, void *priv,
1421 return -EINVAL; 1421 return -EINVAL;
1422 1422
1423 input->type = V4L2_INPUT_TYPE_CAMERA; 1423 input->type = V4L2_INPUT_TYPE_CAMERA;
1424 strcpy(input->name, "Camera"); 1424 strscpy(input->name, "Camera", sizeof(input->name));
1425 return 0; 1425 return 0;
1426} 1426}
1427 1427
diff --git a/drivers/media/platform/soc_camera/soc_camera.c b/drivers/media/platform/soc_camera/soc_camera.c
index 1a00b1fa7990..44b6859d7238 100644
--- a/drivers/media/platform/soc_camera/soc_camera.c
+++ b/drivers/media/platform/soc_camera/soc_camera.c
@@ -312,7 +312,7 @@ static int soc_camera_enum_input(struct file *file, void *priv,
312 /* default is camera */ 312 /* default is camera */
313 inp->type = V4L2_INPUT_TYPE_CAMERA; 313 inp->type = V4L2_INPUT_TYPE_CAMERA;
314 inp->std = icd->vdev->tvnorms; 314 inp->std = icd->vdev->tvnorms;
315 strcpy(inp->name, "Camera"); 315 strscpy(inp->name, "Camera", sizeof(inp->name));
316 316
317 return 0; 317 return 0;
318} 318}
diff --git a/drivers/media/platform/via-camera.c b/drivers/media/platform/via-camera.c
index 554870e48750..24d5759501a5 100644
--- a/drivers/media/platform/via-camera.c
+++ b/drivers/media/platform/via-camera.c
@@ -812,7 +812,7 @@ static int viacam_enum_input(struct file *filp, void *priv,
812 812
813 input->type = V4L2_INPUT_TYPE_CAMERA; 813 input->type = V4L2_INPUT_TYPE_CAMERA;
814 input->std = V4L2_STD_ALL; /* Not sure what should go here */ 814 input->std = V4L2_STD_ALL; /* Not sure what should go here */
815 strcpy(input->name, "Camera"); 815 strscpy(input->name, "Camera", sizeof(input->name));
816 return 0; 816 return 0;
817} 817}
818 818
@@ -990,8 +990,8 @@ out:
990static int viacam_querycap(struct file *filp, void *priv, 990static int viacam_querycap(struct file *filp, void *priv,
991 struct v4l2_capability *cap) 991 struct v4l2_capability *cap)
992{ 992{
993 strcpy(cap->driver, "via-camera"); 993 strscpy(cap->driver, "via-camera", sizeof(cap->driver));
994 strcpy(cap->card, "via-camera"); 994 strscpy(cap->card, "via-camera", sizeof(cap->card));
995 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | 995 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE |
996 V4L2_CAP_READWRITE | V4L2_CAP_STREAMING; 996 V4L2_CAP_READWRITE | V4L2_CAP_STREAMING;
997 cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS; 997 cap->capabilities = cap->device_caps | V4L2_CAP_DEVICE_CAPS;
diff --git a/drivers/media/platform/vivid/vivid-cec.c b/drivers/media/platform/vivid/vivid-cec.c
index 71105fa4c5f9..4d822dbed972 100644
--- a/drivers/media/platform/vivid/vivid-cec.c
+++ b/drivers/media/platform/vivid/vivid-cec.c
@@ -241,11 +241,11 @@ static int vivid_received(struct cec_adapter *adap, struct cec_msg *msg)
241 cec_ops_set_osd_string(msg, &disp_ctl, osd); 241 cec_ops_set_osd_string(msg, &disp_ctl, osd);
242 switch (disp_ctl) { 242 switch (disp_ctl) {
243 case CEC_OP_DISP_CTL_DEFAULT: 243 case CEC_OP_DISP_CTL_DEFAULT:
244 strcpy(dev->osd, osd); 244 strscpy(dev->osd, osd, sizeof(dev->osd));
245 dev->osd_jiffies = jiffies; 245 dev->osd_jiffies = jiffies;
246 break; 246 break;
247 case CEC_OP_DISP_CTL_UNTIL_CLEARED: 247 case CEC_OP_DISP_CTL_UNTIL_CLEARED:
248 strcpy(dev->osd, osd); 248 strscpy(dev->osd, osd, sizeof(dev->osd));
249 dev->osd_jiffies = 0; 249 dev->osd_jiffies = 0;
250 break; 250 break;
251 case CEC_OP_DISP_CTL_CLEAR: 251 case CEC_OP_DISP_CTL_CLEAR:
diff --git a/drivers/media/platform/vivid/vivid-core.c b/drivers/media/platform/vivid/vivid-core.c
index 31db363602e5..06961e7d8036 100644
--- a/drivers/media/platform/vivid/vivid-core.c
+++ b/drivers/media/platform/vivid/vivid-core.c
@@ -197,8 +197,8 @@ static int vidioc_querycap(struct file *file, void *priv,
197{ 197{
198 struct vivid_dev *dev = video_drvdata(file); 198 struct vivid_dev *dev = video_drvdata(file);
199 199
200 strcpy(cap->driver, "vivid"); 200 strscpy(cap->driver, "vivid", sizeof(cap->driver));
201 strcpy(cap->card, "vivid"); 201 strscpy(cap->card, "vivid", sizeof(cap->card));
202 snprintf(cap->bus_info, sizeof(cap->bus_info), 202 snprintf(cap->bus_info, sizeof(cap->bus_info),
203 "platform:%s", dev->v4l2_dev.name); 203 "platform:%s", dev->v4l2_dev.name);
204 204
diff --git a/drivers/media/radio/dsbr100.c b/drivers/media/radio/dsbr100.c
index a6f207b448be..c9d51a5f2838 100644
--- a/drivers/media/radio/dsbr100.c
+++ b/drivers/media/radio/dsbr100.c
@@ -191,7 +191,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
191 return -EINVAL; 191 return -EINVAL;
192 192
193 dsbr100_getstat(radio); 193 dsbr100_getstat(radio);
194 strcpy(v->name, "FM"); 194 strscpy(v->name, "FM", sizeof(v->name));
195 v->type = V4L2_TUNER_RADIO; 195 v->type = V4L2_TUNER_RADIO;
196 v->rangelow = FREQ_MIN * FREQ_MUL; 196 v->rangelow = FREQ_MIN * FREQ_MUL;
197 v->rangehigh = FREQ_MAX * FREQ_MUL; 197 v->rangehigh = FREQ_MAX * FREQ_MUL;
diff --git a/drivers/media/radio/radio-ma901.c b/drivers/media/radio/radio-ma901.c
index 0a59d97d4627..5cb153727841 100644
--- a/drivers/media/radio/radio-ma901.c
+++ b/drivers/media/radio/radio-ma901.c
@@ -222,7 +222,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
222 * retval = ma901radio_get_stat(radio, &is_stereo, &v->signal); 222 * retval = ma901radio_get_stat(radio, &is_stereo, &v->signal);
223 */ 223 */
224 224
225 strcpy(v->name, "FM"); 225 strscpy(v->name, "FM", sizeof(v->name));
226 v->type = V4L2_TUNER_RADIO; 226 v->type = V4L2_TUNER_RADIO;
227 v->rangelow = FREQ_MIN * FREQ_MUL; 227 v->rangelow = FREQ_MIN * FREQ_MUL;
228 v->rangehigh = FREQ_MAX * FREQ_MUL; 228 v->rangehigh = FREQ_MAX * FREQ_MUL;
diff --git a/drivers/media/radio/radio-mr800.c b/drivers/media/radio/radio-mr800.c
index e7c35b184e21..ab1324f68199 100644
--- a/drivers/media/radio/radio-mr800.c
+++ b/drivers/media/radio/radio-mr800.c
@@ -291,7 +291,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
291 if (retval) 291 if (retval)
292 return retval; 292 return retval;
293 293
294 strcpy(v->name, "FM"); 294 strscpy(v->name, "FM", sizeof(v->name));
295 v->type = V4L2_TUNER_RADIO; 295 v->type = V4L2_TUNER_RADIO;
296 v->rangelow = FREQ_MIN * FREQ_MUL; 296 v->rangelow = FREQ_MIN * FREQ_MUL;
297 v->rangehigh = FREQ_MAX * FREQ_MUL; 297 v->rangehigh = FREQ_MAX * FREQ_MUL;
diff --git a/drivers/media/radio/si470x/radio-si470x-common.c b/drivers/media/radio/si470x/radio-si470x-common.c
index c40e1753f34b..1d7ab5462c77 100644
--- a/drivers/media/radio/si470x/radio-si470x-common.c
+++ b/drivers/media/radio/si470x/radio-si470x-common.c
@@ -622,7 +622,7 @@ static int si470x_vidioc_g_tuner(struct file *file, void *priv,
622 } 622 }
623 623
624 /* driver constants */ 624 /* driver constants */
625 strcpy(tuner->name, "FM"); 625 strscpy(tuner->name, "FM", sizeof(tuner->name));
626 tuner->type = V4L2_TUNER_RADIO; 626 tuner->type = V4L2_TUNER_RADIO;
627 tuner->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO | 627 tuner->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO |
628 V4L2_TUNER_CAP_RDS | V4L2_TUNER_CAP_RDS_BLOCK_IO | 628 V4L2_TUNER_CAP_RDS | V4L2_TUNER_CAP_RDS_BLOCK_IO |
diff --git a/drivers/media/radio/wl128x/fmdrv_v4l2.c b/drivers/media/radio/wl128x/fmdrv_v4l2.c
index c5f433b24713..e25fd4d4d280 100644
--- a/drivers/media/radio/wl128x/fmdrv_v4l2.c
+++ b/drivers/media/radio/wl128x/fmdrv_v4l2.c
@@ -249,7 +249,7 @@ static int fm_v4l2_vidioc_g_audio(struct file *file, void *priv,
249 struct v4l2_audio *audio) 249 struct v4l2_audio *audio)
250{ 250{
251 memset(audio, 0, sizeof(*audio)); 251 memset(audio, 0, sizeof(*audio));
252 strcpy(audio->name, "Radio"); 252 strscpy(audio->name, "Radio", sizeof(audio->name));
253 audio->capability = V4L2_AUDCAP_STEREO; 253 audio->capability = V4L2_AUDCAP_STEREO;
254 254
255 return 0; 255 return 0;
@@ -293,7 +293,7 @@ static int fm_v4l2_vidioc_g_tuner(struct file *file, void *priv,
293 if (ret != 0) 293 if (ret != 0)
294 return ret; 294 return ret;
295 295
296 strcpy(tuner->name, "FM"); 296 strscpy(tuner->name, "FM", sizeof(tuner->name));
297 tuner->type = V4L2_TUNER_RADIO; 297 tuner->type = V4L2_TUNER_RADIO;
298 /* Store rangelow and rangehigh freq in unit of 62.5 Hz */ 298 /* Store rangelow and rangehigh freq in unit of 62.5 Hz */
299 tuner->rangelow = bottom_freq * 16; 299 tuner->rangelow = bottom_freq * 16;
diff --git a/drivers/media/usb/au0828/au0828-video.c b/drivers/media/usb/au0828/au0828-video.c
index aa25c19437ad..efbf210147c7 100644
--- a/drivers/media/usb/au0828/au0828-video.c
+++ b/drivers/media/usb/au0828/au0828-video.c
@@ -1218,7 +1218,7 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
1218 dprintk(1, "%s called\n", __func__); 1218 dprintk(1, "%s called\n", __func__);
1219 1219
1220 f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE; 1220 f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
1221 strcpy(f->description, "Packed YUV2"); 1221 strscpy(f->description, "Packed YUV2", sizeof(f->description));
1222 1222
1223 f->flags = 0; 1223 f->flags = 0;
1224 f->pixelformat = V4L2_PIX_FMT_UYVY; 1224 f->pixelformat = V4L2_PIX_FMT_UYVY;
@@ -1349,7 +1349,7 @@ static int vidioc_enum_input(struct file *file, void *priv,
1349 return -EINVAL; 1349 return -EINVAL;
1350 1350
1351 input->index = tmp; 1351 input->index = tmp;
1352 strcpy(input->name, inames[AUVI_INPUT(tmp).type]); 1352 strscpy(input->name, inames[AUVI_INPUT(tmp).type], sizeof(input->name));
1353 if ((AUVI_INPUT(tmp).type == AU0828_VMUX_TELEVISION) || 1353 if ((AUVI_INPUT(tmp).type == AU0828_VMUX_TELEVISION) ||
1354 (AUVI_INPUT(tmp).type == AU0828_VMUX_CABLE)) { 1354 (AUVI_INPUT(tmp).type == AU0828_VMUX_CABLE)) {
1355 input->type |= V4L2_INPUT_TYPE_TUNER; 1355 input->type |= V4L2_INPUT_TYPE_TUNER;
@@ -1465,9 +1465,9 @@ static int vidioc_enumaudio(struct file *file, void *priv, struct v4l2_audio *a)
1465 dprintk(1, "%s called\n", __func__); 1465 dprintk(1, "%s called\n", __func__);
1466 1466
1467 if (a->index == 0) 1467 if (a->index == 0)
1468 strcpy(a->name, "Television"); 1468 strscpy(a->name, "Television", sizeof(a->name));
1469 else 1469 else
1470 strcpy(a->name, "Line in"); 1470 strscpy(a->name, "Line in", sizeof(a->name));
1471 1471
1472 a->capability = V4L2_AUDCAP_STEREO; 1472 a->capability = V4L2_AUDCAP_STEREO;
1473 return 0; 1473 return 0;
@@ -1482,9 +1482,9 @@ static int vidioc_g_audio(struct file *file, void *priv, struct v4l2_audio *a)
1482 1482
1483 a->index = dev->ctrl_ainput; 1483 a->index = dev->ctrl_ainput;
1484 if (a->index == 0) 1484 if (a->index == 0)
1485 strcpy(a->name, "Television"); 1485 strscpy(a->name, "Television", sizeof(a->name));
1486 else 1486 else
1487 strcpy(a->name, "Line in"); 1487 strscpy(a->name, "Line in", sizeof(a->name));
1488 1488
1489 a->capability = V4L2_AUDCAP_STEREO; 1489 a->capability = V4L2_AUDCAP_STEREO;
1490 return 0; 1490 return 0;
@@ -1518,7 +1518,7 @@ static int vidioc_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t)
1518 dprintk(1, "%s called std_set %d dev_state %ld\n", __func__, 1518 dprintk(1, "%s called std_set %d dev_state %ld\n", __func__,
1519 dev->std_set_in_tuner_core, dev->dev_state); 1519 dev->std_set_in_tuner_core, dev->dev_state);
1520 1520
1521 strcpy(t->name, "Auvitek tuner"); 1521 strscpy(t->name, "Auvitek tuner", sizeof(t->name));
1522 1522
1523 au0828_init_tuner(dev); 1523 au0828_init_tuner(dev);
1524 i2c_gate_ctrl(dev, 1); 1524 i2c_gate_ctrl(dev, 1);
@@ -1978,7 +1978,7 @@ int au0828_analog_register(struct au0828_dev *dev,
1978 dev->vdev.lock = &dev->lock; 1978 dev->vdev.lock = &dev->lock;
1979 dev->vdev.queue = &dev->vb_vidq; 1979 dev->vdev.queue = &dev->vb_vidq;
1980 dev->vdev.queue->lock = &dev->vb_queue_lock; 1980 dev->vdev.queue->lock = &dev->vb_queue_lock;
1981 strcpy(dev->vdev.name, "au0828a video"); 1981 strscpy(dev->vdev.name, "au0828a video", sizeof(dev->vdev.name));
1982 1982
1983 /* Setup the VBI device */ 1983 /* Setup the VBI device */
1984 dev->vbi_dev = au0828_video_template; 1984 dev->vbi_dev = au0828_video_template;
@@ -1986,7 +1986,7 @@ int au0828_analog_register(struct au0828_dev *dev,
1986 dev->vbi_dev.lock = &dev->lock; 1986 dev->vbi_dev.lock = &dev->lock;
1987 dev->vbi_dev.queue = &dev->vb_vbiq; 1987 dev->vbi_dev.queue = &dev->vb_vbiq;
1988 dev->vbi_dev.queue->lock = &dev->vb_vbi_queue_lock; 1988 dev->vbi_dev.queue->lock = &dev->vb_vbi_queue_lock;
1989 strcpy(dev->vbi_dev.name, "au0828a vbi"); 1989 strscpy(dev->vbi_dev.name, "au0828a vbi", sizeof(dev->vbi_dev.name));
1990 1990
1991 /* Init entities at the Media Controller */ 1991 /* Init entities at the Media Controller */
1992 au0828_analog_create_entities(dev); 1992 au0828_analog_create_entities(dev);
diff --git a/drivers/media/usb/cpia2/cpia2_v4l.c b/drivers/media/usb/cpia2/cpia2_v4l.c
index 99f106b13280..aa7f3c307b22 100644
--- a/drivers/media/usb/cpia2/cpia2_v4l.c
+++ b/drivers/media/usb/cpia2/cpia2_v4l.c
@@ -219,12 +219,12 @@ static int cpia2_querycap(struct file *file, void *fh, struct v4l2_capability *v
219{ 219{
220 struct camera_data *cam = video_drvdata(file); 220 struct camera_data *cam = video_drvdata(file);
221 221
222 strcpy(vc->driver, "cpia2"); 222 strscpy(vc->driver, "cpia2", sizeof(vc->driver));
223 223
224 if (cam->params.pnp_id.product == 0x151) 224 if (cam->params.pnp_id.product == 0x151)
225 strcpy(vc->card, "QX5 Microscope"); 225 strscpy(vc->card, "QX5 Microscope", sizeof(vc->card));
226 else 226 else
227 strcpy(vc->card, "CPiA2 Camera"); 227 strscpy(vc->card, "CPiA2 Camera", sizeof(vc->card));
228 switch (cam->params.pnp_id.device_type) { 228 switch (cam->params.pnp_id.device_type) {
229 case DEVICE_STV_672: 229 case DEVICE_STV_672:
230 strcat(vc->card, " (672/"); 230 strcat(vc->card, " (672/");
@@ -281,7 +281,7 @@ static int cpia2_enum_input(struct file *file, void *fh, struct v4l2_input *i)
281{ 281{
282 if (i->index) 282 if (i->index)
283 return -EINVAL; 283 return -EINVAL;
284 strcpy(i->name, "Camera"); 284 strscpy(i->name, "Camera", sizeof(i->name));
285 i->type = V4L2_INPUT_TYPE_CAMERA; 285 i->type = V4L2_INPUT_TYPE_CAMERA;
286 return 0; 286 return 0;
287} 287}
@@ -319,11 +319,11 @@ static int cpia2_enum_fmt_vid_cap(struct file *file, void *fh,
319 f->flags = V4L2_FMT_FLAG_COMPRESSED; 319 f->flags = V4L2_FMT_FLAG_COMPRESSED;
320 switch(index) { 320 switch(index) {
321 case 0: 321 case 0:
322 strcpy(f->description, "MJPEG"); 322 strscpy(f->description, "MJPEG", sizeof(f->description));
323 f->pixelformat = V4L2_PIX_FMT_MJPEG; 323 f->pixelformat = V4L2_PIX_FMT_MJPEG;
324 break; 324 break;
325 case 1: 325 case 1:
326 strcpy(f->description, "JPEG"); 326 strscpy(f->description, "JPEG", sizeof(f->description));
327 f->pixelformat = V4L2_PIX_FMT_JPEG; 327 f->pixelformat = V4L2_PIX_FMT_JPEG;
328 break; 328 break;
329 default: 329 default:
diff --git a/drivers/media/usb/cx231xx/cx231xx-audio.c b/drivers/media/usb/cx231xx/cx231xx-audio.c
index 32ee7b3f21c9..77f2c65eb79a 100644
--- a/drivers/media/usb/cx231xx/cx231xx-audio.c
+++ b/drivers/media/usb/cx231xx/cx231xx-audio.c
@@ -679,10 +679,10 @@ static int cx231xx_audio_init(struct cx231xx *dev)
679 &snd_cx231xx_pcm_capture); 679 &snd_cx231xx_pcm_capture);
680 pcm->info_flags = 0; 680 pcm->info_flags = 0;
681 pcm->private_data = dev; 681 pcm->private_data = dev;
682 strcpy(pcm->name, "Conexant cx231xx Capture"); 682 strscpy(pcm->name, "Conexant cx231xx Capture", sizeof(pcm->name));
683 strcpy(card->driver, "Cx231xx-Audio"); 683 strscpy(card->driver, "Cx231xx-Audio", sizeof(card->driver));
684 strcpy(card->shortname, "Cx231xx Audio"); 684 strscpy(card->shortname, "Cx231xx Audio", sizeof(card->shortname));
685 strcpy(card->longname, "Conexant cx231xx Audio"); 685 strscpy(card->longname, "Conexant cx231xx Audio", sizeof(card->longname));
686 686
687 INIT_WORK(&dev->wq_trigger, audio_trigger); 687 INIT_WORK(&dev->wq_trigger, audio_trigger);
688 688
diff --git a/drivers/media/usb/cx231xx/cx231xx-video.c b/drivers/media/usb/cx231xx/cx231xx-video.c
index 7759bc66f18c..29160df76cf7 100644
--- a/drivers/media/usb/cx231xx/cx231xx-video.c
+++ b/drivers/media/usb/cx231xx/cx231xx-video.c
@@ -1169,7 +1169,7 @@ int cx231xx_enum_input(struct file *file, void *priv,
1169 i->index = n; 1169 i->index = n;
1170 i->type = V4L2_INPUT_TYPE_CAMERA; 1170 i->type = V4L2_INPUT_TYPE_CAMERA;
1171 1171
1172 strcpy(i->name, iname[INPUT(n)->type]); 1172 strscpy(i->name, iname[INPUT(n)->type], sizeof(i->name));
1173 1173
1174 if ((CX231XX_VMUX_TELEVISION == INPUT(n)->type) || 1174 if ((CX231XX_VMUX_TELEVISION == INPUT(n)->type) ||
1175 (CX231XX_VMUX_CABLE == INPUT(n)->type)) 1175 (CX231XX_VMUX_CABLE == INPUT(n)->type))
@@ -1244,7 +1244,7 @@ int cx231xx_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t)
1244 if (0 != t->index) 1244 if (0 != t->index)
1245 return -EINVAL; 1245 return -EINVAL;
1246 1246
1247 strcpy(t->name, "Tuner"); 1247 strscpy(t->name, "Tuner", sizeof(t->name));
1248 1248
1249 t->type = V4L2_TUNER_ANALOG_TV; 1249 t->type = V4L2_TUNER_ANALOG_TV;
1250 t->capability = V4L2_TUNER_CAP_NORM; 1250 t->capability = V4L2_TUNER_CAP_NORM;
@@ -1716,7 +1716,7 @@ static int radio_g_tuner(struct file *file, void *priv, struct v4l2_tuner *t)
1716 if (t->index) 1716 if (t->index)
1717 return -EINVAL; 1717 return -EINVAL;
1718 1718
1719 strcpy(t->name, "Radio"); 1719 strscpy(t->name, "Radio", sizeof(t->name));
1720 1720
1721 call_all(dev, tuner, g_tuner, t); 1721 call_all(dev, tuner, g_tuner, t);
1722 1722
@@ -2242,7 +2242,8 @@ int cx231xx_register_analog_devices(struct cx231xx *dev)
2242 2242
2243 /* Initialize VBI template */ 2243 /* Initialize VBI template */
2244 cx231xx_vbi_template = cx231xx_video_template; 2244 cx231xx_vbi_template = cx231xx_video_template;
2245 strcpy(cx231xx_vbi_template.name, "cx231xx-vbi"); 2245 strscpy(cx231xx_vbi_template.name, "cx231xx-vbi",
2246 sizeof(cx231xx_vbi_template.name));
2246 2247
2247 /* Allocate and fill vbi video_device struct */ 2248 /* Allocate and fill vbi video_device struct */
2248 cx231xx_vdev_init(dev, &dev->vbi_dev, &cx231xx_vbi_template, "vbi"); 2249 cx231xx_vdev_init(dev, &dev->vbi_dev, &cx231xx_vbi_template, "vbi");
diff --git a/drivers/media/usb/em28xx/em28xx-audio.c b/drivers/media/usb/em28xx/em28xx-audio.c
index 8e799ae1df69..d5e2c19f600d 100644
--- a/drivers/media/usb/em28xx/em28xx-audio.c
+++ b/drivers/media/usb/em28xx/em28xx-audio.c
@@ -938,11 +938,11 @@ static int em28xx_audio_init(struct em28xx *dev)
938 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_em28xx_pcm_capture); 938 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_em28xx_pcm_capture);
939 pcm->info_flags = 0; 939 pcm->info_flags = 0;
940 pcm->private_data = dev; 940 pcm->private_data = dev;
941 strcpy(pcm->name, "Empia 28xx Capture"); 941 strscpy(pcm->name, "Empia 28xx Capture", sizeof(pcm->name));
942 942
943 strcpy(card->driver, "Em28xx-Audio"); 943 strscpy(card->driver, "Em28xx-Audio", sizeof(card->driver));
944 strcpy(card->shortname, "Em28xx Audio"); 944 strscpy(card->shortname, "Em28xx Audio", sizeof(card->shortname));
945 strcpy(card->longname, "Empia Em28xx Audio"); 945 strscpy(card->longname, "Empia Em28xx Audio", sizeof(card->longname));
946 946
947 INIT_WORK(&adev->wq_trigger, audio_trigger); 947 INIT_WORK(&adev->wq_trigger, audio_trigger);
948 948
diff --git a/drivers/media/usb/em28xx/em28xx-i2c.c b/drivers/media/usb/em28xx/em28xx-i2c.c
index e19d6342e0d0..02c13d71e6c1 100644
--- a/drivers/media/usb/em28xx/em28xx-i2c.c
+++ b/drivers/media/usb/em28xx/em28xx-i2c.c
@@ -985,7 +985,8 @@ int em28xx_i2c_register(struct em28xx *dev, unsigned int bus,
985 985
986 dev->i2c_adap[bus] = em28xx_adap_template; 986 dev->i2c_adap[bus] = em28xx_adap_template;
987 dev->i2c_adap[bus].dev.parent = &dev->intf->dev; 987 dev->i2c_adap[bus].dev.parent = &dev->intf->dev;
988 strcpy(dev->i2c_adap[bus].name, dev_name(&dev->intf->dev)); 988 strscpy(dev->i2c_adap[bus].name, dev_name(&dev->intf->dev),
989 sizeof(dev->i2c_adap[bus].name));
989 990
990 dev->i2c_bus[bus].bus = bus; 991 dev->i2c_bus[bus].bus = bus;
991 dev->i2c_bus[bus].algo_type = algo_type; 992 dev->i2c_bus[bus].algo_type = algo_type;
diff --git a/drivers/media/usb/em28xx/em28xx-video.c b/drivers/media/usb/em28xx/em28xx-video.c
index 5e8a26fa719a..917602954bfb 100644
--- a/drivers/media/usb/em28xx/em28xx-video.c
+++ b/drivers/media/usb/em28xx/em28xx-video.c
@@ -1675,7 +1675,7 @@ static int vidioc_enum_input(struct file *file, void *priv,
1675 1675
1676 i->type = V4L2_INPUT_TYPE_CAMERA; 1676 i->type = V4L2_INPUT_TYPE_CAMERA;
1677 1677
1678 strcpy(i->name, iname[INPUT(n)->type]); 1678 strscpy(i->name, iname[INPUT(n)->type], sizeof(i->name));
1679 1679
1680 if (INPUT(n)->type == EM28XX_VMUX_TELEVISION) 1680 if (INPUT(n)->type == EM28XX_VMUX_TELEVISION)
1681 i->type = V4L2_INPUT_TYPE_TUNER; 1681 i->type = V4L2_INPUT_TYPE_TUNER;
@@ -1716,28 +1716,28 @@ static int vidioc_g_audio(struct file *file, void *priv, struct v4l2_audio *a)
1716 1716
1717 switch (a->index) { 1717 switch (a->index) {
1718 case EM28XX_AMUX_VIDEO: 1718 case EM28XX_AMUX_VIDEO:
1719 strcpy(a->name, "Television"); 1719 strscpy(a->name, "Television", sizeof(a->name));
1720 break; 1720 break;
1721 case EM28XX_AMUX_LINE_IN: 1721 case EM28XX_AMUX_LINE_IN:
1722 strcpy(a->name, "Line In"); 1722 strscpy(a->name, "Line In", sizeof(a->name));
1723 break; 1723 break;
1724 case EM28XX_AMUX_VIDEO2: 1724 case EM28XX_AMUX_VIDEO2:
1725 strcpy(a->name, "Television alt"); 1725 strscpy(a->name, "Television alt", sizeof(a->name));
1726 break; 1726 break;
1727 case EM28XX_AMUX_PHONE: 1727 case EM28XX_AMUX_PHONE:
1728 strcpy(a->name, "Phone"); 1728 strscpy(a->name, "Phone", sizeof(a->name));
1729 break; 1729 break;
1730 case EM28XX_AMUX_MIC: 1730 case EM28XX_AMUX_MIC:
1731 strcpy(a->name, "Mic"); 1731 strscpy(a->name, "Mic", sizeof(a->name));
1732 break; 1732 break;
1733 case EM28XX_AMUX_CD: 1733 case EM28XX_AMUX_CD:
1734 strcpy(a->name, "CD"); 1734 strscpy(a->name, "CD", sizeof(a->name));
1735 break; 1735 break;
1736 case EM28XX_AMUX_AUX: 1736 case EM28XX_AMUX_AUX:
1737 strcpy(a->name, "Aux"); 1737 strscpy(a->name, "Aux", sizeof(a->name));
1738 break; 1738 break;
1739 case EM28XX_AMUX_PCM_OUT: 1739 case EM28XX_AMUX_PCM_OUT:
1740 strcpy(a->name, "PCM"); 1740 strscpy(a->name, "PCM", sizeof(a->name));
1741 break; 1741 break;
1742 default: 1742 default:
1743 return -EINVAL; 1743 return -EINVAL;
@@ -1776,7 +1776,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
1776 if (t->index != 0) 1776 if (t->index != 0)
1777 return -EINVAL; 1777 return -EINVAL;
1778 1778
1779 strcpy(t->name, "Tuner"); 1779 strscpy(t->name, "Tuner", sizeof(t->name));
1780 1780
1781 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t); 1781 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t);
1782 return 0; 1782 return 0;
@@ -2045,7 +2045,7 @@ static int radio_g_tuner(struct file *file, void *priv,
2045 if (unlikely(t->index > 0)) 2045 if (unlikely(t->index > 0))
2046 return -EINVAL; 2046 return -EINVAL;
2047 2047
2048 strcpy(t->name, "Radio"); 2048 strscpy(t->name, "Radio", sizeof(t->name));
2049 2049
2050 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t); 2050 v4l2_device_call_all(&dev->v4l2->v4l2_dev, 0, tuner, g_tuner, t);
2051 2051
diff --git a/drivers/media/usb/hdpvr/hdpvr-video.c b/drivers/media/usb/hdpvr/hdpvr-video.c
index 9ab071f8993d..e082086428a4 100644
--- a/drivers/media/usb/hdpvr/hdpvr-video.c
+++ b/drivers/media/usb/hdpvr/hdpvr-video.c
@@ -578,8 +578,8 @@ static int vidioc_querycap(struct file *file, void *priv,
578{ 578{
579 struct hdpvr_device *dev = video_drvdata(file); 579 struct hdpvr_device *dev = video_drvdata(file);
580 580
581 strcpy(cap->driver, "hdpvr"); 581 strscpy(cap->driver, "hdpvr", sizeof(cap->driver));
582 strcpy(cap->card, "Hauppauge HD PVR"); 582 strscpy(cap->card, "Hauppauge HD PVR", sizeof(cap->card));
583 usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info)); 583 usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info));
584 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_AUDIO | 584 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_AUDIO |
585 V4L2_CAP_READWRITE; 585 V4L2_CAP_READWRITE;
@@ -1238,7 +1238,8 @@ int hdpvr_register_videodev(struct hdpvr_device *dev, struct device *parent,
1238 1238
1239 /* setup and register video device */ 1239 /* setup and register video device */
1240 dev->video_dev = hdpvr_video_template; 1240 dev->video_dev = hdpvr_video_template;
1241 strcpy(dev->video_dev.name, "Hauppauge HD PVR"); 1241 strscpy(dev->video_dev.name, "Hauppauge HD PVR",
1242 sizeof(dev->video_dev.name));
1242 dev->video_dev.v4l2_dev = &dev->v4l2_dev; 1243 dev->video_dev.v4l2_dev = &dev->v4l2_dev;
1243 video_set_drvdata(&dev->video_dev, dev); 1244 video_set_drvdata(&dev->video_dev, dev);
1244 1245
diff --git a/drivers/media/usb/pulse8-cec/pulse8-cec.c b/drivers/media/usb/pulse8-cec/pulse8-cec.c
index 350635826aae..365c78b748dd 100644
--- a/drivers/media/usb/pulse8-cec/pulse8-cec.c
+++ b/drivers/media/usb/pulse8-cec/pulse8-cec.c
@@ -571,7 +571,8 @@ static int pulse8_cec_adap_log_addr(struct cec_adapter *adap, u8 log_addr)
571 memset(osd_str + osd_len, ' ', 4 - osd_len); 571 memset(osd_str + osd_len, ' ', 4 - osd_len);
572 osd_len = 4; 572 osd_len = 4;
573 osd_str[osd_len] = '\0'; 573 osd_str[osd_len] = '\0';
574 strcpy(adap->log_addrs.osd_name, osd_str); 574 strscpy(adap->log_addrs.osd_name, osd_str,
575 sizeof(adap->log_addrs.osd_name));
575 } 576 }
576 err = pulse8_send_and_wait(pulse8, cmd, 1 + osd_len, 577 err = pulse8_send_and_wait(pulse8, cmd, 1 + osd_len,
577 MSGCODE_COMMAND_ACCEPTED, 0); 578 MSGCODE_COMMAND_ACCEPTED, 0);
diff --git a/drivers/media/usb/pwc/pwc-if.c b/drivers/media/usb/pwc/pwc-if.c
index 54b036d39c5b..72704f4d5330 100644
--- a/drivers/media/usb/pwc/pwc-if.c
+++ b/drivers/media/usb/pwc/pwc-if.c
@@ -1027,7 +1027,7 @@ static int usb_pwc_probe(struct usb_interface *intf, const struct usb_device_id
1027 1027
1028 /* Init video_device structure */ 1028 /* Init video_device structure */
1029 pdev->vdev = pwc_template; 1029 pdev->vdev = pwc_template;
1030 strcpy(pdev->vdev.name, name); 1030 strscpy(pdev->vdev.name, name, sizeof(pdev->vdev.name));
1031 pdev->vdev.queue = &pdev->vb_queue; 1031 pdev->vdev.queue = &pdev->vb_queue;
1032 pdev->vdev.queue->lock = &pdev->vb_queue_lock; 1032 pdev->vdev.queue->lock = &pdev->vb_queue_lock;
1033 video_set_drvdata(&pdev->vdev, pdev); 1033 video_set_drvdata(&pdev->vdev, pdev);
diff --git a/drivers/media/usb/pwc/pwc-v4l.c b/drivers/media/usb/pwc/pwc-v4l.c
index 0673238c2c63..bef6e4ef8a7e 100644
--- a/drivers/media/usb/pwc/pwc-v4l.c
+++ b/drivers/media/usb/pwc/pwc-v4l.c
@@ -492,7 +492,7 @@ static int pwc_querycap(struct file *file, void *fh, struct v4l2_capability *cap
492{ 492{
493 struct pwc_device *pdev = video_drvdata(file); 493 struct pwc_device *pdev = video_drvdata(file);
494 494
495 strcpy(cap->driver, PWC_NAME); 495 strscpy(cap->driver, PWC_NAME, sizeof(cap->driver));
496 strscpy(cap->card, pdev->vdev.name, sizeof(cap->card)); 496 strscpy(cap->card, pdev->vdev.name, sizeof(cap->card));
497 usb_make_path(pdev->udev, cap->bus_info, sizeof(cap->bus_info)); 497 usb_make_path(pdev->udev, cap->bus_info, sizeof(cap->bus_info));
498 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING | 498 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING |
diff --git a/drivers/media/usb/rainshadow-cec/rainshadow-cec.c b/drivers/media/usb/rainshadow-cec/rainshadow-cec.c
index cecdcbcd400c..d9964da05976 100644
--- a/drivers/media/usb/rainshadow-cec/rainshadow-cec.c
+++ b/drivers/media/usb/rainshadow-cec/rainshadow-cec.c
@@ -141,7 +141,8 @@ static void rain_irq_work_handler(struct work_struct *work)
141 !memcmp(rain->cmd, "STA", 3)) { 141 !memcmp(rain->cmd, "STA", 3)) {
142 rain_process_msg(rain); 142 rain_process_msg(rain);
143 } else { 143 } else {
144 strcpy(rain->cmd_reply, rain->cmd); 144 strscpy(rain->cmd_reply, rain->cmd,
145 sizeof(rain->cmd_reply));
145 complete(&rain->cmd_done); 146 complete(&rain->cmd_done);
146 } 147 }
147 rain->cmd_idx = 0; 148 rain->cmd_idx = 0;
diff --git a/drivers/media/usb/stk1160/stk1160-i2c.c b/drivers/media/usb/stk1160/stk1160-i2c.c
index 62a12d5356ad..c3a15564e5cb 100644
--- a/drivers/media/usb/stk1160/stk1160-i2c.c
+++ b/drivers/media/usb/stk1160/stk1160-i2c.c
@@ -260,7 +260,7 @@ int stk1160_i2c_register(struct stk1160 *dev)
260 260
261 dev->i2c_adap = adap_template; 261 dev->i2c_adap = adap_template;
262 dev->i2c_adap.dev.parent = dev->dev; 262 dev->i2c_adap.dev.parent = dev->dev;
263 strcpy(dev->i2c_adap.name, "stk1160"); 263 strscpy(dev->i2c_adap.name, "stk1160", sizeof(dev->i2c_adap.name));
264 dev->i2c_adap.algo_data = dev; 264 dev->i2c_adap.algo_data = dev;
265 265
266 i2c_set_adapdata(&dev->i2c_adap, &dev->v4l2_dev); 266 i2c_set_adapdata(&dev->i2c_adap, &dev->v4l2_dev);
diff --git a/drivers/media/usb/stk1160/stk1160-v4l.c b/drivers/media/usb/stk1160/stk1160-v4l.c
index bbf191b71f38..701ed3d4afe6 100644
--- a/drivers/media/usb/stk1160/stk1160-v4l.c
+++ b/drivers/media/usb/stk1160/stk1160-v4l.c
@@ -344,8 +344,8 @@ static int vidioc_querycap(struct file *file,
344{ 344{
345 struct stk1160 *dev = video_drvdata(file); 345 struct stk1160 *dev = video_drvdata(file);
346 346
347 strcpy(cap->driver, "stk1160"); 347 strscpy(cap->driver, "stk1160", sizeof(cap->driver));
348 strcpy(cap->card, "stk1160"); 348 strscpy(cap->card, "stk1160", sizeof(cap->card));
349 usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info)); 349 usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info));
350 cap->device_caps = 350 cap->device_caps =
351 V4L2_CAP_VIDEO_CAPTURE | 351 V4L2_CAP_VIDEO_CAPTURE |
diff --git a/drivers/media/usb/stkwebcam/stk-webcam.c b/drivers/media/usb/stkwebcam/stk-webcam.c
index 5accb5241072..e11d5d5b7c26 100644
--- a/drivers/media/usb/stkwebcam/stk-webcam.c
+++ b/drivers/media/usb/stkwebcam/stk-webcam.c
@@ -793,8 +793,8 @@ static int stk_vidioc_querycap(struct file *filp,
793{ 793{
794 struct stk_camera *dev = video_drvdata(filp); 794 struct stk_camera *dev = video_drvdata(filp);
795 795
796 strcpy(cap->driver, "stk"); 796 strscpy(cap->driver, "stk", sizeof(cap->driver));
797 strcpy(cap->card, "stk"); 797 strscpy(cap->card, "stk", sizeof(cap->card));
798 usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info)); 798 usb_make_path(dev->udev, cap->bus_info, sizeof(cap->bus_info));
799 799
800 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE 800 cap->device_caps = V4L2_CAP_VIDEO_CAPTURE
@@ -809,7 +809,7 @@ static int stk_vidioc_enum_input(struct file *filp,
809 if (input->index != 0) 809 if (input->index != 0)
810 return -EINVAL; 810 return -EINVAL;
811 811
812 strcpy(input->name, "Syntek USB Camera"); 812 strscpy(input->name, "Syntek USB Camera", sizeof(input->name));
813 input->type = V4L2_INPUT_TYPE_CAMERA; 813 input->type = V4L2_INPUT_TYPE_CAMERA;
814 return 0; 814 return 0;
815} 815}
@@ -859,23 +859,23 @@ static int stk_vidioc_enum_fmt_vid_cap(struct file *filp,
859 switch (fmtd->index) { 859 switch (fmtd->index) {
860 case 0: 860 case 0:
861 fmtd->pixelformat = V4L2_PIX_FMT_RGB565; 861 fmtd->pixelformat = V4L2_PIX_FMT_RGB565;
862 strcpy(fmtd->description, "r5g6b5"); 862 strscpy(fmtd->description, "r5g6b5", sizeof(fmtd->description));
863 break; 863 break;
864 case 1: 864 case 1:
865 fmtd->pixelformat = V4L2_PIX_FMT_RGB565X; 865 fmtd->pixelformat = V4L2_PIX_FMT_RGB565X;
866 strcpy(fmtd->description, "r5g6b5BE"); 866 strscpy(fmtd->description, "r5g6b5BE", sizeof(fmtd->description));
867 break; 867 break;
868 case 2: 868 case 2:
869 fmtd->pixelformat = V4L2_PIX_FMT_UYVY; 869 fmtd->pixelformat = V4L2_PIX_FMT_UYVY;
870 strcpy(fmtd->description, "yuv4:2:2"); 870 strscpy(fmtd->description, "yuv4:2:2", sizeof(fmtd->description));
871 break; 871 break;
872 case 3: 872 case 3:
873 fmtd->pixelformat = V4L2_PIX_FMT_SBGGR8; 873 fmtd->pixelformat = V4L2_PIX_FMT_SBGGR8;
874 strcpy(fmtd->description, "Raw bayer"); 874 strscpy(fmtd->description, "Raw bayer", sizeof(fmtd->description));
875 break; 875 break;
876 case 4: 876 case 4:
877 fmtd->pixelformat = V4L2_PIX_FMT_YUYV; 877 fmtd->pixelformat = V4L2_PIX_FMT_YUYV;
878 strcpy(fmtd->description, "yuv4:2:2"); 878 strscpy(fmtd->description, "yuv4:2:2", sizeof(fmtd->description));
879 break; 879 break;
880 default: 880 default:
881 return -EINVAL; 881 return -EINVAL;
diff --git a/drivers/media/usb/tm6000/tm6000-alsa.c b/drivers/media/usb/tm6000/tm6000-alsa.c
index f18cffae4c85..b965931793b5 100644
--- a/drivers/media/usb/tm6000/tm6000-alsa.c
+++ b/drivers/media/usb/tm6000/tm6000-alsa.c
@@ -429,8 +429,8 @@ static int tm6000_audio_init(struct tm6000_core *dev)
429 snd_printk(KERN_ERR "cannot create card instance %d\n", devnr); 429 snd_printk(KERN_ERR "cannot create card instance %d\n", devnr);
430 return rc; 430 return rc;
431 } 431 }
432 strcpy(card->driver, "tm6000-alsa"); 432 strscpy(card->driver, "tm6000-alsa", sizeof(card->driver));
433 strcpy(card->shortname, "TM5600/60x0"); 433 strscpy(card->shortname, "TM5600/60x0", sizeof(card->shortname));
434 sprintf(card->longname, "TM5600/60x0 Audio at bus %d device %d", 434 sprintf(card->longname, "TM5600/60x0 Audio at bus %d device %d",
435 dev->udev->bus->busnum, dev->udev->devnum); 435 dev->udev->bus->busnum, dev->udev->devnum);
436 436
@@ -456,7 +456,7 @@ static int tm6000_audio_init(struct tm6000_core *dev)
456 456
457 pcm->info_flags = 0; 457 pcm->info_flags = 0;
458 pcm->private_data = chip; 458 pcm->private_data = chip;
459 strcpy(pcm->name, "Trident TM5600/60x0"); 459 strscpy(pcm->name, "Trident TM5600/60x0", sizeof(pcm->name));
460 460
461 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_tm6000_pcm_ops); 461 snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_tm6000_pcm_ops);
462 462
diff --git a/drivers/media/usb/tm6000/tm6000-video.c b/drivers/media/usb/tm6000/tm6000-video.c
index f3082bd44ce6..49d7eb0c4cbf 100644
--- a/drivers/media/usb/tm6000/tm6000-video.c
+++ b/drivers/media/usb/tm6000/tm6000-video.c
@@ -1091,7 +1091,7 @@ static int vidioc_enum_input(struct file *file, void *priv,
1091 else 1091 else
1092 i->type = V4L2_INPUT_TYPE_CAMERA; 1092 i->type = V4L2_INPUT_TYPE_CAMERA;
1093 1093
1094 strcpy(i->name, iname[dev->vinput[n].type]); 1094 strscpy(i->name, iname[dev->vinput[n].type], sizeof(i->name));
1095 1095
1096 i->std = TM6000_STD; 1096 i->std = TM6000_STD;
1097 1097
@@ -1188,7 +1188,7 @@ static int vidioc_g_tuner(struct file *file, void *priv,
1188 if (0 != t->index) 1188 if (0 != t->index)
1189 return -EINVAL; 1189 return -EINVAL;
1190 1190
1191 strcpy(t->name, "Television"); 1191 strscpy(t->name, "Television", sizeof(t->name));
1192 t->type = V4L2_TUNER_ANALOG_TV; 1192 t->type = V4L2_TUNER_ANALOG_TV;
1193 t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO; 1193 t->capability = V4L2_TUNER_CAP_NORM | V4L2_TUNER_CAP_STEREO;
1194 t->rangehigh = 0xffffffffUL; 1194 t->rangehigh = 0xffffffffUL;
@@ -1268,7 +1268,7 @@ static int radio_g_tuner(struct file *file, void *priv,
1268 return -EINVAL; 1268 return -EINVAL;
1269 1269
1270 memset(t, 0, sizeof(*t)); 1270 memset(t, 0, sizeof(*t));
1271 strcpy(t->name, "Radio"); 1271 strscpy(t->name, "Radio", sizeof(t->name));
1272 t->type = V4L2_TUNER_RADIO; 1272 t->type = V4L2_TUNER_RADIO;
1273 t->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO; 1273 t->capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_STEREO;
1274 t->rxsubchans = V4L2_TUNER_SUB_STEREO; 1274 t->rxsubchans = V4L2_TUNER_SUB_STEREO;
diff --git a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
index eed56895c2b9..6eb84cf007b4 100644
--- a/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
+++ b/drivers/media/usb/ttusb-budget/dvb-ttusb-budget.c
@@ -1686,7 +1686,7 @@ static int ttusb_probe(struct usb_interface *intf, const struct usb_device_id *i
1686 1686
1687 /* i2c */ 1687 /* i2c */
1688 memset(&ttusb->i2c_adap, 0, sizeof(struct i2c_adapter)); 1688 memset(&ttusb->i2c_adap, 0, sizeof(struct i2c_adapter));
1689 strcpy(ttusb->i2c_adap.name, "TTUSB DEC"); 1689 strscpy(ttusb->i2c_adap.name, "TTUSB DEC", sizeof(ttusb->i2c_adap.name));
1690 1690
1691 i2c_set_adapdata(&ttusb->i2c_adap, ttusb); 1691 i2c_set_adapdata(&ttusb->i2c_adap, ttusb);
1692 1692
diff --git a/drivers/media/usb/usbvision/usbvision-video.c b/drivers/media/usb/usbvision/usbvision-video.c
index f4e758e5f3ec..dd2ff8ed6c6a 100644
--- a/drivers/media/usb/usbvision/usbvision-video.c
+++ b/drivers/media/usb/usbvision/usbvision-video.c
@@ -504,9 +504,9 @@ static int vidioc_enum_input(struct file *file, void *priv,
504 switch (chan) { 504 switch (chan) {
505 case 0: 505 case 0:
506 if (usbvision_device_data[usbvision->dev_model].video_channels == 4) { 506 if (usbvision_device_data[usbvision->dev_model].video_channels == 4) {
507 strcpy(vi->name, "White Video Input"); 507 strscpy(vi->name, "White Video Input", sizeof(vi->name));
508 } else { 508 } else {
509 strcpy(vi->name, "Television"); 509 strscpy(vi->name, "Television", sizeof(vi->name));
510 vi->type = V4L2_INPUT_TYPE_TUNER; 510 vi->type = V4L2_INPUT_TYPE_TUNER;
511 vi->tuner = chan; 511 vi->tuner = chan;
512 vi->std = USBVISION_NORMS; 512 vi->std = USBVISION_NORMS;
@@ -515,22 +515,23 @@ static int vidioc_enum_input(struct file *file, void *priv,
515 case 1: 515 case 1:
516 vi->type = V4L2_INPUT_TYPE_CAMERA; 516 vi->type = V4L2_INPUT_TYPE_CAMERA;
517 if (usbvision_device_data[usbvision->dev_model].video_channels == 4) 517 if (usbvision_device_data[usbvision->dev_model].video_channels == 4)
518 strcpy(vi->name, "Green Video Input"); 518 strscpy(vi->name, "Green Video Input", sizeof(vi->name));
519 else 519 else
520 strcpy(vi->name, "Composite Video Input"); 520 strscpy(vi->name, "Composite Video Input",
521 sizeof(vi->name));
521 vi->std = USBVISION_NORMS; 522 vi->std = USBVISION_NORMS;
522 break; 523 break;
523 case 2: 524 case 2:
524 vi->type = V4L2_INPUT_TYPE_CAMERA; 525 vi->type = V4L2_INPUT_TYPE_CAMERA;
525 if (usbvision_device_data[usbvision->dev_model].video_channels == 4) 526 if (usbvision_device_data[usbvision->dev_model].video_channels == 4)
526 strcpy(vi->name, "Yellow Video Input"); 527 strscpy(vi->name, "Yellow Video Input", sizeof(vi->name));
527 else 528 else
528 strcpy(vi->name, "S-Video Input"); 529 strscpy(vi->name, "S-Video Input", sizeof(vi->name));
529 vi->std = USBVISION_NORMS; 530 vi->std = USBVISION_NORMS;
530 break; 531 break;
531 case 3: 532 case 3:
532 vi->type = V4L2_INPUT_TYPE_CAMERA; 533 vi->type = V4L2_INPUT_TYPE_CAMERA;
533 strcpy(vi->name, "Red Video Input"); 534 strscpy(vi->name, "Red Video Input", sizeof(vi->name));
534 vi->std = USBVISION_NORMS; 535 vi->std = USBVISION_NORMS;
535 break; 536 break;
536 } 537 }
@@ -589,9 +590,9 @@ static int vidioc_g_tuner(struct file *file, void *priv,
589 if (vt->index) /* Only tuner 0 */ 590 if (vt->index) /* Only tuner 0 */
590 return -EINVAL; 591 return -EINVAL;
591 if (vt->type == V4L2_TUNER_RADIO) 592 if (vt->type == V4L2_TUNER_RADIO)
592 strcpy(vt->name, "Radio"); 593 strscpy(vt->name, "Radio", sizeof(vt->name));
593 else 594 else
594 strcpy(vt->name, "Television"); 595 strscpy(vt->name, "Television", sizeof(vt->name));
595 596
596 /* Let clients fill in the remainder of this struct */ 597 /* Let clients fill in the remainder of this struct */
597 call_all(usbvision, tuner, g_tuner, vt); 598 call_all(usbvision, tuner, g_tuner, vt);
@@ -814,7 +815,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
814{ 815{
815 if (vfd->index >= USBVISION_SUPPORTED_PALETTES - 1) 816 if (vfd->index >= USBVISION_SUPPORTED_PALETTES - 1)
816 return -EINVAL; 817 return -EINVAL;
817 strcpy(vfd->description, usbvision_v4l2_format[vfd->index].desc); 818 strscpy(vfd->description, usbvision_v4l2_format[vfd->index].desc,
819 sizeof(vfd->description));
818 vfd->pixelformat = usbvision_v4l2_format[vfd->index].format; 820 vfd->pixelformat = usbvision_v4l2_format[vfd->index].format;
819 return 0; 821 return 0;
820} 822}
diff --git a/drivers/media/usb/uvc/uvc_driver.c b/drivers/media/usb/uvc/uvc_driver.c
index 3aa809af5ea7..bc369a0934a3 100644
--- a/drivers/media/usb/uvc/uvc_driver.c
+++ b/drivers/media/usb/uvc/uvc_driver.c
@@ -2132,7 +2132,7 @@ static int uvc_probe(struct usb_interface *intf,
2132 if (udev->serial) 2132 if (udev->serial)
2133 strscpy(dev->mdev.serial, udev->serial, 2133 strscpy(dev->mdev.serial, udev->serial,
2134 sizeof(dev->mdev.serial)); 2134 sizeof(dev->mdev.serial));
2135 strcpy(dev->mdev.bus_info, udev->devpath); 2135 strscpy(dev->mdev.bus_info, udev->devpath, sizeof(dev->mdev.bus_info));
2136 dev->mdev.hw_revision = le16_to_cpu(udev->descriptor.bcdDevice); 2136 dev->mdev.hw_revision = le16_to_cpu(udev->descriptor.bcdDevice);
2137 media_device_init(&dev->mdev); 2137 media_device_init(&dev->mdev);
2138 2138
diff --git a/drivers/media/usb/zr364xx/zr364xx.c b/drivers/media/usb/zr364xx/zr364xx.c
index 0ba98583c736..ab35554cbffa 100644
--- a/drivers/media/usb/zr364xx/zr364xx.c
+++ b/drivers/media/usb/zr364xx/zr364xx.c
@@ -719,7 +719,7 @@ static int zr364xx_vidioc_enum_input(struct file *file, void *priv,
719{ 719{
720 if (i->index != 0) 720 if (i->index != 0)
721 return -EINVAL; 721 return -EINVAL;
722 strcpy(i->name, DRIVER_DESC " Camera"); 722 strscpy(i->name, DRIVER_DESC " Camera", sizeof(i->name));
723 i->type = V4L2_INPUT_TYPE_CAMERA; 723 i->type = V4L2_INPUT_TYPE_CAMERA;
724 return 0; 724 return 0;
725} 725}
@@ -765,7 +765,7 @@ static int zr364xx_vidioc_enum_fmt_vid_cap(struct file *file,
765 if (f->index > 0) 765 if (f->index > 0)
766 return -EINVAL; 766 return -EINVAL;
767 f->flags = V4L2_FMT_FLAG_COMPRESSED; 767 f->flags = V4L2_FMT_FLAG_COMPRESSED;
768 strcpy(f->description, formats[0].name); 768 strscpy(f->description, formats[0].name, sizeof(f->description));
769 f->pixelformat = formats[0].fourcc; 769 f->pixelformat = formats[0].fourcc;
770 return 0; 770 return 0;
771} 771}
diff --git a/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c b/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c
index e55c815b9b65..bdf6ee5ad96c 100644
--- a/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c
+++ b/drivers/staging/media/davinci_vpfe/vpfe_mc_capture.c
@@ -639,7 +639,8 @@ static int vpfe_probe(struct platform_device *pdev)
639 goto probe_disable_clock; 639 goto probe_disable_clock;
640 640
641 vpfe_dev->media_dev.dev = vpfe_dev->pdev; 641 vpfe_dev->media_dev.dev = vpfe_dev->pdev;
642 strcpy((char *)&vpfe_dev->media_dev.model, "davinci-media"); 642 strscpy((char *)&vpfe_dev->media_dev.model, "davinci-media",
643 sizeof(vpfe_dev->media_dev.model));
643 644
644 ret = media_device_register(&vpfe_dev->media_dev); 645 ret = media_device_register(&vpfe_dev->media_dev);
645 if (ret) { 646 if (ret) {
diff --git a/drivers/staging/media/imx/imx6-mipi-csi2.c b/drivers/staging/media/imx/imx6-mipi-csi2.c
index ceeeb3069a02..7b457a4b7df5 100644
--- a/drivers/staging/media/imx/imx6-mipi-csi2.c
+++ b/drivers/staging/media/imx/imx6-mipi-csi2.c
@@ -597,7 +597,7 @@ static int csi2_probe(struct platform_device *pdev)
597 csi2->sd.dev = &pdev->dev; 597 csi2->sd.dev = &pdev->dev;
598 csi2->sd.owner = THIS_MODULE; 598 csi2->sd.owner = THIS_MODULE;
599 csi2->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE; 599 csi2->sd.flags = V4L2_SUBDEV_FL_HAS_DEVNODE;
600 strcpy(csi2->sd.name, DEVICE_NAME); 600 strscpy(csi2->sd.name, DEVICE_NAME, sizeof(csi2->sd.name));
601 csi2->sd.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE; 601 csi2->sd.entity.function = MEDIA_ENT_F_VID_IF_BRIDGE;
602 csi2->sd.grp_id = IMX_MEDIA_GRP_ID_CSI2; 602 csi2->sd.grp_id = IMX_MEDIA_GRP_ID_CSI2;
603 603
diff --git a/drivers/staging/media/zoran/zoran_card.c b/drivers/staging/media/zoran/zoran_card.c
index e69a43ae74c2..94dadbba7cd5 100644
--- a/drivers/staging/media/zoran/zoran_card.c
+++ b/drivers/staging/media/zoran/zoran_card.c
@@ -1048,7 +1048,7 @@ static int zr36057_init (struct zoran *zr)
1048 *zr->video_dev = zoran_template; 1048 *zr->video_dev = zoran_template;
1049 zr->video_dev->v4l2_dev = &zr->v4l2_dev; 1049 zr->video_dev->v4l2_dev = &zr->v4l2_dev;
1050 zr->video_dev->lock = &zr->lock; 1050 zr->video_dev->lock = &zr->lock;
1051 strcpy(zr->video_dev->name, ZR_DEVNAME(zr)); 1051 strscpy(zr->video_dev->name, ZR_DEVNAME(zr), sizeof(zr->video_dev->name));
1052 /* It's not a mem2mem device, but you can both capture and output from 1052 /* It's not a mem2mem device, but you can both capture and output from
1053 one and the same device. This should really be split up into two 1053 one and the same device. This should really be split up into two
1054 device nodes, but that's a job for another day. */ 1054 device nodes, but that's a job for another day. */