Worth noting that it's not just 15,000 uses in the Linux kernel. Many other projects, some of them quite large in their own right, have copied these macros. Obviously, changing the definitions used in the kernel won't affect those projects. However, many of the observations about safety and potential bugs do affect them as well.