Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Oct 2011 20:20:30 +0000 (UTC)
From:      Jung-uk Kim <jkim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r226069 - head/sys/compat/linux
Message-ID:  <201110062020.p96KKU2a076135@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jkim
Date: Thu Oct  6 20:20:30 2011
New Revision: 226069
URL: http://svn.freebsd.org/changeset/base/226069

Log:
  Inline do_sa_get() function and remove an unused return value.

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

Modified: head/sys/compat/linux/linux_socket.c
==============================================================================
--- head/sys/compat/linux/linux_socket.c	Thu Oct  6 19:59:14 2011	(r226068)
+++ head/sys/compat/linux/linux_socket.c	Thu Oct  6 20:20:30 2011	(r226069)
@@ -72,29 +72,16 @@ __FBSDID("$FreeBSD$");
 #include <compat/linux/linux_socket.h>
 #include <compat/linux/linux_util.h>
 
-static int do_sa_get(struct sockaddr **, const struct osockaddr *, int *,
-    struct malloc_type *);
 static int linux_to_bsd_domain(int);
 
 /*
  * Reads a linux sockaddr and does any necessary translation.
  * Linux sockaddrs don't have a length field, only a family.
- */
-static int
-linux_getsockaddr(struct sockaddr **sap, const struct osockaddr *osa, int len)
-{
-	int osalen = len;
-
-	return (do_sa_get(sap, osa, &osalen, M_SONAME));
-}
-
-/*
  * Copy the osockaddr structure pointed to by osa to kernel, adjust
  * family and convert to sockaddr.
  */
 static int
-do_sa_get(struct sockaddr **sap, const struct osockaddr *osa, int *osalen,
-    struct malloc_type *mtype)
+linux_getsockaddr(struct sockaddr **sap, const struct osockaddr *osa, int osalen)
 {
 	int error=0, bdom;
 	struct sockaddr *sa;
@@ -105,10 +92,10 @@ do_sa_get(struct sockaddr **sap, const s
 #endif
 	int alloclen, hdrlen, namelen;
 
-	if (*osalen < 2 || *osalen > UCHAR_MAX || !osa)
+	if (osalen < 2 || osalen > UCHAR_MAX || !osa)
 		return (EINVAL);
 
-	alloclen = *osalen;
+	alloclen = osalen;
 #ifdef INET6
 	oldv6size = 0;
 	/*
@@ -122,9 +109,9 @@ do_sa_get(struct sockaddr **sap, const s
 	}
 #endif
 
-	kosa = malloc(alloclen, mtype, M_WAITOK);
+	kosa = malloc(alloclen, M_SONAME, M_WAITOK);
 
-	if ((error = copyin(osa, kosa, *osalen)))
+	if ((error = copyin(osa, kosa, osalen)))
 		goto out;
 
 	bdom = linux_to_bsd_domain(kosa->sa_family);
@@ -160,16 +147,16 @@ do_sa_get(struct sockaddr **sap, const s
 #endif
 	if (bdom == AF_INET) {
 		alloclen = sizeof(struct sockaddr_in);
-		if (*osalen < alloclen) {
+		if (osalen < alloclen) {
 			error = EINVAL;
 			goto out;
 		}
 	}
 
-	if (bdom == AF_LOCAL && *osalen > sizeof(struct sockaddr_un)) {
+	if (bdom == AF_LOCAL && osalen > sizeof(struct sockaddr_un)) {
 		hdrlen = offsetof(struct sockaddr_un, sun_path);
 		namelen = strnlen(((struct sockaddr_un *)kosa)->sun_path,
-		    *osalen - hdrlen);
+		    osalen - hdrlen);
 		if (hdrlen + namelen > sizeof(struct sockaddr_un)) {
 			error = EINVAL;
 			goto out;
@@ -182,11 +169,10 @@ do_sa_get(struct sockaddr **sap, const s
 	sa->sa_len = alloclen;
 
 	*sap = sa;
-	*osalen = alloclen;
 	return (0);
 
 out:
-	free(kosa, mtype);
+	free(kosa, M_SONAME);
 	return (error);
 }
 



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