From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <5587C510.10306@siemens.com> Date: Mon, 22 Jun 2015 10:19:28 +0200 From: Jan Kiszka MIME-Version: 1.0 References: In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Xenomai] [Xenomai-git] Jan Kiszka : cobalt/kernel: Fix mode of mayday syscall List-Id: Discussions about the Xenomai project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gilles Chanteperdrix , xenomai@xenomai.org On 2015-06-20 16:41, Gilles Chanteperdrix wrote: > > git repository hosting wrote: >> Module: xenomai-jki >> Branch: for-forge >> Commit: c806b60eaf505aafd4dbeeaf59cd3fc6d68703fa >> URL: >> http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=c806b60eaf505aafd4dbeeaf59cd3fc6d68703fa >> >> Author: Jan Kiszka >> Date: Fri Jun 19 15:59:15 2015 +0200 >> >> cobalt/kernel: Fix mode of mayday syscall >> >> The oneway mode meant norestart, thus return -EINTR instead of retrying >> the syscall after signal processing. But this caused damaged to the >> register state of the mayday-interrupted thread, most visible on x86-64 >> where RAX is holding the RIP. > > And this can not be fixed, because ? There are probably more ways to fix it. One I played with as well was manipulating the mayday page's stack from the kernel, thus its return address (in the hope it would fix the backtrace too, but it didn't). But this patch is obsolete if the mayday simplification patch pushed yesterday can be merged for all archs. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux