Hi Anna, On 16.02.2022 18:30, Anna Schumaker wrote: > On Tue, Feb 15, 2022 at 5:17 AM Alexey Khoroshilov > <khoroshilov@xxxxxxxxx> wrote: >> >> Overflow check in not needed anymore after we switch to kmalloc_array(). > > Don't we still need the overflow check since 'n' is used in the > for-loop end condition farther down in this function? It is not, because it will be detected by kmalloc_array(), it returns NULL and we will go out before the loop: args->devs = kmalloc_array(n, sizeof(*args->devs), GFP_KERNEL); if (!args->devs) { status = htonl(NFS4ERR_DELAY); goto out; } Best regards, Alexey >> >> Signed-off-by: Alexey Khoroshilov <khoroshilov@xxxxxxxxx> >> Fixes: a4f743a6bb20 ("NFSv4.1: Convert open-coded array allocation calls to kmalloc_array()") >> --- >> fs/nfs/callback_xdr.c | 4 ---- >> 1 file changed, 4 deletions(-) >> >> diff --git a/fs/nfs/callback_xdr.c b/fs/nfs/callback_xdr.c >> index f90de8043b0f..8dcb08e1a885 100644 >> --- a/fs/nfs/callback_xdr.c >> +++ b/fs/nfs/callback_xdr.c >> @@ -271,10 +271,6 @@ __be32 decode_devicenotify_args(struct svc_rqst *rqstp, >> n = ntohl(*p++); >> if (n == 0) >> goto out; >> - if (n > ULONG_MAX / sizeof(*args->devs)) { >> - status = htonl(NFS4ERR_BADXDR); >> - goto out; >> - } >> >> args->devs = kmalloc_array(n, sizeof(*args->devs), GFP_KERNEL); >> if (!args->devs) { >> -- >> 2.7.4 >>