Module Name:    src
Committed By:   chs
Date:           Tue Oct  1 18:00:09 UTC 2019

Modified Files:
        src/sys/arch/aarch64/aarch64: cpufunc.c
        src/sys/arch/arm/altera: cycv_clkmgr.c
        src/sys/arch/arm/arm: undefined.c
        src/sys/arch/ia64/ia64: cpu.c
        src/sys/arch/luna68k/dev: siotty.c
        src/sys/arch/sgimips/mace: macekbc.c
        src/sys/arch/sparc/sparc: cpu.c
        src/sys/arch/sparc64/dev: ldc.c schizo.c vdsk.c
        src/sys/arch/sparc64/sparc64: cpu.c
        src/sys/arch/x86/x86: genfb_machdep.c
        src/sys/dev/acpi: acpi_srat.c
        src/sys/dev/hyperv: hvkbd.c hvs.c if_hvn.c vmbusic.c
        src/sys/dev/i2c: ihidev.c sdtemp.c
        src/sys/dev/iscsi: iscsi_main.c
        src/sys/dev/nand: nandemulator.c
        src/sys/dev/pci: arcmsr.c if_vioif.c pciconf.c virtio.c
        src/sys/dev/usb: uvideo.c
        src/sys/netinet: tcp_vtw.c
        src/sys/opencrypto: crypto.c

Log Message:
in many device attach paths, allocate memory with KM_SLEEP instead of KM_NOSLEEP
and remove code to handle failures that can no longer happen.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/sys/arch/aarch64/aarch64/cpufunc.c
cvs rdiff -u -r1.2 -r1.3 src/sys/arch/arm/altera/cycv_clkmgr.c
cvs rdiff -u -r1.65 -r1.66 src/sys/arch/arm/arm/undefined.c
cvs rdiff -u -r1.15 -r1.16 src/sys/arch/ia64/ia64/cpu.c
cvs rdiff -u -r1.45 -r1.46 src/sys/arch/luna68k/dev/siotty.c
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/sgimips/mace/macekbc.c
cvs rdiff -u -r1.254 -r1.255 src/sys/arch/sparc/sparc/cpu.c
cvs rdiff -u -r1.4 -r1.5 src/sys/arch/sparc64/dev/ldc.c
cvs rdiff -u -r1.41 -r1.42 src/sys/arch/sparc64/dev/schizo.c
cvs rdiff -u -r1.3 -r1.4 src/sys/arch/sparc64/dev/vdsk.c
cvs rdiff -u -r1.135 -r1.136 src/sys/arch/sparc64/sparc64/cpu.c
cvs rdiff -u -r1.13 -r1.14 src/sys/arch/x86/x86/genfb_machdep.c
cvs rdiff -u -r1.5 -r1.6 src/sys/dev/acpi/acpi_srat.c
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/hyperv/hvkbd.c
cvs rdiff -u -r1.1 -r1.2 src/sys/dev/hyperv/hvs.c \
    src/sys/dev/hyperv/vmbusic.c
cvs rdiff -u -r1.4 -r1.5 src/sys/dev/hyperv/if_hvn.c
cvs rdiff -u -r1.8 -r1.9 src/sys/dev/i2c/ihidev.c
cvs rdiff -u -r1.35 -r1.36 src/sys/dev/i2c/sdtemp.c
cvs rdiff -u -r1.31 -r1.32 src/sys/dev/iscsi/iscsi_main.c
cvs rdiff -u -r1.8 -r1.9 src/sys/dev/nand/nandemulator.c
cvs rdiff -u -r1.39 -r1.40 src/sys/dev/pci/arcmsr.c
cvs rdiff -u -r1.50 -r1.51 src/sys/dev/pci/if_vioif.c
cvs rdiff -u -r1.41 -r1.42 src/sys/dev/pci/pciconf.c
cvs rdiff -u -r1.37 -r1.38 src/sys/dev/pci/virtio.c
cvs rdiff -u -r1.48 -r1.49 src/sys/dev/usb/uvideo.c
cvs rdiff -u -r1.19 -r1.20 src/sys/netinet/tcp_vtw.c
cvs rdiff -u -r1.108 -r1.109 src/sys/opencrypto/crypto.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/aarch64/aarch64/cpufunc.c
diff -u src/sys/arch/aarch64/aarch64/cpufunc.c:1.6 src/sys/arch/aarch64/aarch64/cpufunc.c:1.7
--- src/sys/arch/aarch64/aarch64/cpufunc.c:1.6	Thu Sep 12 09:05:28 2019
+++ src/sys/arch/aarch64/aarch64/cpufunc.c	Tue Oct  1 18:00:07 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpufunc.c,v 1.6 2019/09/12 09:05:28 jmcneill Exp $	*/
+/*	$NetBSD: cpufunc.c,v 1.7 2019/10/01 18:00:07 chs Exp $	*/
 
 /*
  * Copyright (c) 2017 Ryo Shimizu <r...@nerv.org>
@@ -29,7 +29,7 @@
 #include "opt_multiprocessor.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.6 2019/09/12 09:05:28 jmcneill Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpufunc.c,v 1.7 2019/10/01 18:00:07 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/types.h>
@@ -107,8 +107,7 @@ aarch64_getcacheinfo(void)
 
 	cinfo = aarch64_cacheinfo[curcpu()->ci_package_id] =
 	    kmem_zalloc(sizeof(struct aarch64_cache_info) * MAX_CACHE_LEVEL,
-	    KM_NOSLEEP);
-	KASSERT(cinfo != NULL);
+	    KM_SLEEP);
 	curcpu()->ci_cacheinfo = cinfo;
 
 

Index: src/sys/arch/arm/altera/cycv_clkmgr.c
diff -u src/sys/arch/arm/altera/cycv_clkmgr.c:1.2 src/sys/arch/arm/altera/cycv_clkmgr.c:1.3
--- src/sys/arch/arm/altera/cycv_clkmgr.c:1.2	Thu Jan 17 12:49:53 2019
+++ src/sys/arch/arm/altera/cycv_clkmgr.c	Tue Oct  1 18:00:07 2019
@@ -1,9 +1,9 @@
-/* $NetBSD: cycv_clkmgr.c,v 1.2 2019/01/17 12:49:53 skrll Exp $ */
+/* $NetBSD: cycv_clkmgr.c,v 1.3 2019/10/01 18:00:07 chs Exp $ */
 
 /* This file is in the public domain. */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cycv_clkmgr.c,v 1.2 2019/01/17 12:49:53 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cycv_clkmgr.c,v 1.3 2019/10/01 18:00:07 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -166,13 +166,7 @@ cycv_clkmgr_init(struct cycv_clkmgr_soft
 						     0);
 
 	sc->sc_clocks = kmem_zalloc(sc->sc_nclocks * sizeof *sc->sc_clocks,
-				    KM_NOSLEEP);
-	if (sc->sc_clocks == NULL) {
-		aprint_error_dev(sc->sc_dev, "no memory\n");
-		sc->sc_nclocks = 0;
-		return;
-	}
-
+				    KM_SLEEP);
 	cycv_clkmgr_clocks_traverse(sc, clocks_handle, cycv_clkmgr_clock_parse,
 				    0);
 

Index: src/sys/arch/arm/arm/undefined.c
diff -u src/sys/arch/arm/arm/undefined.c:1.65 src/sys/arch/arm/arm/undefined.c:1.66
--- src/sys/arch/arm/arm/undefined.c:1.65	Sat Apr  6 03:06:24 2019
+++ src/sys/arch/arm/arm/undefined.c	Tue Oct  1 18:00:07 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: undefined.c,v 1.65 2019/04/06 03:06:24 thorpej Exp $	*/
+/*	$NetBSD: undefined.c,v 1.66 2019/10/01 18:00:07 chs Exp $	*/
 
 /*
  * Copyright (c) 2001 Ben Harris.
@@ -55,7 +55,7 @@
 #include <sys/kgdb.h>
 #endif
 
-__KERNEL_RCSID(0, "$NetBSD: undefined.c,v 1.65 2019/04/06 03:06:24 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: undefined.c,v 1.66 2019/10/01 18:00:07 chs Exp $");
 
 #include <sys/kmem.h>
 #include <sys/queue.h>
@@ -98,8 +98,7 @@ install_coproc_handler(int coproc, undef
 	KASSERT(coproc >= 0 && coproc < NUM_UNKNOWN_HANDLERS);
 	KASSERT(handler != NULL); /* Used to be legal. */
 
-	uh = kmem_alloc(sizeof(*uh), KM_NOSLEEP);
-	KASSERT(uh != NULL);
+	uh = kmem_alloc(sizeof(*uh), KM_SLEEP);
 	uh->uh_handler = handler;
 	install_coproc_handler_static(coproc, uh);
 	return uh;

Index: src/sys/arch/ia64/ia64/cpu.c
diff -u src/sys/arch/ia64/ia64/cpu.c:1.15 src/sys/arch/ia64/ia64/cpu.c:1.16
--- src/sys/arch/ia64/ia64/cpu.c:1.15	Sat Apr  8 17:40:50 2017
+++ src/sys/arch/ia64/ia64/cpu.c	Tue Oct  1 18:00:07 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.c,v 1.15 2017/04/08 17:40:50 scole Exp $	*/
+/*	$NetBSD: cpu.c,v 1.16 2019/10/01 18:00:07 chs Exp $	*/
 
 /*
  * Copyright (c) 2006 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.15 2017/04/08 17:40:50 scole Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.16 2019/10/01 18:00:07 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/cpu.h>
@@ -94,11 +94,7 @@ cpu_attach(device_t parent, device_t sel
 	if (id == sapic->Id && eid == sapic->Eid)
 		ci = curcpu();
 	else {
-		ci = (struct cpu_info *)kmem_zalloc(sizeof(*ci), KM_NOSLEEP);
-		if (ci == NULL) {
-			aprint_error_dev(self, "memory alloc failed\n");
-			return;
-		}
+		ci = (struct cpu_info *)kmem_zalloc(sizeof(*ci), KM_SLEEP);
 	}
 	sc->sc_info = ci;
 

Index: src/sys/arch/luna68k/dev/siotty.c
diff -u src/sys/arch/luna68k/dev/siotty.c:1.45 src/sys/arch/luna68k/dev/siotty.c:1.46
--- src/sys/arch/luna68k/dev/siotty.c:1.45	Sun Jun 30 02:11:56 2019
+++ src/sys/arch/luna68k/dev/siotty.c	Tue Oct  1 18:00:07 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: siotty.c,v 1.45 2019/06/30 02:11:56 tsutsui Exp $ */
+/* $NetBSD: siotty.c,v 1.46 2019/10/01 18:00:07 chs Exp $ */
 
 /*-
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -31,7 +31,7 @@
 
 #include <sys/cdefs.h>			/* RCS ID & Copyright macro defns */
 
-__KERNEL_RCSID(0, "$NetBSD: siotty.c,v 1.45 2019/06/30 02:11:56 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: siotty.c,v 1.46 2019/10/01 18:00:07 chs Exp $");
 
 #include "opt_ddb.h"
 
@@ -188,11 +188,7 @@ siotty_attach(device_t parent, device_t 
 
 	aprint_normal("\n");
 
-	sc->sc_rbuf = kmem_alloc(siotty_rbuf_size * 2, KM_NOSLEEP);
-	if (sc->sc_rbuf == NULL) {
-		aprint_error_dev(self, "unable to allocate ring buffer\n");
-		return;
-	}
+	sc->sc_rbuf = kmem_alloc(siotty_rbuf_size * 2, KM_SLEEP);
 	sc->sc_rbufend = sc->sc_rbuf + (siotty_rbuf_size * 2);
 	sc->sc_rbput = sc->sc_rbget = sc->sc_rbuf;
 	sc->sc_rbavail = siotty_rbuf_size;

Index: src/sys/arch/sgimips/mace/macekbc.c
diff -u src/sys/arch/sgimips/mace/macekbc.c:1.8 src/sys/arch/sgimips/mace/macekbc.c:1.9
--- src/sys/arch/sgimips/mace/macekbc.c:1.8	Sat Apr  4 14:19:00 2015
+++ src/sys/arch/sgimips/mace/macekbc.c	Tue Oct  1 18:00:07 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: macekbc.c,v 1.8 2015/04/04 14:19:00 macallan Exp $ */
+/* $NetBSD: macekbc.c,v 1.9 2019/10/01 18:00:07 chs Exp $ */
 
 /*-
  * Copyright (c) 2007 Jared D. McNeill <jmcne...@invisible.ca>
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: macekbc.c,v 1.8 2015/04/04 14:19:00 macallan Exp $");
+__KERNEL_RCSID(0, "$NetBSD: macekbc.c,v 1.9 2019/10/01 18:00:07 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -125,11 +125,7 @@ macekbc_attach(device_t parent, device_t
 	aprint_normal(": PS2 controller\n");
 	aprint_naive("\n");
 
-	t = kmem_alloc(sizeof(struct macekbc_internal), KM_NOSLEEP);
-	if (t == NULL) {
-		aprint_error("%s: not enough memory\n", device_xname(self));
-		return;
-	}
+	t = kmem_alloc(sizeof(struct macekbc_internal), KM_SLEEP);
 	t->t_iot = maa->maa_st;
 	for (slot = 0; slot < PCKBPORT_NSLOTS; slot++)
 		t->t_present[slot] = 0;

Index: src/sys/arch/sparc/sparc/cpu.c
diff -u src/sys/arch/sparc/sparc/cpu.c:1.254 src/sys/arch/sparc/sparc/cpu.c:1.255
--- src/sys/arch/sparc/sparc/cpu.c:1.254	Mon Sep  3 16:29:27 2018
+++ src/sys/arch/sparc/sparc/cpu.c	Tue Oct  1 18:00:07 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.c,v 1.254 2018/09/03 16:29:27 riastradh Exp $ */
+/*	$NetBSD: cpu.c,v 1.255 2019/10/01 18:00:07 chs Exp $ */
 
 /*
  * Copyright (c) 1996
@@ -52,7 +52,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.254 2018/09/03 16:29:27 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.255 2019/10/01 18:00:07 chs Exp $");
 
 #include "opt_multiprocessor.h"
 #include "opt_lockdebug.h"
@@ -2095,7 +2095,7 @@ getcpuinfo(struct cpu_info *sc, int node
 					       sizeof namebuf);
 		if (cpu_name && cpu_name[0])
 			sc->cpu_longname = kmem_strdupsize(cpu_name, NULL,
-							   KM_NOSLEEP);
+							   KM_SLEEP);
 	}
 
 	for (mp = cpu_conf; ; mp++) {

Index: src/sys/arch/sparc64/dev/ldc.c
diff -u src/sys/arch/sparc64/dev/ldc.c:1.4 src/sys/arch/sparc64/dev/ldc.c:1.5
--- src/sys/arch/sparc64/dev/ldc.c:1.4	Mon Sep  3 16:29:27 2018
+++ src/sys/arch/sparc64/dev/ldc.c	Tue Oct  1 18:00:07 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: ldc.c,v 1.4 2018/09/03 16:29:27 riastradh Exp $	*/
+/*	$NetBSD: ldc.c,v 1.5 2019/10/01 18:00:07 chs Exp $	*/
 /*	$OpenBSD: ldc.c,v 1.12 2015/03/21 18:02:58 kettenis Exp $	*/
 /*
  * Copyright (c) 2009 Mark Kettenis
@@ -529,9 +529,7 @@ ldc_queue_alloc(int nentries)
 	int nsegs;
 #endif
 
-	lq = kmem_zalloc(sizeof(struct ldc_queue), KM_NOSLEEP);
-	if (lq == NULL)
-		return NULL;
+	lq = kmem_zalloc(sizeof(struct ldc_queue), KM_SLEEP);
 
 	mutex_init(&lq->lq_mtx, MUTEX_DEFAULT, IPL_TTY);
 
@@ -553,9 +551,7 @@ ldc_queue_alloc(int nentries)
 	    BUS_DMA_NOWAIT) != 0)
 		goto unmap;
 #else
-	 va = (vaddr_t)kmem_zalloc(size, KM_NOSLEEP);
-	 if (va == 0)
-		goto free;
+	va = (vaddr_t)kmem_zalloc(size, KM_SLEEP);
 #endif
 	lq->lq_va = (vaddr_t)va;
 	lq->lq_nentries = nentries;
@@ -567,9 +563,6 @@ free:
 	bus_dmamem_free(t, &lq->lq_seg, 1);
 destroy:
 	bus_dmamap_destroy(t, lq->lq_map);
-#else
-free:
-	kmem_free(lq, sizeof(struct ldc_queue));
 #endif
 	return (NULL);
 }

Index: src/sys/arch/sparc64/dev/schizo.c
diff -u src/sys/arch/sparc64/dev/schizo.c:1.41 src/sys/arch/sparc64/dev/schizo.c:1.42
--- src/sys/arch/sparc64/dev/schizo.c:1.41	Sat Feb  9 11:27:05 2019
+++ src/sys/arch/sparc64/dev/schizo.c	Tue Oct  1 18:00:07 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: schizo.c,v 1.41 2019/02/09 11:27:05 mrg Exp $	*/
+/*	$NetBSD: schizo.c,v 1.42 2019/10/01 18:00:07 chs Exp $	*/
 /*	$OpenBSD: schizo.c,v 1.55 2008/08/18 20:29:37 brad Exp $	*/
 
 /*
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: schizo.c,v 1.41 2019/02/09 11:27:05 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: schizo.c,v 1.42 2019/10/01 18:00:07 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/device.h>
@@ -180,10 +180,7 @@ schizo_attach(device_t parent, device_t 
 		   SCZ_ECCCTRL_CE_INTEN;
 	schizo_write(sc, SCZ_ECCCTRL, eccctrl);
 
-	pbm = kmem_zalloc(sizeof(*pbm), KM_NOSLEEP);
-	if (pbm == NULL)
-		panic("schizo: can't alloc schizo pbm");
-
+	pbm = kmem_zalloc(sizeof(*pbm), KM_SLEEP);
 #ifdef DEBUG
 	sc->sc_pbm = pbm;
 #endif
@@ -281,9 +278,7 @@ schizo_attach(device_t parent, device_t 
 	    &_sparc_pci_chipset);
 	pbm->sp_pc->spc_busmax = busranges[1];
 	pbm->sp_pc->spc_busnode = kmem_zalloc(sizeof(*pbm->sp_pc->spc_busnode),
-	    KM_NOSLEEP);
-	if (pbm->sp_pc->spc_busnode == NULL)
-		panic("schizo: kmem_alloc busnode");
+	    KM_SLEEP);
 
 	pba.pba_bus = busranges[0];
 	pba.pba_bridgetag = NULL;
@@ -512,10 +507,7 @@ schizo_init_iommu(struct schizo_softc *s
 	}
 
 	/* give us a nice name.. */
-	name = (char *)kmem_alloc(32, KM_NOSLEEP);
-	if (name == NULL)
-
-		panic("couldn't kmem_alloc iommu name");
+	name = (char *)kmem_alloc(32, KM_SLEEP);
 	snprintf(name, 32, "%s dvma", device_xname(sc->sc_dev));
 
 	iommu_init(name, is, tsbsize, iobase);
@@ -637,11 +629,7 @@ schizo_alloc_bus_tag(struct schizo_pbm *
 	struct schizo_softc *sc = pbm->sp_sc;
 	bus_space_tag_t bt;
 
-	bt = (bus_space_tag_t) kmem_zalloc(sizeof(struct sparc_bus_space_tag),
-		    KM_NOSLEEP);
-	if (bt == NULL)
-		panic("schizo: could not allocate bus tag");
-
+	bt = kmem_zalloc(sizeof(*bt), KM_SLEEP);
 	bt->cookie = pbm;
 	bt->parent = sc->sc_bustag;
 	bt->type = type;
@@ -657,10 +645,7 @@ schizo_alloc_dma_tag(struct schizo_pbm *
 	struct schizo_softc *sc = pbm->sp_sc;
 	bus_dma_tag_t dt, pdt = sc->sc_dmat;
 
-	dt = kmem_zalloc(sizeof(*dt), KM_NOSLEEP);
-	if (dt == NULL)
-		panic("schizo: could not alloc dma tag");
-
+	dt = kmem_zalloc(sizeof(*dt), KM_SLEEP);
 	dt->_cookie = pbm;
 	dt->_parent = pdt;
 #define PCOPY(x)	dt->x = pdt->x
@@ -686,9 +671,7 @@ schizo_alloc_chipset(struct schizo_pbm *
 {
 	pci_chipset_tag_t npc;
 
-	npc = kmem_alloc(sizeof *npc, KM_NOSLEEP);
-	if (npc == NULL)
-		panic("schizo: could not allocate pci_chipset_tag_t");
+	npc = kmem_alloc(sizeof *npc, KM_SLEEP);
 	memcpy(npc, pc, sizeof *pc);
 	npc->cookie = pbm;
 	npc->rootnode = node;

Index: src/sys/arch/sparc64/dev/vdsk.c
diff -u src/sys/arch/sparc64/dev/vdsk.c:1.3 src/sys/arch/sparc64/dev/vdsk.c:1.4
--- src/sys/arch/sparc64/dev/vdsk.c:1.3	Fri Mar  3 21:09:25 2017
+++ src/sys/arch/sparc64/dev/vdsk.c	Tue Oct  1 18:00:07 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: vdsk.c,v 1.3 2017/03/03 21:09:25 palle Exp $	*/
+/*	$NetBSD: vdsk.c,v 1.4 2019/10/01 18:00:07 chs Exp $	*/
 /*	$OpenBSD: vdsk.c,v 1.46 2015/01/25 21:42:13 kettenis Exp $	*/
 /*
  * Copyright (c) 2009, 2011 Mark Kettenis
@@ -277,30 +277,16 @@ vdsk_attach(device_t parent, device_t se
 #else
 	lc->lc_txq = ldc_queue_alloc(VDSK_TX_ENTRIES);
 #endif
-	if (lc->lc_txq == NULL) {
-		printf(", can't allocate tx queue\n");
-		return;
-	}
 #if OPENBSD_BUSDMA
 	lc->lc_rxq = ldc_queue_alloc(sc->sc_dmatag, VDSK_RX_ENTRIES);
 #else
 	lc->lc_rxq = ldc_queue_alloc(VDSK_RX_ENTRIES);
 #endif
-	if (lc->lc_rxq == NULL) {
-		printf(", can't allocate rx queue\n");
-		goto free_txqueue;
-	}
-
 #if OPENBSD_BUSDMA
 	sc->sc_lm = ldc_map_alloc(sc->sc_dmatag, 2048);
 #else
 	sc->sc_lm = ldc_map_alloc(2048);
 #endif
-	if (sc->sc_lm == NULL) {
-		printf(", can't allocate LDC mapping table\n");
-		goto free_rxqueue;
-	}
-
 #if OPENBSD_BUSDMA
 	err = hv_ldc_set_map_table(lc->lc_id,
 	    sc->sc_lm->lm_map->dm_segs[0].ds_addr, sc->sc_lm->lm_nentries);
@@ -320,15 +306,7 @@ vdsk_attach(device_t parent, device_t se
 #else
 	sc->sc_vd = vdsk_dring_alloc(32);
 #endif
-	if (sc->sc_vd == NULL) {
-		printf(", can't allocate dring\n");
-		goto free_map;
-	}
-	sc->sc_vsd = kmem_zalloc(32 * sizeof(*sc->sc_vsd), KM_NOSLEEP);
-	if (sc->sc_vsd == NULL) {
-		printf(", can't allocate software ring\n");
-		goto free_dring;
-	}
+	sc->sc_vsd = kmem_zalloc(32 * sizeof(*sc->sc_vsd), KM_SLEEP);
 
 #if OPENBSD_BUSDMA
 	sc->sc_lm->lm_slot[0].entry = sc->sc_vd->vd_map->dm_segs[0].ds_addr;
@@ -418,12 +396,6 @@ vdsk_attach(device_t parent, device_t se
 
 	return;
 
-free_dring:
-#if OPENBSD_BUSDMA
-	vdsk_dring_free(sc->sc_dmatag, sc->sc_vd);
-#else
-	vdsk_dring_free(sc->sc_vd);
-#endif
 free_map:
 	hv_ldc_set_map_table(lc->lc_id, 0, 0);
 #if OPENBSD_BUSDMA
@@ -431,18 +403,6 @@ free_map:
 #else
 	ldc_map_free(sc->sc_lm);
 #endif
-free_rxqueue:
-#if OPENBSD_BUSDMA
-	ldc_queue_free(sc->sc_dmatag, lc->lc_rxq);
-#else
-	ldc_queue_free(lc->lc_rxq);
-#endif
-free_txqueue:
-#if OPENBSD_BUSDMA
-	ldc_queue_free(sc->sc_dmatag, lc->lc_txq);
-#else
-	ldc_queue_free(lc->lc_txq);
-#endif
 }
 
 void
@@ -945,9 +905,7 @@ vdsk_dring_alloc(int nentries)
 #endif
 	int i;
 
-	vd = kmem_zalloc(sizeof(struct vdsk_dring), KM_NOSLEEP);
-	if (vd == NULL)
-		return NULL;
+	vd = kmem_zalloc(sizeof(struct vdsk_dring), KM_SLEEP);
 
 	size = roundup(nentries * sizeof(struct vd_desc), PAGE_SIZE);
 
@@ -968,9 +926,7 @@ vdsk_dring_alloc(int nentries)
 	    BUS_DMA_NOWAIT) != 0)
 		goto unmap;
 #else
-	va = (vaddr_t)kmem_zalloc(size, KM_NOSLEEP);
-	if (va == 0)
-		goto free;
+	va = (vaddr_t)kmem_zalloc(size, KM_SLEEP);
 #endif
 	vd->vd_desc = (struct vd_desc *)va;
 	vd->vd_nentries = nentries;
@@ -986,9 +942,6 @@ free:
 	bus_dmamem_free(t, &vd->vd_seg, 1);
 destroy:
 	bus_dmamap_destroy(t, vd->vd_map);
-#else
-free:
-	kmem_free(vd, sizeof(struct vdsk_dring));
 #endif
 	return (NULL);
 }
@@ -1383,4 +1336,3 @@ vdsk_scsi_done(struct scsipi_xfer *xs, i
 
 	scsipi_done(xs);
 }
-

Index: src/sys/arch/sparc64/sparc64/cpu.c
diff -u src/sys/arch/sparc64/sparc64/cpu.c:1.135 src/sys/arch/sparc64/sparc64/cpu.c:1.136
--- src/sys/arch/sparc64/sparc64/cpu.c:1.135	Wed Jun  6 01:49:08 2018
+++ src/sys/arch/sparc64/sparc64/cpu.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: cpu.c,v 1.135 2018/06/06 01:49:08 maya Exp $ */
+/*	$NetBSD: cpu.c,v 1.136 2019/10/01 18:00:08 chs Exp $ */
 
 /*
  * Copyright (c) 1996
@@ -52,7 +52,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.135 2018/06/06 01:49:08 maya Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cpu.c,v 1.136 2019/10/01 18:00:08 chs Exp $");
 
 #include "opt_multiprocessor.h"
 
@@ -543,7 +543,7 @@ cpu_attach(device_t parent, device_t dev
 	ci->ci_system_clockrate[1] = sclk / 1000000;
 
 	ci->ci_name = kmem_strdupsize(prom_getpropstring(node, "name"), NULL,
-				      KM_NOSLEEP);
+				      KM_SLEEP);
 	snprintf(buf, sizeof buf, "%s @ %s MHz", ci->ci_name, clockfreq(clk));
 	cpu_setmodel("%s (%s)", machine_model, buf);
 

Index: src/sys/arch/x86/x86/genfb_machdep.c
diff -u src/sys/arch/x86/x86/genfb_machdep.c:1.13 src/sys/arch/x86/x86/genfb_machdep.c:1.14
--- src/sys/arch/x86/x86/genfb_machdep.c:1.13	Sun May 19 07:43:17 2019
+++ src/sys/arch/x86/x86/genfb_machdep.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: genfb_machdep.c,v 1.13 2019/05/19 07:43:17 mlelstv Exp $ */
+/* $NetBSD: genfb_machdep.c,v 1.14 2019/10/01 18:00:08 chs Exp $ */
 
 /*-
  * Copyright (c) 2009 Jared D. McNeill <jmcne...@invisible.ca>
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: genfb_machdep.c,v 1.13 2019/05/19 07:43:17 mlelstv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: genfb_machdep.c,v 1.14 2019/10/01 18:00:08 chs Exp $");
 
 #include "opt_mtrr.h"
 
@@ -187,12 +187,8 @@ x86_genfb_cnattach(void)
 	if (x86_genfb_use_shadowfb && lookup_bootinfo(BTINFO_EFI) != NULL) {
 		/* XXX The allocated memory is never released... */
 		ri->ri_bits = kmem_alloc(ri->ri_stride * ri->ri_height,
-		    KM_NOSLEEP);
-		if (ri->ri_bits == NULL) {
-			aprint_error("%s: couldn't alloc shadowfb\n", __func__);
-			ri->ri_bits = bits;
-		} else
-			ri->ri_hwbits = bits;
+		    KM_SLEEP);
+		ri->ri_hwbits = bits;
 	} else
 		ri->ri_bits = bits;
 	ri->ri_flg = RI_CENTER | RI_FULLCLEAR | RI_CLEAR;

Index: src/sys/dev/acpi/acpi_srat.c
diff -u src/sys/dev/acpi/acpi_srat.c:1.5 src/sys/dev/acpi/acpi_srat.c:1.6
--- src/sys/dev/acpi/acpi_srat.c:1.5	Thu Dec 28 08:49:28 2017
+++ src/sys/dev/acpi/acpi_srat.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_srat.c,v 1.5 2017/12/28 08:49:28 maxv Exp $ */
+/* $NetBSD: acpi_srat.c,v 1.6 2019/10/01 18:00:08 chs Exp $ */
 
 /*
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: acpi_srat.c,v 1.5 2017/12/28 08:49:28 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: acpi_srat.c,v 1.6 2019/10/01 18:00:08 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/kmem.h>
@@ -79,7 +79,7 @@ static TAILQ_HEAD(, memlist) memlisthead
 static struct cpulist *
 cpu_alloc(void)
 {
-	return kmem_zalloc(sizeof(struct cpulist), KM_NOSLEEP);
+	return kmem_zalloc(sizeof(struct cpulist), KM_SLEEP);
 }
 
 static void
@@ -91,7 +91,7 @@ cpu_free(struct cpulist *c)
 static struct memlist *
 mem_alloc(void)
 {
-	return kmem_zalloc(sizeof(struct memlist), KM_NOSLEEP);
+	return kmem_zalloc(sizeof(struct memlist), KM_SLEEP);
 }
 
 static void
@@ -335,19 +335,11 @@ acpisrat_refresh(void)
 	nnodes = MAX(cnodes, mnodes) + 1;
 
 	node_array = kmem_zalloc(nnodes * sizeof(struct acpisrat_node),
-	    KM_NOSLEEP);
-	if (node_array == NULL)
-		return ENOMEM;
-
+	    KM_SLEEP);
 	cpu_array = kmem_zalloc(ncpus * sizeof(struct acpisrat_cpu),
-	    KM_NOSLEEP);
-	if (cpu_array == NULL)
-		return ENOMEM;
-
+	    KM_SLEEP);
 	mem_array = kmem_zalloc(nmems * sizeof(struct acpisrat_mem),
-	    KM_NOSLEEP);
-	if (mem_array == NULL)
-		return ENOMEM;
+	    KM_SLEEP);
 
 	i = 0;
 	CPU_FOREACH(citer) {
@@ -367,9 +359,9 @@ acpisrat_refresh(void)
 		node_array[i].nodeid = i;
 
 		node_array[i].cpu = kmem_zalloc(node_array[i].ncpus *
-		    sizeof(struct acpisrat_cpu *), KM_NOSLEEP);
+		    sizeof(struct acpisrat_cpu *), KM_SLEEP);
 		node_array[i].mem = kmem_zalloc(node_array[i].nmems *
-		    sizeof(struct acpisrat_mem *), KM_NOSLEEP);
+		    sizeof(struct acpisrat_mem *), KM_SLEEP);
 
 		k = 0;
 		for (j = 0; j < ncpus; j++) {
@@ -534,4 +526,3 @@ acpisrat_get_node(uint32_t apicid)
 
 	return NULL;
 }
-

Index: src/sys/dev/hyperv/hvkbd.c
diff -u src/sys/dev/hyperv/hvkbd.c:1.2 src/sys/dev/hyperv/hvkbd.c:1.3
--- src/sys/dev/hyperv/hvkbd.c:1.2	Sun Jul 21 16:08:13 2019
+++ src/sys/dev/hyperv/hvkbd.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: hvkbd.c,v 1.2 2019/07/21 16:08:13 rin Exp $	*/
+/*	$NetBSD: hvkbd.c,v 1.3 2019/10/01 18:00:08 chs Exp $	*/
 
 /*-
  * Copyright (c) 2017 Microsoft Corp.
@@ -36,7 +36,7 @@
 #endif /* _KERNEL_OPT */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hvkbd.c,v 1.2 2019/07/21 16:08:13 rin Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hvkbd.c,v 1.3 2019/10/01 18:00:08 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -209,13 +209,7 @@ hvkbd_attach(device_t parent, device_t s
 	STAILQ_INIT(&sc->sc_ks_queue);
 	hvkbd_alloc_keybuf(sc);
 
-	sc->sc_buf = kmem_zalloc(HVKBD_BUFSIZE, cold ? KM_NOSLEEP : KM_SLEEP);
-	if (sc->sc_buf == NULL) {
-		aprint_error_dev(self,
-		    "failed to allocate channel data buffer\n");
-		return;
-	}
-
+	sc->sc_buf = kmem_zalloc(HVKBD_BUFSIZE, KM_SLEEP);
 	if (vmbus_channel_setdeferred(sc->sc_chan, device_xname(self))) {
 		aprint_error_dev(self,
 		    "failed to create the interrupt thread\n");
@@ -266,18 +260,8 @@ hvkbd_alloc_keybuf(struct hvkbd_softc *s
 	int i;
 
 	for (i = 0; i < HVKBD_KEYBUF_SIZE; i++) {
-		ksi = kmem_zalloc(sizeof(*ksi), cold ? KM_NOSLEEP : KM_SLEEP);
-		if (ksi != NULL) {
-			LIST_INSERT_HEAD(&sc->sc_ks_free, ksi, link);
-			continue;
-		}
-
-		while ((ksi = LIST_FIRST(&sc->sc_ks_free)) != NULL) {
-			LIST_REMOVE(ksi, link);
-			kmem_free(ksi, sizeof(*ksi));
-		}
-		return ENOMEM;
-
+		ksi = kmem_zalloc(sizeof(*ksi), KM_SLEEP);
+		LIST_INSERT_HEAD(&sc->sc_ks_free, ksi, link);
 	}
 
 	return 0;

Index: src/sys/dev/hyperv/hvs.c
diff -u src/sys/dev/hyperv/hvs.c:1.1 src/sys/dev/hyperv/hvs.c:1.2
--- src/sys/dev/hyperv/hvs.c:1.1	Fri Feb 15 08:54:01 2019
+++ src/sys/dev/hyperv/hvs.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: hvs.c,v 1.1 2019/02/15 08:54:01 nonaka Exp $	*/
+/*	$NetBSD: hvs.c,v 1.2 2019/10/01 18:00:08 chs Exp $	*/
 /*	$OpenBSD: hvs.c,v 1.17 2017/08/10 17:22:48 mikeb Exp $	*/
 
 /*-
@@ -37,7 +37,7 @@
 /* #define HVS_DEBUG_IO */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hvs.c,v 1.1 2019/02/15 08:54:01 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hvs.c,v 1.2 2019/10/01 18:00:08 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1040,7 +1040,6 @@ hvs_empty_done(struct hvs_ccb *ccb)
 static int
 hvs_alloc_ccbs(struct hvs_softc *sc)
 {
-	const int kmemflags = cold ? KM_NOSLEEP : KM_SLEEP;
 	const int dmaflags = cold ? BUS_DMA_NOWAIT : BUS_DMA_WAITOK;
 	int i, error;
 
@@ -1049,11 +1048,7 @@ hvs_alloc_ccbs(struct hvs_softc *sc)
 
 	sc->sc_nccb = HVS_MAX_CCB;
 	sc->sc_ccbs = kmem_zalloc(sc->sc_nccb * sizeof(struct hvs_ccb),
-	    kmemflags);
-	if (sc->sc_ccbs == NULL) {
-		aprint_error_dev(sc->sc_dev, "failed to allocate CCBs\n");
-		return -1;
-	}
+	    KM_SLEEP);
 
 	for (i = 0; i < sc->sc_nccb; i++) {
 		error = bus_dmamap_create(sc->sc_dmat, MAXPHYS, HVS_MAX_SGE,
@@ -1066,13 +1061,7 @@ hvs_alloc_ccbs(struct hvs_softc *sc)
 
 		sc->sc_ccbs[i].ccb_sgl = kmem_zalloc(
 		    sizeof(struct vmbus_gpa_range) * (HVS_MAX_SGE + 1),
-		    kmemflags);
-		if (sc->sc_ccbs[i].ccb_sgl == NULL) {
-			aprint_error_dev(sc->sc_dev,
-			    "failed to allocate SGL array\n");
-			goto errout;
-		}
-
+		    KM_SLEEP);
 		sc->sc_ccbs[i].ccb_rid = i;
 		hvs_put_ccb(sc, &sc->sc_ccbs[i]);
 	}
Index: src/sys/dev/hyperv/vmbusic.c
diff -u src/sys/dev/hyperv/vmbusic.c:1.1 src/sys/dev/hyperv/vmbusic.c:1.2
--- src/sys/dev/hyperv/vmbusic.c:1.1	Fri Feb 15 08:54:02 2019
+++ src/sys/dev/hyperv/vmbusic.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: vmbusic.c,v 1.1 2019/02/15 08:54:02 nonaka Exp $	*/
+/*	$NetBSD: vmbusic.c,v 1.2 2019/10/01 18:00:08 chs Exp $	*/
 /*-
  * Copyright (c) 2014,2016 Microsoft Corp.
  * All rights reserved.
@@ -27,7 +27,7 @@
 
 #include <sys/cdefs.h>
 #ifdef __KERNEL_RCSID
-__KERNEL_RCSID(0, "$NetBSD: vmbusic.c,v 1.1 2019/02/15 08:54:02 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: vmbusic.c,v 1.2 2019/10/01 18:00:08 chs Exp $");
 #endif
 #ifdef __FBSDID
 __FBSDID("$FreeBSD: head/sys/dev/hyperv/utilities/vmbus_ic.c 310317 2016-12-20 07:14:24Z sephe $");
@@ -71,7 +71,7 @@ vmbusic_attach(device_t dv, struct vmbus
 	sc->sc_chan = aa->aa_chan;
 
 	sc->sc_buflen = VMBUS_IC_BRSIZE;
-	sc->sc_buf = kmem_alloc(sc->sc_buflen, cold ? KM_NOSLEEP : KM_SLEEP);
+	sc->sc_buf = kmem_alloc(sc->sc_buflen, KM_SLEEP);
 
 	/*
 	 * These services are not performance critical and do not need

Index: src/sys/dev/hyperv/if_hvn.c
diff -u src/sys/dev/hyperv/if_hvn.c:1.4 src/sys/dev/hyperv/if_hvn.c:1.5
--- src/sys/dev/hyperv/if_hvn.c:1.4	Tue Jul  9 08:46:58 2019
+++ src/sys/dev/hyperv/if_hvn.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_hvn.c,v 1.4 2019/07/09 08:46:58 msaitoh Exp $	*/
+/*	$NetBSD: if_hvn.c,v 1.5 2019/10/01 18:00:08 chs Exp $	*/
 /*	$OpenBSD: if_hvn.c,v 1.39 2018/03/11 14:31:34 mikeb Exp $	*/
 
 /*-
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_hvn.c,v 1.4 2019/07/09 08:46:58 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_hvn.c,v 1.5 2019/10/01 18:00:08 chs Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -904,7 +904,6 @@ hvn_nvs_attach(struct hvn_softc *sc)
 		HVN_NVS_PROTO_VERSION_2,
 		HVN_NVS_PROTO_VERSION_1
 	};
-	const int kmemflags = cold ? KM_NOSLEEP : KM_SLEEP;
 	struct hvn_nvs_init cmd;
 	struct hvn_nvs_init_resp *rsp;
 	struct hvn_nvs_ndis_init ncmd;
@@ -913,12 +912,7 @@ hvn_nvs_attach(struct hvn_softc *sc)
 	uint64_t tid;
 	int i;
 
-	sc->sc_nvsbuf = kmem_zalloc(HVN_NVS_BUFSIZE, kmemflags);
-	if (sc->sc_nvsbuf == NULL) {
-		DPRINTF("%s: failed to allocate channel data buffer\n",
-		    device_xname(sc->sc_dev));
-		return -1;
-	}
+	sc->sc_nvsbuf = kmem_zalloc(HVN_NVS_BUFSIZE, KM_SLEEP);
 
 	/* We need to be able to fit all RNDIS control and data messages */
 	ringsize = HVN_RNDIS_CTLREQS *

Index: src/sys/dev/i2c/ihidev.c
diff -u src/sys/dev/i2c/ihidev.c:1.8 src/sys/dev/i2c/ihidev.c:1.9
--- src/sys/dev/i2c/ihidev.c:1.8	Thu Sep 26 08:16:26 2019
+++ src/sys/dev/i2c/ihidev.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: ihidev.c,v 1.8 2019/09/26 08:16:26 bouyer Exp $ */
+/* $NetBSD: ihidev.c,v 1.9 2019/10/01 18:00:08 chs Exp $ */
 /* $OpenBSD ihidev.c,v 1.13 2017/04/08 02:57:23 deraadt Exp $ */
 
 /*-
@@ -54,7 +54,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ihidev.c,v 1.8 2019/09/26 08:16:26 bouyer Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ihidev.c,v 1.9 2019/10/01 18:00:08 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -183,11 +183,7 @@ ihidev_attach(device_t parent, device_t 
 
 	sc->sc_nrepid++;
 	sc->sc_subdevs = kmem_zalloc(sc->sc_nrepid * sizeof(struct ihidev *),
-	    KM_NOSLEEP);
-	if (sc->sc_subdevs == NULL) {
-		aprint_error_dev(self, "failed allocating memory\n");
-		return;
-	}
+	    KM_SLEEP);
 
 	/* find largest report size and allocate memory for input buffer */
 	sc->sc_isize = le16toh(sc->hid_desc.wMaxInputLength);
@@ -203,7 +199,7 @@ ihidev_attach(device_t parent, device_t 
 		DPRINTF(("%s: repid %d size %d\n", sc->sc_dev.dv_xname, repid,
 		    repsz));
 	}
-	sc->sc_ibuf = kmem_zalloc(sc->sc_isize, KM_NOSLEEP);
+	sc->sc_ibuf = kmem_zalloc(sc->sc_isize, KM_SLEEP);
 #if NACPICA > 0
 	{
 		char buf[100];

Index: src/sys/dev/i2c/sdtemp.c
diff -u src/sys/dev/i2c/sdtemp.c:1.35 src/sys/dev/i2c/sdtemp.c:1.36
--- src/sys/dev/i2c/sdtemp.c:1.35	Thu Feb 28 16:56:35 2019
+++ src/sys/dev/i2c/sdtemp.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*      $NetBSD: sdtemp.c,v 1.35 2019/02/28 16:56:35 khorben Exp $        */
+/*      $NetBSD: sdtemp.c,v 1.36 2019/10/01 18:00:08 chs Exp $        */
 
 /*
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sdtemp.c,v 1.35 2019/02/28 16:56:35 khorben Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sdtemp.c,v 1.36 2019/10/01 18:00:08 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -342,11 +342,7 @@ sdtemp_attach(device_t parent, device_t 
 	sc->sc_sme->sme_get_limits = sdtemp_get_limits;
 	sc->sc_sme->sme_set_limits = sdtemp_set_limits;
 
-	sc->sc_sensor = kmem_zalloc(sizeof(envsys_data_t), KM_NOSLEEP);
-	if (!sc->sc_sensor) {
-		aprint_error_dev(self, "unable to allocate sc_sensor\n");
-		goto bad2;
-	}
+	sc->sc_sensor = kmem_zalloc(sizeof(envsys_data_t), KM_SLEEP);
 
 	/* Initialize sensor data. */
 	sc->sc_sensor->units =  ENVSYS_STEMP;
@@ -400,7 +396,6 @@ sdtemp_attach(device_t parent, device_t 
 
 bad:
 	kmem_free(sc->sc_sensor, sizeof(envsys_data_t));
-bad2:
 	sysmon_envsys_destroy(sc->sc_sme);
 }
 

Index: src/sys/dev/iscsi/iscsi_main.c
diff -u src/sys/dev/iscsi/iscsi_main.c:1.31 src/sys/dev/iscsi/iscsi_main.c:1.32
--- src/sys/dev/iscsi/iscsi_main.c:1.31	Wed Aug  7 00:38:02 2019
+++ src/sys/dev/iscsi/iscsi_main.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: iscsi_main.c,v 1.31 2019/08/07 00:38:02 pgoyette Exp $	*/
+/*	$NetBSD: iscsi_main.c,v 1.32 2019/10/01 18:00:08 chs Exp $	*/
 
 /*-
  * Copyright (c) 2004,2005,2006,2011 The NetBSD Foundation, Inc.
@@ -217,12 +217,7 @@ iscsiattach(int n)
 		aprint_error("%s: only one device supported\n",
 		    iscsi_cd.cd_name);
 
-	cf = kmem_alloc(sizeof(struct cfdata), KM_NOSLEEP);
-	if (cf == NULL) {
-		aprint_error("%s: couldn't allocate cfdata\n",
-		    iscsi_cd.cd_name);
-		return;
-	}
+	cf = kmem_alloc(sizeof(struct cfdata), KM_SLEEP);
 	cf->cf_name = iscsi_cd.cd_name;
 	cf->cf_atname = iscsi_cd.cd_name;
 	cf->cf_unit = 0;

Index: src/sys/dev/nand/nandemulator.c
diff -u src/sys/dev/nand/nandemulator.c:1.8 src/sys/dev/nand/nandemulator.c:1.9
--- src/sys/dev/nand/nandemulator.c:1.8	Tue Feb  5 08:02:19 2019
+++ src/sys/dev/nand/nandemulator.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: nandemulator.c,v 1.8 2019/02/05 08:02:19 mrg Exp $	*/
+/*	$NetBSD: nandemulator.c,v 1.9 2019/10/01 18:00:08 chs Exp $	*/
 
 /*-
  * Copyright (c) 2011 Department of Software Engineering,
@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: nandemulator.c,v 1.8 2019/02/05 08:02:19 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nandemulator.c,v 1.9 2019/10/01 18:00:08 chs Exp $");
 
 /* XXX this code likely needs work */
 
@@ -152,12 +152,7 @@ nandemulatorattach(int n)
 		return;
 	}
 	for (i = 0; i < n; i++) {
-		cf = kmem_alloc(sizeof(struct cfdata), KM_NOSLEEP);
-		if (cf == NULL) {
-			aprint_error("%s: couldn't allocate cfdata\n",
-			    nandemulator_cd.cd_name);
-			continue;
-		}
+		cf = kmem_alloc(sizeof(struct cfdata), KM_SLEEP);
 		cf->cf_name = nandemulator_cd.cd_name;
 		cf->cf_atname = nandemulator_cd.cd_name;
 		cf->cf_unit = i;

Index: src/sys/dev/pci/arcmsr.c
diff -u src/sys/dev/pci/arcmsr.c:1.39 src/sys/dev/pci/arcmsr.c:1.40
--- src/sys/dev/pci/arcmsr.c:1.39	Sun Dec  9 11:14:01 2018
+++ src/sys/dev/pci/arcmsr.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: arcmsr.c,v 1.39 2018/12/09 11:14:01 jdolecek Exp $ */
+/*	$NetBSD: arcmsr.c,v 1.40 2019/10/01 18:00:08 chs Exp $ */
 /*	$OpenBSD: arc.c,v 1.68 2007/10/27 03:28:27 dlg Exp $ */
 
 /*
@@ -21,7 +21,7 @@
 #include "bio.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: arcmsr.c,v 1.39 2018/12/09 11:14:01 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: arcmsr.c,v 1.40 2019/10/01 18:00:08 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/buf.h>
@@ -2034,10 +2034,7 @@ arc_dmamem_alloc(struct arc_softc *sc, s
 	struct arc_dmamem		*adm;
 	int				nsegs;
 
-	adm = kmem_zalloc(sizeof(*adm), KM_NOSLEEP);
-	if (adm == NULL)
-		return NULL;
-
+	adm = kmem_zalloc(sizeof(*adm), KM_SLEEP);
 	adm->adm_size = size;
 
 	if (bus_dmamap_create(sc->sc_dmat, size, 1, size, 0,

Index: src/sys/dev/pci/if_vioif.c
diff -u src/sys/dev/pci/if_vioif.c:1.50 src/sys/dev/pci/if_vioif.c:1.51
--- src/sys/dev/pci/if_vioif.c:1.50	Sat Sep 14 21:09:00 2019
+++ src/sys/dev/pci/if_vioif.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_vioif.c,v 1.50 2019/09/14 21:09:00 christos Exp $	*/
+/*	$NetBSD: if_vioif.c,v 1.51 2019/10/01 18:00:08 chs Exp $	*/
 
 /*
  * Copyright (c) 2010 Minoura Makoto.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_vioif.c,v 1.50 2019/09/14 21:09:00 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_vioif.c,v 1.51 2019/10/01 18:00:08 chs Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_net_mpsafe.h"
@@ -356,7 +356,7 @@ vioif_match(device_t parent, cfdata_t ma
 	return 0;
 }
 
-static int
+static void
 vioif_alloc_queues(struct vioif_softc *sc)
 {
 	int nvq_pairs = sc->sc_max_nvq_pairs;
@@ -366,22 +366,14 @@ vioif_alloc_queues(struct vioif_softc *s
 	KASSERT(nvq_pairs <= VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX);
 
 	sc->sc_rxq = kmem_zalloc(sizeof(sc->sc_rxq[0]) * nvq_pairs,
-	    KM_NOSLEEP);
-	if (sc->sc_rxq == NULL)
-		return -1;
-
+	    KM_SLEEP);
 	sc->sc_txq = kmem_zalloc(sizeof(sc->sc_txq[0]) * nvq_pairs,
-	    KM_NOSLEEP);
-	if (sc->sc_txq == NULL)
-		return -1;
+	    KM_SLEEP);
 
 	if (sc->sc_has_ctrl)
 		nvqs++;
 
-	sc->sc_vqs = kmem_zalloc(sizeof(sc->sc_vqs[0]) * nvqs, KM_NOSLEEP);
-	if (sc->sc_vqs == NULL)
-		return -1;
-
+	sc->sc_vqs = kmem_zalloc(sizeof(sc->sc_vqs[0]) * nvqs, KM_SLEEP);
 	nvqs = 0;
 	for (i = 0; i < nvq_pairs; i++) {
 		sc->sc_rxq[i].rxq_vq = &sc->sc_vqs[nvqs++];
@@ -390,8 +382,6 @@ vioif_alloc_queues(struct vioif_softc *s
 
 	if (sc->sc_has_ctrl)
 		sc->sc_ctrlq.ctrlq_vq = &sc->sc_vqs[nvqs++];
-
-	return 0;
 }
 
 static void
@@ -766,10 +756,7 @@ vioif_attach(device_t parent, device_t s
 		sc->sc_req_nvq_pairs = MIN(sc->sc_max_nvq_pairs, ncpu);
 	}
 
-	r = vioif_alloc_queues(sc);
-	if (r != 0)
-		goto err;
-
+	vioif_alloc_queues(sc);
 	virtio_child_attach_set_vqs(vsc, sc->sc_vqs, sc->sc_req_nvq_pairs);
 
 #ifdef VIOIF_MPSAFE
@@ -823,9 +810,7 @@ vioif_attach(device_t parent, device_t s
 		txq->txq_vq->vq_done_ctx = (void *)txq;
 		txq->txq_link_active = sc->sc_link_active;
 		txq->txq_stopping = false;
-		txq->txq_intrq = pcq_create(txq->txq_vq->vq_num, KM_NOSLEEP);
-		if (txq->txq_intrq == NULL)
-			goto err;
+		txq->txq_intrq = pcq_create(txq->txq_vq->vq_num, KM_SLEEP);
 	}
 
 	if (sc->sc_has_ctrl) {

Index: src/sys/dev/pci/pciconf.c
diff -u src/sys/dev/pci/pciconf.c:1.41 src/sys/dev/pci/pciconf.c:1.42
--- src/sys/dev/pci/pciconf.c:1.41	Fri Mar  1 09:26:00 2019
+++ src/sys/dev/pci/pciconf.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: pciconf.c,v 1.41 2019/03/01 09:26:00 msaitoh Exp $	*/
+/*	$NetBSD: pciconf.c,v 1.42 2019/10/01 18:00:08 chs Exp $	*/
 
 /*
  * Copyright 2001 Wasabi Systems, Inc.
@@ -65,7 +65,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pciconf.c,v 1.41 2019/03/01 09:26:00 msaitoh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pciconf.c,v 1.42 2019/10/01 18:00:08 chs Exp $");
 
 #include "opt_pci.h"
 
@@ -319,10 +319,7 @@ query_bus(pciconf_bus_t *parent, pciconf
 	pcireg_t	io, pmem;
 	pciconf_win_t	*pi, *pm;
 
-	pb = kmem_zalloc(sizeof (pciconf_bus_t), KM_NOSLEEP);
-	if (!pb)
-		panic("Unable to allocate memory for PCI configuration.");
-
+	pb = kmem_zalloc(sizeof (pciconf_bus_t), KM_SLEEP);
 	pb->cacheline_size = parent->cacheline_size;
 	pb->parent_bus = parent;
 	alloc_busno(parent, pb);
@@ -1115,7 +1112,7 @@ pci_configure_bus(pci_chipset_tag_t pc, 
 	pciconf_bus_t	*pb;
 	int		rv;
 
-	pb = kmem_zalloc(sizeof (pciconf_bus_t), KM_NOSLEEP);
+	pb = kmem_zalloc(sizeof (pciconf_bus_t), KM_SLEEP);
 	pb->busno = firstbus;
 	pb->next_busno = pb->busno + 1;
 	pb->last_busno = 255;

Index: src/sys/dev/pci/virtio.c
diff -u src/sys/dev/pci/virtio.c:1.37 src/sys/dev/pci/virtio.c:1.38
--- src/sys/dev/pci/virtio.c:1.37	Mon Jan 14 14:55:37 2019
+++ src/sys/dev/pci/virtio.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: virtio.c,v 1.37 2019/01/14 14:55:37 yamaguchi Exp $	*/
+/*	$NetBSD: virtio.c,v 1.38 2019/10/01 18:00:08 chs Exp $	*/
 
 /*
  * Copyright (c) 2010 Minoura Makoto.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: virtio.c,v 1.37 2019/01/14 14:55:37 yamaguchi Exp $");
+__KERNEL_RCSID(0, "$NetBSD: virtio.c,v 1.38 2019/10/01 18:00:08 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -494,12 +494,7 @@ virtio_alloc_vq(struct virtio_softc *sc,
 
 	/* free slot management */
 	vq->vq_entries = kmem_zalloc(sizeof(struct vq_entry)*vq_size,
-				     KM_NOSLEEP);
-	if (vq->vq_entries == NULL) {
-		r = ENOMEM;
-		goto err;
-	}
-
+				     KM_SLEEP);
 	virtio_init_vq(sc, vq, false);
 
 	aprint_verbose_dev(sc->sc_dev,

Index: src/sys/dev/usb/uvideo.c
diff -u src/sys/dev/usb/uvideo.c:1.48 src/sys/dev/usb/uvideo.c:1.49
--- src/sys/dev/usb/uvideo.c:1.48	Sun Sep 15 09:21:36 2019
+++ src/sys/dev/usb/uvideo.c	Tue Oct  1 18:00:08 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: uvideo.c,v 1.48 2019/09/15 09:21:36 maxv Exp $	*/
+/*	$NetBSD: uvideo.c,v 1.49 2019/10/01 18:00:08 chs Exp $	*/
 
 /*
  * Copyright (c) 2008 Patrick Mahoney
@@ -42,7 +42,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uvideo.c,v 1.48 2019/09/15 09:21:36 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uvideo.c,v 1.49 2019/10/01 18:00:08 chs Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_usb.h"
@@ -563,12 +563,6 @@ uvideo_attach(device_t parent, device_t 
 			vs = uvideo_find_stream(sc, ifdesc->bInterfaceNumber);
 			if (vs == NULL) {
 				vs = uvideo_stream_alloc();
-				if (vs == NULL) {
-					DPRINTF(("uvideo_attach: "
-						 "failed to alloc stream\n"));
-					err = USBD_NOMEM;
-					goto bad;
-				}
 				err = uvideo_stream_init(vs, sc, ifdesc,
 							 ifaceidx);
 				if (err != USBD_NORMAL_COMPLETION) {
@@ -765,7 +759,7 @@ uvideo_stream_guess_format(struct uvideo
 static struct uvideo_stream *
 uvideo_stream_alloc(void)
 {
-	return kmem_alloc(sizeof(struct uvideo_stream), KM_NOSLEEP);
+	return kmem_alloc(sizeof(struct uvideo_stream), KM_SLEEP);
 }
 
 
@@ -1161,10 +1155,7 @@ uvideo_stream_init_desc(struct uvideo_st
 						desc, bEndpointAddress);
 				}
 
-				alt = kmem_alloc(sizeof(*alt), KM_NOSLEEP);
-				if (alt == NULL)
-					return USBD_NOMEM;
-
+				alt = kmem_alloc(sizeof(*alt), KM_SLEEP);
 				alt->altno = ifdesc->bAlternateSetting;
 				alt->interval =
 				    GET(usb_endpoint_descriptor_t,

Index: src/sys/netinet/tcp_vtw.c
diff -u src/sys/netinet/tcp_vtw.c:1.19 src/sys/netinet/tcp_vtw.c:1.20
--- src/sys/netinet/tcp_vtw.c:1.19	Thu May  3 07:13:48 2018
+++ src/sys/netinet/tcp_vtw.c	Tue Oct  1 18:00:09 2019
@@ -121,7 +121,7 @@
 
 #include <netinet/tcp_vtw.h>
 
-__KERNEL_RCSID(0, "$NetBSD: tcp_vtw.c,v 1.19 2018/05/03 07:13:48 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcp_vtw.c,v 1.20 2019/10/01 18:00:09 chs Exp $");
 
 #define db_trace(__a, __b)	do { } while (/*CONSTCOND*/0)
 
@@ -1831,35 +1831,10 @@ vtw_control_init(int af)
 	n = 2*m + (11 * (tcp_vtw_entries / fatp_ntags())) / 10;
 	sz = (ctl->is_v4 ? sizeof(vtw_v4_t) : sizeof(vtw_v6_t));
 
-	fat_hash = kmem_zalloc(2*m * sizeof(fatp_t *), KM_NOSLEEP);
-
-	if (fat_hash == NULL) {
-		printf("%s: could not allocate %zu bytes for "
-		    "hash anchors", __func__, 2*m * sizeof(fatp_t *));
-		return ENOMEM;
-	}
-
-	fat_base = kmem_zalloc(2*n * sizeof(fatp_t), KM_NOSLEEP);
-
-	if (fat_base == NULL) {
-		kmem_free(fat_hash, 2*m * sizeof (fatp_t *));
-		printf("%s: could not allocate %zu bytes for "
-		    "fatp_t array", __func__, 2*n * sizeof(fatp_t));
-		return ENOMEM;
-	}
-
-	ctl_base_v = kmem_zalloc(tcp_vtw_entries * sz, KM_NOSLEEP);
-
-	if (ctl_base_v == NULL) {
-		kmem_free(fat_hash, 2*m * sizeof (fatp_t *));
-		kmem_free(fat_base, 2*n * sizeof(fatp_t));
-		printf("%s: could not allocate %zu bytes for "
-		    "vtw_t array", __func__, tcp_vtw_entries * sz);
-		return ENOMEM;
-	}
-
+	fat_hash = kmem_zalloc(2*m * sizeof(fatp_t *), KM_SLEEP);
+	fat_base = kmem_zalloc(2*n * sizeof(fatp_t), KM_SLEEP);
+	ctl_base_v = kmem_zalloc(tcp_vtw_entries * sz, KM_SLEEP);
 	fatp_init(fat, n, m, fat_base, fat_hash);
-
 	vtw_init(fat, ctl, tcp_vtw_entries, ctl_base_v);
 
 	return 0;

Index: src/sys/opencrypto/crypto.c
diff -u src/sys/opencrypto/crypto.c:1.108 src/sys/opencrypto/crypto.c:1.109
--- src/sys/opencrypto/crypto.c:1.108	Thu Jul 11 23:28:17 2019
+++ src/sys/opencrypto/crypto.c	Tue Oct  1 18:00:09 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: crypto.c,v 1.108 2019/07/11 23:28:17 christos Exp $ */
+/*	$NetBSD: crypto.c,v 1.109 2019/10/01 18:00:09 chs Exp $ */
 /*	$FreeBSD: src/sys/opencrypto/crypto.c,v 1.4.2.5 2003/02/26 00:14:05 sam Exp $	*/
 /*	$OpenBSD: crypto.c,v 1.41 2002/07/17 23:52:38 art Exp $	*/
 
@@ -53,7 +53,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: crypto.c,v 1.108 2019/07/11 23:28:17 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: crypto.c,v 1.109 2019/10/01 18:00:09 chs Exp $");
 
 #include <sys/param.h>
 #include <sys/reboot.h>
@@ -521,24 +521,18 @@ static	int crypto_timing = 0;
 
 static struct sysctllog *sysctl_opencrypto_clog;
 
-static int
+static void
 crypto_crp_ret_qs_init(void)
 {
-	int i, j;
+	int i;
 
 	crypto_crp_ret_qs_list = kmem_alloc(sizeof(struct crypto_crp_ret_qs *) * ncpu,
-	    KM_NOSLEEP);
-	if (crypto_crp_ret_qs_list == NULL) {
-		printf("crypto_init: crypto_crp_qs_list\n");
-		return ENOMEM;
-	}
+	    KM_SLEEP);
 
 	for (i = 0; i < ncpu; i++) {
 		struct crypto_crp_ret_qs *qs;
-		qs = kmem_alloc(sizeof(struct crypto_crp_ret_qs), KM_NOSLEEP);
-		if (qs == NULL)
-			break;
 
+		qs = kmem_alloc(sizeof(struct crypto_crp_ret_qs), KM_SLEEP);
 		mutex_init(&qs->crp_ret_q_mtx, MUTEX_DEFAULT, IPL_NET);
 		qs->crp_ret_q_exit_flag = false;
 
@@ -554,24 +548,11 @@ crypto_crp_ret_qs_init(void)
 
 		crypto_crp_ret_qs_list[i] = qs;
 	}
-	if (i == ncpu)
-		return 0;
-
-	for (j = 0; j < i; j++) {
-		struct crypto_crp_ret_qs *qs = crypto_crp_ret_qs_list[j];
-
-		mutex_destroy(&qs->crp_ret_q_mtx);
-		kmem_free(qs, sizeof(struct crypto_crp_ret_qs));
-	}
-	kmem_free(crypto_crp_ret_qs_list, sizeof(struct crypto_crp_ret_qs *) * ncpu);
-
-	return ENOMEM;
 }
 
 static int
 crypto_init0(void)
 {
-	int error;
 
 	mutex_init(&crypto_drv_mtx, MUTEX_DEFAULT, IPL_NONE);
 	cryptop_cache = pool_cache_init(sizeof(struct cryptop),
@@ -584,18 +565,10 @@ crypto_init0(void)
 	crypto_crp_qs_percpu = percpu_alloc(sizeof(struct crypto_crp_qs));
 	percpu_foreach(crypto_crp_qs_percpu, crypto_crp_qs_init_pc, NULL);
 
-	error = crypto_crp_ret_qs_init();
-	if (error) {
-		printf("crypto_init: cannot malloc ret_q list\n");
-		return ENOMEM;
-	}
+	crypto_crp_ret_qs_init();
 
 	crypto_drivers = kmem_zalloc(CRYPTO_DRIVERS_INITIAL *
-	    sizeof(struct cryptocap), KM_NOSLEEP);
-	if (crypto_drivers == NULL) {
-		printf("crypto_init: cannot malloc driver table\n");
-		return ENOMEM;
-	}
+	    sizeof(struct cryptocap), KM_SLEEP);
 	crypto_drivers_num = CRYPTO_DRIVERS_INITIAL;
 
 	crypto_q_si = softint_establish(SOFTINT_NET|SOFTINT_MPSAFE, cryptointr, NULL);
@@ -944,13 +917,7 @@ crypto_get_driverid(u_int32_t flags)
 		}
 
 		newdrv = kmem_zalloc(2 * crypto_drivers_num *
-		    sizeof(struct cryptocap), KM_NOSLEEP);
-		if (newdrv == NULL) {
-			mutex_exit(&crypto_drv_mtx);
-			printf("crypto: no space to expand driver table!\n");
-			return -1;
-		}
-
+		    sizeof(struct cryptocap), KM_SLEEP);
 		memcpy(newdrv, crypto_drivers,
 		    crypto_drivers_num * sizeof(struct cryptocap));
 		kmem_free(crypto_drivers,

Reply via email to