]> Pileus Git - ~andy/linux/blobdiff - net/sunrpc/addr.c
SUNRPC: Fix rpc_sockaddr2uaddr
[~andy/linux] / net / sunrpc / addr.c
index 4195233c49141d90d95a5b46bb56eab0fafdcbda..23cd19d45ab3fa1e61df21c046b77bce3ac5a623 100644 (file)
@@ -255,12 +255,13 @@ EXPORT_SYMBOL_GPL(rpc_pton);
 /**
  * rpc_sockaddr2uaddr - Construct a universal address string from @sap.
  * @sap: socket address
+ * @gfp_flags: allocation mode
  *
  * Returns a %NUL-terminated string in dynamically allocated memory;
  * otherwise NULL is returned if an error occurred.  Caller must
  * free the returned string.
  */
-char *rpc_sockaddr2uaddr(const struct sockaddr *sap)
+char *rpc_sockaddr2uaddr(const struct sockaddr *sap, gfp_t gfp_flags)
 {
        char portbuf[RPCBIND_MAXUADDRPLEN];
        char addrbuf[RPCBIND_MAXUADDRLEN];
@@ -288,7 +289,7 @@ char *rpc_sockaddr2uaddr(const struct sockaddr *sap)
        if (strlcat(addrbuf, portbuf, sizeof(addrbuf)) > sizeof(addrbuf))
                return NULL;
 
-       return kstrdup(addrbuf, GFP_KERNEL);
+       return kstrdup(addrbuf, gfp_flags);
 }
 EXPORT_SYMBOL_GPL(rpc_sockaddr2uaddr);