lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <de72ca4e0905180006m6c4456c3h96750fe39e7f8379@mail.gmail.com>
Date:	Mon, 18 May 2009 12:36:32 +0530
From:	Sudarshan Soma <sudarshan12s@...il.com>
To:	Sudarshan Soma <sudarshan12s@...il.com>,
	Robert Hancock <hancockrwd@...il.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: linux-kernel@...r.kernel.org

It looks like i can't call exit(-1)in signal handlers as its
Asynchronous—signal-safe function. As my application wont register any
exit handler functions, is this safe to use??

Please suggest if there are better alternatives.

On Mon, May 18, 2009 at 11:44 AM, Sudarshan Soma <sudarshan12s@...il.com> wrote:
> --- On Sat, 16/5/09, Robert Hancock <hancockrwd@...il.com> wrote:
>
>
>    From: Robert Hancock <hancockrwd@...il.com>
>    Subject: Re: patch related to SIGSEGV handling in multiple threads
> and hung threads
>    To: "Sudarshan Soma" <sudarshan12s@...il.com>
>    Cc: linux-kernel@...r.kernel.org
>    Date: Saturday, 16 May, 2009, 6:45 AM
>
>    Sudarshan Soma wrote:
>    > Hi ,
>    > I have a program which will create multiple threads. One of the thread
>    > receives SIGSEGV and it prints stacktrace in its handler and calls
>    > _exit(-1). The call to exit wont terminate all threads in  a process
>    > and hence thread hangs here. This causes resouce leaks and other
>    > problems. It is seen only on linux 2.4.20.
>    >
>    > For printing stacktrace it uses
>    > __builtin_return_address and __builtin_frame_address
>    >
>    >
>    > The same program works fine on linux 2.6.26 kernel. It  will exit the
>    > whole process when one of its thread dies as above.
>    >
>    >
>    > Please let me know the patch details or any workaround, if any. This
>    > is a bit urgent, so please let me know for any pointers , if any
>    >
>    > Thanks and Best Regards,
>    > Pavan.
>
> [Robert]
>    That doesn't seem surprising, the old LinuxThreads thread
> implementation normally used with the 2.4 kernels was pretty poor.
> However it would likely be better to re-raise the signal rather than
> trying to exit out of the signal handler.
>
>
> [Pavan]
> Thanks Robert.
> using exit(-1) instead of exit(0) does terminate all the threads in
> the process in my sample program.  Please suggest if this workaround
> is safe for now.
>
> I would like to kill whole process(and its threads) when one of the
> thread gets SIGSEGV signal. Could you please eloborate , how could i
> achieve the same by raising SIGSEGV signal again..
>
> Best Regards,
> Pavan.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ