diff options
author | badger <badger@FreeBSD.org> | 2017-04-27 22:28:49 +0000 |
---|---|---|
committer | badger <badger@FreeBSD.org> | 2017-04-27 22:28:49 +0000 |
commit | 0de8f3b2f0a04cc5b9c321fd929577f2c86706e2 (patch) | |
tree | 80ce508f3be2c178ed086385b2d7107151a148c4 | |
parent | 08af0d1204cbdd42beeb6d6eb575c7f65b45a6eb (diff) | |
download | FreeBSD-src-0de8f3b2f0a04cc5b9c321fd929577f2c86706e2.zip FreeBSD-src-0de8f3b2f0a04cc5b9c321fd929577f2c86706e2.tar.gz |
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
-rw-r--r-- | sys/sys/proc.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/sys/proc.h b/sys/sys/proc.h index a5dd3b2..2439e11 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -224,8 +224,8 @@ struct thread { struct umtx_q *td_umtxq; /* (c?) Link for when we're blocked. */ struct vm_domain_policy td_vm_dom_policy; /* (c) current numa domain policy */ 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() */ @@ -341,6 +341,8 @@ struct thread { int td_lastcpu; /* (t) Last cpu we were on. */ int td_oncpu; /* (t) Which cpu we are on. */ sbintime_t td_sleeptimo; /* (t) Sleep timeout. */ + sigqueue_t td_sigqueue; /* (c) Sigs arrived, not delivered. */ +#define td_siglist td_sigqueue.sq_signals }; struct thread0_storage { |