On Mon, Jan 03, 2022 at 07:49:33PM +0300, Vitaliy Makkoveev wrote:
> Subj. The getpeername(2) sysckall is pretty simple. For inet and unix
> sockets it follows the code which was already unlocked with accept(2)
> unlocking. Just copy the 'sockaddr' structure containing the peer
> address. For key management and route domain sockets it just copies the
> read-only global 'sockaddr' structure.
>
> ok?
OK bluhm@
> Index: sys/kern/syscalls.master
> ===================================================================
> RCS file: /cvs/src/sys/kern/syscalls.master,v
> retrieving revision 1.221
> diff -u -p -r1.221 syscalls.master
> --- sys/kern/syscalls.master 23 Dec 2021 18:50:31 -0000 1.221
> +++ sys/kern/syscalls.master 3 Jan 2022 16:39:02 -0000
> @@ -97,7 +97,7 @@
> socklen_t *fromlenaddr); }
> 30 STD NOLOCK { int sys_accept(int s, struct sockaddr *name, \
> socklen_t *anamelen); }
> -31 STD { int sys_getpeername(int fdes, struct sockaddr *asa, \
> +31 STD NOLOCK { int sys_getpeername(int fdes, struct sockaddr *asa, \
> socklen_t *alen); }
> 32 STD { int sys_getsockname(int fdes, struct sockaddr *asa, \
> socklen_t *alen); }