svn commit: r343293 - stable/12/sys/compat/linux

Mark Johnston markj at FreeBSD.org
Tue Jan 22 02:02:13 UTC 2019


Author: markj
Date: Tue Jan 22 02:02:12 2019
New Revision: 343293
URL: https://svnweb.freebsd.org/changeset/base/343293

Log:
  MFC r342864:
  Specify the correct option level when emulating SO_PEERCRED.
  
  PR:	234722

Modified:
  stable/12/sys/compat/linux/linux_socket.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sys/compat/linux/linux_socket.c
==============================================================================
--- stable/12/sys/compat/linux/linux_socket.c	Tue Jan 22 01:44:47 2019	(r343292)
+++ stable/12/sys/compat/linux/linux_socket.c	Tue Jan 22 02:02:12 2019	(r343293)
@@ -1632,6 +1632,11 @@ linux_getsockopt(struct thread *td, struct linux_getso
 		case LOCAL_PEERCRED:
 			if (args->optlen < sizeof(lxu))
 				return (EINVAL);
+			/*
+			 * LOCAL_PEERCRED is not served at the SOL_SOCKET level,
+			 * but by the Unix socket's level 0.
+			 */
+			bsd_args.level = 0;
 			xulen = sizeof(xu);
 			error = kern_getsockopt(td, args->s, bsd_args.level,
 			    name, &xu, UIO_SYSSPACE, &xulen);


More information about the svn-src-all mailing list