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>] [day] [month] [year] [list]
Date:   Mon, 5 Dec 2022 22:36:36 -0600
From:   Jeff LaBundy <jeff@...undy.com>
To:     ye.xingchen@....com.cn
Cc:     oliver.graute@...oconnector.com, u.kleine-koenig@...gutronix.de,
        nick@...anahar.org, dmitry.torokhov@...il.com,
        giulio.benetti@...ettiengineering.com,
        michael@...rulasolutions.com, dario.binacchi@...rulasolutions.com,
        wsa+renesas@...g-engineering.com, johan@...nel.org,
        linux-input@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v4] Input: touchscreen: use sysfs_emit() to instead of scnprintf()

Hi Ye,

Thank you for seeing this one through.

On Tue, Dec 06, 2022 at 11:48:16AM +0800, ye.xingchen@....com.cn wrote:
> From: ye xingchen <ye.xingchen@....com.cn>
> 
> Follow the advice of the Documentation/filesystems/sysfs.rst and show()
> should only use sysfs_emit() or sysfs_emit_at() when formatting the
> value to be returned to user space.
> 
> Signed-off-by: ye xingchen <ye.xingchen@....com.cn>
> Acked-by: Uwe Kleine-König <u.kleine-koenig@...gutronix.de>
> Acked-by: Oliver Graute <oliver.graute@...oconnector.com>

Acked-by: Jeff LaBundy <jeff@...undy.com>

> ---
> v3 -> v4
> Fix the code style.
>  drivers/input/touchscreen/atmel_mxt_ts.c   |  7 +++----
>  drivers/input/touchscreen/edt-ft5x06.c     |  2 +-
>  drivers/input/touchscreen/hideep.c         |  6 ++----
>  drivers/input/touchscreen/hycon-hy46xx.c   |  2 +-
>  drivers/input/touchscreen/ilitek_ts_i2c.c  | 15 +++++++--------
>  drivers/input/touchscreen/iqs5xx.c         | 12 ++++++------
>  drivers/input/touchscreen/usbtouchscreen.c |  4 ++--
>  drivers/input/touchscreen/wdt87xx_i2c.c    |  6 +++---
>  8 files changed, 25 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/atmel_mxt_ts.c b/drivers/input/touchscreen/atmel_mxt_ts.c
> index 39ef2664b852..e44643a70601 100644
> --- a/drivers/input/touchscreen/atmel_mxt_ts.c
> +++ b/drivers/input/touchscreen/atmel_mxt_ts.c
> @@ -2761,8 +2761,8 @@ static ssize_t mxt_fw_version_show(struct device *dev,
>  {
>  	struct mxt_data *data = dev_get_drvdata(dev);
>  	struct mxt_info *info = data->info;
> -	return scnprintf(buf, PAGE_SIZE, "%u.%u.%02X\n",
> -			 info->version >> 4, info->version & 0xf, info->build);
> +	return sysfs_emit(buf, "%u.%u.%02X\n",
> +			  info->version >> 4, info->version & 0xf, info->build);
>  }
> 
>  /* Hardware Version is returned as FamilyID.VariantID */
> @@ -2771,8 +2771,7 @@ static ssize_t mxt_hw_version_show(struct device *dev,
>  {
>  	struct mxt_data *data = dev_get_drvdata(dev);
>  	struct mxt_info *info = data->info;
> -	return scnprintf(buf, PAGE_SIZE, "%u.%u\n",
> -			 info->family_id, info->variant_id);
> +	return sysfs_emit(buf, "%u.%u\n", info->family_id, info->variant_id);
>  }
> 
>  static ssize_t mxt_show_instance(char *buf, int count,
> diff --git a/drivers/input/touchscreen/edt-ft5x06.c b/drivers/input/touchscreen/edt-ft5x06.c
> index ddd0f1f62458..8df2152edeb6 100644
> --- a/drivers/input/touchscreen/edt-ft5x06.c
> +++ b/drivers/input/touchscreen/edt-ft5x06.c
> @@ -445,7 +445,7 @@ static ssize_t edt_ft5x06_setting_show(struct device *dev,
>  		*field = val;
>  	}
> 
> -	count = scnprintf(buf, PAGE_SIZE, "%d\n", val);
> +	count = sysfs_emit(buf, "%d\n", val);
>  out:
>  	mutex_unlock(&tsdata->mutex);
>  	return error ?: count;
> diff --git a/drivers/input/touchscreen/hideep.c b/drivers/input/touchscreen/hideep.c
> index ff4bb4c14898..ef0f6a436f78 100644
> --- a/drivers/input/touchscreen/hideep.c
> +++ b/drivers/input/touchscreen/hideep.c
> @@ -922,8 +922,7 @@ static ssize_t hideep_fw_version_show(struct device *dev,
>  	ssize_t len;
> 
>  	mutex_lock(&ts->dev_mutex);
> -	len = scnprintf(buf, PAGE_SIZE, "%04x\n",
> -			be16_to_cpu(ts->dwz_info.release_ver));
> +	len = sysfs_emit(buf, "%04x\n", be16_to_cpu(ts->dwz_info.release_ver));
>  	mutex_unlock(&ts->dev_mutex);
> 
>  	return len;
> @@ -937,8 +936,7 @@ static ssize_t hideep_product_id_show(struct device *dev,
>  	ssize_t len;
> 
>  	mutex_lock(&ts->dev_mutex);
> -	len = scnprintf(buf, PAGE_SIZE, "%04x\n",
> -			be16_to_cpu(ts->dwz_info.product_id));
> +	len = sysfs_emit(buf, "%04x\n", be16_to_cpu(ts->dwz_info.product_id));
>  	mutex_unlock(&ts->dev_mutex);
> 
>  	return len;
> diff --git a/drivers/input/touchscreen/hycon-hy46xx.c b/drivers/input/touchscreen/hycon-hy46xx.c
> index 8f4989aba9a4..bc03fd5d01a4 100644
> --- a/drivers/input/touchscreen/hycon-hy46xx.c
> +++ b/drivers/input/touchscreen/hycon-hy46xx.c
> @@ -202,7 +202,7 @@ static ssize_t hycon_hy46xx_setting_show(struct device *dev,
>  		*field = val;
>  	}
> 
> -	count = scnprintf(buf, PAGE_SIZE, "%d\n", val);
> +	count = sysfs_emit(buf, "%d\n", val);
> 
>  out:
>  	mutex_unlock(&tsdata->mutex);
> diff --git a/drivers/input/touchscreen/ilitek_ts_i2c.c b/drivers/input/touchscreen/ilitek_ts_i2c.c
> index e6ade3775a8a..c63d5d7b9c99 100644
> --- a/drivers/input/touchscreen/ilitek_ts_i2c.c
> +++ b/drivers/input/touchscreen/ilitek_ts_i2c.c
> @@ -512,12 +512,11 @@ static ssize_t firmware_version_show(struct device *dev,
>  	struct i2c_client *client = to_i2c_client(dev);
>  	struct ilitek_ts_data *ts = i2c_get_clientdata(client);
> 
> -	return scnprintf(buf, PAGE_SIZE,
> -			 "fw version: [%02X%02X.%02X%02X.%02X%02X.%02X%02X]\n",
> -			 ts->firmware_ver[0], ts->firmware_ver[1],
> -			 ts->firmware_ver[2], ts->firmware_ver[3],
> -			 ts->firmware_ver[4], ts->firmware_ver[5],
> -			 ts->firmware_ver[6], ts->firmware_ver[7]);
> +	return sysfs_emit(buf, "fw version: [%02X%02X.%02X%02X.%02X%02X.%02X%02X]\n",
> +			  ts->firmware_ver[0], ts->firmware_ver[1],
> +			  ts->firmware_ver[2], ts->firmware_ver[3],
> +			  ts->firmware_ver[4], ts->firmware_ver[5],
> +			  ts->firmware_ver[6], ts->firmware_ver[7]);
>  }
>  static DEVICE_ATTR_RO(firmware_version);
> 
> @@ -527,8 +526,8 @@ static ssize_t product_id_show(struct device *dev,
>  	struct i2c_client *client = to_i2c_client(dev);
>  	struct ilitek_ts_data *ts = i2c_get_clientdata(client);
> 
> -	return scnprintf(buf, PAGE_SIZE, "product id: [%04X], module: [%s]\n",
> -			 ts->mcu_ver, ts->product_id);
> +	return sysfs_emit(buf, "product id: [%04X], module: [%s]\n",
> +			  ts->mcu_ver, ts->product_id);
>  }
>  static DEVICE_ATTR_RO(product_id);
> 
> diff --git a/drivers/input/touchscreen/iqs5xx.c b/drivers/input/touchscreen/iqs5xx.c
> index dc3137a34f35..227a635f4778 100644
> --- a/drivers/input/touchscreen/iqs5xx.c
> +++ b/drivers/input/touchscreen/iqs5xx.c
> @@ -943,12 +943,12 @@ static ssize_t fw_info_show(struct device *dev,
>  	if (!iqs5xx->dev_id_info.bl_status)
>  		return -ENODATA;
> 
> -	return scnprintf(buf, PAGE_SIZE, "%u.%u.%u.%u:%u.%u\n",
> -			 be16_to_cpu(iqs5xx->dev_id_info.prod_num),
> -			 be16_to_cpu(iqs5xx->dev_id_info.proj_num),
> -			 iqs5xx->dev_id_info.major_ver,
> -			 iqs5xx->dev_id_info.minor_ver,
> -			 iqs5xx->exp_file[0], iqs5xx->exp_file[1]);
> +	return sysfs_emit(buf, "%u.%u.%u.%u:%u.%u\n",
> +			  be16_to_cpu(iqs5xx->dev_id_info.prod_num),
> +			  be16_to_cpu(iqs5xx->dev_id_info.proj_num),
> +			  iqs5xx->dev_id_info.major_ver,
> +			  iqs5xx->dev_id_info.minor_ver,
> +			  iqs5xx->exp_file[0], iqs5xx->exp_file[1]);
>  }
> 
>  static DEVICE_ATTR_WO(fw_file);
> diff --git a/drivers/input/touchscreen/usbtouchscreen.c b/drivers/input/touchscreen/usbtouchscreen.c
> index d6d04b9f04fc..60354ebc7242 100644
> --- a/drivers/input/touchscreen/usbtouchscreen.c
> +++ b/drivers/input/touchscreen/usbtouchscreen.c
> @@ -456,8 +456,8 @@ static ssize_t mtouch_firmware_rev_show(struct device *dev,
>  	struct usbtouch_usb *usbtouch = usb_get_intfdata(intf);
>  	struct mtouch_priv *priv = usbtouch->priv;
> 
> -	return scnprintf(output, PAGE_SIZE, "%1x.%1x\n",
> -			 priv->fw_rev_major, priv->fw_rev_minor);
> +	return sysfs_emit(output, "%1x.%1x\n",
> +			  priv->fw_rev_major, priv->fw_rev_minor);
>  }
>  static DEVICE_ATTR(firmware_rev, 0444, mtouch_firmware_rev_show, NULL);
> 
> diff --git a/drivers/input/touchscreen/wdt87xx_i2c.c b/drivers/input/touchscreen/wdt87xx_i2c.c
> index 3f87db5cdca4..e89b5f449cbe 100644
> --- a/drivers/input/touchscreen/wdt87xx_i2c.c
> +++ b/drivers/input/touchscreen/wdt87xx_i2c.c
> @@ -887,7 +887,7 @@ static ssize_t config_csum_show(struct device *dev,
>  	cfg_csum = wdt->param.xmls_id1;
>  	cfg_csum = (cfg_csum << 16) | wdt->param.xmls_id2;
> 
> -	return scnprintf(buf, PAGE_SIZE, "%x\n", cfg_csum);
> +	return sysfs_emit(buf, "%x\n", cfg_csum);
>  }
> 
>  static ssize_t fw_version_show(struct device *dev,
> @@ -896,7 +896,7 @@ static ssize_t fw_version_show(struct device *dev,
>  	struct i2c_client *client = to_i2c_client(dev);
>  	struct wdt87xx_data *wdt = i2c_get_clientdata(client);
> 
> -	return scnprintf(buf, PAGE_SIZE, "%x\n", wdt->param.fw_id);
> +	return sysfs_emit(buf, "%x\n", wdt->param.fw_id);
>  }
> 
>  static ssize_t plat_id_show(struct device *dev,
> @@ -905,7 +905,7 @@ static ssize_t plat_id_show(struct device *dev,
>  	struct i2c_client *client = to_i2c_client(dev);
>  	struct wdt87xx_data *wdt = i2c_get_clientdata(client);
> 
> -	return scnprintf(buf, PAGE_SIZE, "%x\n", wdt->param.plat_id);
> +	return sysfs_emit(buf, "%x\n", wdt->param.plat_id);
>  }
> 
>  static ssize_t update_config_store(struct device *dev,
> -- 
> 2.25.1

Kind regards,
Jeff LaBundy

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ