Messages in this thread Patch in this message | | | Date | Wed, 13 Jun 2012 20:50:13 +0200 | From | Oleg Nesterov <> | Subject | [PATCH 2/6] uprobes: copy_insn() should not return -ENOMEM if __copy_insn() fails |
| |
copy_insn() returns -ENOMEM if the first __copy_insn() fails, it should return the correct error code.
Signed-off-by: Oleg Nesterov <oleg@redhat.com> --- kernel/events/uprobes.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/kernel/events/uprobes.c b/kernel/events/uprobes.c index bb61248..9bb5571 100644 --- a/kernel/events/uprobes.c +++ b/kernel/events/uprobes.c @@ -639,10 +639,10 @@ static int copy_insn(struct uprobe *uprobe, struct file *filp) /* Instruction at the page-boundary; copy bytes in second page */ if (nbytes < bytes) { - if (__copy_insn(mapping, filp, uprobe->arch.insn + nbytes, - bytes - nbytes, uprobe->offset + nbytes)) - return -ENOMEM; - + int err = __copy_insn(mapping, filp, uprobe->arch.insn + nbytes, + bytes - nbytes, uprobe->offset + nbytes); + if (err) + return err; bytes = nbytes; } return __copy_insn(mapping, filp, uprobe->arch.insn, bytes, uprobe->offset); -- 1.5.5.1
| |