I ran clang's static analyzer over the kernel sources. It alerted on a check in the PKTOPT_EXTHDRCPY macro.
This macro allocates memory and, if malloc does not return NULL, copies data into the new memory. However, it doesn't just check that malloc did not return NULL, it also checks that we called malloc with M_NOWAIT. That is not necessary.
While it may be that malloc() will only return NULL when the M_NOWAIT flag is set, we don't need to check for this when checking the return value. Further, in this case, the check was not completely accurate, since it checked for flags == M_NOWAIT, rather than treating it as a bit field and checking for (flags & M_NOWAIT).
Therefore, this commit changes the check to simply check for whether malloc() returns NULL.
Sponsored by: Netflix
MFC after: 2 weeks