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,