2021-12-13 13:27:59

by Xiu Jianfeng

[permalink] [raw]
Subject: [PATCH -next] lockdep: Use memset_startat() helper in reinit_class()

use memset_startat() helper to simplify the code, there is no functional
change in this patch.

Signed-off-by: Xiu Jianfeng <[email protected]>
---
kernel/locking/lockdep.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 4a882f83aeb9..89b3df51fd98 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -6011,13 +6011,10 @@ static void zap_class(struct pending_free *pf, struct lock_class *class)

static void reinit_class(struct lock_class *class)
{
- void *const p = class;
- const unsigned int offset = offsetof(struct lock_class, key);
-
WARN_ON_ONCE(!class->lock_entry.next);
WARN_ON_ONCE(!list_empty(&class->locks_after));
WARN_ON_ONCE(!list_empty(&class->locks_before));
- memset(p + offset, 0, sizeof(*class) - offset);
+ memset_startat(class, 0, key);
WARN_ON_ONCE(!class->lock_entry.next);
WARN_ON_ONCE(!list_empty(&class->locks_after));
WARN_ON_ONCE(!list_empty(&class->locks_before));
--
2.17.1



2021-12-13 14:32:41

by Peter Zijlstra

[permalink] [raw]
Subject: Re: [PATCH -next] lockdep: Use memset_startat() helper in reinit_class()

On Mon, Dec 13, 2021 at 09:26:18PM +0800, Xiu Jianfeng wrote:
> use memset_startat() helper to simplify the code, there is no functional
> change in this patch.
>
> Signed-off-by: Xiu Jianfeng <[email protected]>

Thanks!

2021-12-13 16:31:58

by Waiman Long

[permalink] [raw]
Subject: Re: [PATCH -next] lockdep: Use memset_startat() helper in reinit_class()

On 12/13/21 08:26, Xiu Jianfeng wrote:
> use memset_startat() helper to simplify the code, there is no functional
> change in this patch.
>
> Signed-off-by: Xiu Jianfeng <[email protected]>
> ---
> kernel/locking/lockdep.c | 5 +----
> 1 file changed, 1 insertion(+), 4 deletions(-)
>
> diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
> index 4a882f83aeb9..89b3df51fd98 100644
> --- a/kernel/locking/lockdep.c
> +++ b/kernel/locking/lockdep.c
> @@ -6011,13 +6011,10 @@ static void zap_class(struct pending_free *pf, struct lock_class *class)
>
> static void reinit_class(struct lock_class *class)
> {
> - void *const p = class;
> - const unsigned int offset = offsetof(struct lock_class, key);
> -
> WARN_ON_ONCE(!class->lock_entry.next);
> WARN_ON_ONCE(!list_empty(&class->locks_after));
> WARN_ON_ONCE(!list_empty(&class->locks_before));
> - memset(p + offset, 0, sizeof(*class) - offset);
> + memset_startat(class, 0, key);
> WARN_ON_ONCE(!class->lock_entry.next);
> WARN_ON_ONCE(!list_empty(&class->locks_after));
> WARN_ON_ONCE(!list_empty(&class->locks_before));

LGTM

Acked-by: Waiman Long <[email protected]>


2021-12-13 20:39:31

by Kees Cook

[permalink] [raw]
Subject: Re: [PATCH -next] lockdep: Use memset_startat() helper in reinit_class()

On Mon, Dec 13, 2021 at 09:26:18PM +0800, Xiu Jianfeng wrote:
> use memset_startat() helper to simplify the code, there is no functional
> change in this patch.
>
> Signed-off-by: Xiu Jianfeng <[email protected]>

Reviewed-by: Kees Cook <[email protected]>

--
Kees Cook

Subject: [tip: locking/core] lockdep: Use memset_startat() helper in reinit_class()

The following commit has been merged into the locking/core branch of tip:

Commit-ID: e204193b138af347fbbbe026e68cb3385112f387
Gitweb: https://git.kernel.org/tip/e204193b138af347fbbbe026e68cb3385112f387
Author: Xiu Jianfeng <[email protected]>
AuthorDate: Mon, 13 Dec 2021 21:26:18 +08:00
Committer: Peter Zijlstra <[email protected]>
CommitterDate: Tue, 25 Jan 2022 22:30:27 +01:00

lockdep: Use memset_startat() helper in reinit_class()

use memset_startat() helper to simplify the code, there is no functional
change in this patch.

Signed-off-by: Xiu Jianfeng <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Link: https://lkml.kernel.org/r/[email protected]
---
kernel/locking/lockdep.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 4a882f8..89b3df5 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -6011,13 +6011,10 @@ static void zap_class(struct pending_free *pf, struct lock_class *class)

static void reinit_class(struct lock_class *class)
{
- void *const p = class;
- const unsigned int offset = offsetof(struct lock_class, key);
-
WARN_ON_ONCE(!class->lock_entry.next);
WARN_ON_ONCE(!list_empty(&class->locks_after));
WARN_ON_ONCE(!list_empty(&class->locks_before));
- memset(p + offset, 0, sizeof(*class) - offset);
+ memset_startat(class, 0, key);
WARN_ON_ONCE(!class->lock_entry.next);
WARN_ON_ONCE(!list_empty(&class->locks_after));
WARN_ON_ONCE(!list_empty(&class->locks_before));