Print this page
5253 kmem_alloc/kmem_zalloc won't fail with KM_SLEEP
5254 getrbuf won't fail with KM_SLEEP

*** 739,755 **** return (EFAULT); head = STRUCT_FGET(adh, head); if (head < 0 || head >= dadkp->dad_phyg.g_head) return (ENXIO); secbuf = kmem_zalloc(NBPSCTR, KM_SLEEP); ! if (!secbuf) ! return (ENOMEM); bp = getrbuf(KM_SLEEP); - if (!bp) { - kmem_free(secbuf, NBPSCTR); - return (ENOMEM); - } bp->b_edev = dev; bp->b_dev = cmpdev(dev); bp->b_flags = B_BUSY; bp->b_resid = 0; --- 739,750 ---- return (EFAULT); head = STRUCT_FGET(adh, head); if (head < 0 || head >= dadkp->dad_phyg.g_head) return (ENXIO); secbuf = kmem_zalloc(NBPSCTR, KM_SLEEP); ! bp = getrbuf(KM_SLEEP); bp->b_edev = dev; bp->b_dev = cmpdev(dev); bp->b_flags = B_BUSY; bp->b_resid = 0;
*** 1689,1701 **** { struct buf *bp; int err; struct cmpkt *pktp; ! if ((bp = getrbuf(KM_SLEEP)) == NULL) { ! return (ENOMEM); ! } pktp = dadk_pktprep(dadkp, NULL, bp, dadk_rmb_iodone, NULL, NULL); if (!pktp) { freerbuf(bp); return (ENOMEM); } --- 1684,1694 ---- { struct buf *bp; int err; struct cmpkt *pktp; ! bp = getrbuf(KM_SLEEP); pktp = dadk_pktprep(dadkp, NULL, bp, dadk_rmb_iodone, NULL, NULL); if (!pktp) { freerbuf(bp); return (ENOMEM); }