diff options
Diffstat (limited to 'usr/src/uts/common')
-rw-r--r-- | usr/src/uts/common/brand/lx/syscall/lx_prctl.c | 6 | ||||
-rw-r--r-- | usr/src/uts/common/disp/thread.c | 29 | ||||
-rw-r--r-- | usr/src/uts/common/dtrace/dtrace.c | 25 | ||||
-rw-r--r-- | usr/src/uts/common/exec/elf/elf_notes.c | 19 | ||||
-rw-r--r-- | usr/src/uts/common/fs/proc/prdata.h | 5 | ||||
-rw-r--r-- | usr/src/uts/common/fs/proc/prvnops.c | 111 | ||||
-rw-r--r-- | usr/src/uts/common/sys/dtrace.h | 7 | ||||
-rw-r--r-- | usr/src/uts/common/sys/elf.h | 19 | ||||
-rw-r--r-- | usr/src/uts/common/sys/procfs.h | 15 | ||||
-rw-r--r-- | usr/src/uts/common/sys/thread.h | 3 |
10 files changed, 37 insertions, 202 deletions
diff --git a/usr/src/uts/common/brand/lx/syscall/lx_prctl.c b/usr/src/uts/common/brand/lx/syscall/lx_prctl.c index a8b3c3422c..4aecb6e9cc 100644 --- a/usr/src/uts/common/brand/lx/syscall/lx_prctl.c +++ b/usr/src/uts/common/brand/lx/syscall/lx_prctl.c @@ -10,7 +10,7 @@ */ /* - * Copyright (c) 2018, Joyent, Inc. + * Copyright (c) 2017, Joyent, Inc. */ #include <sys/systm.h> @@ -175,9 +175,7 @@ lx_prctl(int opt, uintptr_t data) } name[LX_PR_SET_NAME_NAMELEN - 1] = '\0'; - if ((ret = thread_setname(t, name)) != 0) { - return (set_errno(ret)); - } + thread_setname(t, name); /* * In Linux, PR_SET_NAME sets the name of the thread, not the diff --git a/usr/src/uts/common/disp/thread.c b/usr/src/uts/common/disp/thread.c index d576738e75..aece8faaff 100644 --- a/usr/src/uts/common/disp/thread.c +++ b/usr/src/uts/common/disp/thread.c @@ -74,7 +74,6 @@ #include <sys/waitq.h> #include <sys/cpucaps.h> #include <sys/kiconv.h> -#include <sys/ctype.h> #include <sys/ht.h> #ifndef STACK_GROWTH_DOWN @@ -2335,7 +2334,7 @@ stkinfo_percent(caddr_t t_stk, caddr_t t_stkbase, caddr_t sp) * It is also expected callers on behalf of userland clients have done * any necessary permission checks. */ -int +void thread_setname(kthread_t *t, const char *name) { char *buf = NULL; @@ -2356,11 +2355,6 @@ thread_setname(kthread_t *t, const char *name) * usage in highly constrained situations (e.g. dtrace). */ if (name != NULL && name[0] != '\0') { - for (size_t i = 0; name[i] != '\0'; i++) { - if (!isprint(name[i])) - return (EINVAL); - } - buf = kmem_zalloc(THREAD_NAME_MAX, KM_SLEEP); (void) strlcpy(buf, name, THREAD_NAME_MAX); } @@ -2377,25 +2371,4 @@ thread_setname(kthread_t *t, const char *name) } } mutex_exit(&ttoproc(t)->p_lock); - return (0); -} - -int -thread_vsetname(kthread_t *t, const char *fmt, ...) -{ - char name[THREAD_NAME_MAX]; - va_list va; - int rc; - - va_start(va, fmt); - rc = vsnprintf(name, sizeof (name), fmt, va); - va_end(va); - - if (rc < 0) - return (EINVAL); - - if (rc >= sizeof (name)) - return (ENAMETOOLONG); - - return (thread_setname(t, name)); } diff --git a/usr/src/uts/common/dtrace/dtrace.c b/usr/src/uts/common/dtrace/dtrace.c index 8184bc27b9..9b53e08b6a 100644 --- a/usr/src/uts/common/dtrace/dtrace.c +++ b/usr/src/uts/common/dtrace/dtrace.c @@ -21,7 +21,7 @@ /* * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2018, Joyent, Inc. + * Copyright (c) 2017, Joyent, Inc. * Copyright (c) 2012, 2014 by Delphix. All rights reserved. */ @@ -3539,25 +3539,6 @@ dtrace_dif_variable(dtrace_mstate_t *mstate, dtrace_state_t *state, uint64_t v, return ((uint64_t)lwp->lwp_errno); } - - case DIF_VAR_THREADNAME: - /* - * See comment in DIF_VAR_PID. - */ - if (DTRACE_ANCHORED(mstate->dtms_probe) && CPU_ON_INTR(CPU)) - return (0); - - if (curthread->t_name == NULL) - return (0); - - /* - * Once set, ->t_name itself is never changed: any updates are - * made to the same buffer that we are pointing out. So we are - * safe to dereference it here. - */ - return (dtrace_dif_varstr((uintptr_t)curthread->t_name, - state, mstate)); - default: DTRACE_CPUFLAG_SET(CPU_DTRACE_ILLOP); return (0); @@ -5582,7 +5563,7 @@ next: * Stringify using RFC 1884 convention 2 - 16 bit * hexadecimal values with a zero-run compression. * Lower case hexadecimal digits are used. - * eg, fe80::214:4fff:fe0b:76c8. + * eg, fe80::214:4fff:fe0b:76c8. * The IPv4 embedded form is returned for inet_ntop, * just the IPv4 string is returned for inet_ntoa6. */ @@ -5766,7 +5747,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, dtrace_mstate_t *mstate, */ mstate->dtms_difo = difo; - regs[DIF_REG_R0] = 0; /* %r0 is fixed at zero */ + regs[DIF_REG_R0] = 0; /* %r0 is fixed at zero */ while (pc < textlen && !(*flags & CPU_DTRACE_FAULT)) { opc = pc; diff --git a/usr/src/uts/common/exec/elf/elf_notes.c b/usr/src/uts/common/exec/elf/elf_notes.c index d977d28540..7453f6c745 100644 --- a/usr/src/uts/common/exec/elf/elf_notes.c +++ b/usr/src/uts/common/exec/elf/elf_notes.c @@ -26,7 +26,7 @@ /* * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. - * Copyright 2018, Joyent, Inc. + * Copyright 2016, Joyent, Inc. */ #include <sys/types.h> @@ -94,7 +94,7 @@ setup_note_header(Phdr *v, proc_t *p) v[0].p_type = PT_NOTE; v[0].p_flags = PF_R; - v[0].p_filesz = (sizeof (Note) * (10 + 3 * nlwp + nzomb + nfd)) + v[0].p_filesz = (sizeof (Note) * (10 + 2 * nlwp + nzomb + nfd)) + roundup(sizeof (psinfo_t), sizeof (Word)) + roundup(sizeof (pstatus_t), sizeof (Word)) + roundup(prgetprivsize(), sizeof (Word)) @@ -107,7 +107,6 @@ setup_note_header(Phdr *v, proc_t *p) + roundup(sizeof (prsecflags_t), sizeof (Word)) + (nlwp + nzomb) * roundup(sizeof (lwpsinfo_t), sizeof (Word)) + nlwp * roundup(sizeof (lwpstatus_t), sizeof (Word)) - + nlwp * roundup(sizeof (prlwpname_t), sizeof (Word)) + nfd * roundup(sizeof (prfdinfo_t), sizeof (Word)); if (curproc->p_agenttp != NULL) { @@ -459,7 +458,6 @@ write_elfnotes(proc_t *p, int sig, vnode_t *vp, offset_t offset, nzomb = p->p_zombcnt; /* for each entry in the lwp directory ... */ for (ldp = p->p_lwpdir; nlwp + nzomb != 0; ldp++) { - prlwpname_t name = { 0, }; if ((lep = ldp->ld_entry) == NULL) /* empty slot */ continue; @@ -470,10 +468,6 @@ write_elfnotes(proc_t *p, int sig, vnode_t *vp, offset_t offset, lwp = ttolwp(t); mutex_enter(&p->p_lock); prgetlwpsinfo(t, &bigwad->lwpsinfo); - if (t->t_name != NULL) { - (void) strlcpy(name.pr_lwpname, t->t_name, - sizeof (name.pr_lwpname)); - } mutex_exit(&p->p_lock); } else { /* zombie lwp */ ASSERT(nzomb != 0); @@ -484,15 +478,11 @@ write_elfnotes(proc_t *p, int sig, vnode_t *vp, offset_t offset, bigwad->lwpsinfo.pr_sname = 'Z'; bigwad->lwpsinfo.pr_start.tv_sec = lep->le_start; } - - name.pr_lwpid = bigwad->lwpsinfo.pr_lwpid; - error = elfnote(vp, &offset, NT_LWPSINFO, sizeof (bigwad->lwpsinfo), (caddr_t)&bigwad->lwpsinfo, rlimit, credp); if (error) goto done; - if (t == NULL) /* nothing more to do for a zombie */ continue; @@ -526,11 +516,6 @@ write_elfnotes(proc_t *p, int sig, vnode_t *vp, offset_t offset, if (error) goto done; - if ((error = elfnote(vp, &offset, NT_LWPNAME, sizeof (name), - (caddr_t)&name, rlimit, credp)) != 0) - goto done; - - #if defined(__sparc) /* * Unspilled SPARC register windows. diff --git a/usr/src/uts/common/fs/proc/prdata.h b/usr/src/uts/common/fs/proc/prdata.h index 706e3ad14d..35a76597b2 100644 --- a/usr/src/uts/common/fs/proc/prdata.h +++ b/usr/src/uts/common/fs/proc/prdata.h @@ -27,7 +27,7 @@ /* All Rights Reserved */ /* - * Copyright 2018 Joyent, Inc. + * Copyright 2016 Joyent, Inc. */ #ifndef _SYS_PROC_PRDATA_H @@ -137,7 +137,6 @@ typedef enum prnodetype { PR_LWPDIR, /* /proc/<pid>/lwp */ PR_LWPIDDIR, /* /proc/<pid>/lwp/<lwpid> */ PR_LWPCTL, /* /proc/<pid>/lwp/<lwpid>/lwpctl */ - PR_LWPNAME, /* /proc/<pid>/lwp/<lwpid>/lwpname */ PR_LWPSTATUS, /* /proc/<pid>/lwp/<lwpid>/lwpstatus */ PR_LWPSINFO, /* /proc/<pid>/lwp/<lwpid>/lwpsinfo */ PR_LWPUSAGE, /* /proc/<pid>/lwp/<lwpid>/lwpusage */ @@ -364,7 +363,7 @@ extern void prgetaction(proc_t *, user_t *, uint_t, struct sigaction *); extern void prgetusage(kthread_t *, struct prhusage *); extern void praddusage(kthread_t *, struct prhusage *); extern void prcvtusage(struct prhusage *, prusage_t *); -extern void prscaleusage(prhusage_t *); +extern void prscaleusage(prhusage_t *); extern kthread_t *prchoose(proc_t *); extern void allsetrun(proc_t *); extern int setisempty(uint32_t *, uint_t); diff --git a/usr/src/uts/common/fs/proc/prvnops.c b/usr/src/uts/common/fs/proc/prvnops.c index 57d01c86f0..fa5f637f05 100644 --- a/usr/src/uts/common/fs/proc/prvnops.c +++ b/usr/src/uts/common/fs/proc/prvnops.c @@ -21,12 +21,12 @@ /* * Copyright (c) 1989, 2010, Oracle and/or its affiliates. All rights reserved. - * Copyright (c) 2018, Joyent, Inc. + * Copyright (c) 2017, Joyent, Inc. * Copyright (c) 2017 by Delphix. All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ -/* All Rights Reserved */ +/* All Rights Reserved */ #include <sys/types.h> #include <sys/param.h> @@ -64,7 +64,6 @@ #include <sys/contract_impl.h> #include <sys/ctfs.h> #include <sys/avl.h> -#include <sys/ctype.h> #include <fs/fs_subr.h> #include <vm/rm.h> #include <vm/as.h> @@ -191,24 +190,22 @@ static prdirent_t lwpiddir[] = { ".." }, { PR_LWPCTL, 3 * sizeof (prdirent_t), sizeof (prdirent_t), "lwpctl" }, - { PR_LWPNAME, 4 * sizeof (prdirent_t), sizeof (prdirent_t), - "lwpname" }, - { PR_LWPSTATUS, 5 * sizeof (prdirent_t), sizeof (prdirent_t), + { PR_LWPSTATUS, 4 * sizeof (prdirent_t), sizeof (prdirent_t), "lwpstatus" }, - { PR_LWPSINFO, 6 * sizeof (prdirent_t), sizeof (prdirent_t), + { PR_LWPSINFO, 5 * sizeof (prdirent_t), sizeof (prdirent_t), "lwpsinfo" }, - { PR_LWPUSAGE, 7 * sizeof (prdirent_t), sizeof (prdirent_t), + { PR_LWPUSAGE, 6 * sizeof (prdirent_t), sizeof (prdirent_t), "lwpusage" }, - { PR_XREGS, 8 * sizeof (prdirent_t), sizeof (prdirent_t), + { PR_XREGS, 7 * sizeof (prdirent_t), sizeof (prdirent_t), "xregs" }, - { PR_TMPLDIR, 9 * sizeof (prdirent_t), sizeof (prdirent_t), + { PR_TMPLDIR, 8 * sizeof (prdirent_t), sizeof (prdirent_t), "templates" }, - { PR_SPYMASTER, 10 * sizeof (prdirent_t), sizeof (prdirent_t), + { PR_SPYMASTER, 9 * sizeof (prdirent_t), sizeof (prdirent_t), "spymaster" }, #if defined(__sparc) - { PR_GWINDOWS, 11 * sizeof (prdirent_t), sizeof (prdirent_t), + { PR_GWINDOWS, 10 * sizeof (prdirent_t), sizeof (prdirent_t), "gwindows" }, - { PR_ASRS, 12 * sizeof (prdirent_t), sizeof (prdirent_t), + { PR_ASRS, 11 * sizeof (prdirent_t), sizeof (prdirent_t), "asrs" }, #endif }; @@ -598,8 +595,7 @@ static int pr_read_inval(), pr_read_as(), pr_read_status(), pr_read_argv(), pr_read_usage(), pr_read_lusage(), pr_read_pagedata(), pr_read_watch(), pr_read_lwpstatus(), pr_read_lwpsinfo(), - pr_read_lwpusage(), pr_read_lwpname(), - pr_read_xregs(), pr_read_priv(), + pr_read_lwpusage(), pr_read_xregs(), pr_read_priv(), pr_read_spymaster(), pr_read_secflags(), #if defined(__sparc) pr_read_gwindows(), pr_read_asrs(), @@ -639,7 +635,6 @@ static int (*pr_read_function[PR_NFILES])() = { pr_read_inval, /* /proc/<pid>/lwp */ pr_read_inval, /* /proc/<pid>/lwp/<lwpid> */ pr_read_inval, /* /proc/<pid>/lwp/<lwpid>/lwpctl */ - pr_read_lwpname, /* /proc/<pid>/lwp/<lwpid>/lwpname */ pr_read_lwpstatus, /* /proc/<pid>/lwp/<lwpid>/lwpstatus */ pr_read_lwpsinfo, /* /proc/<pid>/lwp/<lwpid>/lwpsinfo */ pr_read_lwpusage, /* /proc/<pid>/lwp/<lwpid>/lwpusage */ @@ -1122,7 +1117,7 @@ pr_read_auxv(prnode_t *pnp, uio_t *uiop) * we have two kinds of LDT structures to export -- one for compatibility * mode, and one for long mode, sigh. * - * For now let's just have a ldt of size 0 for 64-bit processes. + * For now lets just have a ldt of size 0 for 64-bit processes. */ static int pr_read_ldt(prnode_t *pnp, uio_t *uiop) @@ -1587,33 +1582,6 @@ out: return (error); } -static int -pr_read_lwpname(prnode_t *pnp, uio_t *uiop) -{ - char lwpname[THREAD_NAME_MAX]; - kthread_t *t; - int error; - - ASSERT(pnp->pr_type == PR_LWPNAME); - - if (uiop->uio_offset >= THREAD_NAME_MAX) - return (0); - - if ((error = prlock(pnp, ZNO)) != 0) - return (error); - - bzero(lwpname, sizeof (lwpname)); - - t = pnp->pr_common->prc_thread; - - if (t->t_name != NULL) - (void) strlcpy(lwpname, t->t_name, sizeof (lwpname)); - - prunlock(pnp); - - return (pr_uioread(lwpname, sizeof (lwpname), uiop)); -} - /* ARGSUSED */ static int pr_read_xregs(prnode_t *pnp, uio_t *uiop) @@ -1885,7 +1853,6 @@ static int (*pr_read_function_32[PR_NFILES])() = { pr_read_inval, /* /proc/<pid>/lwp */ pr_read_inval, /* /proc/<pid>/lwp/<lwpid> */ pr_read_inval, /* /proc/<pid>/lwp/<lwpid>/lwpctl */ - pr_read_lwpname, /* /proc/<pid>/lwp/<lwpid>/lwpname */ pr_read_lwpstatus_32, /* /proc/<pid>/lwp/<lwpid>/lwpstatus */ pr_read_lwpsinfo_32, /* /proc/<pid>/lwp/<lwpid>/lwpsinfo */ pr_read_lwpusage_32, /* /proc/<pid>/lwp/<lwpid>/lwpusage */ @@ -2895,54 +2862,6 @@ pr_write_psinfo(prnode_t *pnp, uio_t *uiop) } -/* Note we intentionally don't handle partial writes/updates. */ -static int -pr_write_lwpname(prnode_t *pnp, uio_t *uiop) -{ - kthread_t *t = NULL; - char *lwpname; - int error; - - lwpname = kmem_zalloc(THREAD_NAME_MAX, KM_SLEEP); - - if ((error = uiomove(lwpname, THREAD_NAME_MAX, UIO_WRITE, uiop)) != 0) { - kmem_free(lwpname, THREAD_NAME_MAX); - return (error); - } - - /* Somebody tried to write too long a thread name... */ - if (lwpname[THREAD_NAME_MAX - 1] != '\0' || uiop->uio_resid > 0) { - kmem_free(lwpname, THREAD_NAME_MAX); - return (EIO); - } - - VERIFY3U(lwpname[THREAD_NAME_MAX - 1], ==, '\0'); - - for (size_t i = 0; lwpname[i] != '\0'; i++) { - if (!isprint(lwpname[i])) { - kmem_free(lwpname, THREAD_NAME_MAX); - return (EINVAL); - } - } - - /* Equivalent of thread_setname(), but with the ZNO magic. */ - if ((error = prlock(pnp, ZNO)) != 0) { - kmem_free(lwpname, THREAD_NAME_MAX); - return (error); - } - - t = pnp->pr_common->prc_thread; - if (t->t_name == NULL) { - t->t_name = lwpname; - } else { - (void) strlcpy(t->t_name, lwpname, THREAD_NAME_MAX); - kmem_free(lwpname, THREAD_NAME_MAX); - } - - prunlock(pnp); - return (0); -} - /* ARGSUSED */ static int prwrite(vnode_t *vp, uio_t *uiop, int ioflag, cred_t *cr, caller_context_t *ct) @@ -3024,9 +2943,6 @@ prwrite(vnode_t *vp, uio_t *uiop, int ioflag, cred_t *cr, caller_context_t *ct) case PR_PSINFO: return (pr_write_psinfo(pnp, uiop)); - case PR_LWPNAME: - return (pr_write_lwpname(pnp, uiop)); - default: return ((vp->v_type == VDIR)? EISDIR : EBADF); } @@ -3596,7 +3512,6 @@ static vnode_t *(*pr_lookup_function[PR_NFILES])() = { pr_lookup_lwpdir, /* /proc/<pid>/lwp */ pr_lookup_lwpiddir, /* /proc/<pid>/lwp/<lwpid> */ pr_lookup_notdir, /* /proc/<pid>/lwp/<lwpid>/lwpctl */ - pr_lookup_notdir, /* /proc/<pid>/lwp/<lwpid>/lwpname */ pr_lookup_notdir, /* /proc/<pid>/lwp/<lwpid>/lwpstatus */ pr_lookup_notdir, /* /proc/<pid>/lwp/<lwpid>/lwpsinfo */ pr_lookup_notdir, /* /proc/<pid>/lwp/<lwpid>/lwpusage */ @@ -4861,7 +4776,6 @@ prgetnode(vnode_t *dp, prnodetype_t type) break; case PR_PSINFO: - case PR_LWPNAME: pnp->pr_mode = 0644; /* readable by all + owner can write */ break; @@ -4990,7 +4904,6 @@ static int (*pr_readdir_function[PR_NFILES])() = { pr_readdir_lwpdir, /* /proc/<pid>/lwp */ pr_readdir_lwpiddir, /* /proc/<pid>/lwp/<lwpid> */ pr_readdir_notdir, /* /proc/<pid>/lwp/<lwpid>/lwpctl */ - pr_readdir_notdir, /* /proc/<pid>/lwp/<lwpid>/lwpname */ pr_readdir_notdir, /* /proc/<pid>/lwp/<lwpid>/lwpstatus */ pr_readdir_notdir, /* /proc/<pid>/lwp/<lwpid>/lwpsinfo */ pr_readdir_notdir, /* /proc/<pid>/lwp/<lwpid>/lwpusage */ diff --git a/usr/src/uts/common/sys/dtrace.h b/usr/src/uts/common/sys/dtrace.h index ab6d4c4445..44ca7d8ae7 100644 --- a/usr/src/uts/common/sys/dtrace.h +++ b/usr/src/uts/common/sys/dtrace.h @@ -25,7 +25,7 @@ */ /* - * Copyright 2018 Joyent, Inc. + * Copyright 2017 Joyent, Inc. * Copyright (c) 2013 by Delphix. All rights reserved. */ @@ -242,7 +242,6 @@ typedef enum dtrace_probespec { #define DIF_VAR_UID 0x011e /* process user ID */ #define DIF_VAR_GID 0x011f /* process group ID */ #define DIF_VAR_ERRNO 0x0120 /* thread errno */ -#define DIF_VAR_THREADNAME 0x0121 /* thread name */ #define DIF_SUBR_RAND 0 #define DIF_SUBR_MUTEX_OWNED 1 @@ -2213,8 +2212,8 @@ extern void dtrace_probe(dtrace_id_t, uintptr_t arg0, uintptr_t arg1, */ typedef struct dtrace_helper_probedesc { char *dthpb_mod; /* probe module */ - char *dthpb_func; /* probe function */ - char *dthpb_name; /* probe name */ + char *dthpb_func; /* probe function */ + char *dthpb_name; /* probe name */ uint64_t dthpb_base; /* base address */ uint32_t *dthpb_offs; /* offsets array */ uint32_t *dthpb_enoffs; /* is-enabled offsets array */ diff --git a/usr/src/uts/common/sys/elf.h b/usr/src/uts/common/sys/elf.h index 1a2ca397ef..0dd4f2d17e 100644 --- a/usr/src/uts/common/sys/elf.h +++ b/usr/src/uts/common/sys/elf.h @@ -429,10 +429,10 @@ typedef struct { #define ELFOSABI_OPENVMS 13 /* Open VMS */ #define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */ #define ELFOSABI_AROS 15 /* Amiga Research OS */ -#define ELFOSABI_FENIXOS 16 /* The FenixOS highly scalable */ +#define ELFOSABI_FENIXOS 16 /* The FenixOS highly scalable */ /* multi-core OS */ -#define ELFOSABI_CLOUDABI 17 /* Nuxi CloudABI */ -#define ELFOSABI_OPENVOS 18 /* Stratus Technologies OpenVOS */ +#define ELFOSABI_CLOUDABI 17 /* Nuxi CloudABI */ +#define ELFOSABI_OPENVOS 18 /* Stratus Technologies OpenVOS */ #define ELFOSABI_ARM 97 /* ARM */ #define ELFOSABI_STANDALONE 255 /* standalone (embedded) application */ @@ -820,7 +820,7 @@ typedef struct { #define ELF32_R_INFO(sym, type) (((sym)<<8)+(unsigned char)(type)) #define ELF64_R_SYM(info) ((info)>>32) -#define ELF64_R_TYPE(info) ((Elf64_Word)(info)) +#define ELF64_R_TYPE(info) ((Elf64_Word)(info)) #define ELF64_R_INFO(sym, type) (((Elf64_Xword)(sym)<<32)+(Elf64_Xword)(type)) @@ -867,7 +867,7 @@ typedef struct { #if defined(_LP64) || defined(_LONGLONG_TYPE) typedef struct { Elf32_Lword m_value; /* symbol value */ - Elf32_Word m_info; /* size + index */ + Elf32_Word m_info; /* size + index */ Elf32_Word m_poffset; /* symbol offset */ Elf32_Half m_repeat; /* repeat count */ Elf32_Half m_stride; /* stride info */ @@ -886,7 +886,7 @@ typedef struct { typedef struct { Elf64_Lword m_value; /* symbol value */ - Elf64_Xword m_info; /* size + index */ + Elf64_Xword m_info; /* size + index */ Elf64_Xword m_poffset; /* symbol offset */ Elf64_Half m_repeat; /* repeat count */ Elf64_Half m_stride; /* stride info */ @@ -945,7 +945,7 @@ typedef Elf64_Word Elf64_Capchain; * info = ELF64_C_INFO(sym, grp) */ #define ELF64_C_SYM(info) ((info)>>32) -#define ELF64_C_GROUP(info) ((Elf64_Word)(info)) +#define ELF64_C_GROUP(info) ((Elf64_Word)(info)) #define ELF64_C_INFO(sym, grp) (((Elf64_Xword)(sym)<<32)+(Elf64_Xword)(grp)) #endif /* defined(_LP64) || defined(_LONGLONG_TYPE) */ @@ -1014,11 +1014,10 @@ typedef Elf64_Word Elf64_Capchain; #define NT_PRPRIVINFO 19 /* priv_impl_info_t <sys/priv.h> */ #define NT_CONTENT 20 /* core_content_t <sys/corectl.h> */ #define NT_ZONENAME 21 /* string from getzonenamebyid(3C) */ -#define NT_FDINFO 22 /* open fd info */ +#define NT_FDINFO 22 /* open fd info */ #define NT_SPYMASTER 23 /* psinfo_t for agent LWP spymaster */ #define NT_SECFLAGS 24 /* process security-flags */ -#define NT_LWPNAME 25 /* prlwpname_t */ -#define NT_NUM 25 +#define NT_NUM 24 #ifdef _KERNEL diff --git a/usr/src/uts/common/sys/procfs.h b/usr/src/uts/common/sys/procfs.h index 38c006f8f0..427d682d68 100644 --- a/usr/src/uts/common/sys/procfs.h +++ b/usr/src/uts/common/sys/procfs.h @@ -25,7 +25,7 @@ */ /* * Copyright 2012 DEY Storage Systems, Inc. All rights reserved. - * Copyright 2018, Joyent, Inc. + * Copyright 2015, Joyent, Inc. */ #ifndef _SYS_PROCFS_H @@ -66,7 +66,6 @@ extern "C" { #include <sys/stat.h> #include <sys/param.h> #include <sys/secflags.h> -#include <sys/thread.h> /* * System call interfaces for /proc. @@ -347,7 +346,7 @@ typedef struct prxmap { int pr_shmid; /* SysV shmid, -1 if not SysV shared memory */ dev_t pr_dev; /* st_dev from stat64() of mapped object, or PRNODEV */ uint64_t pr_ino; /* st_ino from stat64() of mapped object, if any */ - size_t pr_rss; /* pages of resident memory */ + size_t pr_rss; /* pages of resident memory */ size_t pr_anon; /* pages of resident anonymous memory */ size_t pr_locked; /* pages of locked memory */ size_t pr_pad; /* currently unused */ @@ -538,16 +537,6 @@ typedef struct prfdinfo { } prfdinfo_t; /* - * Representation of LWP name in core files. In /proc, we use a simple char - * array, but in core files we need to make it easy to correlate the note back - * to the right LWP. For simplicity, we'll use 32/64 consistent types. - */ -typedef struct prlwpname { - uint64_t pr_lwpid; - char pr_lwpname[THREAD_NAME_MAX]; -} prlwpname_t; - -/* * Header for /proc/<pid>/lstatus /proc/<pid>/lpsinfo /proc/<pid>/lusage */ typedef struct prheader { diff --git a/usr/src/uts/common/sys/thread.h b/usr/src/uts/common/sys/thread.h index 6cc474f864..678d356564 100644 --- a/usr/src/uts/common/sys/thread.h +++ b/usr/src/uts/common/sys/thread.h @@ -607,8 +607,7 @@ extern disp_lock_t stop_lock; /* lock protecting stopped threads */ caddr_t thread_stk_init(caddr_t); /* init thread stack */ -int thread_setname(kthread_t *, const char *); -int thread_vsetname(kthread_t *, const char *, ...); +void thread_setname(kthread_t *, const char *); extern int default_binding_mode; extern int default_stksize; |