diff --git a/sysdeps/unix/sysv/linux/clone3.h b/sysdeps/unix/sysv/linux/clone3.h
index deff63da2a..d097ed7502 100644
--- a/sysdeps/unix/sysv/linux/clone3.h
+++ b/sysdeps/unix/sysv/linux/clone3.h
@@ -41,25 +41,28 @@ struct clone_args
 {
   /* Flags bit mask.  */
   __aligned_uint64_t flags;
-  /* Where to store PID file descriptor (pid_t *).  */
+  /* Where to store PID file descriptor (int *). Needs CLONE_PIDFD flag set. */
   __aligned_uint64_t pidfd;
-  /* Where to store child TID, in child's memory (pid_t *).  */
+  /* Where to store child TID, in child's memory (pid_t *).
+   * Needs CLONE_CHILD_SETTID flag set. */
   __aligned_uint64_t child_tid;
-  /* Where to store child TID, in parent's memory (int *). */
+  /* Where to store child TID, in parent's memory (pid_t *).
+   * Needs CLONE_PARENT_SETTID flag set. */
   __aligned_uint64_t parent_tid;
-  /* Signal to deliver to parent on child termination */
+  /* Signal to deliver to parent on child termination. */
   __aligned_uint64_t exit_signal;
   /* The lowest address of stack.  */
   __aligned_uint64_t stack;
   /* Size of stack.  */
   __aligned_uint64_t stack_size;
-  /* Location of new TLS.  */
+  /* Location of new TLS. Needs CLONE_SETTLS flag set. */
   __aligned_uint64_t tls;
   /* Pointer to a pid_t array (since Linux 5.5).  */
   __aligned_uint64_t set_tid;
   /* Number of elements in set_tid (since Linux 5.5). */
   __aligned_uint64_t set_tid_size;
-  /* File descriptor for target cgroup of child (since Linux 5.7).  */
+  /* File descriptor for target cgroup of child (since Linux 5.7).
+   * Needs CLONE_INTO_CGROUP flag set. */
   __aligned_uint64_t cgroup;
 };
 
