Messages in this thread | | | Date | Wed, 20 Nov 2013 11:12:52 -0800 | From | "H. Peter Anvin" <> | Subject | Re: [tip:x86/asm] x86-64, copy_user: Remove zero byte check before copy user buffer. |
| |
On 11/19/2013 11:38 AM, Linus Torvalds wrote: > On Mon, Nov 18, 2013 at 8:37 PM, H. Peter Anvin <hpa@zytor.com> wrote: >> >> Do you have a preference: >> >> 1. Considering the 32-bit truncation incidental (take it or leave it); >> 2. Require the 32-bit truncation, or >> 3. Get rid of it completely? > > I don't have a huge preference, but I hate the current situation (with > Fenghua's patch) where it's not consistent. One path uses just 32-bits > of the count (thanks to the "mov %edx,%ecx") while another path uses > 64 bits. > > One or the other, but not a mixture of both. > > And only tangentially related to this: I do think that we could be > stricter about the count. Make it oops if the high bits are set, > rather than overwrite a lot of memory. So I would not be adverse to > limiting the count to 31 bits (or even less) explicitly, and thus > making the while 32-vs-64 bit issue moot. >
I guess the question is if we want to spend the extra cycles on a test and branch. For now I suggest that we just put back the truncation in the form of a movl instruction.
-hpa
| |