svn commit: r321325 - head/sys/kern

Michael Tuexen tuexen at FreeBSD.org
Fri Jul 21 07:44:44 UTC 2017


Author: tuexen
Date: Fri Jul 21 07:44:43 2017
New Revision: 321325
URL: https://svnweb.freebsd.org/changeset/base/321325

Log:
  Fix getsockopt() for listening sockets when using SO_SNDBUF, SO_RCVBUF,
  SO_SNDLOWAT, SO_RCVLOWAT. Since r31972 it only worked for non-listening
  sockets.
  
  Sponsored by:	Netflix, Inc.

Modified:
  head/sys/kern/uipc_socket.c

Modified: head/sys/kern/uipc_socket.c
==============================================================================
--- head/sys/kern/uipc_socket.c	Fri Jul 21 06:56:06 2017	(r321324)
+++ head/sys/kern/uipc_socket.c	Fri Jul 21 07:44:43 2017	(r321325)
@@ -3020,19 +3020,23 @@ integer:
 			goto integer;
 
 		case SO_SNDBUF:
-			optval = so->so_snd.sb_hiwat;
+			optval = SOLISTENING(so) ? so->sol_sbsnd_hiwat :
+			    so->so_snd.sb_hiwat;
 			goto integer;
 
 		case SO_RCVBUF:
-			optval = so->so_rcv.sb_hiwat;
+			optval = SOLISTENING(so) ? so->sol_sbrcv_hiwat :
+			    so->so_rcv.sb_hiwat;
 			goto integer;
 
 		case SO_SNDLOWAT:
-			optval = so->so_snd.sb_lowat;
+			optval = SOLISTENING(so) ? so->sol_sbsnd_lowat :
+			    so->so_snd.sb_lowat;
 			goto integer;
 
 		case SO_RCVLOWAT:
-			optval = so->so_rcv.sb_lowat;
+			optval = SOLISTENING(so) ? so->sol_sbrcv_lowat :
+			    so->so_rcv.sb_lowat;
 			goto integer;
 
 		case SO_SNDTIMEO:


More information about the svn-src-all mailing list