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);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to