Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm: use mem_is_zero() instead of !memchr_inv(s, 0, n)

Use the mem_is_zero() helper where possible.

Conversion done using cocci:

| @@
| expression PTR;
| expression SIZE;
| @@
|
| <...
| (
| - memchr_inv(PTR, 0, SIZE) == NULL
| + mem_is_zero(PTR, SIZE)
| |
| - !memchr_inv(PTR, 0, SIZE)
| + mem_is_zero(PTR, SIZE)
| |
| - memchr_inv(PTR, 0, SIZE)
| + !mem_is_zero(PTR, SIZE)
| )
| ...>

Reviewed-by: Kees Cook <kees@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20240814100035.3100852-2-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>

+6 -6
+1 -1
drivers/gpu/drm/drm_edid.c
··· 1817 1817 1818 1818 static bool edid_block_is_zero(const void *edid) 1819 1819 { 1820 - return !memchr_inv(edid, 0, EDID_LENGTH); 1820 + return mem_is_zero(edid, EDID_LENGTH); 1821 1821 } 1822 1822 1823 1823 static bool drm_edid_eq(const struct drm_edid *drm_edid,
+1 -1
drivers/gpu/drm/i915/display/intel_dp.c
··· 5077 5077 ack[3] |= DP_TUNNELING_IRQ; 5078 5078 } 5079 5079 5080 - if (!memchr_inv(ack, 0, sizeof(ack))) 5080 + if (mem_is_zero(ack, sizeof(ack))) 5081 5081 break; 5082 5082 5083 5083 if (!intel_dp_ack_sink_irq_esi(intel_dp, ack))
+1 -1
drivers/gpu/drm/i915/display/intel_opregion.c
··· 1117 1117 1118 1118 /* Validity corresponds to number of 128-byte blocks */ 1119 1119 len = (opregion->asle_ext->phed & ASLE_PHED_EDID_VALID_MASK) * 128; 1120 - if (!len || !memchr_inv(edid, 0, len)) 1120 + if (!len || mem_is_zero(edid, len)) 1121 1121 return NULL; 1122 1122 1123 1123 drm_edid = drm_edid_alloc(edid, len);
+1 -1
drivers/gpu/drm/i915/gem/selftests/i915_gem_dmabuf.c
··· 506 506 goto out; 507 507 } 508 508 509 - if (memchr_inv(ptr, 0, dmabuf->size)) { 509 + if (!mem_is_zero(ptr, dmabuf->size)) { 510 510 pr_err("Exported object not initialised to zero!\n"); 511 511 err = -EINVAL; 512 512 goto out;
+1 -1
drivers/gpu/drm/imagination/pvr_device.h
··· 668 668 void *padding_start = ((u8 *)instance) + union_offset + member_size; 669 669 size_t padding_size = union_size - member_size; 670 670 671 - return !memchr_inv(padding_start, 0, padding_size); 671 + return mem_is_zero(padding_start, padding_size); 672 672 } 673 673 674 674 /**
+1 -1
drivers/gpu/drm/udl/udl_edid.c
··· 69 69 * The adapter sends all-zeros if no monitor has been 70 70 * connected. We consider anything else a connection. 71 71 */ 72 - return !!memchr_inv(hdr, 0, sizeof(hdr)); 72 + return !mem_is_zero(hdr, sizeof(hdr)); 73 73 } 74 74 75 75 const struct drm_edid *udl_edid_read(struct drm_connector *connector)