Messages in this thread |  | | | Date | Sat, 02 Oct 2010 06:13:13 +0000 | | From | "Daniel K." <> | | Subject | Re: [PATCH RESEND v3 09/24] ptrace: cleanup arch_ptrace() on frv |
| |
Namhyung Kim wrote: > 2010-10-02 (토), 12:57 +0900, Namhyung Kim: >> 2010-10-02 (토), 03:18 +0000, Daniel K.: >>> Namhyung Kim wrote: >>>> case PTRACE_POKEUSR: /* write the word at location addr in the USER area */ >>>> ret = -EIO; >>> - if ((addr & 3) || addr < 0) >>> + if (addr & 3) >>> break; >>> >>>> - ret = 0; >>>> - switch (addr >> 2) { >>>> + switch (regno) { >>>> case 0 ... PT__END - 1: >>>> - ret = put_reg(child, addr >> 2, data); >>>> - break; >>>> - >>>> - default: >>>> - ret = -EIO; >>>> + ret = put_reg(child, regno, data); >>>> break; >>>> } >>>> break; >>> With this, you remove the default case, and no longer return -EIO in the >>> cases of PT__END + n, as in the PTRACE_PEEKUSR section above. >>> >>> This is a change of behaviour as far as I can tell, and not just a cleanup. > > It would not be a change of behaviour. Because 'ret' was initialized > with -EIO and only changed in the switch case. So assignment before > switch can be removed and then will return -EIO in default case.
You are right, I was thrown by the piles of needless code here.
In fact, the whole switch can now be replaced with:
if (regno < PT__END) ret = put_reg(child, regno, data); but it is perhaps better to use the switch-style, for symmetry with the PTRACE_PEEKUSR case directly above it?
Sorry to cause alarm.
Daniel K. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |