From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 916 invoked by alias); 30 Apr 2014 20:43:39 -0000 Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org Received: (qmail 900 invoked by uid 89); 30 Apr 2014 20:43:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.7 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mail.zytor.com Received: from terminus.zytor.com (HELO mail.zytor.com) (198.137.202.10) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Wed, 30 Apr 2014 20:43:37 +0000 Received: from hanvin-mobl6.amr.corp.intel.com (jfdmzpr03-ext.jf.intel.com [134.134.139.72]) (authenticated bits=0) by mail.zytor.com (8.14.7/8.14.5) with ESMTP id s3UKhCbL013685 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Wed, 30 Apr 2014 13:43:12 -0700 Message-ID: <5361605B.4080509@zytor.com> Date: Wed, 30 Apr 2014 20:44:00 -0000 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 MIME-Version: 1.0 To: Hui Zhu , Hui Zhu , Mark Kettenis CC: pinskia@gmail.com, Thomas Gleixner , Ingo Molnar , x86@kernel.org, eparis@redhat.com, ak@linux.intel.com, "linux-kernel@vger.kernel.org" , "gdb@sourceware.org" , Pedro Alves Subject: Re: [PATCH] Fix get ERESTARTSYS with m32 in x86_64 when debug by GDB References: <53554846.3070608@zytor.com> <53608125.2020103@zytor.com> <536085B7.5070002@zytor.com> <201404301335.s3UDZX4J017978@glazunov.sibelius.xs4all.nl> <53612647.1040604@mentor.com> In-Reply-To: <53612647.1040604@mentor.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-SW-Source: 2014-04/txt/msg00101.txt.bz2 On 04/30/2014 09:35 AM, Hui Zhu wrote: > > I sorry that previous patch has some format issue, post a new one. > > Signed-off-by: Hui Zhu > --- > --- a/arch/x86/kernel/ptrace.c > +++ b/arch/x86/kernel/ptrace.c > @@ -452,6 +452,23 @@ static int putreg(struct task_struct *ch > if (child->thread.gs != value) > return do_arch_prctl(child, ARCH_SET_GS, value); > return 0; > + case offsetof(struct user_regs_struct, orig_ax): > + /* > + * A 64-bit debugger setting orig_ax of a 32-bit inferior > + * means to restore the state of the task restarting a > + * 32-bit syscall. > + * Make sure we interpret the -ERESTART* codes correctly > + * in case the task is not actually still sitting at the > + * exit from a 32-bit syscall with TS_COMPAT still set. > + */ > + if (test_ti_thread_flag(task_thread_info(child), TIF_IA32)) { > + struct pt_regs *regs = task_pt_regs(child); > + regs->orig_ax = value; > + if (syscall_get_nr(child, regs) >= 0) > + task_thread_info(child)->status |= TS_COMPAT; > + return 0; > + } > + break; > #endif > } You still seems to have botched whitespace, and no patch description in the same email so it can be automated. -hpa