Print this page
11927 Log, or optionally panic, on zero-length kmem allocations
Reviewed by: Dan McDonald <danmcd@joyent.com>
Reviewed by: Jason King <jason.brian.king@gmail.com>
        
*** 850,860 ****
           * We don't need to hold fi_lock because all other lwp's in the
           * parent have been held.
           */
          cfip->fi_nfiles = nfiles = flist_minsize(pfip);
  
!         cfip->fi_list = kmem_zalloc(nfiles * sizeof (uf_entry_t), KM_SLEEP);
  
          for (fd = 0, pufp = pfip->fi_list, cufp = cfip->fi_list; fd < nfiles;
              fd++, pufp++, cufp++) {
                  cufp->uf_file = pufp->uf_file;
                  cufp->uf_alloc = pufp->uf_alloc;
--- 850,861 ----
           * We don't need to hold fi_lock because all other lwp's in the
           * parent have been held.
           */
          cfip->fi_nfiles = nfiles = flist_minsize(pfip);
  
!         cfip->fi_list = nfiles == 0 ? NULL :
!             kmem_zalloc(nfiles * sizeof (uf_entry_t), KM_SLEEP);
  
          for (fd = 0, pufp = pfip->fi_list, cufp = cfip->fi_list; fd < nfiles;
              fd++, pufp++, cufp++) {
                  cufp->uf_file = pufp->uf_file;
                  cufp->uf_alloc = pufp->uf_alloc;