Re: [PATCH] get_random_long() and AT_ENTROPY for auxv, kernel 2.6.21.5

From: Alexander Gabert
Date: Mon Jun 25 2007 - 11:02:18 EST


Hi Matt,
sorry for not answering your questions in the first place, i hope this did not mean to make a bad impression
Matt Mackall schrieb:
On Sun, Jun 24, 2007 at 07:45:04PM +0200, Alexander Gabert wrote:
Hi Linus,
hi LKML,

i would like to thank LKML and especially Eric (thanks for the per_cpu macro tips and design guidelines!) and the other contributors to this idea.

This time the patch is rather big because it also removes get_random_int() and introduces get_random_long() throughout the kernel.

Stop right there. You still haven't answered my original question.
What is the point of this exercise in the first place, please?

Am I right in thinking you have three unrelated patches here?
I don't think so but you may be right nonetheless if my opinion.
- something to do with aux vector headers
Adding the new field
- something to do with get_random_int repeating itself
Found while adding the new field and testing it.
- sweeping change of get_random_int to get_random_long for no obvious reason
It is needed for properly initializing a SSP guard which is (afaik) a long value.
These should be three completely separate patches.
Probably ... but bear in mind that the goal is still the same: allowing glibc to use SSP with /proc/self/auxv instead of fopen(/dev/urandom) as it is now.
Effectively saving three syscalls (open,read,close) and making life easier for glibc because randomization "generated" in the kernel does not deplete /dev/urandom too much for high coverage SSP userlands (i.e. Gentoo Hardened).

I can imagine that Redhat would do the same with the SSP implementation in glibc, i think if this patch moves into kernel, they will bring out a glibc patch that is checking for AT_ENTROPY and using the opening of /dev/urandom for retrieving randomized data as a fallback for machines where such a kernel is not available. This is a win-win situation for both sides- the kernel wins because the pressure on /dev/urandom is released a bit (applicable to SSP environments) and the glibc wins because it has a reliable, fast, cheap and easy to use source for randomization.


Thank you,

Alex

-
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/