lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <92427cf8-782c-4681-b0e5-a7ebee79dd63@redhat.com>
Date: Wed, 4 Dec 2024 22:24:44 -0500
From: Waiman Long <llong@...hat.com>
To: Costa Shulyupin <costa.shul@...hat.com>, Tejun Heo <tj@...nel.org>,
 Johannes Weiner <hannes@...xchg.org>, Michal Koutný
 <mkoutny@...e.com>, cgroups@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2] cgroup/cpuset: Remove stale text

On 12/4/24 6:04 AM, Costa Shulyupin wrote:
> Task's cpuset pointer was removed by
> commit 8793d854edbc ("Task Control Groups: make cpusets a client of cgroups")
>
> Paragraph "The task_lock() exception ...." was removed by
> commit 2df167a300d7 ("cgroups: update comments in cpuset.c")
>
> Remove stale text:
>
>   We also require taking task_lock() when dereferencing a
>   task's cpuset pointer. See "The task_lock() exception", at the end of this
>   comment.
>
>   Accessing a task's cpuset should be done in accordance with the
>   guidelines for accessing subsystem state in kernel/cgroup.c
>
> and reformat.
>
> Co-developed-by: Michal Koutný <mkoutny@...e.com>
> Co-developed-by: Waiman Long <longman@...hat.com>
> Signed-off-by: Costa Shulyupin <costa.shul@...hat.com>
>
> ---
> v2: Address comments
>
> ---
>   kernel/cgroup/cpuset.c | 9 ++-------
>   1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/kernel/cgroup/cpuset.c b/kernel/cgroup/cpuset.c
> index d5d2b4036314..ee62207fee9f 100644
> --- a/kernel/cgroup/cpuset.c
> +++ b/kernel/cgroup/cpuset.c
> @@ -207,10 +207,8 @@ static struct cpuset top_cpuset = {
>   
>   /*
>    * There are two global locks guarding cpuset structures - cpuset_mutex and
> - * callback_lock. We also require taking task_lock() when dereferencing a
> - * task's cpuset pointer. See "The task_lock() exception", at the end of this
> - * comment.  The cpuset code uses only cpuset_mutex. Other kernel subsystems
> - * can use cpuset_lock()/cpuset_unlock() to prevent change to cpuset
> + * callback_lock. The cpuset code uses only cpuset_mutex. Other kernel
> + * subsystems can use cpuset_lock()/cpuset_unlock() to prevent change to cpuset
>    * structures. Note that cpuset_mutex needs to be a mutex as it is used in
>    * paths that rely on priority inheritance (e.g. scheduler - on RT) for
>    * correctness.
> @@ -239,9 +237,6 @@ static struct cpuset top_cpuset = {
>    * The cpuset_common_seq_show() handlers only hold callback_lock across
>    * small pieces of code, such as when reading out possibly multi-word
>    * cpumasks and nodemasks.
> - *
> - * Accessing a task's cpuset should be done in accordance with the
> - * guidelines for accessing subsystem state in kernel/cgroup.c
>    */
>   
>   static DEFINE_MUTEX(cpuset_mutex);

LGTM

Acked-by: Waiman Long <longman@...hat.com>


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ