On Mon, Oct 10, 2022 at 10:38:58AM +0800, Kemeng Shi wrote: > Function blkcg_policy_register only make sure pd_alloc_fn and pd_free_fn in > pairs, so pd_alloc_fn could be NULL in registered blkcg_policy. Check NULL > before use for pd_alloc_fn in blkcg_activate_policy to avoid protential > NULL dereference. > > Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxx> > --- > block/blk-cgroup.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c > index 463c568d3e86..fc083c35dc42 100644 > --- a/block/blk-cgroup.c > +++ b/block/blk-cgroup.c > @@ -1404,6 +1404,9 @@ int blkcg_activate_policy(struct request_queue *q, > if (blkcg_policy_enabled(q, pol)) > return 0; > > + if (pol->pd_alloc_fn == NULL) > + return -EINVAL; This isn't the only place this function is called, so the above won't achieve much. Given that this is rather trivially noticeable and all the current users do implement pd_alloc_fn, I'm not sure we need to update this now. Thanks. -- tejun