Re: insecure signal handler design

From: Michal Zalewski (lcamtufat_private)
Date: Thu May 31 2001 - 05:23:51 PDT

  • Next message: Bronek Kozicki: "Re: insecure signal handler design"

    On Thu, 31 May 2001, Bronek Kozicki wrote:
    
    > There are many differencies in handling signals in Win32 ad *nixes. I must
    > admit I do not know much about it in *nix but from Michal's article I
    > understand (someone pls. correct me if I'm wrong), that function handling
    > signal is called from the "external" process or thread. And this can result
    > in multithreaded execution of the function, which can cause problems (unless
    > function is aware of multithreaded execution).
    
    Not really. Upon delivery of asynchronous signal, current execution
    parameters are saved on the process stack, and defined signal handler is
    called. Then, when return is reached, original execution path is restored.
    This signal delivery process is handled by kernel-space, and can be
    controlled in numerous ways (signal delivery can be blocked, ignored,
    etc), but is asynchronous, so it can be delivered anywhere - in the middle
    of data modification or whatever...
    
    -- 
    _____________________________________________________
    Michal Zalewski [lcamtufat_private] [security]
    [http://lcamtuf.coredump.cx] <=-=> bash$ :(){ :|:&};:
    =-=> Did you know that clones never use mirrors? <=-=
    



    This archive was generated by hypermail 2b30 : Thu May 31 2001 - 13:15:18 PDT