c
static __always_inline void maybe_wipe_obj_freeptr(struct kmem_cache *s,
						   void *obj)
{
	if (!s || !obj)
		return;

	if (unlikely(slab_want_init_on_free(s))) {
		void *ptr = (void *)((char *)kasan_reset_tag(obj) + s->offset);
		if (__builtin_addressof(ptr) != NULL) {
			memset(ptr, 0, sizeof(void *));
		}
	}
}
