Module Name:    src
Committed By:   bouyer
Date:           Thu Apr  9 15:54:41 UTC 2020

Modified Files:
        src/sys/arch/xen/xen: xengnt.c

Log Message:
xengnt_more_entries() can be called from interrupt context so use
kmem_intr_alloc()/free() here


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 src/sys/arch/xen/xen/xengnt.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/xen/xengnt.c
diff -u src/sys/arch/xen/xen/xengnt.c:1.29 src/sys/arch/xen/xen/xengnt.c:1.30
--- src/sys/arch/xen/xen/xengnt.c:1.29	Tue Apr  7 09:05:14 2020
+++ src/sys/arch/xen/xen/xengnt.c	Thu Apr  9 15:54:41 2020
@@ -1,4 +1,4 @@
-/*      $NetBSD: xengnt.c,v 1.29 2020/04/07 09:05:14 jdolecek Exp $      */
+/*      $NetBSD: xengnt.c,v 1.30 2020/04/09 15:54:41 bouyer Exp $      */
 
 /*
  * Copyright (c) 2006 Manuel Bouyer.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: xengnt.c,v 1.29 2020/04/07 09:05:14 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: xengnt.c,v 1.30 2020/04/09 15:54:41 bouyer Exp $");
 
 #include <sys/types.h>
 #include <sys/param.h>
@@ -170,7 +170,7 @@ xengnt_more_entries(void)
 		return ENOMEM;
 
 	sz = nframes_new * sizeof(u_long);
-	pages = kmem_alloc(sz, KM_NOSLEEP);
+	pages = kmem_intr_alloc(sz, KM_NOSLEEP);
 	if (pages == NULL)
 		return ENOMEM;
 
@@ -209,7 +209,7 @@ xengnt_more_entries(void)
 		if (setup.status != GNTST_okay) {
 			aprint_error("%s: setup table returned %d\n",
 			    __func__, setup.status);
-			kmem_free(pages, sz);
+			kmem_intr_free(pages, sz);
 			return ENOMEM;
 		}
 	}
@@ -244,7 +244,7 @@ xengnt_more_entries(void)
 		last_gnt_entry++;
 	}
 	gnt_nr_grant_frames = nframes_new;
-	kmem_free(pages, sz);
+	kmem_intr_free(pages, sz);
 	return 0;
 }
 

Reply via email to