Re: drivers/char/random.c: variable type mismatch

From: Stephan Mueller
Date: Wed Nov 14 2012 - 11:15:29 EST


On 08.11.2012 12:47:08, +0100, Theodore Ts'o <tytso@xxxxxxx> wrote:

Hi Theodore,

> On Thu, Nov 08, 2012 at 01:32:38AM +0100, Stephan Mueller wrote:
>>
>> However, due to the fact that jiffies provides very few entropy, the
>> event value provides (almost) none, the majority of entropy comes from
>> the processor cycles. Assuming that the processor cycles increase once
>> per nanosecond, after 2**32 cycles (about 4 seconds), the counter wraps.
>
> Sure, we can make this change, but it doesn't make as much difference
> as you think. The high 32 bits gets incremented about ounce every 4
> seconds, while jiffies gets incremented once every 1/HZ seconds. But
> the point is they are pretty well correlated (i.e., if you know the
> jiffies values A' and A'', and I know the high 32 bits of the cycles
> B', and you can determine the likely value of B'' to a very high
> degree of accuracy. Values which are correlated don't actually
> entropy.
>

I agree with the argument of correlation.

So, if the reduction of values with a known lack of entropy is of
interest, why not change the jiffies variable type too? There we know
that only the lower 32 bits are really relevant. Therefore, wouldn't be
a structure of

struct {
unsigned jiffies;
unsigned cycles;
unsigned num;
} sample;

be more appropriate?

Thanks
Stephan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/