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,