Author: badger Date: Thu Apr 27 22:28:49 2017 New Revision: 317529 URL: https://svnweb.freebsd.org/changeset/base/317529
Log: Move td_sigqueue to the end of struct thread In order to preserve KBI in stable branches, replace the existing td_sigqueue slot with padding and move the expanded (as of r315949) td_sigqueue to the end of the struct. Reported by: jhb Suggested by: kib Reviewed by: jhb, kib, vangyzen Sponsored by: Dell EMC Differential Revision: https://reviews.freebsd.org/D10515 Modified: stable/10/sys/sys/proc.h Changes in other areas also in this revision: Modified: stable/11/sys/sys/proc.h Modified: stable/10/sys/sys/proc.h ============================================================================== --- stable/10/sys/sys/proc.h Thu Apr 27 22:03:08 2017 (r317528) +++ stable/10/sys/sys/proc.h Thu Apr 27 22:28:49 2017 (r317529) @@ -218,8 +218,8 @@ struct thread { struct rl_q_entry *td_rlqe; /* (k) Associated range lock entry. */ struct umtx_q *td_umtxq; /* (c?) Link for when we're blocked. */ lwpid_t td_tid; /* (b) Thread ID. */ - sigqueue_t td_sigqueue; /* (c) Sigs arrived, not delivered. */ -#define td_siglist td_sigqueue.sq_signals + uint64_t padding1[4]; + void *padding2[4]; u_char td_lend_user_pri; /* (t) Lend user pri. */ /* Cleared during fork1() */ @@ -326,6 +326,8 @@ struct thread { u_int td_dbg_sc_narg; /* (c) Syscall arg count to debugger.*/ void *td_emuldata; /* Emulator state data */ sbintime_t td_sleeptimo; /* (t) Sleep timeout. */ + sigqueue_t td_sigqueue; /* (c) Sigs arrived, not delivered. */ +#define td_siglist td_sigqueue.sq_signals }; struct mtx *thread_lock_block(struct thread *); _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"