Lines Matching +full:write +full:- +full:0

1 // SPDX-License-Identifier: GPL-2.0
20 #define FD_NSFS_ROOT -10003 /* Root of the nsfs filesystem */
33 ASSERT_EQ(setresgid(65534, 65534, 65534), 0); /* nogroup */ in TEST()
34 ASSERT_EQ(setresuid(65534, 65534, 65534), 0); /* nobody */ in TEST()
41 ASSERT_GE(ns_fd, 0); in TEST()
44 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
46 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
50 ASSERT_EQ(ret, 0); in TEST()
51 ASSERT_GT(handle->handle_bytes, 0); in TEST()
55 if (fd < 0 && (errno == EINVAL || errno == EOPNOTSUPP)) { in TEST()
60 if (fd < 0 && errno == EPERM) { in TEST()
65 ASSERT_GE(fd, 0); in TEST()
68 ASSERT_EQ(fstat(ns_fd, &st1), 0); in TEST()
69 ASSERT_EQ(fstat(fd, &st2), 0); in TEST()
88 ASSERT_EQ(setresgid(65534, 65534, 65534), 0); /* nogroup */ in TEST()
89 ASSERT_EQ(setresuid(65534, 65534, 65534), 0); /* nobody */ in TEST()
96 ASSERT_GE(ns_fd, 0); in TEST()
99 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
101 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
105 ASSERT_EQ(ret, 0); in TEST()
106 ASSERT_GT(handle->handle_bytes, 0); in TEST()
110 if (fd < 0 && (errno == EINVAL || errno == EOPNOTSUPP)) { in TEST()
115 ASSERT_GE(fd, 0); in TEST()
118 ASSERT_EQ(fstat(ns_fd, &st1), 0); in TEST()
119 ASSERT_EQ(fstat(fd, &st2), 0); in TEST()
138 ASSERT_EQ(setresgid(65534, 65534, 65534), 0); /* nogroup */ in TEST()
139 ASSERT_EQ(setresuid(65534, 65534, 65534), 0); /* nobody */ in TEST()
146 ASSERT_GE(ns_fd, 0); in TEST()
149 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
151 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
155 ASSERT_EQ(ret, 0); in TEST()
156 ASSERT_GT(handle->handle_bytes, 0); in TEST()
160 if (fd < 0 && (errno == EINVAL || errno == EOPNOTSUPP)) { in TEST()
165 ASSERT_GE(fd, 0); in TEST()
168 ASSERT_EQ(fstat(ns_fd, &st1), 0); in TEST()
169 ASSERT_EQ(fstat(fd, &st2), 0); in TEST()
188 ASSERT_EQ(setresgid(65534, 65534, 65534), 0); /* nogroup */ in TEST()
189 ASSERT_EQ(setresuid(65534, 65534, 65534), 0); /* nobody */ in TEST()
196 ASSERT_GE(ns_fd, 0); in TEST()
199 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
201 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
205 ASSERT_EQ(ret, 0); in TEST()
206 ASSERT_GT(handle->handle_bytes, 0); in TEST()
210 if (fd < 0 && (errno == EINVAL || errno == EOPNOTSUPP)) { in TEST()
215 ASSERT_GE(fd, 0); in TEST()
218 ASSERT_EQ(fstat(ns_fd, &st1), 0); in TEST()
219 ASSERT_EQ(fstat(fd, &st2), 0); in TEST()
238 ASSERT_EQ(setresgid(65534, 65534, 65534), 0); /* nogroup */ in TEST()
239 ASSERT_EQ(setresuid(65534, 65534, 65534), 0); /* nobody */ in TEST()
246 ASSERT_GE(ns_fd, 0); in TEST()
249 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
251 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
255 ASSERT_EQ(ret, 0); in TEST()
256 ASSERT_GT(handle->handle_bytes, 0); in TEST()
260 if (fd < 0 && (errno == EINVAL || errno == EOPNOTSUPP)) { in TEST()
265 ASSERT_GE(fd, 0); in TEST()
268 ASSERT_EQ(fstat(ns_fd, &st1), 0); in TEST()
269 ASSERT_EQ(fstat(fd, &st2), 0); in TEST()
288 ASSERT_EQ(setresgid(65534, 65534, 65534), 0); /* nogroup */ in TEST()
289 ASSERT_EQ(setresuid(65534, 65534, 65534), 0); /* nobody */ in TEST()
296 ASSERT_GE(ns_fd, 0); in TEST()
299 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
301 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
305 ASSERT_EQ(ret, 0); in TEST()
306 ASSERT_GT(handle->handle_bytes, 0); in TEST()
310 if (fd < 0 && (errno == EINVAL || errno == EOPNOTSUPP)) { in TEST()
315 ASSERT_GE(fd, 0); in TEST()
318 ASSERT_EQ(fstat(ns_fd, &st1), 0); in TEST()
319 ASSERT_EQ(fstat(fd, &st2), 0); in TEST()
338 ASSERT_EQ(setresgid(65534, 65534, 65534), 0); /* nogroup */ in TEST()
339 ASSERT_EQ(setresuid(65534, 65534, 65534), 0); /* nobody */ in TEST()
346 if (ns_fd < 0) { in TEST()
351 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
353 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
357 ASSERT_EQ(ret, 0); in TEST()
358 ASSERT_GT(handle->handle_bytes, 0); in TEST()
362 if (fd < 0 && (errno == EINVAL || errno == EOPNOTSUPP)) { in TEST()
367 ASSERT_GE(fd, 0); in TEST()
370 ASSERT_EQ(fstat(ns_fd, &st1), 0); in TEST()
371 ASSERT_EQ(fstat(fd, &st2), 0); in TEST()
390 ASSERT_EQ(setresgid(65534, 65534, 65534), 0); /* nogroup */ in TEST()
391 ASSERT_EQ(setresuid(65534, 65534, 65534), 0); /* nobody */ in TEST()
398 if (ns_fd < 0) { in TEST()
403 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
405 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
409 ASSERT_EQ(ret, 0); in TEST()
410 ASSERT_GT(handle->handle_bytes, 0); in TEST()
414 if (fd < 0 && (errno == EINVAL || errno == EOPNOTSUPP)) { in TEST()
419 ASSERT_GE(fd, 0); in TEST()
422 ASSERT_EQ(fstat(ns_fd, &st1), 0); in TEST()
423 ASSERT_EQ(fstat(fd, &st2), 0); in TEST()
448 ASSERT_EQ(pipe(pipefd), 0); in TEST()
452 ASSERT_GE(ns_fd, 0); in TEST()
454 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
456 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
457 SKIP(free(handle); close(ns_fd); close(pipefd[0]); in TEST()
461 ASSERT_EQ(ret, 0); in TEST()
465 ASSERT_GE(pid, 0); in TEST()
467 if (pid == 0) { in TEST()
469 close(pipefd[0]); in TEST()
473 if (ret < 0) { in TEST()
474 write(pipefd[1], "U", in TEST()
477 exit(0); in TEST()
480 /* Write uid/gid mappings to maintain some capabilities */ in TEST()
485 if (uid_map_fd < 0 || gid_map_fd < 0 || setgroups_fd < 0) { in TEST()
486 write(pipefd[1], "M", 1); /* Unable to set mappings */ in TEST()
488 exit(0); in TEST()
492 write(setgroups_fd, "deny", 4); in TEST()
497 snprintf(mapping, sizeof(mapping), "0 %d 1", getuid()); in TEST()
498 write(uid_map_fd, mapping, strlen(mapping)); in TEST()
501 snprintf(mapping, sizeof(mapping), "0 %d 1", getgid()); in TEST()
502 write(gid_map_fd, mapping, strlen(mapping)); in TEST()
507 if (ret < 0) { in TEST()
508 write(pipefd[1], "N", in TEST()
511 exit(0); in TEST()
517 if (fd >= 0) { in TEST()
518 /* Should NOT succeed - we're in a different user namespace */ in TEST()
519 write(pipefd[1], "S", 1); /* Unexpected success */ in TEST()
523 write(pipefd[1], "P", 1); in TEST()
526 write(pipefd[1], "F", 1); in TEST()
530 exit(0); in TEST()
535 ASSERT_EQ(read(pipefd[0], &result, 1), 1); in TEST()
537 waitpid(pid, &status, 0); in TEST()
539 ASSERT_EQ(WEXITSTATUS(status), 0); in TEST()
542 SKIP(free(handle); close(pipefd[0]); in TEST()
546 SKIP(free(handle); close(pipefd[0]); in TEST()
550 SKIP(free(handle); close(pipefd[0]); in TEST()
557 close(pipefd[0]); in TEST()
577 ASSERT_EQ(pipe(pipefd), 0); in TEST()
581 ASSERT_GE(ns_fd, 0); in TEST()
583 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
585 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
586 SKIP(free(handle); close(ns_fd); close(pipefd[0]); in TEST()
590 ASSERT_EQ(ret, 0); in TEST()
594 ASSERT_GE(pid, 0); in TEST()
596 if (pid == 0) { in TEST()
598 close(pipefd[0]); in TEST()
602 if (ret < 0) { in TEST()
603 write(pipefd[1], "U", in TEST()
606 exit(0); in TEST()
609 /* Write uid/gid mappings to maintain some capabilities */ in TEST()
614 if (uid_map_fd < 0 || gid_map_fd < 0 || setgroups_fd < 0) { in TEST()
615 write(pipefd[1], "M", 1); /* Unable to set mappings */ in TEST()
617 exit(0); in TEST()
621 write(setgroups_fd, "deny", 4); in TEST()
626 snprintf(mapping, sizeof(mapping), "0 %d 1", getuid()); in TEST()
627 write(uid_map_fd, mapping, strlen(mapping)); in TEST()
630 snprintf(mapping, sizeof(mapping), "0 %d 1", getgid()); in TEST()
631 write(gid_map_fd, mapping, strlen(mapping)); in TEST()
636 if (ret < 0) { in TEST()
637 write(pipefd[1], "N", in TEST()
640 exit(0); in TEST()
646 if (fd >= 0) { in TEST()
647 /* Should NOT succeed - we're in a different user namespace */ in TEST()
648 write(pipefd[1], "S", 1); /* Unexpected success */ in TEST()
652 write(pipefd[1], "P", 1); in TEST()
655 write(pipefd[1], "F", 1); in TEST()
659 exit(0); in TEST()
664 ASSERT_EQ(read(pipefd[0], &result, 1), 1); in TEST()
666 waitpid(pid, &status, 0); in TEST()
668 ASSERT_EQ(WEXITSTATUS(status), 0); in TEST()
671 SKIP(free(handle); close(pipefd[0]); in TEST()
675 SKIP(free(handle); close(pipefd[0]); in TEST()
679 SKIP(free(handle); close(pipefd[0]); in TEST()
686 close(pipefd[0]); in TEST()
706 ASSERT_EQ(pipe(pipefd), 0); in TEST()
710 ASSERT_GE(ns_fd, 0); in TEST()
712 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
714 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
715 SKIP(free(handle); close(ns_fd); close(pipefd[0]); in TEST()
719 ASSERT_EQ(ret, 0); in TEST()
723 ASSERT_GE(pid, 0); in TEST()
725 if (pid == 0) { in TEST()
727 close(pipefd[0]); in TEST()
731 if (ret < 0) { in TEST()
732 write(pipefd[1], "U", in TEST()
735 exit(0); in TEST()
738 /* Write uid/gid mappings to maintain some capabilities */ in TEST()
743 if (uid_map_fd < 0 || gid_map_fd < 0 || setgroups_fd < 0) { in TEST()
744 write(pipefd[1], "M", 1); /* Unable to set mappings */ in TEST()
746 exit(0); in TEST()
750 write(setgroups_fd, "deny", 4); in TEST()
755 snprintf(mapping, sizeof(mapping), "0 %d 1", getuid()); in TEST()
756 write(uid_map_fd, mapping, strlen(mapping)); in TEST()
759 snprintf(mapping, sizeof(mapping), "0 %d 1", getgid()); in TEST()
760 write(gid_map_fd, mapping, strlen(mapping)); in TEST()
765 if (ret < 0) { in TEST()
766 write(pipefd[1], "N", in TEST()
769 exit(0); in TEST()
775 if (fd >= 0) { in TEST()
776 /* Should NOT succeed - we're in a different user namespace */ in TEST()
777 write(pipefd[1], "S", 1); /* Unexpected success */ in TEST()
781 write(pipefd[1], "P", 1); in TEST()
784 write(pipefd[1], "F", 1); in TEST()
788 exit(0); in TEST()
793 ASSERT_EQ(read(pipefd[0], &result, 1), 1); in TEST()
795 waitpid(pid, &status, 0); in TEST()
797 ASSERT_EQ(WEXITSTATUS(status), 0); in TEST()
800 SKIP(free(handle); close(pipefd[0]); in TEST()
804 SKIP(free(handle); close(pipefd[0]); in TEST()
808 SKIP(free(handle); close(pipefd[0]); in TEST()
815 close(pipefd[0]); in TEST()
835 ASSERT_EQ(pipe(pipefd), 0); in TEST()
839 ASSERT_GE(ns_fd, 0); in TEST()
841 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
843 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
844 SKIP(free(handle); close(ns_fd); close(pipefd[0]); in TEST()
848 ASSERT_EQ(ret, 0); in TEST()
852 ASSERT_GE(pid, 0); in TEST()
854 if (pid == 0) { in TEST()
856 close(pipefd[0]); in TEST()
860 if (ret < 0) { in TEST()
861 write(pipefd[1], "U", in TEST()
864 exit(0); in TEST()
867 /* Write uid/gid mappings to maintain some capabilities */ in TEST()
872 if (uid_map_fd < 0 || gid_map_fd < 0 || setgroups_fd < 0) { in TEST()
873 write(pipefd[1], "M", 1); /* Unable to set mappings */ in TEST()
875 exit(0); in TEST()
879 write(setgroups_fd, "deny", 4); in TEST()
884 snprintf(mapping, sizeof(mapping), "0 %d 1", getuid()); in TEST()
885 write(uid_map_fd, mapping, strlen(mapping)); in TEST()
888 snprintf(mapping, sizeof(mapping), "0 %d 1", getgid()); in TEST()
889 write(gid_map_fd, mapping, strlen(mapping)); in TEST()
894 if (ret < 0) { in TEST()
895 write(pipefd[1], "N", in TEST()
898 exit(0); in TEST()
904 if (fd >= 0) { in TEST()
905 /* Should NOT succeed - we're in a different user namespace */ in TEST()
906 write(pipefd[1], "S", 1); /* Unexpected success */ in TEST()
910 write(pipefd[1], "P", 1); in TEST()
913 write(pipefd[1], "F", 1); in TEST()
917 exit(0); in TEST()
922 ASSERT_EQ(read(pipefd[0], &result, 1), 1); in TEST()
924 waitpid(pid, &status, 0); in TEST()
926 ASSERT_EQ(WEXITSTATUS(status), 0); in TEST()
929 SKIP(free(handle); close(pipefd[0]); in TEST()
933 SKIP(free(handle); close(pipefd[0]); in TEST()
937 SKIP(free(handle); close(pipefd[0]); in TEST()
944 close(pipefd[0]); in TEST()
964 ASSERT_EQ(pipe(pipefd), 0); in TEST()
968 if (ns_fd < 0) { in TEST()
969 SKIP(free(handle); close(pipefd[0]); close(pipefd[1]); in TEST()
973 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
975 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
976 SKIP(free(handle); close(ns_fd); close(pipefd[0]); in TEST()
980 ASSERT_EQ(ret, 0); in TEST()
984 ASSERT_GE(pid, 0); in TEST()
986 if (pid == 0) { in TEST()
988 close(pipefd[0]); in TEST()
992 if (ret < 0) { in TEST()
993 write(pipefd[1], "U", in TEST()
996 exit(0); in TEST()
999 /* Write uid/gid mappings to maintain some capabilities */ in TEST()
1004 if (uid_map_fd < 0 || gid_map_fd < 0 || setgroups_fd < 0) { in TEST()
1005 write(pipefd[1], "M", 1); /* Unable to set mappings */ in TEST()
1007 exit(0); in TEST()
1011 write(setgroups_fd, "deny", 4); in TEST()
1016 snprintf(mapping, sizeof(mapping), "0 %d 1", getuid()); in TEST()
1017 write(uid_map_fd, mapping, strlen(mapping)); in TEST()
1020 snprintf(mapping, sizeof(mapping), "0 %d 1", getgid()); in TEST()
1021 write(gid_map_fd, mapping, strlen(mapping)); in TEST()
1026 if (ret < 0) { in TEST()
1027 write(pipefd[1], "N", in TEST()
1030 exit(0); in TEST()
1036 if (fd >= 0) { in TEST()
1037 /* Should NOT succeed - we're in a different user namespace */ in TEST()
1038 write(pipefd[1], "S", 1); /* Unexpected success */ in TEST()
1042 write(pipefd[1], "P", 1); in TEST()
1045 write(pipefd[1], "F", 1); in TEST()
1049 exit(0); in TEST()
1054 ASSERT_EQ(read(pipefd[0], &result, 1), 1); in TEST()
1056 waitpid(pid, &status, 0); in TEST()
1058 ASSERT_EQ(WEXITSTATUS(status), 0); in TEST()
1061 SKIP(free(handle); close(pipefd[0]); in TEST()
1065 SKIP(free(handle); close(pipefd[0]); in TEST()
1069 SKIP(free(handle); close(pipefd[0]); in TEST()
1076 close(pipefd[0]); in TEST()
1096 ASSERT_EQ(pipe(pipefd), 0); in TEST()
1100 ASSERT_GE(ns_fd, 0); in TEST()
1102 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
1104 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
1105 SKIP(free(handle); close(ns_fd); close(pipefd[0]); in TEST()
1109 ASSERT_EQ(ret, 0); in TEST()
1113 ASSERT_GE(pid, 0); in TEST()
1115 if (pid == 0) { in TEST()
1117 close(pipefd[0]); in TEST()
1121 if (ret < 0) { in TEST()
1122 write(pipefd[1], "U", in TEST()
1125 exit(0); in TEST()
1128 /* Write uid/gid mappings to maintain some capabilities */ in TEST()
1133 if (uid_map_fd < 0 || gid_map_fd < 0 || setgroups_fd < 0) { in TEST()
1134 write(pipefd[1], "M", 1); /* Unable to set mappings */ in TEST()
1136 exit(0); in TEST()
1140 write(setgroups_fd, "deny", 4); in TEST()
1145 snprintf(mapping, sizeof(mapping), "0 %d 1", getuid()); in TEST()
1146 write(uid_map_fd, mapping, strlen(mapping)); in TEST()
1149 snprintf(mapping, sizeof(mapping), "0 %d 1", getgid()); in TEST()
1150 write(gid_map_fd, mapping, strlen(mapping)); in TEST()
1153 /* Now create new PID namespace - requires fork to take effect */ in TEST()
1155 if (ret < 0) { in TEST()
1156 write(pipefd[1], "N", in TEST()
1159 exit(0); in TEST()
1164 if (child_pid < 0) { in TEST()
1165 write(pipefd[1], "N", in TEST()
1168 exit(0); in TEST()
1171 if (child_pid == 0) { in TEST()
1176 if (fd >= 0) { in TEST()
1177 /* Should NOT succeed - we're in a different user namespace */ in TEST()
1178 write(pipefd[1], "S", in TEST()
1183 write(pipefd[1], "P", 1); in TEST()
1186 write(pipefd[1], "F", 1); in TEST()
1190 exit(0); in TEST()
1194 waitpid(child_pid, NULL, 0); in TEST()
1195 exit(0); in TEST()
1200 ASSERT_EQ(read(pipefd[0], &result, 1), 1); in TEST()
1202 waitpid(pid, &status, 0); in TEST()
1204 ASSERT_EQ(WEXITSTATUS(status), 0); in TEST()
1207 SKIP(free(handle); close(pipefd[0]); in TEST()
1211 SKIP(free(handle); close(pipefd[0]); in TEST()
1215 SKIP(free(handle); close(pipefd[0]); in TEST()
1222 close(pipefd[0]); in TEST()
1242 ASSERT_EQ(pipe(pipefd), 0); in TEST()
1246 if (ns_fd < 0) { in TEST()
1247 SKIP(free(handle); close(pipefd[0]); close(pipefd[1]); in TEST()
1251 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
1253 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
1254 SKIP(free(handle); close(ns_fd); close(pipefd[0]); in TEST()
1258 ASSERT_EQ(ret, 0); in TEST()
1262 ASSERT_GE(pid, 0); in TEST()
1264 if (pid == 0) { in TEST()
1266 close(pipefd[0]); in TEST()
1270 if (ret < 0) { in TEST()
1271 write(pipefd[1], "U", in TEST()
1274 exit(0); in TEST()
1277 /* Write uid/gid mappings to maintain some capabilities */ in TEST()
1282 if (uid_map_fd < 0 || gid_map_fd < 0 || setgroups_fd < 0) { in TEST()
1283 write(pipefd[1], "M", 1); /* Unable to set mappings */ in TEST()
1285 exit(0); in TEST()
1289 write(setgroups_fd, "deny", 4); in TEST()
1294 snprintf(mapping, sizeof(mapping), "0 %d 1", getuid()); in TEST()
1295 write(uid_map_fd, mapping, strlen(mapping)); in TEST()
1298 snprintf(mapping, sizeof(mapping), "0 %d 1", getgid()); in TEST()
1299 write(gid_map_fd, mapping, strlen(mapping)); in TEST()
1302 /* Now create new time namespace - requires fork to take effect */ in TEST()
1304 if (ret < 0) { in TEST()
1305 write(pipefd[1], "N", in TEST()
1308 exit(0); in TEST()
1313 if (child_pid < 0) { in TEST()
1314 write(pipefd[1], "N", in TEST()
1317 exit(0); in TEST()
1320 if (child_pid == 0) { in TEST()
1325 if (fd >= 0) { in TEST()
1326 /* Should NOT succeed - we're in a different user namespace */ in TEST()
1327 write(pipefd[1], "S", in TEST()
1332 write(pipefd[1], "P", 1); in TEST()
1335 write(pipefd[1], "F", 1); in TEST()
1339 exit(0); in TEST()
1343 waitpid(child_pid, NULL, 0); in TEST()
1344 exit(0); in TEST()
1349 ASSERT_EQ(read(pipefd[0], &result, 1), 1); in TEST()
1351 waitpid(pid, &status, 0); in TEST()
1353 ASSERT_EQ(WEXITSTATUS(status), 0); in TEST()
1356 SKIP(free(handle); close(pipefd[0]); in TEST()
1360 SKIP(free(handle); close(pipefd[0]); in TEST()
1364 SKIP(free(handle); close(pipefd[0]); in TEST()
1371 close(pipefd[0]); in TEST()
1388 ASSERT_GE(ns_fd, 0); in TEST()
1391 handle->handle_bytes = MAX_HANDLE_SZ; in TEST()
1393 if (ret < 0 && errno == EOPNOTSUPP) { in TEST()
1397 ASSERT_EQ(ret, 0); in TEST()
1398 ASSERT_GT(handle->handle_bytes, 0); in TEST()
1402 ASSERT_LT(fd, 0); in TEST()
1406 ASSERT_LT(fd, 0); in TEST()
1410 ASSERT_LT(fd, 0); in TEST()
1414 ASSERT_LT(fd, 0); in TEST()
1418 ASSERT_LT(fd, 0); in TEST()
1422 ASSERT_LT(fd, 0); in TEST()