Module Name:    src
Committed By:   jdolecek
Date:           Tue Apr  7 16:10:48 UTC 2020

Modified Files:
        src/sys/arch/xen/include: xenbus.h
        src/sys/arch/xen/xenbus: xenbus_dev.c xenbus_xs.c

Log Message:
add wrapper to free response from xenbus_dev_request_and_reply(), so
that call in xenbus_dev_write() wouldn't need to know how it's allocated


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 src/sys/arch/xen/include/xenbus.h
cvs rdiff -u -r1.16 -r1.17 src/sys/arch/xen/xenbus/xenbus_dev.c
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/xen/xenbus/xenbus_xs.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/xen/include/xenbus.h
diff -u src/sys/arch/xen/include/xenbus.h:1.21 src/sys/arch/xen/include/xenbus.h:1.22
--- src/sys/arch/xen/include/xenbus.h:1.21	Tue Apr  7 15:59:57 2020
+++ src/sys/arch/xen/include/xenbus.h	Tue Apr  7 16:10:48 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: xenbus.h,v 1.21 2020/04/07 15:59:57 jdolecek Exp $ */
+/* $NetBSD: xenbus.h,v 1.22 2020/04/07 16:10:48 jdolecek Exp $ */
 /******************************************************************************
  * xenbus.h
  *
@@ -153,6 +153,7 @@ void xs_resume(void);
 
 /* Used by xenbus_dev to borrow kernel's store connection. */
 int xenbus_dev_request_and_reply(struct xsd_sockmsg *msg, void **);
+void xenbus_dev_reply_free(struct xsd_sockmsg *msg, void *);
 
 void xenbus_probe(void *);
 

Index: src/sys/arch/xen/xenbus/xenbus_dev.c
diff -u src/sys/arch/xen/xenbus/xenbus_dev.c:1.16 src/sys/arch/xen/xenbus/xenbus_dev.c:1.17
--- src/sys/arch/xen/xenbus/xenbus_dev.c:1.16	Tue Apr  7 15:43:42 2020
+++ src/sys/arch/xen/xenbus/xenbus_dev.c	Tue Apr  7 16:10:48 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: xenbus_dev.c,v 1.16 2020/04/07 15:43:42 jdolecek Exp $ */
+/* $NetBSD: xenbus_dev.c,v 1.17 2020/04/07 16:10:48 jdolecek Exp $ */
 /*
  * xenbus_dev.c
  * 
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xenbus_dev.c,v 1.16 2020/04/07 15:43:42 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xenbus_dev.c,v 1.17 2020/04/07 16:10:48 jdolecek Exp $");
 
 #include "opt_xen.h"
 
@@ -40,7 +40,6 @@ __KERNEL_RCSID(0, "$NetBSD: xenbus_dev.c
 #include <sys/errno.h>
 #include <sys/param.h>
 #include <sys/proc.h>
-#include <sys/malloc.h>
 #include <sys/systm.h>
 #include <sys/dirent.h>
 #include <sys/stat.h>
@@ -312,7 +311,8 @@ xenbus_dev_write(void *v)
 			queue_reply(xlwp, (char *)&xlwp->u.msg,
 						sizeof(xlwp->u.msg));
 			queue_reply(xlwp, (char *)reply, xlwp->u.msg.len);
-			free(reply, M_DEVBUF);
+
+			xenbus_dev_reply_free(&xlwp->u.msg, reply);
 		}
 		break;
 

Index: src/sys/arch/xen/xenbus/xenbus_xs.c
diff -u src/sys/arch/xen/xenbus/xenbus_xs.c:1.25 src/sys/arch/xen/xenbus/xenbus_xs.c:1.26
--- src/sys/arch/xen/xenbus/xenbus_xs.c:1.25	Tue Apr  7 15:59:57 2020
+++ src/sys/arch/xen/xenbus/xenbus_xs.c	Tue Apr  7 16:10:48 2020
@@ -1,4 +1,4 @@
-/* $NetBSD: xenbus_xs.c,v 1.25 2020/04/07 15:59:57 jdolecek Exp $ */
+/* $NetBSD: xenbus_xs.c,v 1.26 2020/04/07 16:10:48 jdolecek Exp $ */
 /******************************************************************************
  * xenbus_xs.c
  *
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xenbus_xs.c,v 1.25 2020/04/07 15:59:57 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xenbus_xs.c,v 1.26 2020/04/07 16:10:48 jdolecek Exp $");
 
 #if 0
 #define DPRINTK(fmt, args...) \
@@ -175,6 +175,12 @@ xenbus_dev_request_and_reply(struct xsd_
 	return err;
 }
 
+void
+xenbus_dev_reply_free(struct xsd_sockmsg *msg, void *reply)
+{
+	free(reply, M_DEVBUF);
+}
+
 /* Send message to xs, get kmalloc'ed reply.  ERR_PTR() on error. */
 static int
 xs_talkv(struct xenbus_transaction *t,

Reply via email to