Here are some bcopy calls in kern that could be memcpy.
I also have an older diff for the uipc files, let me dust it off and
review, then I'll resend that too.
Index: exec_subr.c
===================================================================
RCS file: /cvs/src/sys/kern/exec_subr.c,v
retrieving revision 1.42
diff -u -p -r1.42 exec_subr.c
--- exec_subr.c 18 Nov 2014 02:37:31 -0000 1.42
+++ exec_subr.c 5 Dec 2014 22:52:41 -0000
@@ -91,7 +91,7 @@ vmcmdset_extend(struct exec_vmcmd_set *e
/* reallocate the command set */
nvcp = mallocarray(evsp->evs_cnt, sizeof(*nvcp), M_EXEC,
M_WAITOK);
- bcopy(evsp->evs_cmds, nvcp, (ocnt * sizeof(*nvcp)));
+ memcpy(nvcp, evsp->evs_cmds, ocnt * sizeof(*nvcp));
if (evsp->evs_cmds != evsp->evs_start)
free(evsp->evs_cmds, M_EXEC, ocnt * sizeof(*nvcp));
evsp->evs_cmds = nvcp;
Index: init_main.c
===================================================================
RCS file: /cvs/src/sys/kern/init_main.c,v
retrieving revision 1.225
diff -u -p -r1.225 init_main.c
--- init_main.c 18 Nov 2014 21:11:08 -0000 1.225
+++ init_main.c 5 Dec 2014 22:50:00 -0000
@@ -287,7 +287,7 @@ main(void *framep)
p->p_stat = SONPROC;
pr->ps_nice = NZERO;
pr->ps_emul = &emul_native;
- bcopy("swapper", p->p_comm, sizeof ("swapper"));
+ strlcpy(p->p_comm, "swapper", sizeof(p->p_comm));
/* Init timeouts. */
timeout_set(&p->p_sleep_to, endtsleep, p);
Index: kern_acct.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_acct.c,v
retrieving revision 1.28
diff -u -p -r1.28 kern_acct.c
--- kern_acct.c 30 Mar 2014 21:54:48 -0000 1.28
+++ kern_acct.c 5 Dec 2014 22:50:18 -0000
@@ -176,7 +176,7 @@ acct_process(struct proc *p)
*/
/* (1) The name of the command that ran */
- bcopy(p->p_comm, acct.ac_comm, sizeof acct.ac_comm);
+ memcpy(acct.ac_comm, p->p_comm, sizeof acct.ac_comm);
/* (2) The amount of user and system time that was used */
calctsru(&pr->ps_tu, &ut, &st, NULL);
Index: kern_exec.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_exec.c,v
retrieving revision 1.149
diff -u -p -r1.149 kern_exec.c
--- kern_exec.c 18 Nov 2014 02:37:31 -0000 1.149
+++ kern_exec.c 5 Dec 2014 22:50:31 -0000
@@ -475,7 +475,7 @@ sys_execve(struct proc *p, void *v, regi
/* set command name & other accounting info */
memset(p->p_comm, 0, sizeof(p->p_comm));
len = min(nid.ni_cnd.cn_namelen, MAXCOMLEN);
- bcopy(nid.ni_cnd.cn_nameptr, p->p_comm, len);
+ memcpy(p->p_comm, nid.ni_cnd.cn_nameptr, len);
pr->ps_acflag &= ~AFORK;
/* record proc's vnode, for use by sysctl */
Index: kern_ktrace.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_ktrace.c,v
retrieving revision 1.70
diff -u -p -r1.70 kern_ktrace.c
--- kern_ktrace.c 26 Oct 2014 20:34:37 -0000 1.70
+++ kern_ktrace.c 5 Dec 2014 22:52:12 -0000
@@ -132,7 +132,7 @@ ktrinitheader(struct ktr_header *kth, st
{
ktrinitheaderraw(kth, type, p->p_p->ps_pid,
p->p_pid + THREAD_PID_OFFSET);
- bcopy(p->p_comm, kth->ktr_comm, MAXCOMLEN);
+ memcpy(kth->ktr_comm, p->p_comm, MAXCOMLEN);
}
void
@@ -341,7 +341,7 @@ ktrstruct(struct proc *p, const char *na
buflen = strlen(name) + 1 + datalen;
buf = malloc(buflen, M_TEMP, M_WAITOK);
strlcpy(buf, name, buflen);
- bcopy(data, buf + strlen(name) + 1, datalen);
+ memcpy(buf + strlen(name) + 1, data, datalen);
kth.ktr_len = buflen;
ktrwrite(p, &kth, buf);
Index: kern_malloc.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_malloc.c,v
retrieving revision 1.125
diff -u -p -r1.125 kern_malloc.c
--- kern_malloc.c 18 Nov 2014 02:37:31 -0000 1.125
+++ kern_malloc.c 5 Dec 2014 22:54:02 -0000
@@ -599,7 +599,7 @@ sysctl_malloc(int *name, u_int namelen,
return (sysctl_rdstring(oldp, oldlenp, newp, buckstring));
case KERN_MALLOC_BUCKET:
- bcopy(&bucket[BUCKETINDX(name[1])], &kb, sizeof(kb));
+ memcpy(&kb, &bucket[BUCKETINDX(name[1])], sizeof(kb));
memset(&kb.kb_freelist, 0, sizeof(kb.kb_freelist));
return (sysctl_rdstruct(oldp, oldlenp, newp, &kb, sizeof(kb)));
case KERN_MALLOC_KMEMSTATS:
Index: kern_proc.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_proc.c,v
retrieving revision 1.61
diff -u -p -r1.61 kern_proc.c
--- kern_proc.c 3 Nov 2014 03:08:00 -0000 1.61
+++ kern_proc.c 5 Dec 2014 22:53:34 -0000
@@ -240,7 +240,7 @@ enterpgrp(struct process *pr, pid_t pgid
newsess->s_count = 1;
newsess->s_ttyvp = NULL;
newsess->s_ttyp = NULL;
- bcopy(pr->ps_session->s_login, newsess->s_login,
+ memcpy(newsess->s_login, pr->ps_session->s_login,
sizeof(newsess->s_login));
atomic_clearbits_int(&pr->ps_flags, PS_CONTROLT);
pgrp->pg_session = newsess;
Index: kern_resource.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_resource.c,v
retrieving revision 1.51
diff -u -p -r1.51 kern_resource.c
--- kern_resource.c 16 Nov 2014 12:31:00 -0000 1.51
+++ kern_resource.c 5 Dec 2014 22:53:48 -0000
@@ -511,7 +511,7 @@ limcopy(struct plimit *lim)
}
newlim = pool_get(&plimit_pool, PR_WAITOK);
- bcopy(lim->pl_rlimit, newlim->pl_rlimit,
+ memcpy(newlim->pl_rlimit, lim->pl_rlimit,
sizeof(struct rlimit) * RLIM_NLIMITS);
newlim->p_refcnt = 1;
return (newlim);
Index: kern_sysctl.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_sysctl.c,v
retrieving revision 1.274
diff -u -p -r1.274 kern_sysctl.c
--- kern_sysctl.c 5 Dec 2014 04:35:08 -0000 1.274
+++ kern_sysctl.c 5 Dec 2014 22:59:18 -0000
@@ -2131,7 +2131,7 @@ sysctl_sysvipc(int *name, u_int namelen,
#ifdef SYSVSEM
case KERN_SYSVIPC_SEM_INFO:
if (sema[i] != NULL)
- bcopy(sema[i], &semsi->semids[i],
+ memcpy(&semsi->semids[i], sema[i],
dssize);
else
memset(&semsi->semids[i], 0, dssize);
@@ -2140,7 +2140,7 @@ sysctl_sysvipc(int *name, u_int namelen,
#ifdef SYSVSHM
case KERN_SYSVIPC_SHM_INFO:
if (shmsegs[i] != NULL)
- bcopy(shmsegs[i], &shmsi->shmids[i],
+ memcpy(&shmsi->shmids[i], shmsegs[i],
dssize);
else
memset(&shmsi->shmids[i], 0, dssize);
Index: kern_tc.c
===================================================================
RCS file: /cvs/src/sys/kern/kern_tc.c,v
retrieving revision 1.27
diff -u -p -r1.27 kern_tc.c
--- kern_tc.c 1 Nov 2014 23:58:28 -0000 1.27
+++ kern_tc.c 5 Dec 2014 22:53:13 -0000
@@ -393,7 +393,7 @@ tc_windup(void)
th = tho->th_next;
ogen = th->th_generation;
th->th_generation = 0;
- bcopy(tho, th, offsetof(struct timehands, th_generation));
+ memcpy(th, tho, offsetof(struct timehands, th_generation));
/*
* Capture a timecounter delta on the current timecounter and if
Index: subr_log.c
===================================================================
RCS file: /cvs/src/sys/kern/subr_log.c,v
retrieving revision 1.23
diff -u -p -r1.23 subr_log.c
--- subr_log.c 3 Nov 2014 03:08:00 -0000 1.23
+++ subr_log.c 5 Dec 2014 22:47:48 -0000
@@ -372,7 +372,7 @@ sys_sendsyslog(struct proc *p, void *v,
iovlen = auio.uio_iovcnt * sizeof (struct iovec);
ktriov = malloc(iovlen, M_TEMP, M_WAITOK);
- bcopy(auio.uio_iov, ktriov, iovlen);
+ memcpy(ktriov, auio.uio_iov, iovlen);
}
#endif
Index: sys_generic.c
===================================================================
RCS file: /cvs/src/sys/kern/sys_generic.c,v
retrieving revision 1.94
diff -u -p -r1.94 sys_generic.c
--- sys_generic.c 3 Nov 2014 03:08:00 -0000 1.94
+++ sys_generic.c 5 Dec 2014 22:47:31 -0000
@@ -195,7 +195,7 @@ dofilereadv(struct proc *p, int fd, stru
*/
if (KTRPOINT(p, KTR_GENIO)) {
ktriov = malloc(iovlen, M_TEMP, M_WAITOK);
- bcopy(auio.uio_iov, ktriov, iovlen);
+ memcpy(ktriov, auio.uio_iov, iovlen);
}
#endif
cnt = auio.uio_resid;
@@ -348,7 +348,7 @@ dofilewritev(struct proc *p, int fd, str
*/
if (KTRPOINT(p, KTR_GENIO)) {
ktriov = malloc(iovlen, M_TEMP, M_WAITOK);
- bcopy(auio.uio_iov, ktriov, iovlen);
+ memcpy(ktriov, auio.uio_iov, iovlen);
}
#endif
cnt = auio.uio_resid;
Index: sysv_msg.c
===================================================================
RCS file: /cvs/src/sys/kern/sysv_msg.c,v
retrieving revision 1.28
diff -u -p -r1.28 sysv_msg.c
--- sysv_msg.c 12 Jul 2014 18:43:32 -0000 1.28
+++ sysv_msg.c 5 Dec 2014 22:45:42 -0000
@@ -703,7 +703,7 @@ sysctl_sysvmsg(int *name, u_int namelen,
return (ENOMEM);
}
- bcopy(&msginfo, &info->msginfo, sizeof(struct msginfo));
+ memcpy(&info->msginfo, &msginfo, sizeof(struct msginfo));
/*
* Special case #3: the previous array-based implementation
@@ -711,7 +711,7 @@ sysctl_sysvmsg(int *name, u_int namelen,
* upon these indices, so keep behavior consisitent.
*/
TAILQ_FOREACH(que, &msg_queues, que_next)
- bcopy(&que->msqid_ds, &info->msgids[que->que_ix],
+ memcpy(&info->msgids[que->que_ix], &que->msqid_ds,
sizeof(struct msqid_ds));
error = copyout(info, where, infolen);
Index: sysv_sem.c
===================================================================
RCS file: /cvs/src/sys/kern/sysv_sem.c,v
retrieving revision 1.50
diff -u -p -r1.50 sysv_sem.c
--- sysv_sem.c 13 Sep 2014 16:06:37 -0000 1.50
+++ sysv_sem.c 5 Dec 2014 22:46:16 -0000
@@ -877,11 +877,11 @@ sysctl_sysvsem(int *name, u_int namelen,
/* Expand semsegs and semseqs arrays */
sema_new = mallocarray(val, sizeof(struct semid_ds *),
M_SEM, M_WAITOK|M_ZERO);
- bcopy(sema, sema_new,
+ memcpy(sema_new, sema,
seminfo.semmni * sizeof(struct semid_ds *));
newseqs = mallocarray(val, sizeof(unsigned short), M_SEM,
M_WAITOK|M_ZERO);
- bcopy(semseqs, newseqs,
+ memcpy(newseqs, semseqs,
seminfo.semmni * sizeof(unsigned short));
free(sema, M_SEM, 0);
free(semseqs, M_SEM, 0);
Index: sysv_shm.c
===================================================================
RCS file: /cvs/src/sys/kern/sysv_shm.c,v
retrieving revision 1.59
diff -u -p -r1.59 sysv_shm.c
--- sysv_shm.c 16 Nov 2014 12:31:00 -0000 1.59
+++ sysv_shm.c 5 Dec 2014 22:46:54 -0000
@@ -494,7 +494,7 @@ shmfork(struct vmspace *vm1, struct vmsp
shmmap_h = (struct shmmap_head *)vm1->vm_shm;
size = sizeof(int) + shmmap_h->shmseg * sizeof(struct shmmap_state);
vm2->vm_shm = malloc(size, M_SHM, M_WAITOK);
- bcopy(vm1->vm_shm, vm2->vm_shm, size);
+ memcpy(vm2->vm_shm, vm1->vm_shm, size);
for (i = 0, shmmap_s = shmmap_h->state; i < shmmap_h->shmseg;
i++, shmmap_s++) {
if (shmmap_s->shmid != -1 &&
@@ -594,13 +594,13 @@ sysctl_sysvshm(int *name, u_int namelen,
/* Expand shmsegs and shmseqs arrays */
newsegs = mallocarray(val, sizeof(struct shmid_ds *),
M_SHM, M_WAITOK|M_ZERO);
- bcopy(shmsegs, newsegs,
+ memcpy(newsegs, shmsegs,
shminfo.shmmni * sizeof(struct shmid_ds *));
free(shmsegs, M_SHM, 0);
shmsegs = newsegs;
newseqs = mallocarray(val, sizeof(unsigned short), M_SHM,
M_WAITOK|M_ZERO);
- bcopy(shmseqs, newseqs,
+ memcpy(newseqs, shmseqs,
shminfo.shmmni * sizeof(unsigned short));
free(shmseqs, M_SHM, 0);
shmseqs = newseqs;
Index: tty.c
===================================================================
RCS file: /cvs/src/sys/kern/tty.c,v
retrieving revision 1.116
diff -u -p -r1.116 tty.c
--- tty.c 1 Dec 2014 07:51:47 -0000 1.116
+++ tty.c 5 Dec 2014 22:40:58 -0000
@@ -814,7 +814,7 @@ ttioctl(struct tty *tp, u_long cmd, cadd
case TIOCGETA: { /* get termios struct */
struct termios *t = (struct termios *)data;
- bcopy(&tp->t_termios, t, sizeof(struct termios));
+ memcpy(t, &tp->t_termios, sizeof(struct termios));
break;
}
case TIOCGETD: /* get line discipline */
@@ -926,7 +926,7 @@ ttioctl(struct tty *tp, u_long cmd, cadd
else
CLR(t->c_lflag, EXTPROC);
tp->t_lflag = t->c_lflag | ISSET(tp->t_lflag, PENDIN);
- bcopy(t->c_cc, tp->t_cc, sizeof(t->c_cc));
+ memcpy(tp->t_cc, t->c_cc, sizeof(t->c_cc));
splx(s);
break;
}
@@ -1284,7 +1284,7 @@ void
ttychars(struct tty *tp)
{
- bcopy(ttydefchars, tp->t_cc, sizeof(ttydefchars));
+ memcpy(tp->t_cc, ttydefchars, sizeof(ttydefchars));
}
/*
Index: tty_subr.c
===================================================================
RCS file: /cvs/src/sys/kern/tty_subr.c,v
retrieving revision 1.30
diff -u -p -r1.30 tty_subr.c
--- tty_subr.c 3 Nov 2014 03:08:00 -0000 1.30
+++ tty_subr.c 5 Dec 2014 22:45:00 -0000
@@ -131,7 +131,7 @@ q_to_b(struct clist *clp, u_char *cp, in
cc = clp->c_ce - clp->c_cf;
if (cc > count)
cc = count;
- bcopy(clp->c_cf, p, cc);
+ memcpy(p, clp->c_cf, cc);
memset(clp->c_cf, 0, cc);
if (clp->c_cq)
clrbits(clp->c_cq, clp->c_cf - clp->c_cs, cc);
@@ -340,7 +340,7 @@ b_to_q(u_char *cp, int count, struct cli
cc = clp->c_cf - clp->c_cl;
if (cc > count)
cc = count;
- bcopy(p, clp->c_cl, cc);
+ memcpy(clp->c_cl, p, cc);
if (clp->c_cq)
clrbits(clp->c_cq, clp->c_cl - clp->c_cs, cc);
p += cc;
Index: vfs_cache.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_cache.c,v
retrieving revision 1.37
diff -u -p -r1.37 vfs_cache.c
--- vfs_cache.c 13 Sep 2014 16:06:37 -0000 1.37
+++ vfs_cache.c 5 Dec 2014 22:36:52 -0000
@@ -367,7 +367,7 @@ cache_enter(struct vnode *dvp, struct vn
ncp->nc_dvp = dvp;
ncp->nc_dvpid = dvp->v_id;
ncp->nc_nlen = cnp->cn_namelen;
- bcopy(cnp->cn_nameptr, ncp->nc_name, (unsigned)ncp->nc_nlen);
+ memcpy(ncp->nc_name, cnp->cn_nameptr, ncp->nc_nlen);
if (RB_EMPTY(&dvp->v_nc_tree)) {
vhold(dvp);
}
Index: vfs_lookup.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_lookup.c,v
retrieving revision 1.48
diff -u -p -r1.48 vfs_lookup.c
--- vfs_lookup.c 3 Dec 2014 04:17:15 -0000 1.48
+++ vfs_lookup.c 5 Dec 2014 22:37:45 -0000
@@ -244,7 +244,7 @@ badlink:
goto badlink;
}
if (ndp->ni_pathlen > 1) {
- bcopy(ndp->ni_next, cp + linklen, ndp->ni_pathlen);
+ memcpy(cp + linklen, ndp->ni_next, ndp->ni_pathlen);
pool_put(&namei_pool, cnp->cn_pnbuf);
cnp->cn_pnbuf = cp;
} else
Index: vfs_subr.c
===================================================================
RCS file: /cvs/src/sys/kern/vfs_subr.c,v
retrieving revision 1.223
diff -u -p -r1.223 vfs_subr.c
--- vfs_subr.c 21 Nov 2014 07:14:17 -0000 1.223
+++ vfs_subr.c 5 Dec 2014 22:39:41 -0000
@@ -1273,7 +1273,7 @@ vfs_sysctl(int *name, u_int namelen, voi
/* Make a copy, clear out kernel pointers */
tmpvfsp = malloc(sizeof(*tmpvfsp), M_TEMP, M_WAITOK);
- bcopy(vfsp, tmpvfsp, sizeof(*tmpvfsp));
+ memcpy(tmpvfsp, vfsp, sizeof(*tmpvfsp));
tmpvfsp->vfc_vfsops = NULL;
tmpvfsp->vfc_next = NULL;
@@ -2222,9 +2222,9 @@ copy_statfs_info(struct statfs *sbp, con
sbp->f_syncreads = mbp->f_syncreads;
sbp->f_asyncreads = mbp->f_asyncreads;
sbp->f_namemax = mbp->f_namemax;
- bcopy(mp->mnt_stat.f_mntonname, sbp->f_mntonname, MNAMELEN);
- bcopy(mp->mnt_stat.f_mntfromname, sbp->f_mntfromname, MNAMELEN);
- bcopy(mp->mnt_stat.f_mntfromspec, sbp->f_mntfromspec, MNAMELEN);
- bcopy(&mp->mnt_stat.mount_info.ufs_args, &sbp->mount_info.ufs_args,
+ memcpy(sbp->f_mntonname, mp->mnt_stat.f_mntonname, MNAMELEN);
+ memcpy(sbp->f_mntfromname, mp->mnt_stat.f_mntfromname, MNAMELEN);
+ memcpy(sbp->f_mntfromspec, mp->mnt_stat.f_mntfromspec, MNAMELEN);
+ memcpy(&sbp->mount_info.ufs_args, &mp->mnt_stat.mount_info.ufs_args,
sizeof(struct ufs_args));
}