Feb. 24, 2012
10:24 a.m.
On 2012-02-24 12:15:03 (+0200), Kosta Zertsekel <zertsekel@gmail.com> wrote:
I think of user land program opening a socket and crashing on segmentation fault. In code 'socket' syscall does: sock_map_fd --> sock_alloc_file --> alloc_file --> ... get lost ... Where exactly in this case lock is held - I mean the lock that gets released when user land process dies?
In this case there doesn't appear to be any lock. The sock_map_fd function is most probably called from the socket syscall. This call isn't locked. Multiple processes can be in the socket syscall at the same time. There certainly won't be a (kernel) lock which is held between two system calls. Regards, Kristof