Re: [PATCH x86/mm 08/11] x86 ia32 ptrace getreg/putreg merge

Ingo Molnar
2007-11-29T19:51:36Z

* H. Peter Anvin <hpa@zytor.com> wrote:

> Christoph Hellwig wrote:
>> On Thu, Nov 29, 2007 at 04:00:31AM -0800, Roland McGrath wrote:
>>> +#define R32(l,q) \
>>> + case offsetof(struct user32, regs.l): \
>>> + regs->q = value; break
>>> +
>>> +#define SEG32(rs) \
>>> + case offsetof(struct user32, regs.rs): \
>>> + return set_segment_reg(child, \
>>> + offsetof(struct user_regs_struct, rs), \
>>> + value); \
>>> + break
>>
>> The code would be a lot more readable if you just opencoded this in the
>> caller instead of these obsfucated macros.
>
> For better or worse, though, that is style of existing code. I
> personally found it easy to deal with when I went through the code
> recently.

yep. The ptrace code has certainly lots of inconsistent style crap piled
up during its 10 year history of only be touched with a 10 foot pole.
I'd go for small patches that continuously improve the picture within
the existing mechanisms than any "100% pure required" approach. With 48
clean patches from Roland we are already on the right granularity level
i think.

See how ptrace.c raw code quality has already increased leaps and
bounds:

errors lines of code errors/KLOC
[before]
arch/x86/kernel/ptrace_64.c 58 621 93.3
arch/x86/kernel/ptrace_32.c 39 717 54.3

[after]
arch/x86/kernel/ptrace.c 13 1135 11.4

so i'm not worried about that aspect. We are definitely "for the
better".

Ingo