summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJerry Jelinek <jerry.jelinek@joyent.com>2019-01-18 13:03:13 +0000
committerJerry Jelinek <jerry.jelinek@joyent.com>2019-01-18 13:03:13 +0000
commit25b01135ad8be1fdedfb11fb76ed33f61b342df1 (patch)
tree66b5155562ac8306d53e7b77356f75327b66d125
parent67fad88d8d5136137ff0cacefc56a2f296803cc0 (diff)
parent2dc5cbd37af38054ac6aab88a3ecee22a13ed2eb (diff)
downloadillumos-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
-rw-r--r--usr/src/head/iso/stdlib_c11.h14
-rw-r--r--usr/src/head/iso/string_iso.h18
-rw-r--r--usr/src/lib/fm/topo/modules/common/disk/disk_common.c2
-rw-r--r--usr/src/lib/libast/common/misc/glob.c8
-rw-r--r--usr/src/lib/libast/common/misc/mime.c100
-rw-r--r--usr/src/lib/libast/common/string/strsearch.c15
-rw-r--r--usr/src/tools/ctf/cvt/dwarf.c44
-rw-r--r--usr/src/uts/common/fs/fdbuffer.c5
-rw-r--r--usr/src/uts/common/fs/vfs.c9
-rw-r--r--usr/src/uts/common/fs/vnode.c4
-rw-r--r--usr/src/uts/common/fs/zfs/dsl_dataset.c9
-rw-r--r--usr/src/uts/common/inet/sctp/sctp_opt_data.c5
-rw-r--r--usr/src/uts/common/io/atge/atge_main.c6
-rw-r--r--usr/src/uts/common/io/ixgbe/ixgbe_gld.c8
-rw-r--r--usr/src/uts/common/io/ldterm.c27
-rw-r--r--usr/src/uts/common/io/lofi.c6
-rw-r--r--usr/src/uts/common/io/qede/579xx/drivers/ecore/bcm_osal.h14
-rw-r--r--usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_dbg_fw_funcs.c10
-rw-r--r--usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_dev.c24
-rw-r--r--usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_hw.c8
-rw-r--r--usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_l2.c2
-rw-r--r--usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_mcp.c38
-rw-r--r--usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_phy.c6
-rw-r--r--usr/src/uts/common/io/qede/579xx/drivers/ecore/ecore_spq.c2
-rw-r--r--usr/src/uts/common/io/qede/qede_gld.c2
-rw-r--r--usr/src/uts/common/io/scsi/adapters/iscsi/iscsi_login.c4
-rw-r--r--usr/src/uts/common/os/aio_subr.c14
-rw-r--r--usr/src/uts/common/os/ddi_intr.c11
-rw-r--r--usr/src/uts/common/sys/aio_impl.h2
-rw-r--r--usr/src/uts/common/sys/fdbuffer.h4
-rw-r--r--usr/src/uts/intel/io/intel_nhm/dimm_topo.c12
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;