Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Jun 2016 07:38:57 +0000 (UTC)
From:      Dmitry Chagin <dchagin@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r301429 - stable/10/sys/compat/linux
Message-ID:  <201606050738.u557cvQQ074251@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dchagin
Date: Sun Jun  5 07:38:56 2016
New Revision: 301429
URL: https://svnweb.freebsd.org/changeset/base/301429

Log:
  MFC r300416:
  
  Add a missing errno translation for SO_ERROR optname.
  
  PR:		135458
  Reported by:	Stefan Schmidt

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

Modified: stable/10/sys/compat/linux/linux_socket.c
==============================================================================
--- stable/10/sys/compat/linux/linux_socket.c	Sun Jun  5 07:34:10 2016	(r301428)
+++ stable/10/sys/compat/linux/linux_socket.c	Sun Jun  5 07:38:56 2016	(r301429)
@@ -1594,10 +1594,10 @@ linux_getsockopt(struct thread *td, stru
 	} */ bsd_args;
 	l_timeval linux_tv;
 	struct timeval tv;
-	socklen_t tv_len, xulen;
+	socklen_t tv_len, xulen, len;
 	struct xucred xu;
 	struct l_ucred lxu;
-	int error, name;
+	int error, name, newval;
 
 	bsd_args.s = args->s;
 	bsd_args.level = linux_to_bsd_sockopt_level(args->level);
@@ -1636,6 +1636,15 @@ linux_getsockopt(struct thread *td, stru
 			return (copyout(&lxu, PTRIN(args->optval), sizeof(lxu)));
 			/* NOTREACHED */
 			break;
+		case SO_ERROR:
+			len = sizeof(newval);
+			error = kern_getsockopt(td, args->s, bsd_args.level,
+			    name, &newval, UIO_SYSSPACE, &len);
+			if (error)
+				return (error);
+			newval = -SV_ABI_ERRNO(td->td_proc, newval);
+			return (copyout(&newval, PTRIN(args->optval), len));
+			/* NOTREACHED */
 		default:
 			break;
 		}



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