diff options
author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2019-04-12 12:02:04 +0000 |
---|---|---|
committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2019-04-12 12:02:04 +0000 |
commit | 5d9c1f58e33b02b709b5e031eec7e3e63d646ef7 (patch) | |
tree | 102ca03680a7180c99b84addda71e420ece2f59f /usr/src/uts/common/dtrace/dtrace.c | |
parent | e4f70ac1007dda1e42e5f5a7f307834cb429824c (diff) | |
parent | 78a53e201c2691debc57ede24c524118299ab18c (diff) | |
download | illumos-joyent-5d9c1f58e33b02b709b5e031eec7e3e63d646ef7.tar.gz |
[illumos-gate merge]
commit 78a53e201c2691debc57ede24c524118299ab18c
10687 Service routine cast changes need smatch fixes
commit ef623aa14b0dc34c6b9edb213cbcda88461ecfc3
10680 fasttrap: NULL pointer errors
commit 314d13c90091499eb12548353dfa2d2ca0b0b840
10679 dcpc: NULL pointer errors
commit f7ecc608dd732e7b1f2760725ded79c8afba20bd
10678 dtrace: NULL pointer errors
commit cd717361fac4e95d6ef3d8ce64cbaaeeddf8725c
10677 systrace: NULL pointer errors
commit 68deb3360e8e161517e8eda768aa13357247893e
10676 fbt: NULL pointer errors
commit fa30bfac67a47bb941ce78809508c530f9853f0a
10675 sdt: NULL pointer issues
commit fd826efa0fbcbc82b734a8db80a074204cf11b22
10686 Debug macros causes smatch issues
commit 58447f688d5e308373ab16a3b129bc0ba0fbc154
10701 Correct lock ASSERTs in vdev_label_read/write
Diffstat (limited to 'usr/src/uts/common/dtrace/dtrace.c')
-rw-r--r-- | usr/src/uts/common/dtrace/dtrace.c | 152 |
1 files changed, 76 insertions, 76 deletions
diff --git a/usr/src/uts/common/dtrace/dtrace.c b/usr/src/uts/common/dtrace/dtrace.c index 8184bc27b9..8d5ccdc64b 100644 --- a/usr/src/uts/common/dtrace/dtrace.c +++ b/usr/src/uts/common/dtrace/dtrace.c @@ -3134,7 +3134,7 @@ dtrace_dif_varstr(uintptr_t addr, dtrace_state_t *state, if (mstate->dtms_scratch_ptr + strsz > mstate->dtms_scratch_base + mstate->dtms_scratch_size) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - return (NULL); + return (0); } dtrace_strcpy((const void *)addr, (void *)mstate->dtms_scratch_ptr, @@ -3209,7 +3209,7 @@ dtrace_dif_variable(dtrace_mstate_t *mstate, dtrace_state_t *state, uint64_t v, if ((lwp = curthread->t_lwp) == NULL) { DTRACE_CPUFLAG_SET(CPU_DTRACE_BADADDR); - cpu_core[CPU->cpu_id].cpuc_dtrace_illval = NULL; + cpu_core[CPU->cpu_id].cpuc_dtrace_illval = 0; return (0); } @@ -3352,7 +3352,7 @@ dtrace_dif_variable(dtrace_mstate_t *mstate, dtrace_state_t *state, uint64_t v, * uint64_t will contain the caller, which is what * we're after. */ - ustack[2] = NULL; + ustack[2] = 0; DTRACE_CPUFLAG_SET(CPU_DTRACE_NOFAULT); dtrace_getupcstack(ustack, 3); DTRACE_CPUFLAG_CLEAR(CPU_DTRACE_NOFAULT); @@ -3579,7 +3579,7 @@ dtrace_dif_variable_write(dtrace_mstate_t *mstate, dtrace_state_t *state, if ((lwp = curthread->t_lwp) == NULL) { DTRACE_CPUFLAG_SET(CPU_DTRACE_BADADDR); - cpu_core[CPU->cpu_id].cpuc_dtrace_illval = NULL; + cpu_core[CPU->cpu_id].cpuc_dtrace_illval = 0; return; } @@ -4083,7 +4083,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, case DIF_SUBR_MUTEX_OWNED: if (!dtrace_canload(tupregs[0].dttk_value, sizeof (kmutex_t), mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4097,7 +4097,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, case DIF_SUBR_MUTEX_OWNER: if (!dtrace_canload(tupregs[0].dttk_value, sizeof (kmutex_t), mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4112,7 +4112,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, case DIF_SUBR_MUTEX_TYPE_ADAPTIVE: if (!dtrace_canload(tupregs[0].dttk_value, sizeof (kmutex_t), mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4123,7 +4123,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, case DIF_SUBR_MUTEX_TYPE_SPIN: if (!dtrace_canload(tupregs[0].dttk_value, sizeof (kmutex_t), mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4136,7 +4136,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, if (!dtrace_canload(tupregs[0].dttk_value, sizeof (uintptr_t), mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4148,7 +4148,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, case DIF_SUBR_RW_WRITE_HELD: if (!dtrace_canload(tupregs[0].dttk_value, sizeof (krwlock_t), mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4159,7 +4159,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, case DIF_SUBR_RW_ISWRITER: if (!dtrace_canload(tupregs[0].dttk_value, sizeof (krwlock_t), mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4183,7 +4183,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, } if (!dtrace_canload(src, size, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4211,7 +4211,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, if (scratch_size < size || !DTRACE_INSCRATCH(mstate, scratch_size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4261,7 +4261,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, */ if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4282,11 +4282,11 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, size_t count = 0; int cont = 0; - while (baddr != NULL && !(*flags & CPU_DTRACE_FAULT)) { + while (baddr != 0 && !(*flags & CPU_DTRACE_FAULT)) { if (!dtrace_canload(baddr, sizeof (mblk_t), mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4396,7 +4396,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, size_t lim; if (!dtrace_strcanload(addr, size, &lim, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } regs[rd] = dtrace_strlen((char *)addr, lim); @@ -4420,12 +4420,12 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, char c, target = (char)tupregs[1].dttk_value; if (!dtrace_strcanload(addr, size, &lim, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } addr_limit = addr + lim; - for (regs[rd] = NULL; addr < addr_limit; addr++) { + for (regs[rd] = 0; addr < addr_limit; addr++) { if ((c = dtrace_load8(addr)) == target) { regs[rd] = addr; @@ -4463,13 +4463,13 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, regs[rd] = notfound; if (!dtrace_canload((uintptr_t)addr, len + 1, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } if (!dtrace_canload((uintptr_t)substr, sublen + 1, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4604,18 +4604,18 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, * since both could be non-scratch addresses. */ if (!dtrace_strcanload(tokaddr, size, &clim, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } toklimit = tokaddr + clim; if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } - if (addr == NULL) { + if (addr == 0) { /* * If the address specified is NULL, we use our saved * strtok pointer from the mstate. Note that this @@ -4636,7 +4636,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, */ if (!dtrace_strcanload(addr, size, &clim, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } limit = addr + clim; @@ -4677,9 +4677,9 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, * We return NULL in this case, and we set the saved * address to NULL as well. */ - regs[rd] = NULL; - mstate->dtms_strtok = NULL; - mstate->dtms_strtok_limit = NULL; + regs[rd] = 0; + mstate->dtms_strtok = 0; + mstate->dtms_strtok_limit = 0; break; } @@ -4716,13 +4716,13 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, int64_t i; if (!dtrace_canload(s, len + 1, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4773,13 +4773,13 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, if (!dtrace_canload(json, jsonlen + 1, mstate, vstate) || !dtrace_canload(elem, elemlen + 1, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } if (!DTRACE_INSCRATCH(mstate, jsonlen + 1 + elemlen + 1)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4812,7 +4812,7 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, *ee++ = '\0'; if ((regs[rd] = (uintptr_t)dtrace_json(size, json, elemlist, - nelems, dest)) != NULL) + nelems, dest)) != 0) mstate->dtms_scratch_ptr += jsonlen + 1; break; } @@ -4837,13 +4837,13 @@ dtrace_dif_subr(uint_t subr, uint_t rd, uint64_t *regs, } if (!dtrace_canload(s, len + 1, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4903,12 +4903,12 @@ case DIF_SUBR_GETMAJOR: if ((mstate->dtms_access & DTRACE_ACCESS_KERNEL) == 0) { *flags |= CPU_DTRACE_KPRIV; *illval = daddr; - regs[rd] = NULL; + regs[rd] = 0; } if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -4942,10 +4942,10 @@ case DIF_SUBR_GETMAJOR: d_minor) + offsetof(struct ddi_minor, dev); uintptr_t scout; - if (maddr != NULL) + if (maddr != 0) scout = dtrace_loadptr(maddr + next); - while (maddr != NULL && !(*flags & CPU_DTRACE_FAULT)) { + while (maddr != 0 && !(*flags & CPU_DTRACE_FAULT)) { uint64_t m; #ifdef _LP64 m = dtrace_load64(maddr + dev) & MAXMIN64; @@ -4955,17 +4955,17 @@ case DIF_SUBR_GETMAJOR: if (m != minor) { maddr = dtrace_loadptr(maddr + next); - if (scout == NULL) + if (scout == 0) continue; scout = dtrace_loadptr(scout + next); - if (scout == NULL) + if (scout == 0) continue; scout = dtrace_loadptr(scout + next); - if (scout == NULL) + if (scout == 0) continue; if (scout == maddr) { @@ -5000,7 +5000,7 @@ case DIF_SUBR_GETMAJOR: } } - while (daddr != NULL && !(*flags & CPU_DTRACE_FAULT)) { + while (daddr != 0 && !(*flags & CPU_DTRACE_FAULT)) { ddi_node_state_t devi_state; devi_state = dtrace_load32(daddr + @@ -5042,7 +5042,7 @@ case DIF_SUBR_GETMAJOR: * node), we're going to use the special path * "devices". */ - if (daddr == NULL) + if (daddr == 0) s = "devices"; len = dtrace_strlen(s, size); @@ -5065,7 +5065,7 @@ case DIF_SUBR_GETMAJOR: if (end < start) DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - if (daddr == NULL) { + if (daddr == 0) { regs[rd] = (uintptr_t)end; mstate->dtms_scratch_ptr += size; } @@ -5084,20 +5084,20 @@ case DIF_SUBR_GETMAJOR: if (!dtrace_strcanload(s1, size, &lim1, mstate, vstate) || !dtrace_strcanload(s2, size, &lim2, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } for (;;) { if (i >= size) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } c = (i >= lim1) ? '\0' : dtrace_load8(s1++); @@ -5110,7 +5110,7 @@ case DIF_SUBR_GETMAJOR: for (;;) { if (i >= size) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -5169,7 +5169,7 @@ case DIF_SUBR_GETMAJOR: if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -5238,13 +5238,13 @@ case DIF_SUBR_GETMAJOR: int start, end; if (!dtrace_canload(src, len + 1, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -5365,7 +5365,7 @@ case DIF_SUBR_GETMAJOR: file_t *fp; if (!dtrace_priv_proc(state, mstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -5391,13 +5391,13 @@ case DIF_SUBR_GETMAJOR: zone_t *z; if (!dtrace_strcanload(src, size, &lim, mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -5530,7 +5530,7 @@ next: if (!dtrace_canload(tupregs[argi].dttk_value, sizeof (ipaddr_t), mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -5545,7 +5545,7 @@ next: size = INET_ADDRSTRLEN; if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } base = (char *)mstate->dtms_scratch_ptr; @@ -5589,7 +5589,7 @@ next: if (!dtrace_canload(tupregs[argi].dttk_value, sizeof (struct in6_addr), mstate, vstate)) { - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -5606,7 +5606,7 @@ next: size = INET6_ADDRSTRLEN; if (!DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } base = (char *)mstate->dtms_scratch_ptr; @@ -5716,7 +5716,7 @@ next: * The user didn't use AH_INET or AH_INET6. */ DTRACE_CPUFLAG_SET(CPU_DTRACE_ILLOP); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -6017,10 +6017,10 @@ dtrace_dif_emulate(dtrace_difo_t *difo, dtrace_mstate_t *mstate, uintptr_t s2 = regs[r2]; size_t lim1, lim2; - if (s1 != NULL && + if (s1 != 0 && !dtrace_strcanload(s1, sz, &lim1, mstate, vstate)) break; - if (s2 != NULL && + if (s2 != 0 && !dtrace_strcanload(s2, sz, &lim2, mstate, vstate)) break; @@ -6060,7 +6060,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, dtrace_mstate_t *mstate, * then this is to be treated as a * reference to a NULL variable. */ - regs[rd] = NULL; + regs[rd] = 0; } else { regs[rd] = a + sizeof (uint64_t); } @@ -6094,7 +6094,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, dtrace_mstate_t *mstate, ASSERT(a != NULL); ASSERT(svar->dtsv_size != 0); - if (regs[rd] == NULL) { + if (regs[rd] == 0) { *(uint8_t *)a = UINT8_MAX; break; } else { @@ -6157,7 +6157,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, dtrace_mstate_t *mstate, * then this is to be treated as a * reference to a NULL variable. */ - regs[rd] = NULL; + regs[rd] = 0; } else { regs[rd] = a + sizeof (uint64_t); } @@ -6191,7 +6191,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, dtrace_mstate_t *mstate, ASSERT(svar->dtsv_size == NCPU * sz); a += CPU->cpu_id * sz; - if (regs[rd] == NULL) { + if (regs[rd] == 0) { *(uint8_t *)a = UINT8_MAX; break; } else { @@ -6273,7 +6273,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, dtrace_mstate_t *mstate, * Given that we're storing to thread-local data, * we need to flush our predicate cache. */ - curthread->t_predcache = NULL; + curthread->t_predcache = DTRACE_CACHEIDNONE; if (dvar == NULL) break; @@ -6457,7 +6457,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, dtrace_mstate_t *mstate, if (size < regs[r1] || !DTRACE_INSCRATCH(mstate, size)) { DTRACE_CPUFLAG_SET(CPU_DTRACE_NOSCRATCH); - regs[rd] = NULL; + regs[rd] = 0; break; } @@ -6955,7 +6955,7 @@ dtrace_probe(dtrace_id_t id, uintptr_t arg0, uintptr_t arg1, mstate.dtms_difo = NULL; mstate.dtms_probe = probe; - mstate.dtms_strtok = NULL; + mstate.dtms_strtok = 0; mstate.dtms_arg[0] = arg0; mstate.dtms_arg[1] = arg1; mstate.dtms_arg[2] = arg2; @@ -7651,7 +7651,7 @@ dtrace_hash_collisions(dtrace_hash_t *hash, dtrace_probe_t *template) return (bucket->dthb_len); } - return (NULL); + return (0); } static void @@ -11016,7 +11016,7 @@ dtrace_ecb_action_add(dtrace_ecb_t *ecb, dtrace_actdesc_t *desc) * We know that our arg is a string -- turn it into a * format. */ - if (arg == NULL) { + if (arg == 0) { ASSERT(desc->dtad_kind == DTRACEACT_PRINTA || desc->dtad_kind == DTRACEACT_DIFEXPR); format = 0; @@ -12857,7 +12857,7 @@ dtrace_dof_difo(dof_hdr_t *dof, dof_sec_t *sec, dtrace_vstate_t *vstate, offsetof(dtrace_difo_t, dtdo_varlen), sizeof (dtrace_difv_t), sizeof (uint_t), "multiple variable tables" }, - { DOF_SECT_NONE, 0, 0, 0, NULL } + { DOF_SECT_NONE, 0, 0, 0, 0, NULL } }; if (sec->dofs_type != DOF_SECT_DIFOHDR) { @@ -14854,7 +14854,7 @@ err: mstate->dtms_arg[0] = sarg0; mstate->dtms_arg[1] = sarg1; - return (NULL); + return (0); } static void @@ -16023,9 +16023,9 @@ dtrace_attach(dev_info_t *devi, ddi_attach_cmd_t cmd) } if (ddi_create_minor_node(devi, DTRACEMNR_DTRACE, S_IFCHR, - DTRACEMNRN_DTRACE, DDI_PSEUDO, NULL) == DDI_FAILURE || + DTRACEMNRN_DTRACE, DDI_PSEUDO, 0) == DDI_FAILURE || ddi_create_minor_node(devi, DTRACEMNR_HELPER, S_IFCHR, - DTRACEMNRN_HELPER, DDI_PSEUDO, NULL) == DDI_FAILURE) { + DTRACEMNRN_HELPER, DDI_PSEUDO, 0) == DDI_FAILURE) { cmn_err(CE_NOTE, "/dev/dtrace couldn't create minor nodes"); ddi_remove_minor_node(devi, NULL); ddi_soft_state_fini(&dtrace_softstate); @@ -16583,7 +16583,7 @@ dtrace_ioctl(dev_t dev, int cmd, intptr_t arg, int md, cred_t *cr, int *rv) * If a NULL argument has been passed, we take this as our * cue to reevaluate our enablings. */ - if (arg == NULL) { + if (arg == 0) { dtrace_enabling_matchall(); return (0); |