diff --git a/libc/bionic/mntent.cpp b/libc/bionic/mntent.cpp
index d169e29..994b84d 100644
--- a/libc/bionic/mntent.cpp
+++ b/libc/bionic/mntent.cpp
@@ -77,3 +77,24 @@
   }
   return 1;
 }
+
+char* hasmntopt(const struct mntent* mnt, const char* opt) {
+  char* token = mnt->mnt_opts;
+  char* const end = mnt->mnt_opts + strlen(mnt->mnt_opts);
+  const size_t optLen = strlen(opt);
+
+  while (token) {
+    char* const tokenEnd = token + optLen;
+    if (tokenEnd > end) break;
+
+    if (memcmp(token, opt, optLen) == 0 &&
+        (*tokenEnd == '\0' || *tokenEnd == ',' || *tokenEnd == '=')) {
+      return token;
+    }
+
+    token = strchr(token, ',');
+    if (token) token++;
+  }
+
+  return nullptr;
+}
diff --git a/libc/include/mntent.h b/libc/include/mntent.h
index de285d0..a190aeb 100644
--- a/libc/include/mntent.h
+++ b/libc/include/mntent.h
@@ -50,6 +50,7 @@
 struct mntent* getmntent(FILE*);
 struct mntent* getmntent_r(FILE*, struct mntent*, char*, int);
 FILE* setmntent(const char*, const char*);
+char* hasmntopt(const struct mntent*, const char*);
 
 __END_DECLS
 
diff --git a/libc/libc.arm.brillo.map b/libc/libc.arm.brillo.map
index 2776b91..b8cdd3c 100644
--- a/libc/libc.arm.brillo.map
+++ b/libc/libc.arm.brillo.map
@@ -1274,6 +1274,7 @@
 LIBC_O {
   global:
     getdomainname;
+    hasmntopt;
     pthread_getname_np;
     setdomainname;
 } LIBC_N;
diff --git a/libc/libc.arm.map b/libc/libc.arm.map
index 5f7ae2d..57060ae 100644
--- a/libc/libc.arm.map
+++ b/libc/libc.arm.map
@@ -1274,6 +1274,7 @@
 LIBC_O {
   global:
     getdomainname;
+    hasmntopt;
     pthread_getname_np;
     setdomainname;
 } LIBC_N;
diff --git a/libc/libc.arm64.map b/libc/libc.arm64.map
index 0890b59..ac9d009 100644
--- a/libc/libc.arm64.map
+++ b/libc/libc.arm64.map
@@ -1196,6 +1196,7 @@
 LIBC_O {
   global:
     getdomainname;
+    hasmntopt;
     pthread_getname_np;
     setdomainname;
 } LIBC_N;
diff --git a/libc/libc.map.txt b/libc/libc.map.txt
index 38edff0..9d51b8d 100644
--- a/libc/libc.map.txt
+++ b/libc/libc.map.txt
@@ -1300,6 +1300,7 @@
 LIBC_O {
   global:
     getdomainname;
+    hasmntopt;
     pthread_getname_np;
     setdomainname;
 } LIBC_N;
diff --git a/libc/libc.mips.brillo.map b/libc/libc.mips.brillo.map
index c5b1bd3..7133f4b 100644
--- a/libc/libc.mips.brillo.map
+++ b/libc/libc.mips.brillo.map
@@ -1258,6 +1258,7 @@
 LIBC_O {
   global:
     getdomainname;
+    hasmntopt;
     pthread_getname_np;
     setdomainname;
 } LIBC_N;
diff --git a/libc/libc.mips.map b/libc/libc.mips.map
index dde4cb4..e9b15c3 100644
--- a/libc/libc.mips.map
+++ b/libc/libc.mips.map
@@ -1258,6 +1258,7 @@
 LIBC_O {
   global:
     getdomainname;
+    hasmntopt;
     pthread_getname_np;
     setdomainname;
 } LIBC_N;
diff --git a/libc/libc.mips64.map b/libc/libc.mips64.map
index 0890b59..ac9d009 100644
--- a/libc/libc.mips64.map
+++ b/libc/libc.mips64.map
@@ -1196,6 +1196,7 @@
 LIBC_O {
   global:
     getdomainname;
+    hasmntopt;
     pthread_getname_np;
     setdomainname;
 } LIBC_N;
diff --git a/libc/libc.x86.brillo.map b/libc/libc.x86.brillo.map
index eb99079..c67f533 100644
--- a/libc/libc.x86.brillo.map
+++ b/libc/libc.x86.brillo.map
@@ -1257,6 +1257,7 @@
 LIBC_O {
   global:
     getdomainname;
+    hasmntopt;
     pthread_getname_np;
     setdomainname;
 } LIBC_N;
diff --git a/libc/libc.x86.map b/libc/libc.x86.map
index 8f6c64e..6838184 100644
--- a/libc/libc.x86.map
+++ b/libc/libc.x86.map
@@ -1257,6 +1257,7 @@
 LIBC_O {
   global:
     getdomainname;
+    hasmntopt;
     pthread_getname_np;
     setdomainname;
 } LIBC_N;
diff --git a/libc/libc.x86_64.map b/libc/libc.x86_64.map
index 0890b59..ac9d009 100644
--- a/libc/libc.x86_64.map
+++ b/libc/libc.x86_64.map
@@ -1196,6 +1196,7 @@
 LIBC_O {
   global:
     getdomainname;
+    hasmntopt;
     pthread_getname_np;
     setdomainname;
 } LIBC_N;
