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: <s7tjuildazggjsuza53ixn3ts7t6rw2rwy2et4neijbnkx6ve7@nb4pyxmhhquj>
Date: Mon, 29 Jul 2024 08:21:20 -0500
From: Lucas De Marchi <lucas.demarchi@...el.com>
To: Geert Uytterhoeven <geert+renesas@...der.be>
CC: Thomas Hellström <thomas.hellstrom@...ux.intel.com>,
	Rodrigo Vivi <rodrigo.vivi@...el.com>, Maarten Lankhorst
	<maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
	Thomas Zimmermann <tzimmermann@...e.de>, David Airlie <airlied@...il.com>,
	Daniel Vetter <daniel@...ll.ch>, Ashutosh Dixit <ashutosh.dixit@...el.com>,
	Umesh Nerlige Ramappa <umesh.nerlige.ramappa@...el.com>, José
 Roberto de Souza <jose.souza@...el.com>, <intel-xe@...ts.freedesktop.org>,
	<dri-devel@...ts.freedesktop.org>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] drm/xe/oa/uapi: Make bit masks unsigned

On Mon, Jul 29, 2024 at 11:26:34AM GMT, Geert Uytterhoeven wrote:
>When building with gcc-5:
>
>    In function ‘decode_oa_format.isra.26’,
>	inlined from ‘xe_oa_set_prop_oa_format’ at drivers/gpu/drm/xe/xe_oa.c:1664:6:
>    ././include/linux/compiler_types.h:510:38: error: call to ‘__compiletime_assert_1336’ declared with attribute error: FIELD_GET: mask is not constant
>    [...]
>    ./include/linux/bitfield.h:155:3: note: in expansion of macro ‘__BF_FIELD_CHECK’
>       __BF_FIELD_CHECK(_mask, _reg, 0U, "FIELD_GET: "); \
>       ^
>    drivers/gpu/drm/xe/xe_oa.c:1573:18: note: in expansion of macro ‘FIELD_GET’
>      u32 bc_report = FIELD_GET(DRM_XE_OA_FORMAT_MASK_BC_REPORT, fmt);
>		      ^
>
>Fixes: b6fd51c6211910b1 ("drm/xe/oa/uapi: Define and parse OA stream properties")
>Signed-off-by: Geert Uytterhoeven <geert+renesas@...der.be>


Reviewed-by: Lucas De Marchi <lucas.demarchi@...el.com>


That fixes the build, but question to Ashutosh: it's odd to tie the
format to a bspec. What happens on next platform if the HW changes?
Hopefully it doesn't change in an incompatible way, but looking at this
code it seems we could still keep the uapi by untying the HW from the
uapi in the documentation.

Lucas De Marchi

>---
>Compile-tested only.
>---
> include/uapi/drm/xe_drm.h | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
>diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
>index 19619d4952a863f7..db232a25189eba9f 100644
>--- a/include/uapi/drm/xe_drm.h
>+++ b/include/uapi/drm/xe_drm.h
>@@ -1590,10 +1590,10 @@ enum drm_xe_oa_property_id {
> 	 * b. Counter select c. Counter size and d. BC report. Also refer to the
> 	 * oa_formats array in drivers/gpu/drm/xe/xe_oa.c.
> 	 */
>-#define DRM_XE_OA_FORMAT_MASK_FMT_TYPE		(0xff << 0)
>-#define DRM_XE_OA_FORMAT_MASK_COUNTER_SEL	(0xff << 8)
>-#define DRM_XE_OA_FORMAT_MASK_COUNTER_SIZE	(0xff << 16)
>-#define DRM_XE_OA_FORMAT_MASK_BC_REPORT		(0xff << 24)
>+#define DRM_XE_OA_FORMAT_MASK_FMT_TYPE		(0xffu << 0)
>+#define DRM_XE_OA_FORMAT_MASK_COUNTER_SEL	(0xffu << 8)
>+#define DRM_XE_OA_FORMAT_MASK_COUNTER_SIZE	(0xffu << 16)
>+#define DRM_XE_OA_FORMAT_MASK_BC_REPORT		(0xffu << 24)
>
> 	/**
> 	 * @DRM_XE_OA_PROPERTY_OA_PERIOD_EXPONENT: Requests periodic OA unit
>-- 
>2.34.1
>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ