]> granicus.if.org Git - strace/commitdiff
Unify PRINT_FIELD_FLAGS and PRINT_FIELD_FLAGS64
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 23 Jul 2017 11:16:23 +0000 (11:16 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 23 Jul 2017 11:16:23 +0000 (11:16 +0000)
* print_fields.h (PRINT_FIELD_FLAGS64): Unify with PRINT_FIELD_FLAGS.
* userfaultfd.c (uffdio_ioctl): Replace PRINT_FIELD_FLAGS64 with
PRINT_FIELD_FLAGS.

print_fields.h
userfaultfd.c

index 2e16917b0b61fe7544a69254686c73e3b86a7c02..5ea3be07ca06b4c69469b0207613346559859d65 100644 (file)
 #define PRINT_FIELD_FLAGS(prefix_, where_, field_, xlat_, dflt_)       \
        do {                                                            \
                STRACE_PRINTF("%s%s=", (prefix_), #field_);             \
-               printflags((xlat_), (where_).field_, (dflt_));          \
-       } while (0)
-
-#define PRINT_FIELD_FLAGS64(prefix_, where_, field_, xlat_, dflt_)     \
-       do {                                                            \
-               STRACE_PRINTF("%s%s=", (prefix_), #field_);             \
-               printflags64((xlat_), (where_).field_, (dflt_));        \
+               printflags64((xlat_),                                   \
+                            zero_extend_signed_to_ull((where_).field_),\
+                            (dflt_));                                  \
        } while (0)
 
 #define PRINT_FIELD_XVAL(prefix_, where_, field_, xlat_, dflt_)                \
index 7d09a109423e53f981d46414a0a3761bf1693f88..965bd330779b7bccd525678a68c537435233a9b6 100644 (file)
@@ -77,9 +77,8 @@ uffdio_ioctl(struct tcb *const tcp, const unsigned int code,
                        if (umove_or_printaddr(tcp, arg, &ua))
                                return RVAL_DECODED | 1;
                        PRINT_FIELD_X("{", ua, api);
-                       PRINT_FIELD_FLAGS64(", ", ua, features,
-                                           uffd_api_features,
-                                           "UFFD_FEATURE_???");
+                       PRINT_FIELD_FLAGS(", ", ua, features, uffd_api_features,
+                                         "UFFD_FEATURE_???");
                        entering_features = malloc(sizeof(*entering_features));
                        if (entering_features) {
                                *entering_features = ua.features;
@@ -90,13 +89,13 @@ uffdio_ioctl(struct tcb *const tcp, const unsigned int code,
                                entering_features = get_tcb_priv_data(tcp);
                                if (!entering_features
                                    || *entering_features != ua.features) {
-                                       PRINT_FIELD_FLAGS64(" => ", ua, features,
-                                                           uffd_api_features,
-                                                           "UFFD_FEATURE_???");
+                                       PRINT_FIELD_FLAGS(" => ", ua, features,
+                                                         uffd_api_features,
+                                                         "UFFD_FEATURE_???");
                                }
-                               PRINT_FIELD_FLAGS64(", ", ua, ioctls,
-                                                   uffd_api_flags,
-                                                   "_UFFDIO_???");
+                               PRINT_FIELD_FLAGS(", ", ua, ioctls,
+                                                 uffd_api_flags,
+                                                 "_UFFDIO_???");
                        }
                        tprints("}");
                }
@@ -112,8 +111,8 @@ uffdio_ioctl(struct tcb *const tcp, const unsigned int code,
                        PRINT_FIELD_X("{", uc, dst);
                        PRINT_FIELD_X(", ", uc, src);
                        PRINT_FIELD_X(", ", uc, len);
-                       PRINT_FIELD_FLAGS64(", ", uc, mode, uffd_copy_flags,
-                                           "UFFDIO_COPY_???");
+                       PRINT_FIELD_FLAGS(", ", uc, mode, uffd_copy_flags,
+                                         "UFFDIO_COPY_???");
                } else {
                        if (!syserror(tcp) && !umove(tcp, arg, &uc))
                                PRINT_FIELD_X(", ", uc, copy);
@@ -129,14 +128,14 @@ uffdio_ioctl(struct tcb *const tcp, const unsigned int code,
                        if (umove_or_printaddr(tcp, arg, &ur))
                                return RVAL_DECODED | 1;
                        PRINT_FIELD_UFFDIO_RANGE("{", ur, range);
-                       PRINT_FIELD_FLAGS64(", ", ur, mode,
-                                           uffd_register_mode_flags,
-                                           "UFFDIO_REGISTER_MODE_???");
+                       PRINT_FIELD_FLAGS(", ", ur, mode,
+                                         uffd_register_mode_flags,
+                                         "UFFDIO_REGISTER_MODE_???");
                } else {
                        if (!syserror(tcp) && !umove(tcp, arg, &ur)) {
-                               PRINT_FIELD_FLAGS64(", ", ur, ioctls,
-                                                   uffd_register_ioctl_flags,
-                                                   "UFFDIO_???");
+                               PRINT_FIELD_FLAGS(", ", ur, ioctls,
+                                                 uffd_register_ioctl_flags,
+                                                 "UFFDIO_???");
                        }
                        tprints("}");
                }
@@ -159,8 +158,8 @@ uffdio_ioctl(struct tcb *const tcp, const unsigned int code,
                        if (umove_or_printaddr(tcp, arg, &uz))
                                return RVAL_DECODED | 1;
                        PRINT_FIELD_UFFDIO_RANGE("{", uz, range);
-                       PRINT_FIELD_FLAGS64(", ", uz, mode, uffd_zeropage_flags,
-                                           "UFFDIO_ZEROPAGE_???");
+                       PRINT_FIELD_FLAGS(", ", uz, mode, uffd_zeropage_flags,
+                                         "UFFDIO_ZEROPAGE_???");
                } else {
                        if (!syserror(tcp) && !umove(tcp, arg, &uz))
                                PRINT_FIELD_X(", ", uz, zeropage);