[CRIU] [PATCH v2 5/5] compel: Add nspid, nssid and nspgid fields to struct seize_task_status
Andrei Vagin
avagin at virtuozzo.com
Fri Apr 28 23:03:10 PDT 2017
On Tue, Apr 18, 2017 at 06:57:07PM +0300, Kirill Tkhai wrote:
> Some users want them, so add these fields to the structure.
>
> Signed-off-by: Kirill Tkhai <ktkhai at virtuozzo.com>
> ---
> compel/include/uapi/infect.h | 4 ++++
> compel/src/lib/infect.c | 6 ++++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/compel/include/uapi/infect.h b/compel/include/uapi/infect.h
> index 7b681b0cb..4c6ab413d 100644
> --- a/compel/include/uapi/infect.h
> +++ b/compel/include/uapi/infect.h
> @@ -21,6 +21,10 @@ struct seize_task_status {
> int seccomp_mode;
> unsigned long long shdpnd;
> unsigned long long sigpnd;
> + size_t ns_levels;
> + uint32_t *nspid;
> + uint32_t *nspgid;
> + uint32_t *nssid;
Here is the compel code and now we try to add fields which are
not used in compel. It doesn't look good.
> /* Add new members to the bottom and do not change existing */
> };
>
> diff --git a/compel/src/lib/infect.c b/compel/src/lib/infect.c
> index 9ade844cf..ab7558a81 100644
> --- a/compel/src/lib/infect.c
> +++ b/compel/src/lib/infect.c
> @@ -190,11 +190,17 @@ static int skip_sigstop(int pid, int nr_signals)
> /* Init dynamically allocated fields in NULL and do not touch other */
> static void init_seize_task_status(struct seize_task_status *ss)
> {
> + ss->ns_levels = 0;
> + ss->nspid = ss->nspgid = ss->nssid = NULL;
> }
>
> /* Free dynamically allocated fields in compel_wait_task() and do not touch other */
> void compel_consume_seize_task_status(struct seize_task_status *ss)
> {
> + xfree(ss->nspid);
> + xfree(ss->nspgid);
> + xfree(ss->nssid);
> +
> init_seize_task_status(ss);
> }
>
>
More information about the CRIU
mailing list