block: cfq_cpd_alloc() should use @gfp
authorTejun Heo <tj@kernel.org>
Thu, 10 Nov 2016 16:16:37 +0000 (11:16 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jan 2017 19:17:22 +0000 (20:17 +0100)
commit ebc4ff661fbe76781c6b16dfb7b754a5d5073f8e upstream.

cfq_cpd_alloc() which is the cpd_alloc_fn implementation for cfq was
incorrectly hard coding GFP_KERNEL instead of using the mask specified
through the @gfp parameter.  This currently doesn't cause any actual
issues because all current callers specify GFP_KERNEL.  Fix it.

Signed-off-by: Tejun Heo <tj@kernel.org>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Fixes: e4a9bde9589f ("blkcg: replace blkcg_policy->cpd_size with ->cpd_alloc/free_fn() methods")
Signed-off-by: Jens Axboe <axboe@fb.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
block/cfq-iosched.c

index 3ad307ee602903e94b500008001359bc40bfebe8..e04a7b8492cf20485ca3424243a51866dd66723a 100644 (file)
@@ -1572,7 +1572,7 @@ static struct blkcg_policy_data *cfq_cpd_alloc(gfp_t gfp)
 {
        struct cfq_group_data *cgd;
 
-       cgd = kzalloc(sizeof(*cgd), GFP_KERNEL);
+       cgd = kzalloc(sizeof(*cgd), gfp);
        if (!cgd)
                return NULL;
        return &cgd->cpd;