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>

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/mdb/common/modules/genunix/kmem.c
          +++ new/usr/src/cmd/mdb/common/modules/genunix/kmem.c
↓ open down ↓ 3909 lines elided ↑ open up ↑
3910 3910          else
3911 3911                  kma.kma_addr = 0;
3912 3912  
3913 3913          if (argc > 0) {
3914 3914                  if (argv->a_type != MDB_TYPE_STRING)
3915 3915                          return (DCMD_USAGE);
3916 3916                  if (strcmp(argv->a_un.a_str, "fail") == 0)
3917 3917                          logname = "kmem_failure_log";
3918 3918                  else if (strcmp(argv->a_un.a_str, "slab") == 0)
3919 3919                          logname = "kmem_slab_log";
     3920 +                else if (strcmp(argv->a_un.a_str, "zerosized") == 0)
     3921 +                        logname = "kmem_zerosized_log";
3920 3922                  else
3921 3923                          return (DCMD_USAGE);
3922 3924          }
3923 3925  
3924 3926          if (mdb_readvar(&addr, logname) == -1) {
3925 3927                  mdb_warn("failed to read %s log header pointer");
3926 3928                  return (DCMD_ERR);
3927 3929          }
3928 3930  
3929 3931          if (mdb_pwalk("kmem_log", (mdb_walk_cb_t)showbc, &kma, addr) == -1) {
↓ open down ↓ 473 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX