[PATCH] drm/dp/mst: Use memchr_inv() instead of memcmp() against a zeroed array

Daniel Vetter daniel at ffwll.ch
Thu Jul 13 12:46:42 UTC 2017


On Wed, Jul 12, 2017 at 06:52:54PM +0300, ville.syrjala at linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> We have memch_inv(), so no need to memcmp() against a zeroed temp array.
> 
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

No idea what this code does, but the translation looks correct.

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
> ---
>  drivers/gpu/drm/drm_dp_mst_topology.c | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
> index 552e71d5aa5f..f7e292bf2baf 100644
> --- a/drivers/gpu/drm/drm_dp_mst_topology.c
> +++ b/drivers/gpu/drm/drm_dp_mst_topology.c
> @@ -1337,15 +1337,17 @@ static void drm_dp_mst_link_probe_work(struct work_struct *work)
>  static bool drm_dp_validate_guid(struct drm_dp_mst_topology_mgr *mgr,
>  				 u8 *guid)
>  {
> -	static u8 zero_guid[16];
> +	u64 salt;
>  
> -	if (!memcmp(guid, zero_guid, 16)) {
> -		u64 salt = get_jiffies_64();
> -		memcpy(&guid[0], &salt, sizeof(u64));
> -		memcpy(&guid[8], &salt, sizeof(u64));
> -		return false;
> -	}
> -	return true;
> +	if (memchr_inv(guid, 0, 16))
> +		return true;
> +
> +	salt = get_jiffies_64();
> +
> +	memcpy(&guid[0], &salt, sizeof(u64));
> +	memcpy(&guid[8], &salt, sizeof(u64));
> +
> +	return false;
>  }
>  
>  #if 0
> -- 
> 2.13.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list