lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Yv63wP0jpCoVzuE+@pendragon.ideasonboard.com>
Date:   Fri, 19 Aug 2022 01:05:52 +0300
From:   Laurent Pinchart <laurent.pinchart@...asonboard.com>
To:     Wolfram Sang <wsa+renesas@...g-engineering.com>
Cc:     linux-kernel@...r.kernel.org,
        Alex Deucher <alexander.deucher@....com>,
        Christian König <christian.koenig@....com>,
        "Pan, Xinhui" <Xinhui.Pan@....com>,
        David Airlie <airlied@...ux.ie>,
        Daniel Vetter <daniel@...ll.ch>, Evan Quan <evan.quan@....com>,
        Andrzej Hajda <andrzej.hajda@...el.com>,
        Neil Armstrong <narmstrong@...libre.com>,
        Robert Foss <robert.foss@...aro.org>,
        Jonas Karlman <jonas@...boo.se>,
        Jernej Skrabec <jernej.skrabec@...il.com>,
        Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
        Maxime Ripard <mripard@...nel.org>,
        Thomas Zimmermann <tzimmermann@...e.de>,
        Russell King <linux@...linux.org.uk>,
        Jani Nikula <jani.nikula@...ux.intel.com>,
        Joonas Lahtinen <joonas.lahtinen@...ux.intel.com>,
        Rodrigo Vivi <rodrigo.vivi@...el.com>,
        Tvrtko Ursulin <tvrtko.ursulin@...ux.intel.com>,
        Chun-Kuang Hu <chunkuang.hu@...nel.org>,
        Philipp Zabel <p.zabel@...gutronix.de>,
        Matthias Brugger <matthias.bgg@...il.com>,
        Sandy Huang <hjc@...k-chips.com>,
        Heiko Stübner <heiko@...ech.de>,
        Chen-Yu Tsai <wens@...e.org>,
        Samuel Holland <samuel@...lland.org>,
        amd-gfx@...ts.freedesktop.org, dri-devel@...ts.freedesktop.org,
        intel-gfx@...ts.freedesktop.org,
        linux-mediatek@...ts.infradead.org,
        linux-arm-kernel@...ts.infradead.org,
        linux-rockchip@...ts.infradead.org, linux-sunxi@...ts.linux.dev
Subject: Re: [PATCH] gpu: move from strlcpy with unused retval to strscpy

Hi Wolfram,

Thank you for the patch.

On Thu, Aug 18, 2022 at 11:00:07PM +0200, Wolfram Sang wrote:
> Follow the advice of the below link and prefer 'strscpy' in this
> subsystem. Conversion is 1:1 because the return value is not used.
> Generated by a coccinelle script.
> 
> Link: https://lore.kernel.org/r/CAHk-=wgfRnXz0W3D37d01q3JFkr_i_uTL=V6A6G1oUZcprmknw@mail.gmail.com/
> Signed-off-by: Wolfram Sang <wsa+renesas@...g-engineering.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart+renesas@...asonboard.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/atom.c                   | 2 +-
>  drivers/gpu/drm/amd/pm/legacy-dpm/legacy_dpm.c      | 2 +-
>  drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c | 6 +++---
>  drivers/gpu/drm/bridge/synopsys/dw-hdmi.c           | 2 +-
>  drivers/gpu/drm/display/drm_dp_helper.c             | 2 +-
>  drivers/gpu/drm/display/drm_dp_mst_topology.c       | 2 +-
>  drivers/gpu/drm/drm_mipi_dsi.c                      | 2 +-
>  drivers/gpu/drm/i2c/tda998x_drv.c                   | 2 +-
>  drivers/gpu/drm/i915/selftests/i915_perf.c          | 2 +-
>  drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c             | 2 +-
>  drivers/gpu/drm/radeon/radeon_atombios.c            | 4 ++--
>  drivers/gpu/drm/radeon/radeon_combios.c             | 4 ++--
>  drivers/gpu/drm/rockchip/inno_hdmi.c                | 2 +-
>  drivers/gpu/drm/rockchip/rk3066_hdmi.c              | 2 +-
>  drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c              | 2 +-
>  15 files changed, 19 insertions(+), 19 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/atom.c b/drivers/gpu/drm/amd/amdgpu/atom.c
> index 1c5d9388ad0b..5f610e9a5f0f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/atom.c
> +++ b/drivers/gpu/drm/amd/amdgpu/atom.c
> @@ -1509,7 +1509,7 @@ struct atom_context *amdgpu_atom_parse(struct card_info *card, void *bios)
>  	str = CSTR(idx);
>  	if (*str != '\0') {
>  		pr_info("ATOM BIOS: %s\n", str);
> -		strlcpy(ctx->vbios_version, str, sizeof(ctx->vbios_version));
> +		strscpy(ctx->vbios_version, str, sizeof(ctx->vbios_version));
>  	}
>  
>  	atom_rom_header = (struct _ATOM_ROM_HEADER *)CSTR(base);
> diff --git a/drivers/gpu/drm/amd/pm/legacy-dpm/legacy_dpm.c b/drivers/gpu/drm/amd/pm/legacy-dpm/legacy_dpm.c
> index d3fe149d8476..81fb4e5dd804 100644
> --- a/drivers/gpu/drm/amd/pm/legacy-dpm/legacy_dpm.c
> +++ b/drivers/gpu/drm/amd/pm/legacy-dpm/legacy_dpm.c
> @@ -794,7 +794,7 @@ void amdgpu_add_thermal_controller(struct amdgpu_device *adev)
>  				struct i2c_board_info info = { };
>  				const char *name = pp_lib_thermal_controller_names[controller->ucType];
>  				info.addr = controller->ucI2cAddress >> 1;
> -				strlcpy(info.type, name, sizeof(info.type));
> +				strscpy(info.type, name, sizeof(info.type));
>  				i2c_new_client_device(&adev->pm.i2c_bus->adapter, &info);
>  			}
>  		} else {
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c
> index 7d2ed0ed2fe2..4efb62bcdb63 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-ahb-audio.c
> @@ -542,8 +542,8 @@ static int snd_dw_hdmi_probe(struct platform_device *pdev)
>  	if (ret < 0)
>  		return ret;
>  
> -	strlcpy(card->driver, DRIVER_NAME, sizeof(card->driver));
> -	strlcpy(card->shortname, "DW-HDMI", sizeof(card->shortname));
> +	strscpy(card->driver, DRIVER_NAME, sizeof(card->driver));
> +	strscpy(card->shortname, "DW-HDMI", sizeof(card->shortname));
>  	snprintf(card->longname, sizeof(card->longname),
>  		 "%s rev 0x%02x, irq %d", card->shortname, revision,
>  		 data->irq);
> @@ -561,7 +561,7 @@ static int snd_dw_hdmi_probe(struct platform_device *pdev)
>  
>  	dw->pcm = pcm;
>  	pcm->private_data = dw;
> -	strlcpy(pcm->name, DRIVER_NAME, sizeof(pcm->name));
> +	strscpy(pcm->name, DRIVER_NAME, sizeof(pcm->name));
>  	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_dw_hdmi_ops);
>  
>  	/*
> diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> index 25a60eb4d67c..4f3ae976e677 100644
> --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
> @@ -533,7 +533,7 @@ static struct i2c_adapter *dw_hdmi_i2c_adapter(struct dw_hdmi *hdmi)
>  	adap->owner = THIS_MODULE;
>  	adap->dev.parent = hdmi->dev;
>  	adap->algo = &dw_hdmi_algorithm;
> -	strlcpy(adap->name, "DesignWare HDMI", sizeof(adap->name));
> +	strscpy(adap->name, "DesignWare HDMI", sizeof(adap->name));
>  	i2c_set_adapdata(adap, hdmi);
>  
>  	ret = i2c_add_adapter(adap);
> diff --git a/drivers/gpu/drm/display/drm_dp_helper.c b/drivers/gpu/drm/display/drm_dp_helper.c
> index e5bab236b3ae..10a39b36a661 100644
> --- a/drivers/gpu/drm/display/drm_dp_helper.c
> +++ b/drivers/gpu/drm/display/drm_dp_helper.c
> @@ -2058,7 +2058,7 @@ int drm_dp_aux_register(struct drm_dp_aux *aux)
>  	aux->ddc.owner = THIS_MODULE;
>  	aux->ddc.dev.parent = aux->dev;
>  
> -	strlcpy(aux->ddc.name, aux->name ? aux->name : dev_name(aux->dev),
> +	strscpy(aux->ddc.name, aux->name ? aux->name : dev_name(aux->dev),
>  		sizeof(aux->ddc.name));
>  
>  	ret = drm_dp_aux_register_devnode(aux);
> diff --git a/drivers/gpu/drm/display/drm_dp_mst_topology.c b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> index 57e65423e50d..6bdf39937054 100644
> --- a/drivers/gpu/drm/display/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/display/drm_dp_mst_topology.c
> @@ -5780,7 +5780,7 @@ static int drm_dp_mst_register_i2c_bus(struct drm_dp_mst_port *port)
>  	aux->ddc.dev.parent = parent_dev;
>  	aux->ddc.dev.of_node = parent_dev->of_node;
>  
> -	strlcpy(aux->ddc.name, aux->name ? aux->name : dev_name(parent_dev),
> +	strscpy(aux->ddc.name, aux->name ? aux->name : dev_name(parent_dev),
>  		sizeof(aux->ddc.name));
>  
>  	return i2c_add_adapter(&aux->ddc);
> diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
> index c40bde96cfdf..9820b85a34c7 100644
> --- a/drivers/gpu/drm/drm_mipi_dsi.c
> +++ b/drivers/gpu/drm/drm_mipi_dsi.c
> @@ -223,7 +223,7 @@ mipi_dsi_device_register_full(struct mipi_dsi_host *host,
>  
>  	dsi->dev.of_node = info->node;
>  	dsi->channel = info->channel;
> -	strlcpy(dsi->name, info->type, sizeof(dsi->name));
> +	strscpy(dsi->name, info->type, sizeof(dsi->name));
>  
>  	ret = mipi_dsi_device_add(dsi);
>  	if (ret) {
> diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
> index f8eb6f69be05..d49f0bd8d02c 100644
> --- a/drivers/gpu/drm/i2c/tda998x_drv.c
> +++ b/drivers/gpu/drm/i2c/tda998x_drv.c
> @@ -1949,7 +1949,7 @@ static int tda998x_create(struct device *dev)
>  	 * offset.
>  	 */
>  	memset(&cec_info, 0, sizeof(cec_info));
> -	strlcpy(cec_info.type, "tda9950", sizeof(cec_info.type));
> +	strscpy(cec_info.type, "tda9950", sizeof(cec_info.type));
>  	cec_info.addr = priv->cec_addr;
>  	cec_info.platform_data = &priv->cec_glue;
>  	cec_info.irq = client->irq;
> diff --git a/drivers/gpu/drm/i915/selftests/i915_perf.c b/drivers/gpu/drm/i915/selftests/i915_perf.c
> index 88db2e3d81d0..8f5285654d7a 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_perf.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_perf.c
> @@ -28,7 +28,7 @@ alloc_empty_config(struct i915_perf *perf)
>  	oa_config->perf = perf;
>  	kref_init(&oa_config->ref);
>  
> -	strlcpy(oa_config->uuid, TEST_OA_CONFIG_UUID, sizeof(oa_config->uuid));
> +	strscpy(oa_config->uuid, TEST_OA_CONFIG_UUID, sizeof(oa_config->uuid));
>  
>  	mutex_lock(&perf->metrics_lock);
>  
> diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
> index 6207eac88550..19541d197047 100644
> --- a/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
> +++ b/drivers/gpu/drm/mediatek/mtk_hdmi_ddc.c
> @@ -292,7 +292,7 @@ static int mtk_hdmi_ddc_probe(struct platform_device *pdev)
>  		return ret;
>  	}
>  
> -	strlcpy(ddc->adap.name, "mediatek-hdmi-ddc", sizeof(ddc->adap.name));
> +	strscpy(ddc->adap.name, "mediatek-hdmi-ddc", sizeof(ddc->adap.name));
>  	ddc->adap.owner = THIS_MODULE;
>  	ddc->adap.class = I2C_CLASS_DDC;
>  	ddc->adap.algo = &mtk_hdmi_ddc_algorithm;
> diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
> index 28c4413f4dc8..62fbbd6181bc 100644
> --- a/drivers/gpu/drm/radeon/radeon_atombios.c
> +++ b/drivers/gpu/drm/radeon/radeon_atombios.c
> @@ -2104,7 +2104,7 @@ static int radeon_atombios_parse_power_table_1_3(struct radeon_device *rdev)
>  			const char *name = thermal_controller_names[power_info->info.
>  								    ucOverdriveThermalController];
>  			info.addr = power_info->info.ucOverdriveControllerAddress >> 1;
> -			strlcpy(info.type, name, sizeof(info.type));
> +			strscpy(info.type, name, sizeof(info.type));
>  			i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
>  		}
>  	}
> @@ -2354,7 +2354,7 @@ static void radeon_atombios_add_pplib_thermal_controller(struct radeon_device *r
>  				struct i2c_board_info info = { };
>  				const char *name = pp_lib_thermal_controller_names[controller->ucType];
>  				info.addr = controller->ucI2cAddress >> 1;
> -				strlcpy(info.type, name, sizeof(info.type));
> +				strscpy(info.type, name, sizeof(info.type));
>  				i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
>  			}
>  		} else {
> diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c
> index 783a6b8802d5..795c3667f6d6 100644
> --- a/drivers/gpu/drm/radeon/radeon_combios.c
> +++ b/drivers/gpu/drm/radeon/radeon_combios.c
> @@ -2702,7 +2702,7 @@ void radeon_combios_get_power_modes(struct radeon_device *rdev)
>  				struct i2c_board_info info = { };
>  				const char *name = thermal_controller_names[thermal_controller];
>  				info.addr = i2c_addr >> 1;
> -				strlcpy(info.type, name, sizeof(info.type));
> +				strscpy(info.type, name, sizeof(info.type));
>  				i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
>  			}
>  		}
> @@ -2719,7 +2719,7 @@ void radeon_combios_get_power_modes(struct radeon_device *rdev)
>  				struct i2c_board_info info = { };
>  				const char *name = "f75375";
>  				info.addr = 0x28;
> -				strlcpy(info.type, name, sizeof(info.type));
> +				strscpy(info.type, name, sizeof(info.type));
>  				i2c_new_client_device(&rdev->pm.i2c_bus->adapter, &info);
>  				DRM_INFO("Possible %s thermal controller at 0x%02x\n",
>  					 name, info.addr);
> diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
> index 87b2243ea23e..98ed6cc931d0 100644
> --- a/drivers/gpu/drm/rockchip/inno_hdmi.c
> +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
> @@ -797,7 +797,7 @@ static struct i2c_adapter *inno_hdmi_i2c_adapter(struct inno_hdmi *hdmi)
>  	adap->dev.parent = hdmi->dev;
>  	adap->dev.of_node = hdmi->dev->of_node;
>  	adap->algo = &inno_hdmi_algorithm;
> -	strlcpy(adap->name, "Inno HDMI", sizeof(adap->name));
> +	strscpy(adap->name, "Inno HDMI", sizeof(adap->name));
>  	i2c_set_adapdata(adap, hdmi);
>  
>  	ret = i2c_add_adapter(adap);
> diff --git a/drivers/gpu/drm/rockchip/rk3066_hdmi.c b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> index cf2cf51091a3..bf2924730d84 100644
> --- a/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> +++ b/drivers/gpu/drm/rockchip/rk3066_hdmi.c
> @@ -730,7 +730,7 @@ static struct i2c_adapter *rk3066_hdmi_i2c_adapter(struct rk3066_hdmi *hdmi)
>  	adap->dev.parent = hdmi->dev;
>  	adap->dev.of_node = hdmi->dev->of_node;
>  	adap->algo = &rk3066_hdmi_algorithm;
> -	strlcpy(adap->name, "RK3066 HDMI", sizeof(adap->name));
> +	strscpy(adap->name, "RK3066 HDMI", sizeof(adap->name));
>  	i2c_set_adapdata(adap, hdmi);
>  
>  	ret = i2c_add_adapter(adap);
> diff --git a/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c b/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
> index c7d7e9fff91c..d1a65a921f5a 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_hdmi_i2c.c
> @@ -304,7 +304,7 @@ int sun4i_hdmi_i2c_create(struct device *dev, struct sun4i_hdmi *hdmi)
>  	adap->owner = THIS_MODULE;
>  	adap->class = I2C_CLASS_DDC;
>  	adap->algo = &sun4i_hdmi_i2c_algorithm;
> -	strlcpy(adap->name, "sun4i_hdmi_i2c adapter", sizeof(adap->name));
> +	strscpy(adap->name, "sun4i_hdmi_i2c adapter", sizeof(adap->name));
>  	i2c_set_adapdata(adap, hdmi);
>  
>  	ret = i2c_add_adapter(adap);

-- 
Regards,

Laurent Pinchart

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ