diff --git a/include/net/fq_impl.h b/include/net/fq_impl.h index 89a012905ef0bf1084bb46815163d8d54f25b39c..4b3e18ff8e6f269676ab3c4379586b46fe06b8ea 100644 --- a/include/net/fq_impl.h +++ b/include/net/fq_impl.h @@ -312,7 +312,7 @@ static int fq_init(struct fq *fq, int flows_cnt) fq->limit = 8192; fq->memory_limit = 16 << 20; /* 16 MBytes */ - fq->flows = kcalloc(fq->flows_cnt, sizeof(fq->flows[0]), GFP_KERNEL); + fq->flows = kvcalloc(fq->flows_cnt, sizeof(fq->flows[0]), GFP_KERNEL); if (!fq->flows) return -ENOMEM; @@ -330,7 +330,7 @@ static void fq_reset(struct fq *fq, for (i = 0; i < fq->flows_cnt; i++) fq_flow_reset(fq, &fq->flows[i], free_func); - kfree(fq->flows); + kvfree(fq->flows); fq->flows = NULL; }