diff options
author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2019-01-18 13:03:13 +0000 |
---|---|---|
committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2019-01-18 13:03:13 +0000 |
commit | 25b01135ad8be1fdedfb11fb76ed33f61b342df1 (patch) | |
tree | 66b5155562ac8306d53e7b77356f75327b66d125 | |
parent | 67fad88d8d5136137ff0cacefc56a2f296803cc0 (diff) | |
parent | 2dc5cbd37af38054ac6aab88a3ecee22a13ed2eb (diff) | |
download | illumos-joyent-25b01135ad8be1fdedfb11fb76ed33f61b342df1.tar.gz |
[illumos-gate merge]
commit 2dc5cbd37af38054ac6aab88a3ecee22a13ed2eb
9312 ctf: be less clever about skipping 'extern' variables declarations
9864 DWARF->CTF enum conversion needs to be careful of sign
commit 50971960b7b1866cdd785b20a4df98c90c231638
10224 memset_s() is not visible in global C++ namespace
commit 7c9ce9e029489432cc8d45437d8ecd0b9750d68d
10194 iscsi: this statement may fall through
commit 71222654120258353fa867d14ad838c458c823d7
10193 ddi_intr: cast between incompatible function types
commit 1b9bce10d88d75c318f27b82ba816b744c6f1075
10190 aphysio: cast between incompatible function types
commit b94c9724091d6587cd76f6ec562dc8888e3f31c0
10189 fdbuffer: cast between incompatible function types
commit f3618278e9f3d420057d55d344e871e4d0c45517
10188 libast: cast between incompatible function types
commit f91fcf59ac2fd04f1816f3dcbc69a46d44276a65
10165 libzpool: passing argument 1 to restrict-qualified parameter aliases with argument 4
commit 04443fde3a2688e592571a7bcca114860cf07bb3
10025 qede: rename OFFSETOF to offsetof and remove local definitions
commit 24c5c9f44237084e2bc735b78e3c0009959de21b
10088 ldterm_do_ioctl() shouldn't check for a NULL array
commit 80e3e2368f7911a78a5f2f1a961052b37f3a76d0
10087 atge_attach() doesn't need to check for kmem_zalloc() success
commit bb54aa2057d4245bc905df8c193acb7b8b0bb74b
10086 ixgbe_m_propinfo() is missing an 'else'
commit c1bf5ca093201aa1b43846f6bc194c780f03599e
10085 sctp_getpeeraddrs() doesn't need to check for a NULL primary
commit f19903c648bc62d61c7a20de6269dc85395c965b
10084 fop_open() doesn't need to check for a NULL vnode
commit d6294894f9d15dfb12a0dd3a6acf8bd4a4a65408
10083 smatch fixes for common/fs/vfs.c
commit 598f111b6a2800d5bd143949a1bdb1e786a92fc3
10082 intel_nhm is checking for NULL arrays
commit 45ca53447fde2f014d6d62f6bbbfc0b97ae011dd
10215 lofiadm -la fails after lofiadm -a / lofiadm -d
31 files changed, 251 insertions, 182 deletions
diff --git a/usr/src/head/iso/stdlib_c11.h b/usr/src/head/iso/stdlib_c11.h index 5648ca4083..fe3a1e98b1 100644 --- a/usr/src/head/iso/stdlib_c11.h +++ b/usr/src/head/iso/stdlib_c11.h @@ -65,6 +65,16 @@ extern int at_quick_exit(void (*)(void)); extern _NORETURN_KYWD void quick_exit(int); #endif /* !_STRICT_SYMBOLS || _STDC_C11 || __cplusplus >= 201103L */ +#if __cplusplus >= 199711L +} +#endif + +/* + * ISO C11 Annex K functions are not allowed to be in the standard + * namespace; however, it is implementation-defined as to whether or + * not they are in the global namespace and we opt to make them + * available to software. + */ #if __EXT1_VISIBLE #ifndef _ERRNO_T_DEFINED @@ -85,10 +95,6 @@ extern void ignore_handler_s(const char *_RESTRICT_KYWD, void *_RESTRICT_KYWD, errno_t); #endif /* __EXT1_VISIBLE */ -#if __cplusplus >= 199711L -} -#endif - #ifdef __cplusplus } #endif diff --git a/usr/src/head/iso/string_iso.h b/usr/src/head/iso/string_iso.h index d493e13008..6c068101f1 100644 --- a/usr/src/head/iso/string_iso.h +++ b/usr/src/head/iso/string_iso.h @@ -143,12 +143,26 @@ extern char *strrchr(const char *, int); extern char *strstr(const char *, const char *); #endif /* __cplusplus >= 199711L */ +#if __cplusplus >= 199711L +} +#endif /* end of namespace std */ + +/* + * ISO C11 Annex K functions are not allowed to be in the standard + * namespace; however, it is implementation-defined as to whether or + * not they are in the global namespace and we opt to make them + * available to software. + */ #if __EXT1_VISIBLE #ifndef _RSIZE_T_DEFINED #define _RSIZE_T_DEFINED +#if __cplusplus >= 199711L +typedef std::size_t rsize_t; +#else typedef size_t rsize_t; #endif +#endif #ifndef _ERRNO_T_DEFINED #define _ERRNO_T_DEFINED @@ -159,10 +173,6 @@ typedef int errno_t; extern errno_t memset_s(void *, rsize_t, int, rsize_t); #endif /* __EXT1_VISIBLE */ -#if __cplusplus >= 199711L -} -#endif /* end of namespace std */ - #ifdef __cplusplus } #endif diff --git a/usr/src/lib/fm/topo/modules/common/disk/disk_common.c b/usr/src/lib/fm/topo/modules/common/disk/disk_common.c index 0ba860abf3..b1ddbd06e9 100644 --- a/usr/src/lib/fm/topo/modules/common/disk/disk_common.c +++ b/usr/src/lib/fm/topo/modules/common/disk/disk_common.c @@ -551,7 +551,7 @@ disk_tnode_create(topo_mod_t *mod, tnode_t *parent, return (-1); } - if (dnode->ddn_devid != NULL && + if (dnode != NULL && dnode->ddn_devid != NULL && disk_add_temp_sensor(mod, dtn, dnode->ddn_devid) != 0) { topo_mod_dprintf(mod, "disk_tnode_create: failed to create " "temperature sensor node on bay=%d/disk=0", diff --git a/usr/src/lib/libast/common/misc/glob.c b/usr/src/lib/libast/common/misc/glob.c index 1a7a8bbe20..2bf92f30b9 100644 --- a/usr/src/lib/libast/common/misc/glob.c +++ b/usr/src/lib/libast/common/misc/glob.c @@ -564,6 +564,12 @@ skip: gp->gl_error = GLOB_NOSPACE; } +static void +_closedir(void *ptr) +{ + (void) closedir(ptr); +} + int glob(const char* pattern, int flags, int (*errfn)(const char*, int), register glob_t* gp) { @@ -627,7 +633,7 @@ glob(const char* pattern, int flags, int (*errfn)(const char*, int), register gl { gp->gl_opendir = (GL_opendir_f)opendir; gp->gl_readdir = (GL_readdir_f)readdir; - gp->gl_closedir = (GL_closedir_f)closedir; + gp->gl_closedir = _closedir; if (!gp->gl_stat) gp->gl_stat = (GL_stat_f)pathstat; } diff --git a/usr/src/lib/libast/common/misc/mime.c b/usr/src/lib/libast/common/misc/mime.c index 59b05068ac..2c8e4b33c1 100644 --- a/usr/src/lib/libast/common/misc/mime.c +++ b/usr/src/lib/libast/common/misc/mime.c @@ -84,7 +84,7 @@ typedef struct */ static int -lower(register int c) +lower(int c) { return isupper(c) ? tolower(c) : c; } @@ -104,9 +104,9 @@ order(Dt_t* dt, void* a, void* b, Dtdisc_t* disc) */ static void -dropcap(register Cap_t* cap) +dropcap(Cap_t* cap) { - register Att_t* att; + Att_t* att; while (att = cap->att.next) { @@ -123,8 +123,8 @@ dropcap(register Cap_t* cap) static void drop(Dt_t* dt, void* object, Dtdisc_t* disc) { - register Ent_t* ent = (Ent_t*)object; - register Cap_t* cap; + Ent_t* ent = (Ent_t*)object; + Cap_t* cap; while (cap = ent->cap) { @@ -139,14 +139,14 @@ drop(Dt_t* dt, void* object, Dtdisc_t* disc) */ int -mimeset(Mime_t* mp, register char* s, unsigned long flags) +mimeset(Mime_t* mp, char* s, unsigned long flags) { - register Ent_t* ent; - register Cap_t* cap; - register Att_t* att; - register char* t; - register char* v; - register char* k; + Ent_t* ent; + Cap_t* cap; + Att_t* att; + char* t; + char* v; + char* k; char* x; Att_t* tta; int q; @@ -242,8 +242,8 @@ mimeset(Mime_t* mp, register char* s, unsigned long flags) { if (ent) { - register Cap_t* dup; - register Cap_t* pud; + Cap_t* dup; + Cap_t* pud; for (pud = 0, dup = ent->cap; dup; pud = dup, dup = dup->next) if (!cap->test && !dup->test || cap->test && dup->test && streq(cap->test, dup->test)) @@ -285,10 +285,10 @@ mimeset(Mime_t* mp, register char* s, unsigned long flags) int mimeload(Mime_t* mp, const char* file, unsigned long flags) { - register char* s; - register char* t; - register char* e; - register int n; + char* s; + char* t; + char* e; + int n; Sfio_t* fp; if (!(s = (char*)file)) @@ -340,10 +340,10 @@ mimeload(Mime_t* mp, const char* file, unsigned long flags) static int list(Dt_t* dt, void* object, void* context) { - register Walk_t* wp = (Walk_t*)context; - register Ent_t* ent = (Ent_t*)object; - register Cap_t* cap; - register Att_t* att; + Walk_t* wp = (Walk_t*)context; + Ent_t* ent = (Ent_t*)object; + Cap_t* cap; + Att_t* att; if (!wp->pattern || !strncasecmp(ent->name, wp->pattern, wp->prefix) && (!ent->name[wp->prefix] || ent->name[wp->prefix] == '/')) { @@ -377,12 +377,12 @@ list(Dt_t* dt, void* object, void* context) static Ent_t* find(Mime_t* mp, const char* type) { - register char* lp; - register char* rp; - register char* rb; - register char* rv; - register int rc; - register int i; + char* lp; + char* rp; + char* rb; + char* rv; + int rc; + int i; char* s; Ent_t* ent; char buf[256]; @@ -439,7 +439,7 @@ find(Mime_t* mp, const char* type) */ int -mimelist(Mime_t* mp, Sfio_t* fp, register const char* pattern) +mimelist(Mime_t* mp, Sfio_t* fp, const char* pattern) { Ent_t* ent; Walk_t ws; @@ -469,11 +469,11 @@ mimelist(Mime_t* mp, Sfio_t* fp, register const char* pattern) */ static int -arg(register Parse_t* pp, int first) +arg(Parse_t* pp, int first) { - register char* s; - register int c; - register int q; + char* s; + int c; + int q; int x; for (s = pp->next; isspace(*s) && *s != '\n'; s++); @@ -547,10 +547,10 @@ arg(register Parse_t* pp, int first) */ static char* -expand(Mime_t* mp, register char* s, const char* name, const char* type, const char* opts) +expand(Mime_t* mp, char* s, const char* name, const char* type, const char* opts) { - register char* t; - register int c; + char* t; + int c; Parse_t pp; mp->disc->flags |= MIME_PIPE; @@ -601,10 +601,10 @@ expand(Mime_t* mp, register char* s, const char* name, const char* type, const c char* mimeview(Mime_t* mp, const char* view, const char* name, const char* type, const char* opts) { - register Ent_t* ent; - register Cap_t* cap; - register Att_t* att; - register char* s; + Ent_t* ent; + Cap_t* cap; + Att_t* att; + char* s; int c; if (ent = find(mp, type)) @@ -706,9 +706,9 @@ mimeview(Mime_t* mp, const char* view, const char* name, const char* type, const */ int -mimecmp(register const char* s, register const char* v, char** e) +mimecmp(const char* s, const char* v, char** e) { - register int n; + int n; while (isalnum(*v) || *v == *s && (*v == '_' || *v == '-' || *v == '/')) if (n = lower(*s++) - lower(*v++)) @@ -722,15 +722,21 @@ mimecmp(register const char* s, register const char* v, char** e) return lower(*s) - lower(*v); } +static int +_mimecmp(const char* s, const char* v) +{ + return (mimecmp(s, v, NULL)); +} + /* * parse mime headers in strsearch(tab,num,siz) from s * return >0 if mime header consumed */ int -mimehead(Mime_t* mp, void* tab, size_t num, size_t siz, register char* s) +mimehead(Mime_t* mp, void* tab, size_t num, size_t siz, char* s) { - register void* p; + void* p; char* e; Parse_t pp; Mimevalue_f set; @@ -741,7 +747,7 @@ mimehead(Mime_t* mp, void* tab, size_t num, size_t siz, register char* s) if (!strncasecmp(s, "content-", 8)) { s += 8; - if ((p = strsearch(tab, num, siz, (Strcmp_f)mimecmp, s, &e)) && *e == ':') + if ((p = strsearch(tab, num, siz, _mimecmp, s, &e)) && *e == ':') { pp.next = e + 1; if (arg(&pp, 1)) @@ -750,7 +756,7 @@ mimehead(Mime_t* mp, void* tab, size_t num, size_t siz, register char* s) return 0; while (arg(&pp, 0)) if (pp.value.size && - (p = strsearch(tab, num, siz, (Strcmp_f)mimecmp, pp.name.data, &e)) && + (p = strsearch(tab, num, siz, _mimecmp, pp.name.data, &e)) && (*set)(mp, p, pp.value.data, pp.value.size, mp->disc)) return 0; return 1; @@ -769,7 +775,7 @@ mimehead(Mime_t* mp, void* tab, size_t num, size_t siz, register char* s) Mime_t* mimeopen(Mimedisc_t* disc) { - register Mime_t* mp; + Mime_t* mp; if (!(mp = newof(0, Mime_t, 1, 0))) return 0; diff --git a/usr/src/lib/libast/common/string/strsearch.c b/usr/src/lib/libast/common/string/strsearch.c index 8e7b6a2bc5..59a31d6f1a 100644 --- a/usr/src/lib/libast/common/string/strsearch.c +++ b/usr/src/lib/libast/common/string/strsearch.c @@ -39,19 +39,20 @@ void* strsearch(const void* tab, size_t num, size_t siz, Strcmp_f comparf, const char* name, void* context) { - register char* lo = (char*)tab; - register char* hi = lo + (num - 1) * siz; - register char* mid; - register int v; + char* lo = (char *)tab; + char* hi = lo + (num - 1) * siz; + char* mid; + int v; + Strcmp_context_f comparf_c = (Strcmp_context_f)(uintptr_t)comparf; while (lo <= hi) { mid = lo + (((hi - lo) / siz) / 2) * siz; - if (!(v = context ? (*(Strcmp_context_f)comparf)(name, *((char**)mid), context) : (*comparf)(name, *((char**)mid)))) - return (void*)mid; + if (!(v = context ? (*comparf_c)(name, *((char**)mid), context) : (*comparf)(name, *((char**)mid)))) + return (mid); else if (v > 0) lo = mid + siz; else hi = mid - siz; } - return 0; + return (NULL); } diff --git a/usr/src/tools/ctf/cvt/dwarf.c b/usr/src/tools/ctf/cvt/dwarf.c index 5fdcd35e33..afca423005 100644 --- a/usr/src/tools/ctf/cvt/dwarf.c +++ b/usr/src/tools/ctf/cvt/dwarf.c @@ -863,11 +863,19 @@ die_enum_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) el = xcalloc(sizeof (elist_t)); el->el_name = die_name(dw, mem); - if (die_signed(dw, mem, DW_AT_const_value, &sval, 0)) { - el->el_number = sval; - } else if (die_unsigned(dw, mem, DW_AT_const_value, + /* + * We have to be careful here: newer GCCs generate DWARF + * where an unsigned value will happily pass + * die_signed(). Since negative values will fail + * die_unsigned(), we try that first to make sure we get + * the right value. + */ + if (die_unsigned(dw, mem, DW_AT_const_value, &uval, 0)) { el->el_number = uval; + } else if (die_signed(dw, mem, DW_AT_const_value, + &sval, 0)) { + el->el_number = sval; } else { terminate("die %llu: enum %llu: member without " "value\n", off, die_off(dw, mem)); @@ -1643,8 +1651,34 @@ die_variable_create(dwarf_t *dw, Dwarf_Die die, Dwarf_Off off, tdesc_t *tdp) debug(3, "die %llu: creating object definition\n", off); - if (die_isdecl(dw, die) || (name = die_name(dw, die)) == NULL) - return; /* skip prototypes and nameless objects */ + /* Skip "Non-Defining Declarations" */ + if (die_isdecl(dw, die)) + return; + + /* + * If we find a DIE of "Declarations Completing Non-Defining + * Declarations", we will use the referenced type's DIE. This isn't + * quite correct, e.g. DW_AT_decl_line will be the forward declaration + * not this site. It's sufficient for what we need, however: in + * particular, we should find DW_AT_external as needed there. + */ + if (die_attr(dw, die, DW_AT_specification, 0) != NULL) { + Dwarf_Die sdie; + Dwarf_Off soff; + + soff = die_attr_ref(dw, die, DW_AT_specification); + + if (dwarf_offdie(dw->dw_dw, soff, + &sdie, &dw->dw_err) != DW_DLV_OK) { + terminate("dwarf_offdie(%llu) failed: %s\n", + soff, dwarf_errmsg(dw->dw_err)); + } + + die = sdie; + } + + if ((name = die_name(dw, die)) == NULL) + return; ii = xcalloc(sizeof (iidesc_t)); ii->ii_type = die_isglobal(dw, die) ? II_GVAR : II_SVAR; diff --git a/usr/src/uts/common/fs/fdbuffer.c b/usr/src/uts/common/fs/fdbuffer.c index d90bbc89b0..1836aa81b1 100644 --- a/usr/src/uts/common/fs/fdbuffer.c +++ b/usr/src/uts/common/fs/fdbuffer.c @@ -408,7 +408,7 @@ fdb_iosetup(fdbuffer_t *fdb, u_offset_t off, size_t len, struct vnode *vp, }; bp = bioclone(fdb->fd_parentbp, off, len, 0, 0, - (b_flags & B_ASYNC) ? (int (*)())fdb_iodone : NULL, + (b_flags & B_ASYNC) ? fdb_iodone : NULL, NULL, KM_SLEEP); bp->b_forw = (struct buf *)fdb; @@ -459,7 +459,7 @@ fdb_ioerrdone(fdbuffer_t *fdb, int error) fdb->fd_iofunc(fdb, fdb->fd_iargp, NULL); } -void +int fdb_iodone(buf_t *bp) { fdbuffer_t *fdb = (fdbuffer_t *)bp->b_forw; @@ -525,4 +525,5 @@ fdb_iodone(buf_t *bp) } freerbuf(bp); + return (0); } diff --git a/usr/src/uts/common/fs/vfs.c b/usr/src/uts/common/fs/vfs.c index 5a88c3e69d..49a1bf70b9 100644 --- a/usr/src/uts/common/fs/vfs.c +++ b/usr/src/uts/common/fs/vfs.c @@ -21,7 +21,7 @@ /* * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2016 Joyent, Inc. + * Copyright (c) 2019, Joyent, Inc. * Copyright 2016 Toomas Soome <tsoome@me.com> * Copyright (c) 2016, 2017 by Delphix. All rights reserved. * Copyright 2016 Nexenta Systems, Inc. @@ -1033,7 +1033,7 @@ out: static void lofi_remove(struct vfs *vfsp) { - struct lofi_ioctl *li = NULL; + struct lofi_ioctl *li; ldi_ident_t ldi_id; ldi_handle_t ldi_hdl; int err; @@ -1063,8 +1063,7 @@ lofi_remove(struct vfs *vfsp) out: ldi_ident_release(ldi_id); - if (li != NULL) - kmem_free(li, sizeof (*li)); + kmem_free(li, sizeof (*li)); } /* @@ -4236,7 +4235,7 @@ vfsinit(void) for (vswp = &vfssw[1]; vswp < &vfssw[nfstype]; vswp++) { RLOCK_VFSSW(); if (vswp->vsw_init != NULL) - (*vswp->vsw_init)(vswp - vfssw, vswp->vsw_name); + (void) (*vswp->vsw_init)(vswp - vfssw, vswp->vsw_name); RUNLOCK_VFSSW(); } diff --git a/usr/src/uts/common/fs/vnode.c b/usr/src/uts/common/fs/vnode.c index e0a328c6d3..d5262214f5 100644 --- a/usr/src/uts/common/fs/vnode.c +++ b/usr/src/uts/common/fs/vnode.c @@ -21,7 +21,7 @@ /* * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright 2017, Joyent, Inc. + * Copyright (c) 2018, Joyent, Inc. * Copyright 2016 Nexenta Systems, Inc. All rights reserved. * Copyright (c) 2011, 2017 by Delphix. All rights reserved. */ @@ -3384,7 +3384,7 @@ fop_open( * reflect the vnode switch. */ VOPSTATS_UPDATE(*vpp, open); - if (*vpp != vp && *vpp != NULL) { + if (*vpp != vp) { vn_copypath(vp, *vpp); if (((*vpp)->v_type == VREG) && (mode & FREAD)) atomic_inc_32(&(*vpp)->v_rdcnt); diff --git a/usr/src/uts/common/fs/zfs/dsl_dataset.c b/usr/src/uts/common/fs/zfs/dsl_dataset.c index a08477e29d..5428f94813 100644 --- a/usr/src/uts/common/fs/zfs/dsl_dataset.c +++ b/usr/src/uts/common/fs/zfs/dsl_dataset.c @@ -2130,7 +2130,10 @@ dsl_get_mountpoint(dsl_dataset_t *ds, const char *dsname, char *value, return (error); } - /* Process the dsname and source to find the full mountpoint string */ + /* + * Process the dsname and source to find the full mountpoint string. + * Can be skipped for 'legacy' or 'none'. + */ if (value[0] == '/') { char *buf = kmem_alloc(ZAP_MAXVALUELEN, KM_SLEEP); char *root = buf; @@ -2181,10 +2184,8 @@ dsl_get_mountpoint(dsl_dataset_t *ds, const char *dsname, char *value, relpath); } kmem_free(buf, ZAP_MAXVALUELEN); - } else { - /* 'legacy' or 'none' */ - (void) snprintf(value, ZAP_MAXVALUELEN, "%s", value); } + return (0); } diff --git a/usr/src/uts/common/inet/sctp/sctp_opt_data.c b/usr/src/uts/common/inet/sctp/sctp_opt_data.c index 6d6d4bdf3c..23abeccf96 100644 --- a/usr/src/uts/common/inet/sctp/sctp_opt_data.c +++ b/usr/src/uts/common/inet/sctp/sctp_opt_data.c @@ -23,6 +23,10 @@ * Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. */ +/* + * Copyright (c) 2018, Joyent, Inc. + */ + #include <sys/types.h> #include <sys/stream.h> #define _SUN_TPI_VERSION 2 @@ -1493,7 +1497,6 @@ sctp_getpeeraddrs(sctp_t *sctp, void *paddrs, int *addrcnt) sin6->sin6_family = AF_INET6; sin6->sin6_flowinfo = connp->conn_flowinfo; if (IN6_IS_ADDR_LINKSCOPE(&addr) && - sctp->sctp_primary != NULL && (sctp->sctp_primary->sf_ixa->ixa_flags & IXAF_SCOPEID_SET)) { sin6->sin6_scope_id = diff --git a/usr/src/uts/common/io/atge/atge_main.c b/usr/src/uts/common/io/atge/atge_main.c index e8622eb72c..b7b3cd48c7 100644 --- a/usr/src/uts/common/io/atge/atge_main.c +++ b/usr/src/uts/common/io/atge/atge_main.c @@ -23,6 +23,8 @@ * Copyright (c) 2012 Gary Mills * * Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved. + * + * Copyright (c) 2018, Joyent, Inc. */ /* * Copyright (c) 2009, Pyun YongHyeon <yongari@FreeBSD.org> @@ -1352,9 +1354,7 @@ fail3: fail2: pci_config_teardown(&atgep->atge_conf_handle); fail1: - if (atgep) - kmem_free(atgep, sizeof (atge_t)); - + kmem_free(atgep, sizeof (atge_t)); return (DDI_FAILURE); } diff --git a/usr/src/uts/common/io/ixgbe/ixgbe_gld.c b/usr/src/uts/common/io/ixgbe/ixgbe_gld.c index 83877f6c27..ea888220fa 100644 --- a/usr/src/uts/common/io/ixgbe/ixgbe_gld.c +++ b/usr/src/uts/common/io/ixgbe/ixgbe_gld.c @@ -27,7 +27,7 @@ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Copyright 2012 Nexenta Systems, Inc. All rights reserved. * Copyright 2016 OmniTI Computer Consulting, Inc. All rights reserved. - * Copyright (c) 2017, Joyent, Inc. + * Copyright (c) 2019, Joyent, Inc. */ #include "ixgbe_sw.h" @@ -817,11 +817,11 @@ ixgbe_m_propinfo(void *arg, const char *pr_name, mac_prop_id_t pr_num, value = DEFAULT_TX_OVERLOAD_THRESHOLD; } else if (strcmp(pr_name, "_tx_resched_thresh") == 0) { value = DEFAULT_TX_RESCHED_THRESHOLD; - } else if (strcmp(pr_name, "_rx_copy_thresh") == 0) { + } else if (strcmp(pr_name, "_rx_copy_thresh") == 0) { value = DEFAULT_RX_COPY_THRESHOLD; - } else if (strcmp(pr_name, "_rx_limit_per_intr") == 0) { + } else if (strcmp(pr_name, "_rx_limit_per_intr") == 0) { value = DEFAULT_RX_LIMIT_PER_INTR; - } if (strcmp(pr_name, "_intr_throttling") == 0) { + } else if (strcmp(pr_name, "_intr_throttling") == 0) { value = ixgbe->capab->def_intr_throttle; } else { return; diff --git a/usr/src/uts/common/io/ldterm.c b/usr/src/uts/common/io/ldterm.c index 2bf991769d..498d2d9bee 100644 --- a/usr/src/uts/common/io/ldterm.c +++ b/usr/src/uts/common/io/ldterm.c @@ -21,7 +21,7 @@ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. - * Copyright (c) 2014, Joyent, Inc. All rights reserved. + * Copyright (c) 2018, Joyent, Inc. * Copyright 2018 OmniOS Community Edition (OmniOSce) Association. */ @@ -4599,22 +4599,21 @@ ldterm_do_ioctl(queue_t *q, mblk_t *mp) } locale_name_sz = 0; - if (csdp->locale_name) { - for (i = 0; i < MAXNAMELEN; i++) - if (csdp->locale_name[i] == '\0') - break; - /* - * We cannot have any string that is not NULL byte - * terminated. - */ - if (i >= MAXNAMELEN) { - miocnak(q, mp, 0, ERANGE); - return; - } - locale_name_sz = i + 1; + for (i = 0; i < MAXNAMELEN; i++) + if (csdp->locale_name[i] == '\0') + break; + /* + * We cannot have any string that is not NULL byte + * terminated. + */ + if (i >= MAXNAMELEN) { + miocnak(q, mp, 0, ERANGE); + return; } + locale_name_sz = i + 1; + /* * As the final check, if there was invalid codeset_type * given, or invalid byte_length was specified, it's an error. diff --git a/usr/src/uts/common/io/lofi.c b/usr/src/uts/common/io/lofi.c index 1169f3fdfc..e8d82a6688 100644 --- a/usr/src/uts/common/io/lofi.c +++ b/usr/src/uts/common/io/lofi.c @@ -2955,6 +2955,7 @@ lofi_unmap_file(struct lofi_ioctl *ulip, int byfilename, { struct lofi_state *lsp; struct lofi_ioctl *klip; + char namebuf[MAXNAMELEN]; int err; err = copy_in_lofi_ioctl(ulip, &klip, ioctl_flag); @@ -2980,6 +2981,7 @@ lofi_unmap_file(struct lofi_ioctl *ulip, int byfilename, } klip->li_id = LOFI_MINOR2ID(getminor(lsp->ls_dev)); + (void) snprintf(namebuf, sizeof (namebuf), "%u", klip->li_id); /* * If it's still held open, we'll do one of three things: @@ -3024,6 +3026,10 @@ lofi_unmap_file(struct lofi_ioctl *ulip, int byfilename, lofi_destroy(lsp, credp); } + /* Remove name from devlink cache */ + mutex_enter(&lofi_devlink_cache.ln_lock); + (void) nvlist_remove_all(lofi_devlink_cache.ln_data, namebuf); + mutex_exit(&lofi_devlink_cache.ln_lock); done: mutex_exit(&lofi_lock); if (err == 0) diff --git a/usr/src/uts/common/io/qede/579xx/drivers/ecore/bcm_osal.h b/usr/src/uts/common/io/qede/579xx/drivers/ecore/bcm_osal.h index bb802ea37c..3226811cba 100644 --- a/usr/src/uts/common/io/qede/579xx/drivers/ecore/bcm_osal.h +++ b/usr/src/uts/common/io/qede/579xx/drivers/ecore/bcm_osal.h @@ -534,20 +534,6 @@ u32 LOG2(u32); #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d)) #define ROUNDUP(x, y) ((((x) + ((y) - 1)) / (y)) * (y)) - -/* - * @VB: Don't want to include sys/sysmacros.h just - * for the offsetof macro - */ -#ifndef OFFSETOF -#define OFFSETOF(type, member) ((size_t) (&(((type *)0)->member))) -/*#define offsetof(type, member) ((size_t) (&(((type *)0)->member)))*/ -#endif - -#ifndef offsetof -#define offsetof(type, member) ((size_t) (&(((type *)0)->member))) -#endif - void qede_print(char *format, ...); void qede_print_err(char *format, ...); diff --git a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_dbg_fw_funcs.c b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_dbg_fw_funcs.c index 62c6a7ada4..5092d4ba39 100644 --- a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_dbg_fw_funcs.c +++ b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_dbg_fw_funcs.c @@ -531,7 +531,7 @@ struct phy_defs { #define PROTECTION_OVERRIDE_DEPTH_ELEMENTS 20 #define PROTECTION_OVERRIDE_DEPTH_DWORDS (PROTECTION_OVERRIDE_DEPTH_ELEMENTS * PROTECTION_OVERRIDE_ELEMENT_DWORDS) -#define MCP_SPAD_TRACE_OFFSIZE_ADDR (MCP_REG_SCRATCH + OFFSETOF(struct static_init, sections[SPAD_SECTION_TRACE])) +#define MCP_SPAD_TRACE_OFFSIZE_ADDR (MCP_REG_SCRATCH + offsetof(struct static_init, sections[SPAD_SECTION_TRACE])) #define EMPTY_FW_VERSION_STR "???_???_???_???" #define EMPTY_FW_IMAGE_STR "???????????????" @@ -2113,12 +2113,12 @@ static u32 ecore_dump_mfw_ver_param(struct ecore_hwfn *p_hwfn, public_data_addr = ecore_rd(p_hwfn, p_ptt, MISC_REG_SHARED_MEM_ADDR) | MCP_REG_SCRATCH; /* Find MCP public global section offset */ - global_section_offsize_addr = public_data_addr + OFFSETOF(struct mcp_public_data, sections) + sizeof(offsize_t) * PUBLIC_GLOBAL; + global_section_offsize_addr = public_data_addr + offsetof(struct mcp_public_data, sections) + sizeof(offsize_t) * PUBLIC_GLOBAL; global_section_offsize = ecore_rd(p_hwfn, p_ptt, global_section_offsize_addr); global_section_addr = MCP_REG_SCRATCH + (global_section_offsize & OFFSIZE_OFFSET_MASK) * 4; /* Read MFW version from MCP public global section */ - mfw_ver = ecore_rd(p_hwfn, p_ptt, global_section_addr + OFFSETOF(struct public_global, mfw_ver)); + mfw_ver = ecore_rd(p_hwfn, p_ptt, global_section_addr + offsetof(struct public_global, mfw_ver)); /* Dump MFW version param */ if (OSAL_SNPRINTF(mfw_ver_str, sizeof(mfw_ver_str), "%d_%d_%d_%d", (u8)(mfw_ver >> 24), (u8)(mfw_ver >> 16), (u8)(mfw_ver >> 8), (u8)mfw_ver) < 0) @@ -4472,13 +4472,13 @@ static enum dbg_status ecore_mcp_trace_get_data_info(struct ecore_hwfn *p_hwfn, *trace_data_grc_addr = MCP_REG_SCRATCH + SECTION_OFFSET(spad_trace_offsize); /* Read signature from MCP trace section */ - signature = ecore_rd(p_hwfn, p_ptt, *trace_data_grc_addr + OFFSETOF(struct mcp_trace, signature)); + signature = ecore_rd(p_hwfn, p_ptt, *trace_data_grc_addr + offsetof(struct mcp_trace, signature)); if (signature != MFW_TRACE_SIGNATURE) return DBG_STATUS_INVALID_TRACE_SIGNATURE; /* Read trace size from MCP trace section */ - *trace_data_size = ecore_rd(p_hwfn, p_ptt, *trace_data_grc_addr + OFFSETOF(struct mcp_trace, size)); + *trace_data_size = ecore_rd(p_hwfn, p_ptt, *trace_data_grc_addr + offsetof(struct mcp_trace, size)); return DBG_STATUS_OK; } diff --git a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_dev.c b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_dev.c index f8f7d1a396..272ff2964a 100644 --- a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_dev.c +++ b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_dev.c @@ -3310,8 +3310,8 @@ ecore_hw_get_nvm_info(struct ecore_hwfn *p_hwfn, nvm_cfg1_offset = ecore_rd(p_hwfn, p_ptt, nvm_cfg_addr + 4); addr = MCP_REG_SCRATCH + nvm_cfg1_offset + - OFFSETOF(struct nvm_cfg1, glob) + - OFFSETOF(struct nvm_cfg1_glob, core_cfg); + offsetof(struct nvm_cfg1, glob) + + offsetof(struct nvm_cfg1_glob, core_cfg); core_cfg = ecore_rd(p_hwfn, p_ptt, addr); @@ -3358,10 +3358,10 @@ ecore_hw_get_nvm_info(struct ecore_hwfn *p_hwfn, /* Read DCBX configuration */ port_cfg_addr = MCP_REG_SCRATCH + nvm_cfg1_offset + - OFFSETOF(struct nvm_cfg1, port[MFW_PORT(p_hwfn)]); + offsetof(struct nvm_cfg1, port[MFW_PORT(p_hwfn)]); dcbx_mode = ecore_rd(p_hwfn, p_ptt, port_cfg_addr + - OFFSETOF(struct nvm_cfg1_port, generic_cont0)); + offsetof(struct nvm_cfg1_port, generic_cont0)); dcbx_mode = (dcbx_mode & NVM_CFG1_PORT_DCBX_MODE_MASK) >> NVM_CFG1_PORT_DCBX_MODE_OFFSET; switch (dcbx_mode) { @@ -3382,17 +3382,17 @@ ecore_hw_get_nvm_info(struct ecore_hwfn *p_hwfn, link = &p_hwfn->mcp_info->link_input; p_caps = &p_hwfn->mcp_info->link_capabilities; port_cfg_addr = MCP_REG_SCRATCH + nvm_cfg1_offset + - OFFSETOF(struct nvm_cfg1, port[MFW_PORT(p_hwfn)]); + offsetof(struct nvm_cfg1, port[MFW_PORT(p_hwfn)]); link_temp = ecore_rd(p_hwfn, p_ptt, port_cfg_addr + - OFFSETOF(struct nvm_cfg1_port, speed_cap_mask)); + offsetof(struct nvm_cfg1_port, speed_cap_mask)); link_temp &= NVM_CFG1_PORT_DRV_SPEED_CAPABILITY_MASK_MASK; link->speed.advertised_speeds = link_temp; p_caps->speed_capabilities = link->speed.advertised_speeds; link_temp = ecore_rd(p_hwfn, p_ptt, port_cfg_addr + - OFFSETOF(struct nvm_cfg1_port, link_settings)); + offsetof(struct nvm_cfg1_port, link_settings)); switch ((link_temp & NVM_CFG1_PORT_DRV_LINK_SPEED_MASK) >> NVM_CFG1_PORT_DRV_LINK_SPEED_OFFSET) { case NVM_CFG1_PORT_DRV_LINK_SPEED_AUTONEG: @@ -3436,7 +3436,7 @@ ecore_hw_get_nvm_info(struct ecore_hwfn *p_hwfn, if (p_hwfn->mcp_info->capabilities & FW_MB_PARAM_FEATURE_SUPPORT_EEE) { link_temp = ecore_rd(p_hwfn, p_ptt, port_cfg_addr + - OFFSETOF(struct nvm_cfg1_port, ext_phy)); + offsetof(struct nvm_cfg1_port, ext_phy)); link_temp &= NVM_CFG1_PORT_EEE_POWER_SAVING_MODE_MASK; link_temp >>= NVM_CFG1_PORT_EEE_POWER_SAVING_MODE_OFFSET; p_caps->default_eee = ECORE_MCP_EEE_ENABLED; @@ -3474,8 +3474,8 @@ ecore_hw_get_nvm_info(struct ecore_hwfn *p_hwfn, /* Read Multi-function information from shmem */ addr = MCP_REG_SCRATCH + nvm_cfg1_offset + - OFFSETOF(struct nvm_cfg1, glob) + - OFFSETOF(struct nvm_cfg1_glob, generic_cont0); + offsetof(struct nvm_cfg1, glob) + + offsetof(struct nvm_cfg1_glob, generic_cont0); generic_cont0 = ecore_rd(p_hwfn, p_ptt, addr); @@ -3498,8 +3498,8 @@ ecore_hw_get_nvm_info(struct ecore_hwfn *p_hwfn, /* Read Multi-function information from shmem */ addr = MCP_REG_SCRATCH + nvm_cfg1_offset + - OFFSETOF(struct nvm_cfg1, glob) + - OFFSETOF(struct nvm_cfg1_glob, device_capabilities); + offsetof(struct nvm_cfg1, glob) + + offsetof(struct nvm_cfg1_glob, device_capabilities); device_capabilities = ecore_rd(p_hwfn, p_ptt, addr); if (device_capabilities & NVM_CFG1_GLOB_DEVICE_CAPABILITIES_ETHERNET) diff --git a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_hw.c b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_hw.c index b365901c21..15ea8f7541 100644 --- a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_hw.c +++ b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_hw.c @@ -199,7 +199,7 @@ void ecore_ptt_set_win(struct ecore_hwfn *p_hwfn, REG_WR(p_hwfn, ecore_ptt_config_addr(p_ptt) + - OFFSETOF(struct pxp_ptt_entry, offset), + offsetof(struct pxp_ptt_entry, offset), OSAL_LE32_TO_CPU(p_ptt->pxp.offset)); } @@ -394,7 +394,7 @@ void ecore_fid_pretend(struct ecore_hwfn *p_hwfn, REG_WR(p_hwfn, ecore_ptt_config_addr(p_ptt) + - OFFSETOF(struct pxp_ptt_entry, pretend), + offsetof(struct pxp_ptt_entry, pretend), *(u32 *)&p_ptt->pxp.pretend); } @@ -410,7 +410,7 @@ void ecore_port_pretend(struct ecore_hwfn *p_hwfn, REG_WR(p_hwfn, ecore_ptt_config_addr(p_ptt) + - OFFSETOF(struct pxp_ptt_entry, pretend), + offsetof(struct pxp_ptt_entry, pretend), *(u32 *)&p_ptt->pxp.pretend); } @@ -427,7 +427,7 @@ void ecore_port_unpretend(struct ecore_hwfn *p_hwfn, REG_WR(p_hwfn, ecore_ptt_config_addr(p_ptt) + - OFFSETOF(struct pxp_ptt_entry, pretend), + offsetof(struct pxp_ptt_entry, pretend), *(u32 *)&p_ptt->pxp.pretend); } diff --git a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_l2.c b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_l2.c index e17f88cf18..343eee9ee7 100644 --- a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_l2.c +++ b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_l2.c @@ -1886,7 +1886,7 @@ static void __ecore_get_vport_port_stats(struct ecore_hwfn *p_hwfn, ecore_memcpy_from(p_hwfn, p_ptt, &port_stats, p_hwfn->mcp_info->port_addr + - OFFSETOF(struct public_port, stats), + offsetof(struct public_port, stats), sizeof(port_stats)); p_common->rx_64_byte_packets += port_stats.eth.r64; diff --git a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_mcp.c b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_mcp.c index a2450dc34c..02700f9126 100644 --- a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_mcp.c +++ b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_mcp.c @@ -70,11 +70,11 @@ #define DRV_MB_WR(_p_hwfn, _p_ptt, _field, _val) \ DRV_INNER_WR(p_hwfn, _p_ptt, drv_mb_addr, \ - OFFSETOF(struct public_drv_mb, _field), _val) + offsetof(struct public_drv_mb, _field), _val) #define DRV_MB_RD(_p_hwfn, _p_ptt, _field) \ DRV_INNER_RD(_p_hwfn, _p_ptt, drv_mb_addr, \ - OFFSETOF(struct public_drv_mb, _field)) + offsetof(struct public_drv_mb, _field)) #define PDA_COMP (((FW_MAJOR_VERSION) + (FW_MINOR_VERSION << 8)) << \ DRV_ID_PDA_COMP_VER_SHIFT) @@ -456,7 +456,7 @@ static enum _ecore_status_t ecore_mcp_cmd_and_union(struct ecore_hwfn *p_hwfn, } union_data_addr = p_hwfn->mcp_info->drv_mb_addr + - OFFSETOF(struct public_drv_mb, union_data); + offsetof(struct public_drv_mb, union_data); /* Ensure that only a single thread is accessing the mailbox at a * certain time. @@ -1066,7 +1066,7 @@ static void ecore_mcp_handle_vf_flr(struct ecore_hwfn *p_hwfn, for (i = 0; i < (VF_MAX_STATIC / 32); i++) { disabled_vfs[i] = ecore_rd(p_hwfn, p_ptt, path_addr + - OFFSETOF(struct public_path, + offsetof(struct public_path, mcp_vf_disabled) + sizeof(u32) * i); DP_VERBOSE(p_hwfn, (ECORE_MSG_SP | ECORE_MSG_IOV), @@ -1111,7 +1111,7 @@ enum _ecore_status_t ecore_mcp_ack_vf_flr(struct ecore_hwfn *p_hwfn, for (i = 0; i < (VF_MAX_STATIC / 32); i++) ecore_wr(p_hwfn, p_ptt, func_addr + - OFFSETOF(struct public_func, drv_ack_vf_disabled) + + offsetof(struct public_func, drv_ack_vf_disabled) + i * sizeof(u32), 0); return rc; @@ -1124,13 +1124,13 @@ static void ecore_mcp_handle_transceiver_change(struct ecore_hwfn *p_hwfn, transceiver_state = ecore_rd(p_hwfn, p_ptt, p_hwfn->mcp_info->port_addr + - OFFSETOF(struct public_port, + offsetof(struct public_port, transceiver_data)); DP_VERBOSE(p_hwfn, (ECORE_MSG_HW | ECORE_MSG_SP), "Received transceiver state update [0x%08x] from mfw [Addr 0x%x]\n", transceiver_state, (u32)(p_hwfn->mcp_info->port_addr + - OFFSETOF(struct public_port, + offsetof(struct public_port, transceiver_data))); transceiver_state = GET_FIELD(transceiver_state, ETH_TRANSCEIVER_STATE); @@ -1150,7 +1150,7 @@ static void ecore_mcp_read_eee_config(struct ecore_hwfn *p_hwfn, p_link->eee_adv_caps = 0; p_link->eee_lp_adv_caps = 0; eee_status = ecore_rd(p_hwfn, p_ptt, p_hwfn->mcp_info->port_addr + - OFFSETOF(struct public_port, eee_status)); + offsetof(struct public_port, eee_status)); p_link->eee_active = !!(eee_status & EEE_ACTIVE_BIT); val = (eee_status & EEE_LD_ADV_STATUS_MASK) >> EEE_LD_ADV_STATUS_SHIFT; if (val & EEE_1G_ADV) @@ -1180,11 +1180,11 @@ static void ecore_mcp_handle_link_change(struct ecore_hwfn *p_hwfn, if (!b_reset) { status = ecore_rd(p_hwfn, p_ptt, p_hwfn->mcp_info->port_addr + - OFFSETOF(struct public_port, link_status)); + offsetof(struct public_port, link_status)); DP_VERBOSE(p_hwfn, (ECORE_MSG_LINK | ECORE_MSG_SP), "Received link update [0x%08x] from mfw [Addr 0x%x]\n", status, (u32)(p_hwfn->mcp_info->port_addr + - OFFSETOF(struct public_port, link_status))); + offsetof(struct public_port, link_status))); } else { DP_VERBOSE(p_hwfn, ECORE_MSG_LINK, "Resetting link indications\n"); @@ -1394,7 +1394,7 @@ u32 ecore_get_process_kill_counter(struct ecore_hwfn *p_hwfn, proc_kill_cnt = ecore_rd(p_hwfn, p_ptt, path_addr + - OFFSETOF(struct public_path, process_kill)) & + offsetof(struct public_path, process_kill)) & PROCESS_KILL_COUNTER_MASK; return proc_kill_cnt; @@ -1750,7 +1750,7 @@ ecore_mcp_mdump_get_info(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, global_addr = SECTION_ADDR(global_offsize, 0); p_mdump_info->reason = ecore_rd(p_hwfn, p_ptt, global_addr + - OFFSETOF(struct public_global, + offsetof(struct public_global, mdump_reason)); if (p_mdump_info->reason) { @@ -1998,12 +1998,12 @@ enum _ecore_status_t ecore_mcp_get_mfw_ver(struct ecore_hwfn *p_hwfn, PUBLIC_GLOBAL)); *p_mfw_ver = ecore_rd(p_hwfn, p_ptt, SECTION_ADDR(global_offsize, 0) + - OFFSETOF(struct public_global, mfw_ver)); + offsetof(struct public_global, mfw_ver)); if (p_running_bundle_id != OSAL_NULL) { *p_running_bundle_id = ecore_rd(p_hwfn, p_ptt, SECTION_ADDR(global_offsize, 0) + - OFFSETOF(struct public_global, + offsetof(struct public_global, running_bundle_id)); } @@ -2037,8 +2037,8 @@ enum _ecore_status_t ecore_mcp_get_mbi_ver(struct ecore_hwfn *p_hwfn, nvm_cfg1_offset = ecore_rd(p_hwfn, p_ptt, nvm_cfg_addr + 4); mbi_ver_addr = MCP_REG_SCRATCH + nvm_cfg1_offset + - OFFSETOF(struct nvm_cfg1, glob) + - OFFSETOF(struct nvm_cfg1_glob, mbi_version); + offsetof(struct nvm_cfg1, glob) + + offsetof(struct nvm_cfg1_glob, mbi_version); *p_mbi_ver = ecore_rd(p_hwfn, p_ptt, mbi_ver_addr) & (NVM_CFG1_GLOB_MBI_VERSION_0_MASK | NVM_CFG1_GLOB_MBI_VERSION_1_MASK | @@ -2069,7 +2069,7 @@ enum _ecore_status_t ecore_mcp_get_media_type(struct ecore_dev *p_dev, return ECORE_BUSY; *p_media_type = ecore_rd(p_hwfn, p_ptt, p_hwfn->mcp_info->port_addr + - OFFSETOF(struct public_port, media_type)); + offsetof(struct public_port, media_type)); ecore_ptt_release(p_hwfn, p_ptt); @@ -2654,14 +2654,14 @@ ecore_mcp_ov_get_fc_npiv(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt, p_table->num_wwpn = 0; p_table->num_wwnn = 0; addr = ecore_rd(p_hwfn, p_ptt, p_hwfn->mcp_info->port_addr + - OFFSETOF(struct public_port, fc_npiv_nvram_tbl_addr)); + offsetof(struct public_port, fc_npiv_nvram_tbl_addr)); if (addr == NPIV_TBL_INVALID_ADDR) { DP_VERBOSE(p_hwfn, ECORE_MSG_SP, "NPIV table doesn't exist\n"); return rc; } size = ecore_rd(p_hwfn, p_ptt, p_hwfn->mcp_info->port_addr + - OFFSETOF(struct public_port, fc_npiv_nvram_tbl_size)); + offsetof(struct public_port, fc_npiv_nvram_tbl_size)); if (!size) { DP_VERBOSE(p_hwfn, ECORE_MSG_SP, "NPIV table is empty\n"); return rc; diff --git a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_phy.c b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_phy.c index 1bb37f7954..8d244ed096 100644 --- a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_phy.c +++ b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_phy.c @@ -1336,7 +1336,7 @@ int ecore_phy_sfp_get_inserted(struct ecore_hwfn *p_hwfn, transceiver_state = ecore_rd(p_hwfn, p_ptt, port_addr + - OFFSETOF(struct public_port, + offsetof(struct public_port, transceiver_data)); transceiver_state = GET_FIELD(transceiver_state, ETH_TRANSCEIVER_STATE); @@ -1456,10 +1456,10 @@ int ecore_phy_sfp_set_txdisable(struct ecore_hwfn *p_hwfn, nvm_cfg1_offset = ecore_rd(p_hwfn, p_ptt, nvm_cfg_addr + 4); port_cfg_addr = MCP_REG_SCRATCH + nvm_cfg1_offset + - OFFSETOF(struct nvm_cfg1, port[port]); + offsetof(struct nvm_cfg1, port[port]); gpio = (u16)ecore_rd(p_hwfn, p_ptt, port_cfg_addr + - OFFSETOF(struct nvm_cfg1_port, + offsetof(struct nvm_cfg1_port, transceiver_00)); gpio &= NVM_CFG1_PORT_TRANS_MODULE_ABS_MASK; rc = ecore_phy_gpio_write(p_hwfn, p_ptt, gpio, diff --git a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_spq.c b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_spq.c index 71dd89e00a..b96ec0d4c0 100644 --- a/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_spq.c +++ b/usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_spq.c @@ -579,7 +579,7 @@ void ecore_spq_setup(struct ecore_hwfn *p_hwfn) OSAL_SPIN_LOCK_INIT(&p_spq->lock); /* SPQ empty pool */ - p_phys = p_spq->p_phys + OFFSETOF(struct ecore_spq_entry, ramrod); + p_phys = p_spq->p_phys + offsetof(struct ecore_spq_entry, ramrod); p_virt = p_spq->p_virt; capacity = ecore_chain_get_capacity(&p_spq->chain); diff --git a/usr/src/uts/common/io/qede/qede_gld.c b/usr/src/uts/common/io/qede/qede_gld.c index f38e0f17cf..a75bd0debd 100644 --- a/usr/src/uts/common/io/qede/qede_gld.c +++ b/usr/src/uts/common/io/qede/qede_gld.c @@ -622,7 +622,7 @@ qede_transceiver_info(void *arg, uint_t id, mac_transceiver_info_t *infop) * us one bit. */ transceiver_state = ecore_rd(hwfn, ptt, hwfn->mcp_info->port_addr + - OFFSETOF(struct public_port, transceiver_data)); + offsetof(struct public_port, transceiver_data)); transceiver_state = GET_FIELD(transceiver_state, ETH_TRANSCEIVER_STATE); ecore_ptt_release(hwfn, ptt); diff --git a/usr/src/uts/common/io/scsi/adapters/iscsi/iscsi_login.c b/usr/src/uts/common/io/scsi/adapters/iscsi/iscsi_login.c index 3dc4f62888..42ddf9a9d4 100644 --- a/usr/src/uts/common/io/scsi/adapters/iscsi/iscsi_login.c +++ b/usr/src/uts/common/io/scsi/adapters/iscsi/iscsi_login.c @@ -2066,6 +2066,7 @@ iscsi_login_failure_str(uchar_t status_class, uchar_t status_detail) default: break; } + break; case 0x01: switch (status_detail) { case 0x01: @@ -2077,6 +2078,7 @@ iscsi_login_failure_str(uchar_t status_class, uchar_t status_detail) default: break; } + break; case 0x02: switch (status_detail) { case 0x00: @@ -2116,6 +2118,7 @@ iscsi_login_failure_str(uchar_t status_class, uchar_t status_detail) default: break; } + break; case 0x03: switch (status_detail) { case 0x00: @@ -2129,6 +2132,7 @@ iscsi_login_failure_str(uchar_t status_class, uchar_t status_detail) default: break; } + break; } return ("Unknown login response received."); } diff --git a/usr/src/uts/common/os/aio_subr.c b/usr/src/uts/common/os/aio_subr.c index ce8ed143b4..c857026a27 100644 --- a/usr/src/uts/common/os/aio_subr.c +++ b/usr/src/uts/common/os/aio_subr.c @@ -47,7 +47,7 @@ #include <sys/sdt.h> int aphysio(int (*)(), int (*)(), dev_t, int, void (*)(), struct aio_req *); -void aio_done(struct buf *); +int aio_done(struct buf *); void aphysio_unlock(aio_req_t *); void aio_cleanup(int); void aio_cleanup_exit(void); @@ -131,7 +131,7 @@ aphysio( * b_proc fields to cluster-specifc values. */ if (bp->b_iodone == NULL) { - bp->b_iodone = (int (*)()) aio_done; + bp->b_iodone = aio_done; /* b_forw points at an aio_req_t structure */ bp->b_forw = (struct buf *)reqp; bp->b_proc = curproc; @@ -188,7 +188,7 @@ anocancel(struct buf *bp) * by clustering s/w as contract private interface. */ -void +int aio_done(struct buf *bp) { proc_t *p; @@ -256,7 +256,7 @@ aio_done(struct buf *bp) port_send_event(pkevp); if (portevpend == 0) cv_broadcast(&aiop->aio_portcv); - return; + return (0); } if (aiop->aio_flags & AIO_CLEANUP) { @@ -271,7 +271,7 @@ aio_done(struct buf *bp) mutex_exit(&as->a_contents); mutex_exit(&aiop->aio_mutex); mutex_exit(&aiop->aio_portq_mutex); - return; + return (0); } aio_deq(&aiop->aio_portpending, reqp); @@ -336,7 +336,7 @@ aio_done(struct buf *bp) aiop->aio_flags &= ~AIO_DONE_ACTIVE; mutex_exit(&aiop->aio_mutex); } - return; + return (0); } /* @@ -425,6 +425,8 @@ aio_done(struct buf *bp) aio_sigev_send(p, lio_sigev); if (lio_pkevp) port_send_event(lio_pkevp); + + return (0); } /* diff --git a/usr/src/uts/common/os/ddi_intr.c b/usr/src/uts/common/os/ddi_intr.c index 6edef36fbb..1f4837e4d4 100644 --- a/usr/src/uts/common/os/ddi_intr.c +++ b/usr/src/uts/common/os/ddi_intr.c @@ -1333,7 +1333,9 @@ ddi_add_intr(dev_info_t *dip, uint_t inumber, size_t hdl_sz; int actual, ret; uint_t pri; + ddi_intr_handler_t *handler; + handler = (ddi_intr_handler_t *)(uintptr_t)int_handler; DDI_INTR_APIDBG((CE_CONT, "ddi_add_intr: name=%s%d dip=0x%p " "inum=0x%x\n", ddi_driver_name(dip), ddi_get_instance(dip), (void *)dip, inumber)); @@ -1357,8 +1359,8 @@ ddi_add_intr(dev_info_t *dip, uint_t inumber, return (DDI_FAILURE); } - if ((ret = ddi_intr_add_handler(hdl_p[inumber], (ddi_intr_handler_t *) - int_handler, int_handler_arg, NULL)) != DDI_SUCCESS) { + if ((ret = ddi_intr_add_handler(hdl_p[inumber], handler, + int_handler_arg, NULL)) != DDI_SUCCESS) { DDI_INTR_APIDBG((CE_CONT, "ddi_add_intr: " "ddi_intr_add_handler failed, ret 0x%x\n", ret)); (void) ddi_intr_free(hdl_p[inumber]); @@ -1469,7 +1471,9 @@ ddi_add_softintr(dev_info_t *dip, int preference, ddi_softintr_t *idp, ddi_softint_handle_t *hdl_p; uint64_t softpri; int ret; + ddi_intr_handler_t *handler; + handler = (ddi_intr_handler_t *)(uintptr_t)int_handler; DDI_INTR_APIDBG((CE_CONT, "ddi_add_softintr: name=%s%d dip=0x%p " "pref=0x%x\n", ddi_driver_name(dip), ddi_get_instance(dip), (void *)dip, preference)); @@ -1492,8 +1496,7 @@ ddi_add_softintr(dev_info_t *dip, int preference, ddi_softintr_t *idp, hdl_p = kmem_zalloc(sizeof (ddi_softint_handle_t), KM_SLEEP); if ((ret = ddi_intr_add_softint(dip, hdl_p, softpri, - (ddi_intr_handler_t *)int_handler, int_handler_arg)) != - DDI_SUCCESS) { + handler, int_handler_arg)) != DDI_SUCCESS) { DDI_INTR_APIDBG((CE_CONT, "ddi_add_softintr: " "ddi_intr_add_softint failed, ret 0x%x\n", ret)); diff --git a/usr/src/uts/common/sys/aio_impl.h b/usr/src/uts/common/sys/aio_impl.h index de8e7e7ee1..337397c20a 100644 --- a/usr/src/uts/common/sys/aio_impl.h +++ b/usr/src/uts/common/sys/aio_impl.h @@ -182,7 +182,7 @@ extern void aio_req_remove_portq(aio_t *, aio_req_t *); extern void aio_enq(aio_req_t **, aio_req_t *, int); extern void aio_deq(aio_req_t **, aio_req_t *); /* Clustering: PXFS module uses this interface */ -extern void aio_done(struct buf *); +extern int aio_done(struct buf *); #endif /* _KERNEL */ diff --git a/usr/src/uts/common/sys/fdbuffer.h b/usr/src/uts/common/sys/fdbuffer.h index a1a252653f..1e8144acf8 100644 --- a/usr/src/uts/common/sys/fdbuffer.h +++ b/usr/src/uts/common/sys/fdbuffer.h @@ -27,8 +27,6 @@ #ifndef _SYS_FDBUFFER_H #define _SYS_FDBUFFER_H -#pragma ident "%Z%%M% %I% %E% SMI" - #ifdef __cplusplus extern "C" { #endif @@ -153,7 +151,7 @@ extern void fdb_free(fdbuffer_t *fdbuf); extern void fdb_add_hole(fdbuffer_t *fdbuf, u_offset_t off, size_t len); extern buf_t *fdb_iosetup(fdbuffer_t *fdbuf, u_offset_t off, size_t len, struct vnode *vn, int flags); -extern void fdb_iodone(buf_t *bufp); +extern int fdb_iodone(buf_t *bufp); extern void fdb_ioerrdone(fdbuffer_t *fdbuf, int error); extern void fdb_init(void); diff --git a/usr/src/uts/intel/io/intel_nhm/dimm_topo.c b/usr/src/uts/intel/io/intel_nhm/dimm_topo.c index d1b835d94b..6c3b179aeb 100644 --- a/usr/src/uts/intel/io/intel_nhm/dimm_topo.c +++ b/usr/src/uts/intel/io/intel_nhm/dimm_topo.c @@ -24,6 +24,10 @@ * Use is subject to license terms. */ +/* + * Copyright (c) 2018, Joyent, Inc. + */ + #include <sys/types.h> #include <sys/time.h> #include <sys/nvpair.h> @@ -156,25 +160,25 @@ inhm_dimm(nhm_dimm_t *nhm_dimm, uint32_t node, uint8_t channel, uint32_t dimm) (void) nvlist_add_uint32(newdimm, "ranks", (uint32_t)nhm_dimm->nranks); inhm_rank(newdimm, nhm_dimm, node, channel, dimm, nhm_dimm->dimm_size / nhm_dimm->nranks); - if (nhm_dimm->manufacturer && nhm_dimm->manufacturer[0]) { + if (nhm_dimm->manufacturer[0]) { t = sizeof (nhm_dimm->manufacturer); (void) strncpy(sbuf, nhm_dimm->manufacturer, t); sbuf[t] = 0; (void) nvlist_add_string(newdimm, "manufacturer", sbuf); } - if (nhm_dimm->serial_number && nhm_dimm->serial_number[0]) { + if (nhm_dimm->serial_number[0]) { t = sizeof (nhm_dimm->serial_number); (void) strncpy(sbuf, nhm_dimm->serial_number, t); sbuf[t] = 0; (void) nvlist_add_string(newdimm, FM_FMRI_HC_SERIAL_ID, sbuf); } - if (nhm_dimm->part_number && nhm_dimm->part_number[0]) { + if (nhm_dimm->part_number[0]) { t = sizeof (nhm_dimm->part_number); (void) strncpy(sbuf, nhm_dimm->part_number, t); sbuf[t] = 0; (void) nvlist_add_string(newdimm, FM_FMRI_HC_PART, sbuf); } - if (nhm_dimm->revision && nhm_dimm->revision[0]) { + if (nhm_dimm->revision[0]) { t = sizeof (nhm_dimm->revision); (void) strncpy(sbuf, nhm_dimm->revision, t); sbuf[t] = 0; |