diff --git a/libc/include/bits/fortify/socket.h b/libc/include/bits/fortify/socket.h
index 35fad3d..cf5f189 100644
--- a/libc/include/bits/fortify/socket.h
+++ b/libc/include/bits/fortify/socket.h
@@ -37,35 +37,35 @@
 
 #if defined(__BIONIC_FORTIFY)
 
-#if __ANDROID_API__ >= __ANDROID_API_N__
 __BIONIC_FORTIFY_INLINE
 ssize_t recvfrom(int fd, void* const buf __pass_object_size0, size_t len, int flags, struct sockaddr* src_addr, socklen_t* addr_len)
     __overloadable
     __clang_error_if(__bos_unevaluated_lt(__bos0(buf), len),
                      "'recvfrom' called with size bigger than buffer") {
+#if __ANDROID_API__ >= __ANDROID_API_N__
   size_t bos = __bos0(buf);
 
-  if (__bos_trivially_not_lt(bos, len)) {
-    return __call_bypassing_fortify(recvfrom)(fd, buf, len, flags, src_addr, addr_len);
+  if (!__bos_trivially_ge(bos, len)) {
+    return __recvfrom_chk(fd, buf, len, bos, flags, src_addr, addr_len);
   }
-  return __recvfrom_chk(fd, buf, len, bos, flags, src_addr, addr_len);
-}
 #endif /* __ANDROID_API__ >= __ANDROID_API_N__ */
+  return __call_bypassing_fortify(recvfrom)(fd, buf, len, flags, src_addr, addr_len);
+}
 
-#if __ANDROID_API__ >= __ANDROID_API_N_MR1__
 __BIONIC_FORTIFY_INLINE
 ssize_t sendto(int fd, const void* const buf __pass_object_size0, size_t len, int flags, const struct sockaddr* dest_addr, socklen_t addr_len)
     __overloadable
     __clang_error_if(__bos_unevaluated_lt(__bos0(buf), len),
                      "'sendto' called with size bigger than buffer") {
+#if __ANDROID_API__ >= __ANDROID_API_N_MR1__
   size_t bos = __bos0(buf);
 
-  if (__bos_trivially_not_lt(bos, len)) {
-    return __call_bypassing_fortify(sendto)(fd, buf, len, flags, dest_addr, addr_len);
+  if (!__bos_trivially_ge(bos, len)) {
+    return __sendto_chk(fd, buf, len, bos, flags, dest_addr, addr_len);
   }
-  return __sendto_chk(fd, buf, len, bos, flags, dest_addr, addr_len);
-}
 #endif /* __ANDROID_API__ >= __ANDROID_API_N_MR1__ */
+  return __call_bypassing_fortify(sendto)(fd, buf, len, flags, dest_addr, addr_len);
+}
 
 __BIONIC_FORTIFY_INLINE
 ssize_t recv(int socket, void* const buf __pass_object_size0, size_t len, int flags)
diff --git a/libc/include/bits/fortify/stat.h b/libc/include/bits/fortify/stat.h
index 30c8362..6a2e822 100644
--- a/libc/include/bits/fortify/stat.h
+++ b/libc/include/bits/fortify/stat.h
@@ -31,18 +31,21 @@
 #endif
 
 mode_t __umask_chk(mode_t) __INTRODUCED_IN(18);
+mode_t __umask_real(mode_t mode) __RENAME(umask);
 
 #if defined(__BIONIC_FORTIFY)
 
-#if __ANDROID_API__ >= __ANDROID_API_J_MR2__
 /* Abuse enable_if to make this an overload of umask. */
 __BIONIC_FORTIFY_INLINE
 mode_t umask(mode_t mode)
     __overloadable
     __enable_if(1, "")
     __clang_error_if(mode & ~0777, "'umask' called with invalid mode") {
+#if __ANDROID_API__ >= __ANDROID_API_J_MR2__
   return __umask_chk(mode);
+#else
+  return __umask_real(mode);
+#endif  /* __ANDROID_API__ >= __ANDROID_API_J_MR2__ */
 }
-#endif /* __ANDROID_API__ >= __ANDROID_API_J_MR2__ */
 
 #endif /* defined(__BIONIC_FORTIFY) */
