Ваще 4.2, если не прописано, что операция должна делать, то это UB. *ptr прописано только для объектов и функций, стало быть, делать это не с объектом и не с функцией — UB
мой поинт был в том что в ядре там скорее всего сравниваются с NULL указатели которые не из адресс спейса пользователя. поэтому там нету указателей на адресс 0