summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorJerry Jelinek <jerry.jelinek@joyent.com>2020-02-27 12:32:44 +0000
committerJerry Jelinek <jerry.jelinek@joyent.com>2020-02-27 12:32:44 +0000
commitfaeaa26e163d52687050158b42d206b04398000f (patch)
tree4d93980f007cdf66a86b6224453eb671e934d46e /usr/src
parent5cbb72a848d670186cc8a950e564d70c7208f889 (diff)
parent3e8c7f16168b2700c28b981ab66ca8ff755c5a5d (diff)
downloadillumos-joyent-faeaa26e163d52687050158b42d206b04398000f.tar.gz
[illumos-gate merge]
commit 3e8c7f16168b2700c28b981ab66ca8ff755c5a5d 12333 loader: replace zfs_alloc/zfs_free with malloc/free commit 1743a90d9abccc6cd1e57ef89729c674b859fc6e 12099 fm: cast between incompatible function types
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/boot/Makefile.version2
-rw-r--r--usr/src/boot/lib/libstand/zfs/zfsimpl.c76
-rw-r--r--usr/src/boot/sys/cddl/boot/zfs/zfssubr.c65
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd.c4
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd.h3
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_api.c2
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_case.c8
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_case.h4
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_ckpt.c10
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_mdb.c23
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_module.c11
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_scheme.c65
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_serd.c11
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_serd.h10
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_thread.c4
-rw-r--r--usr/src/cmd/fm/fmd/common/fmd_time.c11
-rw-r--r--usr/src/cmd/fm/fmdump/common/scheme.c9
-rw-r--r--usr/src/lib/fm/libfmd_snmp/common/module.c8
-rw-r--r--usr/src/lib/fm/libfmd_snmp/common/problem.c8
-rw-r--r--usr/src/lib/fm/libfmd_snmp/common/resource.c8
-rw-r--r--usr/src/lib/fm/libfmd_snmp/common/scheme.c18
21 files changed, 196 insertions, 164 deletions
diff --git a/usr/src/boot/Makefile.version b/usr/src/boot/Makefile.version
index dd8b6a292d..600cec3537 100644
--- a/usr/src/boot/Makefile.version
+++ b/usr/src/boot/Makefile.version
@@ -33,4 +33,4 @@ LOADER_VERSION = 1.1
# Use date like formatting here, YYYY.MM.DD.XX, without leading zeroes.
# The version is processed from left to right, the version number can only
# be increased.
-BOOT_VERSION = $(LOADER_VERSION)-2020.02.21.1
+BOOT_VERSION = $(LOADER_VERSION)-2020.02.26.1
diff --git a/usr/src/boot/lib/libstand/zfs/zfsimpl.c b/usr/src/boot/lib/libstand/zfs/zfsimpl.c
index c291ef771e..a5c0d4fc73 100644
--- a/usr/src/boot/lib/libstand/zfs/zfsimpl.c
+++ b/usr/src/boot/lib/libstand/zfs/zfsimpl.c
@@ -137,9 +137,6 @@ static spa_list_t zfs_pools;
static const dnode_phys_t *dnode_cache_obj;
static uint64_t dnode_cache_bn;
static char *dnode_cache_buf;
-static char *zfs_temp_buf, *zfs_temp_end, *zfs_temp_ptr;
-
-#define TEMP_SIZE (1024 * 1024)
static int zio_read(const spa_t *spa, const blkptr_t *bp, void *buf);
static int zfs_get_root(const spa_t *spa, uint64_t *objid);
@@ -162,38 +159,11 @@ zfs_init(void)
STAILQ_INIT(&zfs_vdevs);
STAILQ_INIT(&zfs_pools);
- zfs_temp_buf = malloc(TEMP_SIZE);
- zfs_temp_end = zfs_temp_buf + TEMP_SIZE;
- zfs_temp_ptr = zfs_temp_buf;
dnode_cache_buf = malloc(SPA_MAXBLOCKSIZE);
zfs_init_crc();
}
-static void *
-zfs_alloc(size_t size)
-{
- char *ptr;
-
- if (zfs_temp_ptr + size > zfs_temp_end) {
- panic("ZFS: out of temporary buffer space");
- }
- ptr = zfs_temp_ptr;
- zfs_temp_ptr += size;
-
- return (ptr);
-}
-
-static void
-zfs_free(void *ptr, size_t size)
-{
-
- zfs_temp_ptr -= size;
- if (zfs_temp_ptr != ptr) {
- panic("ZFS: zfs_alloc()/zfs_free() mismatch");
- }
-}
-
static int
xdr_int(const unsigned char **xdr, int *ip)
{
@@ -2151,17 +2121,20 @@ zio_read(const spa_t *spa, const blkptr_t *bp, void *buf)
ASSERT(size <= BPE_PAYLOAD_SIZE);
if (cpfunc != ZIO_COMPRESS_OFF)
- pbuf = zfs_alloc(size);
+ pbuf = malloc(size);
else
pbuf = buf;
+ if (pbuf == NULL)
+ return (ENOMEM);
+
decode_embedded_bp_compressed(bp, pbuf);
error = 0;
if (cpfunc != ZIO_COMPRESS_OFF) {
error = zio_decompress_data(cpfunc, pbuf,
size, buf, BP_GET_LSIZE(bp));
- zfs_free(pbuf, size);
+ free(pbuf);
}
if (error != 0)
printf("ZFS: i/o error - unable to decompress "
@@ -2198,10 +2171,15 @@ zio_read(const spa_t *spa, const blkptr_t *bp, void *buf)
size = P2ROUNDUP(size, align);
}
if (size != BP_GET_PSIZE(bp) || cpfunc != ZIO_COMPRESS_OFF)
- pbuf = zfs_alloc(size);
+ pbuf = malloc(size);
else
pbuf = buf;
+ if (pbuf == NULL) {
+ error = ENOMEM;
+ break;
+ }
+
if (DVA_GET_GANG(dva))
error = zio_read_gang(spa, bp, pbuf);
else
@@ -2214,12 +2192,13 @@ zio_read(const spa_t *spa, const blkptr_t *bp, void *buf)
bcopy(pbuf, buf, BP_GET_PSIZE(bp));
}
if (buf != pbuf)
- zfs_free(pbuf, size);
+ free(pbuf);
if (error == 0)
break;
}
if (error != 0)
printf("ZFS: i/o error - all block copies unavailable\n");
+
return (error);
}
@@ -3425,10 +3404,14 @@ zfs_dnode_stat(const spa_t *spa, dnode_phys_t *dn, struct stat *sb)
int error;
size = BP_GET_LSIZE(bp);
- buf = zfs_alloc(size);
- error = zio_read(spa, bp, buf);
+ buf = malloc(size);
+ if (buf == NULL)
+ error = ENOMEM;
+ else
+ error = zio_read(spa, bp, buf);
+
if (error != 0) {
- zfs_free(buf, size);
+ free(buf);
return (error);
}
sahdrp = buf;
@@ -3445,8 +3428,7 @@ zfs_dnode_stat(const spa_t *spa, dnode_phys_t *dn, struct stat *sb)
SA_GID_OFFSET);
sb->st_size = *(uint64_t *)((char *)sahdrp + hdrsize +
SA_SIZE_OFFSET);
- if (buf != NULL)
- zfs_free(buf, size);
+ free(buf);
}
return (0);
@@ -3464,9 +3446,9 @@ zfs_dnode_readlink(const spa_t *spa, dnode_phys_t *dn, char *path, size_t psize)
int hdrsize;
char *p;
- if (dn->dn_bonuslen != 0)
+ if (dn->dn_bonuslen != 0) {
sahdrp = (sa_hdr_phys_t *)DN_BONUS(dn);
- else {
+ } else {
blkptr_t *bp;
if ((dn->dn_flags & DNODE_FLAG_SPILL_BLKPTR) == 0)
@@ -3474,10 +3456,13 @@ zfs_dnode_readlink(const spa_t *spa, dnode_phys_t *dn, char *path, size_t psize)
bp = DN_SPILL_BLKPTR(dn);
size = BP_GET_LSIZE(bp);
- buf = zfs_alloc(size);
- rc = zio_read(spa, bp, buf);
+ buf = malloc(size);
+ if (buf == NULL)
+ rc = ENOMEM;
+ else
+ rc = zio_read(spa, bp, buf);
if (rc != 0) {
- zfs_free(buf, size);
+ free(buf);
return (rc);
}
sahdrp = buf;
@@ -3485,8 +3470,7 @@ zfs_dnode_readlink(const spa_t *spa, dnode_phys_t *dn, char *path, size_t psize)
hdrsize = SA_HDR_SIZE(sahdrp);
p = (char *)((uintptr_t)sahdrp + hdrsize + SA_SYMLINK_OFFSET);
memcpy(path, p, psize);
- if (buf != NULL)
- zfs_free(buf, size);
+ free(buf);
return (0);
}
/*
diff --git a/usr/src/boot/sys/cddl/boot/zfs/zfssubr.c b/usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
index 0d509ed4a1..d4bcb9ac06 100644
--- a/usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
+++ b/usr/src/boot/sys/cddl/boot/zfs/zfssubr.c
@@ -36,9 +36,6 @@ static uint64_t zfs_crc64_table[256];
#define ASSERT0(x) ((void)0)
#define ASSERT(x) ((void)0)
-#define kmem_alloc(size, flag) zfs_alloc((size))
-#define kmem_free(ptr, size) zfs_free((ptr), (size))
-
static void
zfs_init_crc(void)
{
@@ -377,9 +374,6 @@ zap_hash(uint64_t salt, const char *name)
return (crc);
}
-static void *zfs_alloc(size_t size);
-static void zfs_free(void *ptr, size_t size);
-
typedef struct raidz_col {
uint64_t rc_devidx; /* child device index for I/O */
uint64_t rc_offset; /* device offset */
@@ -982,7 +976,11 @@ vdev_raidz_matrix_reconstruct(raidz_map_t *rm, int n, int nmissing,
log = 0; /* gcc */
psize = sizeof (invlog[0][0]) * n * nmissing;
- p = zfs_alloc(psize);
+ p = malloc(psize);
+ if (p == NULL) {
+ printf("Out of memory\n");
+ return;
+ }
for (pp = p, i = 0; i < nmissing; i++) {
invlog[i] = pp;
@@ -1038,7 +1036,7 @@ vdev_raidz_matrix_reconstruct(raidz_map_t *rm, int n, int nmissing,
}
}
- zfs_free(p, psize);
+ free(p);
}
static int
@@ -1099,7 +1097,11 @@ vdev_raidz_reconstruct_general(raidz_map_t *rm, int *tgts, int ntgts)
psize = (sizeof (rows[0][0]) + sizeof (invrows[0][0])) *
nmissing_rows * n + sizeof (used[0]) * n;
- p = kmem_alloc(psize, KM_SLEEP);
+ p = malloc(psize);
+ if (p == NULL) {
+ printf("Out of memory\n");
+ return (code);
+ }
for (pp = p, i = 0; i < nmissing_rows; i++) {
rows[i] = pp;
@@ -1142,7 +1144,7 @@ vdev_raidz_reconstruct_general(raidz_map_t *rm, int *tgts, int ntgts)
vdev_raidz_matrix_reconstruct(rm, n, nmissing_rows, missing_rows,
invrows, used);
- kmem_free(p, psize);
+ free(p);
return (code);
}
@@ -1215,7 +1217,9 @@ vdev_raidz_map_alloc(void *data, off_t offset, size_t size, uint64_t unit_shift,
ASSERT3U(acols, <=, scols);
- rm = zfs_alloc(offsetof(raidz_map_t, rm_col[scols]));
+ rm = malloc(offsetof(raidz_map_t, rm_col[scols]));
+ if (rm == NULL)
+ return (rm);
rm->rm_cols = acols;
rm->rm_scols = scols;
@@ -1260,8 +1264,16 @@ vdev_raidz_map_alloc(void *data, off_t offset, size_t size, uint64_t unit_shift,
ASSERT3U(rm->rm_asize - asize, ==, rm->rm_nskip << unit_shift);
ASSERT3U(rm->rm_nskip, <=, nparity);
- for (c = 0; c < rm->rm_firstdatacol; c++)
- rm->rm_col[c].rc_data = zfs_alloc(rm->rm_col[c].rc_size);
+ for (c = 0; c < rm->rm_firstdatacol; c++) {
+ rm->rm_col[c].rc_data = malloc(rm->rm_col[c].rc_size);
+ if (rm->rm_col[c].rc_data == NULL) {
+ c++;
+ while (c != 0)
+ free(rm->rm_col[--c].rc_data);
+ free(rm);
+ return (NULL);
+ }
+ }
rm->rm_col[c].rc_data = data;
@@ -1313,9 +1325,9 @@ vdev_raidz_map_free(raidz_map_t *rm)
int c;
for (c = rm->rm_firstdatacol - 1; c >= 0; c--)
- zfs_free(rm->rm_col[c].rc_data, rm->rm_col[c].rc_size);
+ free(rm->rm_col[c].rc_data);
- zfs_free(rm, offsetof(raidz_map_t, rm_col[rm->rm_scols]));
+ free(rm);
}
static vdev_t *
@@ -1360,8 +1372,12 @@ raidz_parity_verify(raidz_map_t *rm)
rc = &rm->rm_col[c];
if (!rc->rc_tried || rc->rc_error != 0)
continue;
- orig[c] = zfs_alloc(rc->rc_size);
- bcopy(rc->rc_data, orig[c], rc->rc_size);
+ orig[c] = malloc(rc->rc_size);
+ if (orig[c] != NULL) {
+ bcopy(rc->rc_data, orig[c], rc->rc_size);
+ } else {
+ printf("Out of memory\n");
+ }
}
vdev_raidz_generate_parity(rm);
@@ -1370,11 +1386,12 @@ raidz_parity_verify(raidz_map_t *rm)
rc = &rm->rm_col[c];
if (!rc->rc_tried || rc->rc_error != 0)
continue;
- if (bcmp(orig[c], rc->rc_data, rc->rc_size) != 0) {
+ if (orig[c] == NULL ||
+ bcmp(orig[c], rc->rc_data, rc->rc_size) != 0) {
rc->rc_error = ECKSUM;
ret++;
}
- zfs_free(orig[c], rc->rc_size);
+ free(orig[c]);
}
return (ret);
@@ -1443,7 +1460,11 @@ vdev_raidz_combrec(const spa_t *spa, raidz_map_t *rm, const blkptr_t *bp,
ASSERT(orig[i] != NULL);
}
- orig[n - 1] = zfs_alloc(rm->rm_col[0].rc_size);
+ orig[n - 1] = malloc(rm->rm_col[0].rc_size);
+ if (orig[n - 1] == NULL) {
+ ret = ENOMEM;
+ goto done;
+ }
current = 0;
next = tgts[current];
@@ -1526,7 +1547,7 @@ vdev_raidz_combrec(const spa_t *spa, raidz_map_t *rm, const blkptr_t *bp,
n--;
done:
for (i = n - 1; i >= 0; i--) {
- zfs_free(orig[i], rm->rm_col[0].rc_size);
+ free(orig[i]);
}
return (ret);
@@ -1555,6 +1576,8 @@ vdev_raidz_read(vdev_t *vd, const blkptr_t *bp, void *data,
rm = vdev_raidz_map_alloc(data, offset, bytes, tvd->v_ashift,
vd->v_nchildren, vd->v_nparity);
+ if (rm == NULL)
+ return (ENOMEM);
/*
* Iterate over the columns in reverse order so that we hit the parity
diff --git a/usr/src/cmd/fm/fmd/common/fmd.c b/usr/src/cmd/fm/fmd/common/fmd.c
index 8177c81049..7369a68047 100644
--- a/usr/src/cmd/fm/fmd/common/fmd.c
+++ b/usr/src/cmd/fm/fmd/common/fmd.c
@@ -169,8 +169,8 @@ fmd_trmode_set(fmd_conf_param_t *pp, const char *value)
else
return (fmd_set_errno(EFMD_CONF_INVAL));
- fmd.d_thr_trace = (void (*)())func;
- pp->cp_value.cpv_ptr = (void *)func;
+ fmd.d_thr_trace = func;
+ pp->cp_value.cpv_ptr = func;
return (0);
}
diff --git a/usr/src/cmd/fm/fmd/common/fmd.h b/usr/src/cmd/fm/fmd/common/fmd.h
index 272fa3c305..fa2d4710b7 100644
--- a/usr/src/cmd/fm/fmd/common/fmd.h
+++ b/usr/src/cmd/fm/fmd/common/fmd.h
@@ -36,6 +36,7 @@ extern "C" {
#include <fmd_list.h>
#include <fmd_time.h>
#include <fmd_api.h>
+#include <fmd_trace.h>
struct fmd_conf; /* see <fmd_conf.h> */
struct fmd_dispq; /* see <fmd_dispq.h> */
@@ -89,7 +90,7 @@ typedef struct fmd {
pthread_mutex_t d_thr_lock; /* lock for d_thr_list */
fmd_list_t d_thr_list; /* list of all fmd_thread_t's */
- void (*d_thr_trace)(); /* thread trace buffer function */
+ fmd_tracebuf_f *d_thr_trace; /* thread trace buffer function */
int d_thr_sig; /* cached copy of client.thrsig */
pthread_mutex_t d_mod_lock; /* lock for d_mod_list */
diff --git a/usr/src/cmd/fm/fmd/common/fmd_api.c b/usr/src/cmd/fm/fmd/common/fmd_api.c
index 008a55c90f..594e41896d 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_api.c
+++ b/usr/src/cmd/fm/fmd/common/fmd_api.c
@@ -1872,7 +1872,7 @@ fmd_doorthr_create(door_info_t *dip, void *(*crf)(void *), void *crarg,
return (0);
}
- if ((new_tp = fmd_doorthread_create(mp, (fmd_thread_f *)crf,
+ if ((new_tp = fmd_doorthread_create(mp, (fmd_thread_f *)(uintptr_t)crf,
crarg)) != NULL) {
tid = new_tp->thr_tid;
mp->mod_stats->ms_doorthrtotal.fmds_value.ui32++;
diff --git a/usr/src/cmd/fm/fmd/common/fmd_case.c b/usr/src/cmd/fm/fmd/common/fmd_case.c
index dff15220a7..9ffa939cd1 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_case.c
+++ b/usr/src/cmd/fm/fmd/common/fmd_case.c
@@ -1572,9 +1572,9 @@ fmd_case_rele_locked(fmd_case_t *cp)
}
int
-fmd_case_insert_principal(fmd_case_t *cp, fmd_event_t *ep)
+fmd_case_insert_principal(void *cp, fmd_event_t *ep)
{
- fmd_case_impl_t *cip = (fmd_case_impl_t *)cp;
+ fmd_case_impl_t *cip = cp;
fmd_case_item_t *cit;
fmd_event_t *oep;
uint_t state;
@@ -1611,9 +1611,9 @@ fmd_case_insert_principal(fmd_case_t *cp, fmd_event_t *ep)
}
int
-fmd_case_insert_event(fmd_case_t *cp, fmd_event_t *ep)
+fmd_case_insert_event(void *cp, fmd_event_t *ep)
{
- fmd_case_impl_t *cip = (fmd_case_impl_t *)cp;
+ fmd_case_impl_t *cip = cp;
fmd_case_item_t *cit;
uint_t state;
int new;
diff --git a/usr/src/cmd/fm/fmd/common/fmd_case.h b/usr/src/cmd/fm/fmd/common/fmd_case.h
index 733826e91c..92b6a91de5 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_case.h
+++ b/usr/src/cmd/fm/fmd/common/fmd_case.h
@@ -130,8 +130,8 @@ extern void fmd_case_rele(fmd_case_t *);
extern void fmd_case_rele_locked(fmd_case_t *);
extern void fmd_case_update(fmd_case_t *);
-extern int fmd_case_insert_principal(fmd_case_t *, fmd_event_t *);
-extern int fmd_case_insert_event(fmd_case_t *, fmd_event_t *);
+extern int fmd_case_insert_principal(void *, fmd_event_t *);
+extern int fmd_case_insert_event(void *, fmd_event_t *);
extern void fmd_case_insert_suspect(fmd_case_t *, nvlist_t *);
extern void fmd_case_recreate_suspect(fmd_case_t *, nvlist_t *);
diff --git a/usr/src/cmd/fm/fmd/common/fmd_ckpt.c b/usr/src/cmd/fm/fmd/common/fmd_ckpt.c
index 4bae10f7b4..c923cbbb22 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_ckpt.c
+++ b/usr/src/cmd/fm/fmd/common/fmd_ckpt.c
@@ -894,7 +894,7 @@ fmd_ckpt_strptr(fmd_ckpt_t *ckp, fcf_stridx_t sid, const char *defstr)
static void
fmd_ckpt_restore_events(fmd_ckpt_t *ckp, fcf_secidx_t sid,
- void (*func)(void *, fmd_event_t *), void *arg)
+ int (*func)(void *, fmd_event_t *), void *arg)
{
const fcf_event_t *fcfe;
const fcf_sec_t *sp;
@@ -942,7 +942,7 @@ fmd_ckpt_restore_events(fmd_ckpt_t *ckp, fcf_secidx_t sid,
ep = fmd_event_recreate(FMD_EVT_PROTOCOL,
&ftv, NULL, NULL, lp, fcfe->fcfe_offset, 0);
fmd_event_hold(ep);
- func(arg, ep);
+ (void) func(arg, ep);
fmd_event_rele(ep);
fcfe = (fcf_event_t *)((uintptr_t)fcfe + sp->fcfs_entsize);
@@ -1050,10 +1050,10 @@ fmd_ckpt_restore_case(fmd_ckpt_t *ckp, fmd_module_t *mp, const fcf_sec_t *sp)
}
fmd_ckpt_restore_events(ckp, fcfc->fcfc_principal,
- (void (*)(void *, fmd_event_t *))fmd_case_insert_principal, cp);
+ fmd_case_insert_principal, cp);
fmd_ckpt_restore_events(ckp, fcfc->fcfc_events,
- (void (*)(void *, fmd_event_t *))fmd_case_insert_event, cp);
+ fmd_case_insert_event, cp);
/*
* Once solved, treat suspects from resource cache as master copy.
@@ -1105,7 +1105,7 @@ fmd_ckpt_restore_serd(fmd_ckpt_t *ckp, fmd_module_t *mp, const fcf_sec_t *sp)
fmd_module_lock(mp);
fmd_ckpt_restore_events(ckp, fcfd->fcfd_events,
- (void (*)(void *, fmd_event_t *))fmd_serd_eng_record,
+ fmd_serd_eng_record,
fmd_serd_eng_lookup(&mp->mod_serds, s));
fmd_module_unlock(mp);
diff --git a/usr/src/cmd/fm/fmd/common/fmd_mdb.c b/usr/src/cmd/fm/fmd/common/fmd_mdb.c
index 8ad141ab27..c24d0cee39 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_mdb.c
+++ b/usr/src/cmd/fm/fmd/common/fmd_mdb.c
@@ -208,8 +208,11 @@ trwalk_fini(mdb_walk_state_t *wsp)
/*ARGSUSED*/
static int
-trprint_msg(uintptr_t addr, const fmd_tracerec_t *trp, uintptr_t tid)
+trprint_msg(uintptr_t addr, const void *arg, void *arg1)
{
+ const fmd_tracerec_t *trp = arg;
+ uintptr_t tid = (uintptr_t)arg1;
+
if (tid == 0)
mdb_printf("%3lu ", trp->tr_stack[trp->tr_depth]);
else if (trp->tr_stack[trp->tr_depth] != tid)
@@ -223,8 +226,10 @@ trprint_msg(uintptr_t addr, const fmd_tracerec_t *trp, uintptr_t tid)
/*ARGSUSED*/
static int
-trprint_cpp(uintptr_t addr, const fmd_tracerec_t *trp, uintptr_t tid)
+trprint_cpp(uintptr_t addr, const void *arg, void *arg1)
{
+ const fmd_tracerec_t *trp = arg;
+ uintptr_t tid = (uintptr_t)arg1;
char file[64];
if (tid == 0)
@@ -254,17 +259,19 @@ trprint_stack(const fmd_tracerec_t *trp)
}
static int
-trprint_msg_stack(uintptr_t addr, const fmd_tracerec_t *trp, uintptr_t tid)
+trprint_msg_stack(uintptr_t addr, const void *arg, void *arg1)
{
- int status = trprint_msg(addr, trp, tid);
+ const fmd_tracerec_t *trp = arg;
+ int status = trprint_msg(addr, trp, arg1);
trprint_stack(trp);
return (status);
}
static int
-trprint_cpp_stack(uintptr_t addr, const fmd_tracerec_t *trp, uintptr_t tid)
+trprint_cpp_stack(uintptr_t addr, const void *arg, void *arg1)
{
- int status = trprint_cpp(addr, trp, tid);
+ const fmd_tracerec_t *trp = arg;
+ int status = trprint_cpp(addr, trp, arg1);
trprint_stack(trp);
return (status);
}
@@ -272,7 +279,7 @@ trprint_cpp_stack(uintptr_t addr, const fmd_tracerec_t *trp, uintptr_t tid)
static int
fmd_trace(uintptr_t tid, uint_t flags, int argc, const mdb_arg_t *argv)
{
- int (*func)(uintptr_t, const fmd_tracerec_t *, uintptr_t);
+ int (*func)(uintptr_t, const void *, void *);
uint_t opt_c = FALSE, opt_s = FALSE;
if (mdb_getopts(argc, argv,
@@ -293,7 +300,7 @@ fmd_trace(uintptr_t tid, uint_t flags, int argc, const mdb_arg_t *argv)
func = opt_s ? trprint_msg_stack : trprint_msg;
}
- if (mdb_walk("fmd_trace", (mdb_walk_cb_t)func, (void *)tid) == -1) {
+ if (mdb_walk("fmd_trace", func, (void *)tid) == -1) {
mdb_warn("failed to walk fmd_trace");
return (DCMD_ERR);
}
diff --git a/usr/src/cmd/fm/fmd/common/fmd_module.c b/usr/src/cmd/fm/fmd/common/fmd_module.c
index ad3b8f424d..5fe1c701ce 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_module.c
+++ b/usr/src/cmd/fm/fmd/common/fmd_module.c
@@ -641,8 +641,7 @@ fmd_module_gc(fmd_module_t *mp)
fmd_module_lock(mp);
if ((info = mp->mod_info) != NULL) {
- fmd_serd_hash_apply(&mp->mod_serds,
- (fmd_serd_eng_f *)fmd_serd_eng_gc, NULL);
+ fmd_serd_hash_apply(&mp->mod_serds, fmd_serd_eng_gc, NULL);
}
fmd_module_unlock(mp);
@@ -657,8 +656,7 @@ void
fmd_module_trygc(fmd_module_t *mp)
{
if (fmd_module_trylock(mp)) {
- fmd_serd_hash_apply(&mp->mod_serds,
- (fmd_serd_eng_f *)fmd_serd_eng_gc, NULL);
+ fmd_serd_hash_apply(&mp->mod_serds, fmd_serd_eng_gc, NULL);
fmd_module_unlock(mp);
}
}
@@ -715,7 +713,7 @@ fmd_module_clrdirty(fmd_module_t *mp)
if (mp->mod_flags & FMD_MOD_MDIRTY) {
fmd_serd_hash_apply(&mp->mod_serds,
- (fmd_serd_eng_f *)fmd_serd_eng_clrdirty, NULL);
+ fmd_serd_eng_clrdirty, NULL);
fmd_buf_hash_commit(&mp->mod_bufs);
}
@@ -740,8 +738,7 @@ fmd_module_commit(fmd_module_t *mp)
}
if (mp->mod_flags & FMD_MOD_MDIRTY) {
- fmd_serd_hash_apply(&mp->mod_serds,
- (fmd_serd_eng_f *)fmd_serd_eng_commit, NULL);
+ fmd_serd_hash_apply(&mp->mod_serds, fmd_serd_eng_commit, NULL);
fmd_buf_hash_commit(&mp->mod_bufs);
}
diff --git a/usr/src/cmd/fm/fmd/common/fmd_scheme.c b/usr/src/cmd/fm/fmd/common/fmd_scheme.c
index 4ddad713a6..367ecde455 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_scheme.c
+++ b/usr/src/cmd/fm/fmd/common/fmd_scheme.c
@@ -142,21 +142,38 @@ fmd_scheme_fmd_unusable(nvlist_t *nvl)
return (rv);
}
-/*ARGSUSED*/
static nvlist_t *
-fmd_scheme_notranslate(nvlist_t *fmri, nvlist_t *auth)
+fmd_scheme_notranslate(nvlist_t *fmri, nvlist_t *auth __unused)
{
(void) nvlist_xdup(fmri, &fmri, &fmd.d_nva);
return (fmri);
}
-static long
-fmd_scheme_notsup(void)
+static ssize_t
+fmd_scheme_notsup_nvl2str(nvlist_t *fmri __unused, char *arg1 __unused,
+ size_t arg2 __unused)
+{
+ return (fmd_set_errno(EFMD_FMRI_NOTSUP));
+}
+
+static int
+fmd_scheme_notsup(nvlist_t *fmri __unused)
{
return (fmd_set_errno(EFMD_FMRI_NOTSUP));
}
static int
+fmd_scheme_notsup2(nvlist_t *fmri1 __unused, nvlist_t *fmri2 __unused)
+{
+ return (fmd_set_errno(EFMD_FMRI_NOTSUP));
+}
+
+static void
+fmd_scheme_vnop(void)
+{
+}
+
+static int
fmd_scheme_nop(void)
{
return (0);
@@ -167,29 +184,29 @@ fmd_scheme_nop(void)
* the module, then this operation is implemented using the default function.
*/
static const fmd_scheme_ops_t _fmd_scheme_default_ops = {
- (int (*)())fmd_scheme_nop, /* sop_init */
- (void (*)())fmd_scheme_nop, /* sop_fini */
- (ssize_t (*)())fmd_scheme_notsup, /* sop_nvl2str */
- (int (*)())fmd_scheme_nop, /* sop_expand */
- (int (*)())fmd_scheme_notsup, /* sop_present */
- (int (*)())fmd_scheme_notsup, /* sop_replaced */
- (int (*)())fmd_scheme_notsup, /* sop_service_state */
- (int (*)())fmd_scheme_notsup, /* sop_unusable */
- (int (*)())fmd_scheme_notsup, /* sop_contains */
- fmd_scheme_notranslate /* sop_translate */
+ .sop_init = fmd_scheme_nop,
+ .sop_fini = fmd_scheme_vnop,
+ .sop_nvl2str = fmd_scheme_notsup_nvl2str,
+ .sop_expand = fmd_scheme_notsup,
+ .sop_present = fmd_scheme_notsup,
+ .sop_replaced = fmd_scheme_notsup,
+ .sop_service_state = fmd_scheme_notsup,
+ .sop_unusable = fmd_scheme_notsup,
+ .sop_contains = fmd_scheme_notsup2,
+ .sop_translate = fmd_scheme_notranslate
};
static const fmd_scheme_ops_t _fmd_scheme_builtin_ops = {
- (int (*)())fmd_scheme_nop, /* sop_init */
- (void (*)())fmd_scheme_nop, /* sop_fini */
- fmd_scheme_fmd_nvl2str, /* sop_nvl2str */
- (int (*)())fmd_scheme_nop, /* sop_expand */
- fmd_scheme_fmd_present, /* sop_present */
- fmd_scheme_fmd_replaced, /* sop_replaced */
- fmd_scheme_fmd_service_state, /* sop_service_state */
- fmd_scheme_fmd_unusable, /* sop_unusable */
- (int (*)())fmd_scheme_notsup, /* sop_contains */
- fmd_scheme_notranslate /* sop_translate */
+ .sop_init = fmd_scheme_nop,
+ .sop_fini = fmd_scheme_vnop,
+ .sop_nvl2str = fmd_scheme_fmd_nvl2str,
+ .sop_expand = fmd_scheme_notsup,
+ .sop_present = fmd_scheme_fmd_present,
+ .sop_replaced = fmd_scheme_fmd_replaced,
+ .sop_service_state = fmd_scheme_fmd_service_state,
+ .sop_unusable = fmd_scheme_fmd_unusable,
+ .sop_contains = fmd_scheme_notsup2,
+ .sop_translate = fmd_scheme_notranslate
};
/*
diff --git a/usr/src/cmd/fm/fmd/common/fmd_serd.c b/usr/src/cmd/fm/fmd/common/fmd_serd.c
index 166b565666..0c817ef07d 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_serd.c
+++ b/usr/src/cmd/fm/fmd/common/fmd_serd.c
@@ -24,8 +24,6 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <fmd_alloc.h>
#include <fmd_string.h>
#include <fmd_subr.h>
@@ -189,8 +187,9 @@ fmd_serd_eng_contains(fmd_serd_eng_t *sgp, fmd_event_t *ep)
}
int
-fmd_serd_eng_record(fmd_serd_eng_t *sgp, fmd_event_t *ep)
+fmd_serd_eng_record(void *ptr, fmd_event_t *ep)
{
+ fmd_serd_eng_t *sgp = ptr;
fmd_serd_elem_t *sep, *oep;
/*
@@ -253,7 +252,7 @@ fmd_serd_eng_reset(fmd_serd_eng_t *sgp)
}
void
-fmd_serd_eng_gc(fmd_serd_eng_t *sgp)
+fmd_serd_eng_gc(fmd_serd_eng_t *sgp, void *arg __unused)
{
fmd_serd_elem_t *sep, *nep;
hrtime_t hrt;
@@ -275,7 +274,7 @@ fmd_serd_eng_gc(fmd_serd_eng_t *sgp)
}
void
-fmd_serd_eng_commit(fmd_serd_eng_t *sgp)
+fmd_serd_eng_commit(fmd_serd_eng_t *sgp, void *arg __unused)
{
fmd_serd_elem_t *sep;
@@ -290,7 +289,7 @@ fmd_serd_eng_commit(fmd_serd_eng_t *sgp)
}
void
-fmd_serd_eng_clrdirty(fmd_serd_eng_t *sgp)
+fmd_serd_eng_clrdirty(fmd_serd_eng_t *sgp, void *arg __unused)
{
sgp->sg_flags &= ~FMD_SERD_DIRTY;
}
diff --git a/usr/src/cmd/fm/fmd/common/fmd_serd.h b/usr/src/cmd/fm/fmd/common/fmd_serd.h
index 3841f91999..48190a9058 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_serd.h
+++ b/usr/src/cmd/fm/fmd/common/fmd_serd.h
@@ -27,8 +27,6 @@
#ifndef _FMD_SERD_H
#define _FMD_SERD_H
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#ifdef __cplusplus
extern "C" {
#endif
@@ -75,14 +73,14 @@ extern fmd_serd_eng_t *fmd_serd_eng_lookup(fmd_serd_hash_t *, const char *);
extern void fmd_serd_eng_delete(fmd_serd_hash_t *, const char *);
extern int fmd_serd_eng_contains(fmd_serd_eng_t *, fmd_event_t *);
-extern int fmd_serd_eng_record(fmd_serd_eng_t *, fmd_event_t *);
+extern int fmd_serd_eng_record(void *, fmd_event_t *);
extern int fmd_serd_eng_fired(fmd_serd_eng_t *);
extern int fmd_serd_eng_empty(fmd_serd_eng_t *);
extern void fmd_serd_eng_reset(fmd_serd_eng_t *);
-extern void fmd_serd_eng_gc(fmd_serd_eng_t *);
-extern void fmd_serd_eng_commit(fmd_serd_eng_t *);
-extern void fmd_serd_eng_clrdirty(fmd_serd_eng_t *);
+extern void fmd_serd_eng_gc(fmd_serd_eng_t *, void *);
+extern void fmd_serd_eng_commit(fmd_serd_eng_t *, void*);
+extern void fmd_serd_eng_clrdirty(fmd_serd_eng_t *, void*);
#ifdef __cplusplus
}
diff --git a/usr/src/cmd/fm/fmd/common/fmd_thread.c b/usr/src/cmd/fm/fmd/common/fmd_thread.c
index cb0cb0745d..5de69238b5 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_thread.c
+++ b/usr/src/cmd/fm/fmd/common/fmd_thread.c
@@ -41,7 +41,7 @@ fmd_thread_xcreate(fmd_module_t *mp, pthread_t tid)
tp->thr_func = NULL;
tp->thr_arg = NULL;
tp->thr_trdata = fmd_trace_create();
- tp->thr_trfunc = (fmd_tracebuf_f *)fmd.d_thr_trace;
+ tp->thr_trfunc = fmd.d_thr_trace;
tp->thr_errdepth = 0;
tp->thr_isdoor = 0;
@@ -81,7 +81,7 @@ fmd_thread_create_cmn(fmd_module_t *mp, fmd_thread_f *func, void *arg,
tp->thr_func = func;
tp->thr_arg = arg;
tp->thr_trdata = fmd_trace_create();
- tp->thr_trfunc = (fmd_tracebuf_f *)fmd.d_thr_trace;
+ tp->thr_trfunc = fmd.d_thr_trace;
tp->thr_errdepth = 0;
tp->thr_isdoor = isdoor;
diff --git a/usr/src/cmd/fm/fmd/common/fmd_time.c b/usr/src/cmd/fm/fmd/common/fmd_time.c
index ace772a476..a735ba03bf 100644
--- a/usr/src/cmd/fm/fmd/common/fmd_time.c
+++ b/usr/src/cmd/fm/fmd/common/fmd_time.c
@@ -186,7 +186,7 @@ fmd_time_tod2hrt(hrtime_t hrt_base, const fmd_timeval_t *tod_base,
* period between 'hrt' and 't0', therefore to check which one came first, we
* test their subtraction against the highest bit of mask, if the bit is not
* set, then 't0' is earlier. This is equivalent to
- * ((hrt - t0) & mask) < ((mask + 1) / 2)
+ * ((hrt - t0) & mask) < ((mask + 1) / 2)
*/
hrtime_t
fmd_time_ena2hrt(hrtime_t hrt, uint64_t ena)
@@ -366,6 +366,11 @@ fmd_native_cancel(pthread_t tid)
(void) pthread_kill(tid, SIGALRM);
}
+static void
+fmd_time_vnop(void)
+{
+}
+
static void *
fmd_time_nop(void)
{
@@ -374,10 +379,10 @@ fmd_time_nop(void)
const fmd_timeops_t fmd_timeops_native = {
(void *(*)())fmd_time_nop, /* fto_init */
- (void (*)())fmd_time_nop, /* fto_fini */
+ (void (*)())fmd_time_vnop, /* fto_fini */
gettimeofday, /* fto_gettimeofday */
gethrtime, /* fto_gethrtime */
- (void (*)())fmd_time_nop, /* fto_addhrtime */
+ (void (*)())fmd_time_vnop, /* fto_addhrtime */
fmd_native_wait, /* fto_waithrtime */
fmd_native_cancel, /* fto_waitcancel */
};
diff --git a/usr/src/cmd/fm/fmdump/common/scheme.c b/usr/src/cmd/fm/fmdump/common/scheme.c
index 425fbd302c..20cad01a50 100644
--- a/usr/src/cmd/fm/fmdump/common/scheme.c
+++ b/usr/src/cmd/fm/fmdump/common/scheme.c
@@ -23,8 +23,6 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/types.h>
#include <sys/systeminfo.h>
@@ -79,6 +77,11 @@ fmd_scheme_notsup(void)
return (-1);
}
+static void
+fmd_scheme_vnop(void)
+{
+}
+
static int
fmd_scheme_nop(void)
{
@@ -91,7 +94,7 @@ fmd_scheme_nop(void)
*/
static const fmd_scheme_ops_t _fmd_scheme_default_ops = {
(int (*)())fmd_scheme_nop, /* sop_init */
- (void (*)())fmd_scheme_nop, /* sop_fini */
+ (void (*)())fmd_scheme_vnop, /* sop_fini */
(ssize_t (*)())fmd_scheme_notsup, /* sop_nvl2str */
};
diff --git a/usr/src/lib/fm/libfmd_snmp/common/module.c b/usr/src/lib/fm/libfmd_snmp/common/module.c
index 6f6161f366..0521cf40fb 100644
--- a/usr/src/lib/fm/libfmd_snmp/common/module.c
+++ b/usr/src/lib/fm/libfmd_snmp/common/module.c
@@ -270,9 +270,8 @@ modinfo_update(sunFmModule_update_ctx_t *update_ctx)
return (SNMP_ERR_NOERROR);
}
-/*ARGSUSED*/
-static void
-update_thread(void *arg)
+__NORETURN static void *
+update_thread(void *arg __unused)
{
/*
* The current modinfo_update implementation offers minimal savings
@@ -357,8 +356,7 @@ sunFmModuleTable_init(void)
return (MIB_REGISTRATION_FAILED);
}
- if ((err = pthread_create(NULL, NULL, (void *(*)(void *))update_thread,
- NULL)) != 0) {
+ if ((err = pthread_create(NULL, NULL, update_thread, NULL)) != 0) {
(void) snmp_log(LOG_ERR, MODNAME_STR ": error creating update "
"thread: %s\n", strerror(err));
return (MIB_REGISTRATION_FAILED);
diff --git a/usr/src/lib/fm/libfmd_snmp/common/problem.c b/usr/src/lib/fm/libfmd_snmp/common/problem.c
index dc1fc7a158..21835ec8a0 100644
--- a/usr/src/lib/fm/libfmd_snmp/common/problem.c
+++ b/usr/src/lib/fm/libfmd_snmp/common/problem.c
@@ -274,9 +274,8 @@ problem_update(sunFmProblem_update_ctx_t *update_ctx)
return (SNMP_ERR_NOERROR);
}
-/*ARGSUSED*/
-static void
-update_thread(void *arg)
+__NORETURN static void *
+update_thread(void *arg __unused)
{
/*
* The current problem_update implementation offers minimal savings
@@ -348,8 +347,7 @@ sunFmProblemTable_init(void)
return (MIB_REGISTRATION_FAILED);
}
- if ((err = pthread_create(NULL, NULL, (void *(*)(void *))update_thread,
- NULL)) != 0) {
+ if ((err = pthread_create(NULL, NULL, update_thread, NULL)) != 0) {
(void) snmp_log(LOG_ERR, MODNAME_STR ": error creating update "
"thread: %s\n", strerror(err));
return (MIB_REGISTRATION_FAILED);
diff --git a/usr/src/lib/fm/libfmd_snmp/common/resource.c b/usr/src/lib/fm/libfmd_snmp/common/resource.c
index 59e202337e..7cf3e1131c 100644
--- a/usr/src/lib/fm/libfmd_snmp/common/resource.c
+++ b/usr/src/lib/fm/libfmd_snmp/common/resource.c
@@ -265,9 +265,8 @@ rsrcinfo_update(sunFmResource_update_ctx_t *update_ctx)
return (SNMP_ERR_NOERROR);
}
-/*ARGSUSED*/
-static void
-update_thread(void *arg)
+__NORETURN static void *
+update_thread(void *arg __unused)
{
/*
* The current rsrcinfo_update implementation offers minimal savings
@@ -354,8 +353,7 @@ sunFmResourceTable_init(void)
return (MIB_REGISTRATION_FAILED);
}
- if ((err = pthread_create(NULL, NULL, (void *(*)(void *))update_thread,
- NULL)) != 0) {
+ if ((err = pthread_create(NULL, NULL, update_thread, NULL)) != 0) {
(void) snmp_log(LOG_ERR, MODNAME_STR ": error creating update "
"thread: %s\n", strerror(err));
return (MIB_REGISTRATION_FAILED);
diff --git a/usr/src/lib/fm/libfmd_snmp/common/scheme.c b/usr/src/lib/fm/libfmd_snmp/common/scheme.c
index 55c45a7ae3..771763f6d1 100644
--- a/usr/src/lib/fm/libfmd_snmp/common/scheme.c
+++ b/usr/src/lib/fm/libfmd_snmp/common/scheme.c
@@ -24,8 +24,6 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
-
#include <sys/fm/protocol.h>
#include <sys/types.h>
#include <sys/systeminfo.h>
@@ -75,13 +73,19 @@ static fmd_scheme_t *sch_list; /* list of cached schemes */
static char *g_root; /* fmd root dir */
static struct topo_hdl *g_thp;
-static long
-fmd_scheme_notsup(void)
+static ssize_t
+fmd_scheme_notsup(nvlist_t *nv __unused, char *arg1 __unused,
+ size_t arg2 __unused)
{
errno = ENOTSUP;
return (-1);
}
+static void
+fmd_scheme_vnop(void)
+{
+}
+
static int
fmd_scheme_nop(void)
{
@@ -93,9 +97,9 @@ fmd_scheme_nop(void)
* the module, then this operation is implemented using the default function.
*/
static const fmd_scheme_ops_t _fmd_scheme_default_ops = {
- (int (*)())fmd_scheme_nop, /* sop_init */
- (void (*)())fmd_scheme_nop, /* sop_fini */
- (ssize_t (*)())fmd_scheme_notsup, /* sop_nvl2str */
+ .sop_init = fmd_scheme_nop, /* sop_init */
+ .sop_fini = fmd_scheme_vnop, /* sop_fini */
+ .sop_nvl2str = fmd_scheme_notsup /* sop_nvl2str */
};
/*