lkml.org 
[lkml]   [2022]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch v8 01/10] add basic task isolation prctl interface
On Thu, Jan 20, 2022 at 06:43:01PM +0100, Frederic Weisbecker wrote:
> On Wed, Dec 08, 2021 at 01:09:07PM -0300, Marcelo Tosatti wrote:
> > +int __copy_task_isolation(struct task_struct *tsk)
> > +{
> > + struct isol_info *info, *new_info;
> > +
> > + info = current->isol_info;
> > + if (!(info->inherit_mask & (ISOL_INHERIT_CONF|ISOL_INHERIT_ACTIVE)))
> > + return 0;
> > +
> > + new_info = tsk_isol_alloc_context();
> > + if (IS_ERR(new_info))
> > + return PTR_ERR(new_info);
> > +
> > + new_info->inherit_mask = info->inherit_mask;
>
> Ok then it might be worth mentioning in the docs that the inheritance
> propagates to all the descendants and not just the immediate children,
> unless the inheritance is explicitly reconfigured by some children of course.

v9 has:

**PR_ISOL_CFG_SET**:

Set task isolation configuration.
The general format is::

prctl(PR_ISOL_CFG_SET, what, arg3, arg4, arg5);

...

- Bit ISOL_INHERIT_ACTIVE: Inherit task isolation activation
(requires ISOL_INHERIT_CONF to be set). The new task
should behave, after fork/clone, in the same manner
as the parent task after it executed:

prctl(PR_ISOL_ACTIVATE_SET, &mask, ...);

Note: the inheritance propagates to all the descendants and not
just the immediate children, unless the inheritance is explicitly
reconfigured by some children.

>
> > +
> > + if (info->inherit_mask & ISOL_INHERIT_CONF) {
> > + new_info->quiesce_mask = info->quiesce_mask;
>
> Looks like if the parent has oneshot quiesce features configured, those
> will be inherited as non-oneshot.

Good catch. v9 has:

+ if (info->inherit_mask & ISOL_INHERIT_CONF) {
+ new_info->quiesce_mask = info->quiesce_mask;
+ new_info->conf_mask = info->conf_mask;
+ new_info->oneshot_mask = info->oneshot_mask;
+ }

>
> > + new_info->conf_mask = info->conf_mask;
> > + }
> > +
> > + if (info->inherit_mask & ISOL_INHERIT_ACTIVE)
> > + new_info->active_mask = info->active_mask;
> > +
> > + tsk->isol_info = new_info;
> > +
> > + return 0;
> > +}
>
> Other than that:
>
> Acked-by: Frederic Weisbecker <frederic@kernel.org>

OK, with the fixes above, i'll add your Acked-by to patches 1 and 2.
Let me know otherwise.

\
 
 \ /
  Last update: 2022-01-26 19:10    [W:0.802 / U:0.252 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site