From nobody Wed May 1 01:42:13 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1522615739116813.9111881421214; Sun, 1 Apr 2018 13:48:59 -0700 (PDT) Received: from localhost ([::1]:34057 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f2juD-0003Nj-D1 for importer@patchew.org; Sun, 01 Apr 2018 16:48:49 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42340) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1f2jsx-0002tO-D7 for qemu-devel@nongnu.org; Sun, 01 Apr 2018 16:47:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1f2jss-0001fi-EW for qemu-devel@nongnu.org; Sun, 01 Apr 2018 16:47:31 -0400 Received: from mout.kundenserver.de ([217.72.192.74]:48093) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1f2jss-0001f3-4i for qemu-devel@nongnu.org; Sun, 01 Apr 2018 16:47:26 -0400 Received: from localhost.localdomain ([78.238.229.36]) by mrelayeu.kundenserver.de (mreue105 [212.227.15.183]) with ESMTPSA (Nemesis) id 0LbJdK-1efH2c2iOw-00l0f1; Sun, 01 Apr 2018 22:47:16 +0200 From: Laurent Vivier To: qemu-devel@nongnu.org Date: Sun, 1 Apr 2018 22:46:53 +0200 Message-Id: <20180401204653.14211-1-laurent@vivier.eu> X-Mailer: git-send-email 2.14.3 X-Provags-ID: V03:K0:JVlea8UPKP4jqYO4C/uHMShjJRY6WbDxHtoizV+meyTkvg2hgft mvStV9p+BrlBusej3svjIwFdtS09KsULOKh5t79ZvYJUeSikJMd+NApakJ/Mww1kLX2DYsN Mbj/zQ4aH9uB35/6rNFSWFwkpWDagT0tFxdlEeQ8FZVfmEoEtqO2PC3s30aTBQa8yryoVEr Ble98poPlxNDuAm8c0xSA== X-UI-Out-Filterresults: notjunk:1;V01:K0:pX1dcv4S2rM=:42LWGeIrodyHrkPKr2ZiuW f3MO7haGOordux1BxQ5AJtTSSu5rtdU3ldZ40uMQqpMeCJfnnVYQppTriP7+kxZkbye8c2H/z qJm20vL/fnJXEB92mhe7OynChg7JYNzYoIlpCQy6m98BcXSEvje9O95wIqqAVD5l7xgch63mk bHcJ8Tpt3RsLHB6Jml0uXC9NsoEV3fBJtejSpPD4BkZY0XcMV/xwLhhxLRqtvuZb0S5FpAPgI yeKiePhJN1pTta9jLk0lMtfBeKGcnsr3JnqUVgqBQAHQDvJBWbDr3sPTHsOGjdEBUvJYs3Ec0 ePT5c3A1GZkEPKvxbUWTgdBJBLveHuGm+UXgSvUsd7B0IX7tsAPaWcLBgLgzXGZw8Z5XmX1t9 onx8qiCdgghtk+hKBirfi5pJ44KRIUO3VNOWxRqKjajXpR3i1nMmSXlurkK+YIbO/KlsobGMN Ong8oq5Q0tX1VzBwdCctt8qgE5LFThiHKdelvlP3tcHfBG79OCvVkrIXbWCcf9bG4tPh0quw8 kLa6GItVM5iHbqBDaAhxd+Us4o1RtYMkjfa1K6hP/s6bVnDcP1lToCLDwkWtqFIRPm2dja+5V zH3OmxCKG97IF5DT5eT1Pp6SnHLzzRqZBGF6gIpaVVacxte9Eie+ot5tJ6BqjAxG/T4Z2UxYw qV1+XVlKaSURaL00EX08kc43P0oUksUNJZgqPvb9+K7czZ8Q+YnqWv/r1QGJBTfSStKjjkW1/ dzF8hF/r+w4aHWrDBe+20Bbr/BS0ozgqSCO7QQ== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 217.72.192.74 Subject: [Qemu-devel] [PATCH] linux-user: fix alpha signal emulation X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Riku Voipio , Laurent Vivier Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" setup_frame() doesn't set correctly the address of the trampoline code. The offset of retcode array must be added to the stack frame address. Signed-off-by: Laurent Vivier --- linux-user/signal.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/linux-user/signal.c b/linux-user/signal.c index 2ea3e0321f..9399f0ec47 100644 --- a/linux-user/signal.c +++ b/linux-user/signal.c @@ -6367,7 +6367,7 @@ static void setup_frame(int sig, struct target_sigact= ion *ka, &frame->retcode[1]); __put_user(INSN_CALLSYS, &frame->retcode[2]); /* imb() */ - r26 =3D frame_addr; + r26 =3D frame_addr + offsetof(struct target_sigframe, retcode); } =20 unlock_user_struct(frame, frame_addr, 1); @@ -6424,7 +6424,7 @@ static void setup_rt_frame(int sig, struct target_sig= action *ka, &frame->retcode[1]); __put_user(INSN_CALLSYS, &frame->retcode[2]); /* imb(); */ - r26 =3D frame_addr; + r26 =3D frame_addr + offsetof(struct target_sigframe, retcode); } =20 if (err) { --=20 2.14.3