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;