Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Nov 2020 01:19:14 +0000 (UTC)
From:      Conrad Meyer <cem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r367288 - head/sys/compat/linux
Message-ID:  <202011030119.0A31JEdb042383@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: cem
Date: Tue Nov  3 01:19:13 2020
New Revision: 367288
URL: https://svnweb.freebsd.org/changeset/base/367288

Log:
  linux(4): Emulate Linux SOL_SOCKET:SO_PASSCRED
  
  This is required by some major linux applications, such as Chrome and
  Firefox.  (As well as Electron-using applications, which are essentially
  a bundled version of Chrome.)
  
  Reviewed by:	markj
  Differential Revision:	https://reviews.freebsd.org/D27012

Modified:
  head/sys/compat/linux/linux_socket.c

Modified: head/sys/compat/linux/linux_socket.c
==============================================================================
--- head/sys/compat/linux/linux_socket.c	Tue Nov  3 01:17:45 2020	(r367287)
+++ head/sys/compat/linux/linux_socket.c	Tue Nov  3 01:19:13 2020	(r367288)
@@ -222,6 +222,8 @@ linux_to_bsd_so_sockopt(int opt)
 		return (SO_LINGER);
 	case LINUX_SO_REUSEPORT:
 		return (SO_REUSEPORT_LB);
+	case LINUX_SO_PASSCRED:
+		return (LOCAL_CREDS_PERSISTENT);
 	case LINUX_SO_PEERCRED:
 		return (LOCAL_PEERCRED);
 	case LINUX_SO_RCVLOWAT:
@@ -1445,6 +1447,9 @@ linux_setsockopt(struct thread *td, struct linux_setso
 	case SOL_SOCKET:
 		name = linux_to_bsd_so_sockopt(args->optname);
 		switch (name) {
+		case LOCAL_CREDS_PERSISTENT:
+			level = SOL_LOCAL;
+			break;
 		case SO_RCVTIMEO:
 			/* FALLTHROUGH */
 		case SO_SNDTIMEO:
@@ -1522,6 +1527,9 @@ linux_getsockopt(struct thread *td, struct linux_getso
 	case SOL_SOCKET:
 		name = linux_to_bsd_so_sockopt(args->optname);
 		switch (name) {
+		case LOCAL_CREDS_PERSISTENT:
+			level = SOL_LOCAL;
+			break;
 		case SO_RCVTIMEO:
 			/* FALLTHROUGH */
 		case SO_SNDTIMEO:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202011030119.0A31JEdb042383>