Re: [PATCH v3 3/6] crypto: Add Qcom prng driver

From: Vinod
Date: Wed Jul 04 2018 - 02:10:51 EST


On 04-07-18, 09:40, Vinod wrote:
> Hi Stephan,
>
> On 03-07-18, 15:28, Stephan Mueller wrote:
> > Am Dienstag, 3. Juli 2018, 08:04:31 CEST schrieb Vinod Koul:
> > > +static int qcom_rng_read(struct qcom_rng *rng, void *data, size_t max)
> > > +{
> > > + size_t currsize = 0;
> > > + u32 *retdata = data;
> >
> > How can you be sure that this cast is appropriate? I.e. how is it guaranteed
> > that data is 4-byte aligned?
>
> While reading we check the alignment:
>
> /* make sure we stay on 32bit boundary */
> if ((max - currsize) < WORD_SZ)
> break;
>
> > Also, the data variable in qcom_rng_generate is a u8 -- shouldn't this type be
> > used instead of a void?
>
> That does make sense to me. IIRC the read is for a byte. I will check
> this and update it

Okay so I rechecked this, the hardware gives 32 bits of random data. I
am thinking of splitting the word and updating by each byte. That way
trailing zero can also be avoided which is the case now

--
~Vinod