Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Apr 2017 22:28:50 +0000 (UTC)
From:      Eric Badger <badger@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r317529 - in stable: 10/sys/sys 11/sys/sys
Message-ID:  <201704272228.v3RMSoIg000680@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 *);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201704272228.v3RMSoIg000680>