From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Frysinger Subject: Re: [PATCH v4 2/5] drm: Add private data field to trace control block Date: Tue, 25 Aug 2015 17:12:23 -0400 Message-ID: <20150825211223.GD12316@vapier> References: <1440420170-13337-1-git-send-email-patrik.jakobsson@linux.intel.com> <1440420170-13337-3-git-send-email-patrik.jakobsson@linux.intel.com> Reply-To: strace development list Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0292587110214186697==" Return-path: In-Reply-To: <1440420170-13337-3-git-send-email-patrik.jakobsson-VuQAYsv1563Yd54FQh9/CA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: strace-devel-bounces-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org To: strace development list Cc: intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: intel-gfx@lists.freedesktop.org --===============0292587110214186697== Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="vni90+aGYgRvsTuO" Content-Disposition: inline --vni90+aGYgRvsTuO Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On 24 Aug 2015 14:42, Patrik Jakobsson wrote: > We need to be able to store private data in the tcb across it's > lifetime. To ensure proper destruction of the data a free_priv_data > callback must be provided if an allocation is stored in priv_data. The > callback is executed automatically when the life of the tcb ends. >=20 > * defs.h: Add extern declaration of free_tcb_priv_data. > (struct tcb): Add priv_data and free_priv_data. > * strace.c (free_tcb_priv_data): New function > (drop_tcb): Execute free_tcb_priv_data callback > * syscall.c (trace_syscall_exiting): Execute free_tcb_priv_data callback >=20 > Signed-off-by: Patrik Jakobsson > --- > defs.h | 6 ++++++ > strace.c | 14 ++++++++++++++ > syscall.c | 1 + > 3 files changed, 21 insertions(+) >=20 > diff --git a/defs.h b/defs.h > index 9059026..bc3bd83 100644 > --- a/defs.h > +++ b/defs.h > @@ -266,6 +266,10 @@ struct tcb { > int u_error; /* Error code */ > long scno; /* System call number */ > long u_arg[MAX_ARGS]; /* System call arguments */ > + > + void *priv_data; /* Private data for syscall decoding functions */ > + void (*free_priv_data)(void *); /* Callback for freeing priv_data */ should we name these _priv_data and _free_priv_data and provides accessor functions ? i worry that code paths might stomp on each other by accident and we don't end up noticing. static void set_tcb_priv_data(struct tcb *tcp, void *data, void (*free_data= )(void *)) { assert(tcp->_priv_data =3D=3D NULL && tcp->_free_priv_data =3D=3D NULL); ... } -mike --vni90+aGYgRvsTuO Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJV3No3AAoJEEFjO5/oN/WBMmAP/1nCLt0g6Y95OJrvnTzBskoM 5aJNK48WJ6e309KV8lEpy2j6jutTEbNAgEtxj3zTXw8kT+VQ4efIrKcEv9Uudw4u pH9TGvViMOGAPpLcjYqDt8i2HR4WjwKL9T1ontWe+xvFdalZYFHqDyiK/XSVrf9z 5BGDt23iLx+lDiMRgi0MW43X1J0DV3NKtACklmEK0fzRk1zlPQT865/XB72CWvsn RuFgpcttC4TrjFd4tPorRG5qi/XTjPuNicc9YZ063juwZo+WMvlT35ND1YdOS9dC xWV64LU/Tdismwl5ZLzYskNC9bKaJ/r5cobFcUzfkCi48X/1e/VLFwAH31UrmKh5 oYaZD34e8h6VEJfL3eF0It8EowHVE6Rg7FdXMrQy8ta4S9lrYDsTyVNYZ8APuQ33 +5Va0x1rZj5tHe/BR2PWPCMTkPmSEE1yVULXt/YEX+v29hPsmfDalK9RnATVM/bz VerZ03o1/cjiJJxjoiYyofSd4pm+Ipo9J4oVcqh3lY1hQwPdsDocjd4jgXjxJhTB L+L+gwf4MqVFH9rslndnH6B4FoYqlUhKLzH92fdEEm4d5niU4TjTLbo8oRYI/I/v 7pnR12zgCh3+EsJcX+Ar9p+ZwmwaJ9dQn8F/Bl1gc7OKdeyKvO+hDg60qlqUHzNB 8IrWbCB5YpIHL4UgNyNt =0OSI -----END PGP SIGNATURE----- --vni90+aGYgRvsTuO-- --===============0292587110214186697== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ --===============0292587110214186697== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Strace-devel mailing list Strace-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org https://lists.sourceforge.net/lists/listinfo/strace-devel --===============0292587110214186697==--