On Linux, the kmalloc() family of functions returns a special value if the size of the allocation is zero. This macro verifies if the pointer is NULL (the allocation failed) or the size is 0 (the allocation was not performed AFAIU). This special value can be passed to kfree().
On FreeBSD, our malloc(9) functions don't return a special value for 0-size allocations. Therefore we can simply compare the result against NULL.
This change is a requirement to update our DRM drivers to Linux 5.12.