From: Amir Goldstein <amir7...@gmail.com>

FANOTIFY_PIDFD_INFO_HDR_LEN is not the length of the header.

Signed-off-by: Amir Goldstein <amir7...@gmail.com>
Reviewed-by: Christian Brauner <brau...@kernel.org>
---
 fs/notify/fanotify/fanotify_user.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/fs/notify/fanotify/fanotify_user.c 
b/fs/notify/fanotify/fanotify_user.c
index 3a7101544f30..5ece186d5c50 100644
--- a/fs/notify/fanotify/fanotify_user.c
+++ b/fs/notify/fanotify/fanotify_user.c
@@ -119,7 +119,7 @@ struct kmem_cache *fanotify_perm_event_cachep 
__ro_after_init;
 #define FANOTIFY_EVENT_ALIGN 4
 #define FANOTIFY_FID_INFO_HDR_LEN \
        (sizeof(struct fanotify_event_info_fid) + sizeof(struct file_handle))
-#define FANOTIFY_PIDFD_INFO_HDR_LEN \
+#define FANOTIFY_PIDFD_INFO_LEN \
        sizeof(struct fanotify_event_info_pidfd)
 #define FANOTIFY_ERROR_INFO_LEN \
        (sizeof(struct fanotify_event_info_error))
@@ -174,14 +174,14 @@ static size_t fanotify_event_len(unsigned int info_mode,
                dot_len = 1;
        }
 
-       if (info_mode & FAN_REPORT_PIDFD)
-               event_len += FANOTIFY_PIDFD_INFO_HDR_LEN;
-
        if (fanotify_event_has_object_fh(event)) {
                fh_len = fanotify_event_object_fh_len(event);
                event_len += fanotify_fid_info_len(fh_len, dot_len);
        }
 
+       if (info_mode & FAN_REPORT_PIDFD)
+               event_len += FANOTIFY_PIDFD_INFO_LEN;
+
        return event_len;
 }
 
@@ -511,7 +511,7 @@ static int copy_pidfd_info_to_user(int pidfd,
                                   size_t count)
 {
        struct fanotify_event_info_pidfd info = { };
-       size_t info_len = FANOTIFY_PIDFD_INFO_HDR_LEN;
+       size_t info_len = FANOTIFY_PIDFD_INFO_LEN;
 
        if (WARN_ON_ONCE(info_len > count))
                return -EFAULT;
-- 
2.43.0


Reply via email to