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; }