[CRIU] [PATCH v2 5/5] compel: Add nspid, nssid and nspgid fields to struct seize_task_status
Pavel Emelyanov
xemul at virtuozzo.com
Tue May 2 01:58:56 PDT 2017
On 04/29/2017 09:12 AM, Andrei Vagin wrote:
> On Fri, Apr 28, 2017 at 11:03:08PM -0700, Andrei Vagin wrote:
>> 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.
>
> Maybe we need to declare a new structure in criu which will encapsulate
> seize_task_status?
We already have one ;) Called proc_status_creds.
>>
>>
>>> /* 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