svn commit: r318743 - in stable: 10/sys/sys 11/sys/kern 11/sys/sys
Eric Badger
badger at FreeBSD.org
Tue May 23 12:40:52 UTC 2017
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
More information about the svn-src-stable
mailing list