As we know, we can use
setsocketopt api to alter the socket's buffer size.
Since the socket fd is created by user process, does it occupy process memory address, like the top 1G kernal space in each process 4G virtual address for 32-bit machine?
And when socket is closed, it seems that the fd is not released until 2MSL time elapsed, which will cause the buffer to exist for longer time.
To clarify, my question is: Is the socket buffer mapped to the user virtual address space of the process?