On Thu, Jul 11, 2013 at 6:54 AM, Michal Marek <mmarek@xxxxxxx> wrote: > > Yeah. It also reveals another bug that we rewrite the kernel.release > file each time. This patch should fix it, but please do not apply it > yet: So I think not rewriting the file is a good thing, but in this case it would actually have hidden the real bug. At least for most people. For me, it would have rewritten the file anyway, because as a normal user I have core.abbrev=12 in my ~/.gitconfig, but when running it as root, it will take the abbrev setting from the git defaults (which I think is 7). So the content actually *changes* if root generates the version as opposed to my normal user account. Of course, that's arguably something we could fix in our localversion script (by just forcing a particular abbreviation length), but I actually like how a plain "git describe" (which will use the user-specified SHA1 abbreviations) matches "uname -r" (which will obviously take the version from the kernel version file at build-time). So I'm not convinced that it is wrong for us to just use the format that the user specified in their gitconfig, even if it does result in "odd" situations like this where "make kernelrelease" will then potentially give different output for different users. > We also run dozens of gcc checks during every make invocation, including > make install or make help, so there is some room for improvement. But at > least, these do not write to the source or object tree. It would be good to try to minimize these kinds of things, for the simple reason that I'm not at all sure that we necessarily get all the temporary file security issues right. Running as little as possible as root is good practice for a very real reason: there can be very subtle security issues. Let's not worry about it *too* much, but keeping it in mind is good. At least for the gcc checking scripts I looked at, we seem to be doing things safely (ie using pipes instead of temp-files in /tmp). Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html