Author: badger
Date: Tue May 23 12:40:50 2017
New Revision: 318743
URL: https://svnweb.freebsd.org/changeset/base/318743

Log:
  move p_sigqueue to the end of struct proc
  
  In order to preserve KBI in stable branches, replace the existing
  p_sigqueue slot with padding and move the expanded (as of r315949)
  p_sigqueue to the end of the struct.
  
  This is a repeat of r317529 (which concerned td_sigqueue in struct
  thread) for p_sigqueue in struct proc.
  
  Virtualbox modules (and possibly others) are affected without this fix.
  
  Reviewed by:  kib
  Differential Revision:        https://reviews.freebsd.org/D10843

Modified:
  stable/10/sys/sys/proc.h

Changes in other areas also in this revision:
Modified:
  stable/11/sys/kern/kern_thread.c
  stable/11/sys/sys/proc.h

Modified: stable/10/sys/sys/proc.h
==============================================================================
--- stable/10/sys/sys/proc.h    Tue May 23 12:03:59 2017        (r318742)
+++ stable/10/sys/sys/proc.h    Tue May 23 12:40:50 2017        (r318743)
@@ -528,8 +528,8 @@ struct proc {
        LIST_HEAD(, proc) p_children;   /* (e) Pointer to list of children. */
        struct mtx      p_mtx;          /* (n) Lock for this struct. */
        struct ksiginfo *p_ksi; /* Locked by parent proc lock */
-       sigqueue_t      p_sigqueue;     /* (c) Sigs not delivered to a td. */
-#define p_siglist      p_sigqueue.sq_signals
+       uint64_t        padding1[4];
+       void            *padding2[4];
 
 /* The following fields are all zeroed upon creation in fork. */
 #define        p_startzero     p_oppid
@@ -626,6 +626,8 @@ struct proc {
        u_int           p_ptevents;     /* (c) ptrace() event mask. */
        uint16_t        p_elf_machine;  /* (x) ELF machine type */
        uint64_t        p_elf_flags;    /* (x) ELF flags */
+       sigqueue_t      p_sigqueue;     /* (c) Sigs not delivered to a td. */
+#define p_siglist      p_sigqueue.sq_signals
 };
 
 #define        p_session       p_pgrp->pg_session
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"

Reply via email to