aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEdward Tomasz Napierala <trasz@FreeBSD.org>2021-06-15 09:18:04 +0000
committerEdward Tomasz Napierala <trasz@FreeBSD.org>2021-06-15 09:18:18 +0000
commit9d167945e8409c739442a02e3fbacb3bcdcc3306 (patch)
tree84063b1fbf8556553691bd08e96b8cbbd1eb7be1
parentafce58357164f68caa62b541edcbf87a3c2cb901 (diff)
-rw-r--r--sys/compat/linux/linux_file.c7
-rw-r--r--sys/compat/linux/linux_stats.c21
2 files changed, 16 insertions, 12 deletions
diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c
index a5ab3506767e..013c435756fb 100644
--- a/sys/compat/linux/linux_file.c
+++ b/sys/compat/linux/linux_file.c
@@ -1757,10 +1757,11 @@ int
linux_fchownat(struct thread *td, struct linux_fchownat_args *args)
{
char *path;
- int error, dfd, flag;
+ int error, dfd, flag, unsupported;
- if (args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH)) {
- linux_msg(td, "fchownat unsupported flag 0x%x", args->flag);
+ unsupported = args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH);
+ if (unsupported != 0) {
+ linux_msg(td, "fchownat unsupported flag 0x%x", unsupported);
return (EINVAL);
}
diff --git a/sys/compat/linux/linux_stats.c b/sys/compat/linux/linux_stats.c
index 4e6304500a8b..97bace941943 100644
--- a/sys/compat/linux/linux_stats.c
+++ b/sys/compat/linux/linux_stats.c
@@ -663,11 +663,12 @@ int
linux_fstatat64(struct thread *td, struct linux_fstatat64_args *args)
{
char *path;
- int error, dfd, flag;
+ int error, dfd, flag, unsupported;
struct stat buf;
- if (args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH)) {
- linux_msg(td, "fstatat64 unsupported flag 0x%x", args->flag);
+ unsupported = args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH);
+ if (unsupported != 0) {
+ linux_msg(td, "fstatat64 unsupported flag 0x%x", unsupported);
return (EINVAL);
}
flag = (args->flag & LINUX_AT_SYMLINK_NOFOLLOW) ?
@@ -696,11 +697,12 @@ int
linux_newfstatat(struct thread *td, struct linux_newfstatat_args *args)
{
char *path;
- int error, dfd, flag;
+ int error, dfd, flag, unsupported;
struct stat buf;
- if (args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH)) {
- linux_msg(td, "fstatat unsupported flag 0x%x", args->flag);
+ unsupported = args->flag & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH);
+ if (unsupported != 0) {
+ linux_msg(td, "fstatat unsupported flag 0x%x", unsupported);
return (EINVAL);
}
@@ -769,11 +771,12 @@ int
linux_statx(struct thread *td, struct linux_statx_args *args)
{
char *path;
- int error, dirfd, flags;
+ int error, dirfd, flags, unsupported;
struct stat buf;
- if (args->flags & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH)) {
- linux_msg(td, "statx unsupported flags 0x%x", args->flags);
+ unsupported = args->flags & ~(LINUX_AT_SYMLINK_NOFOLLOW | LINUX_AT_EMPTY_PATH);
+ if (unsupported != 0) {
+ linux_msg(td, "statx unsupported flags 0x%x", unsupported);
return (EINVAL);
}