/* We refuse to clean the root file system with this call. This is extra paranoia to never cause a
* really seriously broken system. */
r = path_is_root_at(dir_fd, path);
- if (r == -ENOENT) {
- struct stat st;
-
- if (fstatat(dir_fd, path, &st, AT_SYMLINK_NOFOLLOW) < 0)
- r = -errno;
- else
- r = 0; /* The entry exists, but is most likely a dangling symlink. */
- }
+ if (r == -ENOENT)
+ r = RET_NERRNO(faccessat(dir_fd, path, F_OK, AT_SYMLINK_NOFOLLOW));
if (FLAGS_SET(flags, REMOVE_MISSING_OK) && r == -ENOENT)
return 0;
if (r < 0)