mm/damon/vaddr: hide kernel pointer from damon_va_three_regions() failure log
authorSeongJae Park <sj@kernel.org>
Fri, 14 Jan 2022 22:10:47 +0000 (14:10 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 15 Jan 2022 14:30:33 +0000 (16:30 +0200)
The failure log message for 'damon_va_three_regions()' prints the target
id, which is a 'struct pid' pointer in the case.  To avoid exposing the
kernel pointer via the log, this makes the log to use the index of the
target in the context's targets list instead.

Link: https://lkml.kernel.org/r/20211229131016.23641-4-sj@kernel.org
Signed-off-by: SeongJae Park <sj@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/damon/vaddr.c

index 2238296..89b6468 100644 (file)
@@ -232,13 +232,19 @@ static int damon_va_three_regions(struct damon_target *t,
 static void __damon_va_init_regions(struct damon_ctx *ctx,
                                     struct damon_target *t)
 {
+       struct damon_target *ti;
        struct damon_region *r;
        struct damon_addr_range regions[3];
        unsigned long sz = 0, nr_pieces;
-       int i;
+       int i, tidx = 0;
 
        if (damon_va_three_regions(t, regions)) {
-               pr_debug("Failed to get three regions of target %lu\n", t->id);
+               damon_for_each_target(ti, ctx) {
+                       if (ti == t)
+                               break;
+                       tidx++;
+               }
+               pr_debug("Failed to get three regions of %dth target\n", tidx);
                return;
        }