Re: [PATCH] crypto: qcom-rng - fix infinite loop on requests not multiple of WORD_SZ

From: Ondrej Mosnacek
Date: Sat May 07 2022 - 04:41:56 EST


On Tue, May 3, 2022 at 6:11 PM Brian Masney <bmasney@xxxxxxxxxx> wrote:
> On Tue, May 03, 2022 at 01:50:10PM +0200, Ondrej Mosnacek wrote:
> > The commit referenced in the Fixes tag removed the 'break' from the else
> > branch in qcom_rng_read(), causing an infinite loop whenever 'max' is
> > not a multiple of WORD_SZ. This can be reproduced e.g. by running:
> >
> > kcapi-rng -b 67 >/dev/null
> >
> > There are many ways to fix this without adding back the 'break', but
> > they all seem more awkward than simply adding it back, so do just that.
> >
> > Tested on a machine with Qualcomm Amberwing processor.
> >
> > Fixes: a680b1832ced ("crypto: qcom-rng - ensure buffer for generate is completely filled")
> > Cc: stable@xxxxxxxxxxxxxxx
> > Signed-off-by: Ondrej Mosnacek <omosnace@xxxxxxxxxx>
>
> Reviewed-by: Brian Masney <bmasney@xxxxxxxxxx>
>
> We should add '# 5.17+' to the end of the stable line.

Is that really relied upon any more? AFAIK, the stable maintainer(s)
already compute the target versions from the Fixes: tag. And the
version based on the original commit would be inaccurate in many
cases, as the commit may have been already backported to earlier
streams and you need to patch those as well. Thus, I believe it's
better to leave out the version hint and force people to look up the
Fixes: commit instead, which is more reliable. Also if you grep the
latest mainline commits for 'Cc: stable@xxxxxxxxxxxxxxx', you'll see
that most commits don't include the version hint any more.

--
Ondrej Mosnacek
Software Engineer, Linux Security - SELinux kernel
Red Hat, Inc.