diff options
| author | Jerry Jelinek <jerry.jelinek@joyent.com> | 2015-02-26 12:29:46 +0000 |
|---|---|---|
| committer | Jerry Jelinek <jerry.jelinek@joyent.com> | 2015-02-26 12:29:46 +0000 |
| commit | 1b128497572fd458f0654ba6ab1d48de977edb31 (patch) | |
| tree | 907a712ca84aff76cb44332fcb6f5119705891a0 /usr/src | |
| parent | 951211ad1865c5ba0a9b52d15f18a35d976badef (diff) | |
| parent | da5086c104e170d3832a3e1782dc8617061c7fc6 (diff) | |
| download | illumos-joyent-1b128497572fd458f0654ba6ab1d48de977edb31.tar.gz | |
[illumos-gate merge]
commit da5086c104e170d3832a3e1782dc8617061c7fc6
443 auditset SMF not able to start in non-global zones
commit ce926fbb3eac0337e32c8855d5843ab73a07c345
4598 fmd(1m): redzone violation: write past end of buffer
commit d907f8b938aec9d8b57fdb15c241b98641b8b052
5397 pfiles slow with many open sockets
commit eb459a53dd5ee2db4c6c3eb63fe988a901174fc2
872 remove duplicate daemon() definitions (backward compatibility)
Diffstat (limited to 'usr/src')
| -rw-r--r-- | usr/src/cmd/auditset/svc-auditset.c | 12 | ||||
| -rw-r--r-- | usr/src/cmd/fm/fmd/common/fmd_trace.c | 3 | ||||
| -rw-r--r-- | usr/src/lib/libproc/common/Pfdinfo.c | 18 | ||||
| -rw-r--r-- | usr/src/lib/libresolv2/common/mapfile-vers | 1 |
4 files changed, 28 insertions, 6 deletions
diff --git a/usr/src/cmd/auditset/svc-auditset.c b/usr/src/cmd/auditset/svc-auditset.c index 4c01f278f8..cc2b8482d2 100644 --- a/usr/src/cmd/auditset/svc-auditset.c +++ b/usr/src/cmd/auditset/svc-auditset.c @@ -30,6 +30,7 @@ #include <audit_scf.h> #include <bsm/adt.h> #include <bsm/libbsm.h> +#include <zone.h> #include <errno.h> #include <locale.h> #include <stdio.h> @@ -67,6 +68,7 @@ main(void) { char *auditset_fmri; char *mask_cfg; + uint32_t policy; (void) setlocale(LC_ALL, ""); (void) textdomain(TEXT_DOMAIN); @@ -92,6 +94,16 @@ main(void) return (SMF_EXIT_OK); } + /* check the audit policy */ + if (auditon(A_GETPOLICY, (caddr_t)&policy, 0) == -1) { + (void) printf("Could not read audit policy: %s\n", + strerror(errno)); + return (SMF_EXIT_ERR_OTHER); + } + + if (!(policy & AUDIT_PERZONE) && (getzoneid() != GLOBAL_ZONEID)) + return (SMF_EXIT_OK); + /* update attributable mask */ if (!do_getflags_scf(&mask_cfg) || mask_cfg == NULL) { (void) printf("Could not get configured attributable audit " diff --git a/usr/src/cmd/fm/fmd/common/fmd_trace.c b/usr/src/cmd/fm/fmd/common/fmd_trace.c index 2bb0187cd3..bea6e8d450 100644 --- a/usr/src/cmd/fm/fmd/common/fmd_trace.c +++ b/usr/src/cmd/fm/fmd/common/fmd_trace.c @@ -24,8 +24,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/types.h> #include <sys/sysmacros.h> @@ -154,6 +152,7 @@ fmd_trace_full(fmd_tracebuf_t *tbp, uint_t tag, const char *format, va_list ap) } (void) getcontext(&uc); + trp->tr_depth = 0; trp->tr_tag = tbp->tb_frames; /* for use by fmd_trace_frame() */ (void) walkcontext(&uc, (int (*)())fmd_trace_frame, trp); diff --git a/usr/src/lib/libproc/common/Pfdinfo.c b/usr/src/lib/libproc/common/Pfdinfo.c index 124439773b..27264091f8 100644 --- a/usr/src/lib/libproc/common/Pfdinfo.c +++ b/usr/src/lib/libproc/common/Pfdinfo.c @@ -134,10 +134,20 @@ load_fdinfo(struct ps_prochandle *P) info->pr_offset = pr_llseek(P, fd, 0, SEEK_CUR); /* attempt to determine the path to it */ - (void) snprintf(path, sizeof (path), - "%s/%d/path/%d", procfs_path, (int)P->pid, fd); - len = readlink(path, info->pr_path, - sizeof (info->pr_path) - 1); + switch (info->pr_mode & S_IFMT) { + case S_IFDOOR: + case S_IFSOCK: + /* not applicable */ + len = -1; + break; + default: + (void) snprintf(path, sizeof (path), + "%s/%d/path/%d", procfs_path, (int)P->pid, + fd); + len = readlink(path, info->pr_path, + sizeof (info->pr_path) - 1); + break; + } if (len < 0) { info->pr_path[0] = 0; diff --git a/usr/src/lib/libresolv2/common/mapfile-vers b/usr/src/lib/libresolv2/common/mapfile-vers index cd2b90ad2c..cc19f12da1 100644 --- a/usr/src/lib/libresolv2/common/mapfile-vers +++ b/usr/src/lib/libresolv2/common/mapfile-vers @@ -130,6 +130,7 @@ SYMBOL_VERSION SUNWprivate_2.1 { __ctl_sendhelp; __ctl_server; __ctl_setcsctx; + daemon { TYPE = FUNCTION; FILTER = libc.so.1 }; dn_count_labels; __dn_count_labels; dn_skipname; |
