On Wed, Sep 29, 2021 at 05:28:47AM +0200, Karol Herbst wrote: > Lack of documentation inside Linux here is a bit annoying, but do I > understand it correctly, that the main (and probably only) difference > is that kvcalloc checks whether the multiplication overflows and > returns NULL in this case? That's correct. :) > On Wed, Sep 29, 2021 at 12:21 AM Gustavo A. R. Silva > <gustavoars@xxxxxxxxxx> wrote: > > > > Use 2-factor argument form kvcalloc() instead of kvzalloc(). > > > > Link: https://github.com/KSPP/linux/issues/162 > > Signed-off-by: Gustavo A. R. Silva <gustavoars@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> > > --- > > drivers/gpu/drm/nouveau/nouveau_svm.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c > > index b0c3422cb01f..1a896a24288a 100644 > > --- a/drivers/gpu/drm/nouveau/nouveau_svm.c > > +++ b/drivers/gpu/drm/nouveau/nouveau_svm.c > > @@ -992,7 +992,7 @@ nouveau_svm_fault_buffer_ctor(struct nouveau_svm *svm, s32 oclass, int id) > > if (ret) > > return ret; > > > > - buffer->fault = kvzalloc(sizeof(*buffer->fault) * buffer->entries, GFP_KERNEL); > > + buffer->fault = kvcalloc(sizeof(*buffer->fault), buffer->entries, GFP_KERNEL); > > if (!buffer->fault) > > return -ENOMEM; > > > > -- > > 2.27.0 > > > -- Kees Cook