struct damos_walk_control {
        void (*walk_fn)(void *data, struct damon_ctx *ctx,
                        struct damon_target *t, struct damon_region *r,
-                       struct damos *s);
+                       struct damos *s, unsigned long sz_filter_passed);
        void *data;
 /* private: internal use only */
        /* informs if the kdamond finished handling of the walk request */
 
  * installed by damos_walk() and not yet uninstalled, invoke it.
  */
 static void damos_walk_call_walk(struct damon_ctx *ctx, struct damon_target *t,
-               struct damon_region *r, struct damos *s)
+               struct damon_region *r, struct damos *s,
+               unsigned long sz_filter_passed)
 {
        struct damos_walk_control *control;
 
        mutex_unlock(&ctx->walk_control_lock);
        if (!control)
                return;
-       control->walk_fn(control->data, ctx, t, r, s);
+       control->walk_fn(control->data, ctx, t, r, s, sz_filter_passed);
 }
 
 /*
                        sz_applied = c->ops.apply_scheme(c, t, r, s,
                                        &sz_ops_filter_passed);
                }
-               damos_walk_call_walk(c, t, r, s);
+               damos_walk_call_walk(c, t, r, s, sz_ops_filter_passed);
                ktime_get_coarse_ts64(&end);
                quota->total_charged_ns += timespec64_to_ns(&end) -
                        timespec64_to_ns(&begin);
 
 /* populate the region directory */
 static void damon_sysfs_schemes_tried_regions_upd_one(void *data, struct damon_ctx *ctx,
                struct damon_target *t, struct damon_region *r,
-               struct damos *s)
+               struct damos *s, unsigned long sz_filter_passed)
 {
        struct damon_sysfs_schemes_walk_data *walk_data = data;
        struct damon_sysfs_kdamond *sysfs_kdamond = walk_data->sysfs_kdamond;