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] [day] [month] [year] [list]
Message-ID: <c6a24765-2b9d-4e64-a139-d2c3ddcc7b89@redhat.com>
Date: Wed, 30 Apr 2025 11:25:04 +0200
From: Ivan Vecera <ivecera@...hat.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: netdev@...r.kernel.org, Vadim Fedorenko <vadim.fedorenko@...ux.dev>,
 Arkadiusz Kubalewski <arkadiusz.kubalewski@...el.com>,
 Jiri Pirko <jiri@...nulli.us>, Rob Herring <robh@...nel.org>,
 Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley
 <conor+dt@...nel.org>, Prathosh Satish <Prathosh.Satish@...rochip.com>,
 Lee Jones <lee@...nel.org>, Kees Cook <kees@...nel.org>,
 Andy Shevchenko <andy@...nel.org>, Andrew Morton
 <akpm@...ux-foundation.org>, Michal Schmidt <mschmidt@...hat.com>,
 devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
 linux-hardening@...r.kernel.org
Subject: Re: [PATCH net-next v5 4/8] mfd: zl3073x: Add support for devlink
 device info



On 29. 04. 25 8:59 odp., Jakub Kicinski wrote:
> On Fri, 25 Apr 2025 19:09:31 +0200 Ivan Vecera wrote:
>> +static int zl3073x_devlink_info_get(struct devlink *devlink,
>> +				    struct devlink_info_req *req,
>> +				    struct netlink_ext_ack *extack)
>> +{
>> +	struct zl3073x_dev *zldev = devlink_priv(devlink);
>> +	u16 id, revision, fw_ver;
>> +	char buf[16];
>> +	u32 cfg_ver;
>> +	int rc;
>> +
>> +	rc = zl3073x_read_u16(zldev, ZL_REG_ID, &id);
>> +	if (rc)
>> +		return rc;
>> +
>> +	snprintf(buf, sizeof(buf), "%X", id);
>> +	rc = devlink_info_version_fixed_put(req,
>> +					    DEVLINK_INFO_VERSION_GENERIC_ASIC_ID,
>> +					    buf);
>> +	if (rc)
>> +		return rc;
>> +
>> +	rc = zl3073x_read_u16(zldev, ZL_REG_REVISION, &revision);
>> +	if (rc)
>> +		return rc;
>> +
>> +	snprintf(buf, sizeof(buf), "%X", revision);
>> +	rc = devlink_info_version_fixed_put(req,
>> +					    DEVLINK_INFO_VERSION_GENERIC_ASIC_REV,
>> +					    buf);
>> +	if (rc)
>> +		return rc;
>> +
>> +	rc = zl3073x_read_u16(zldev, ZL_REG_FW_VER, &fw_ver);
>> +	if (rc)
>> +		return rc;
>> +
>> +	snprintf(buf, sizeof(buf), "%u", fw_ver);
>> +	rc = devlink_info_version_fixed_put(req,
>> +					    DEVLINK_INFO_VERSION_GENERIC_FW,
> 
> Are you sure FW version is fixed? Fixed is for unchangeable
> properties like ASIC revision or serial numbers.

Hmm, should be running. Thanks for pointing out.

>> +					    buf);
>> +	if (rc)
>> +		return rc;
>> +
>> +	rc = zl3073x_read_u32(zldev, ZL_REG_CUSTOM_CONFIG_VER, &cfg_ver);
>> +	if (rc)
>> +		return rc;
>> +
>> +	/* No custom config version */
>> +	if (cfg_ver == U32_MAX)
>> +		return 0;
>> +
>> +	snprintf(buf, sizeof(buf), "%lu.%lu.%lu.%lu",
>> +		 FIELD_GET(GENMASK(31, 24), cfg_ver),
>> +		 FIELD_GET(GENMASK(23, 16), cfg_ver),
>> +		 FIELD_GET(GENMASK(15, 8), cfg_ver),
>> +		 FIELD_GET(GENMASK(7, 0), cfg_ver));
>> +
>> +	return devlink_info_version_running_put(req, "cfg.custom_ver", buf);
> 
> You need to document the custom versions and properties in a driver
> specific file under Documentation/networking/device_drivers/

Will add.

Thanks for the review, Jakub.

Ivan


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ