mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-27 16:39:08 +00:00
Remove direct access to si_name.
Code should just use the devtoname() function to obtain the name of a character device. Also add const keywords to pieces of code that need it to build properly. MFC after: 2 weeks
This commit is contained in:
parent
92858a92e0
commit
7870adb640
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=231378
@ -66,7 +66,7 @@ translate_vnhook_major_minor(struct vnode *vp, struct stat *sb)
|
||||
int major, minor;
|
||||
|
||||
if (vp->v_type == VCHR && vp->v_rdev != NULL &&
|
||||
linux_driver_get_major_minor(vp->v_rdev->si_name,
|
||||
linux_driver_get_major_minor(devtoname(vp->v_rdev),
|
||||
&major, &minor) == 0) {
|
||||
sb->st_rdev = (major << 8 | minor);
|
||||
}
|
||||
@ -149,14 +149,14 @@ translate_fd_major_minor(struct thread *td, int fd, struct stat *buf)
|
||||
return;
|
||||
vp = fp->f_vnode;
|
||||
if (vp != NULL && vp->v_rdev != NULL &&
|
||||
linux_driver_get_major_minor(vp->v_rdev->si_name,
|
||||
linux_driver_get_major_minor(devtoname(vp->v_rdev),
|
||||
&major, &minor) == 0) {
|
||||
buf->st_rdev = (major << 8 | minor);
|
||||
} else if (fp->f_type == DTYPE_PTS) {
|
||||
struct tty *tp = fp->f_data;
|
||||
|
||||
/* Convert the numbers for the slave device. */
|
||||
if (linux_driver_get_major_minor(tp->t_dev->si_name,
|
||||
if (linux_driver_get_major_minor(devtoname(tp->t_dev),
|
||||
&major, &minor) == 0) {
|
||||
buf->st_rdev = (major << 8 | minor);
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ linux_driver_get_name_dev(device_t dev)
|
||||
}
|
||||
|
||||
int
|
||||
linux_driver_get_major_minor(char *node, int *major, int *minor)
|
||||
linux_driver_get_major_minor(const char *node, int *major, int *minor)
|
||||
{
|
||||
struct device_element *de;
|
||||
|
||||
|
@ -97,7 +97,7 @@ struct linux_device_handler {
|
||||
int linux_device_register_handler(struct linux_device_handler *h);
|
||||
int linux_device_unregister_handler(struct linux_device_handler *h);
|
||||
char *linux_driver_get_name_dev(device_t dev);
|
||||
int linux_driver_get_major_minor(char *node, int *major, int *minor);
|
||||
int linux_driver_get_major_minor(const char *node, int *major, int *minor);
|
||||
char *linux_get_char_devices(void);
|
||||
void linux_free_get_char_devices(char *string);
|
||||
|
||||
|
@ -652,13 +652,13 @@ static void
|
||||
isc_add_sysctls(isc_session_t *sp)
|
||||
{
|
||||
debug_called(8);
|
||||
sdebug(6, "sid=%d %s", sp->sid, sp->dev->si_name);
|
||||
sdebug(6, "sid=%d %s", sp->sid, devtoname(sp->dev));
|
||||
|
||||
sysctl_ctx_init(&sp->clist);
|
||||
sp->oid = SYSCTL_ADD_NODE(&sp->clist,
|
||||
SYSCTL_CHILDREN(sp->isc->oid),
|
||||
OID_AUTO,
|
||||
sp->dev->si_name+5, // iscsi0
|
||||
devtoname(sp->dev) + 5, // iscsi0
|
||||
CTLFLAG_RD,
|
||||
0,
|
||||
"initiator");
|
||||
|
@ -1463,7 +1463,7 @@ mixer_oss_mixerinfo(struct cdev *i_dev, oss_mixerinfo *mi)
|
||||
*
|
||||
* XXX Described by Hannu@4Front, but not found in
|
||||
* soundcard.h.
|
||||
strlcpy(mi->devnode, d->mixer_dev->si_name,
|
||||
strlcpy(mi->devnode, devtoname(d->mixer_dev),
|
||||
sizeof(mi->devnode));
|
||||
mi->legacy_device = i;
|
||||
*/
|
||||
|
@ -842,7 +842,7 @@ usb_open(struct cdev *dev, int fflags, int devtype, struct thread *td)
|
||||
struct usb_cdev_privdata *cpd;
|
||||
int err, ep;
|
||||
|
||||
DPRINTFN(2, "%s fflags=0x%08x\n", dev->si_name, fflags);
|
||||
DPRINTFN(2, "%s fflags=0x%08x\n", devtoname(dev), fflags);
|
||||
|
||||
KASSERT(fflags & (FREAD|FWRITE), ("invalid open flags"));
|
||||
if (((fflags & FREAD) && !(pd->mode & FREAD)) ||
|
||||
|
@ -84,7 +84,7 @@ wtap_node_write(struct cdev *dev, struct uio *uio, int ioflag)
|
||||
uint8_t buf[1024];
|
||||
int buf_len;
|
||||
|
||||
uprintf("write device %s \"echo.\"\n", dev->si_name);
|
||||
uprintf("write device %s \"echo.\"\n", devtoname(dev));
|
||||
buf_len = MIN(uio->uio_iov->iov_len, 1024);
|
||||
err = copyin(uio->uio_iov->iov_base, buf, buf_len);
|
||||
|
||||
@ -101,7 +101,7 @@ wtap_node_write(struct cdev *dev, struct uio *uio, int ioflag)
|
||||
|
||||
TAILQ_FOREACH(ifp, &V_ifnet, if_link) {
|
||||
printf("ifp->if_xname = %s\n", ifp->if_xname);
|
||||
if(strcmp(dev->si_name, ifp->if_xname) == 0){
|
||||
if(strcmp(devtoname(dev), ifp->if_xname) == 0){
|
||||
printf("found match, correspoding wtap = %s\n",
|
||||
ifp->if_xname);
|
||||
sc = (struct wtap_softc *)ifp->if_softc;
|
||||
|
@ -203,6 +203,7 @@ ng_device_rcvmsg(node_p node, item_p item, hook_p lasthook)
|
||||
const priv_p priv = NG_NODE_PRIVATE(node);
|
||||
struct ng_mesg *msg;
|
||||
struct ng_mesg *resp = NULL;
|
||||
const char *dn;
|
||||
int error = 0;
|
||||
|
||||
NGI_GET_MSG(item, msg);
|
||||
@ -217,8 +218,8 @@ ng_device_rcvmsg(node_p node, item_p item, hook_p lasthook)
|
||||
if (resp == NULL)
|
||||
ERROUT(ENOMEM);
|
||||
|
||||
strlcpy((char *)resp->data, priv->ngddev->si_name,
|
||||
strlen(priv->ngddev->si_name) + 1);
|
||||
dn = devtoname(priv->ngddev);
|
||||
strlcpy((char *)resp->data, dn, strlen(dn) + 1);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -948,18 +948,20 @@ biba_devfs_create_device(struct ucred *cred, struct mount *mp,
|
||||
struct cdev *dev, struct devfs_dirent *de, struct label *delabel)
|
||||
{
|
||||
struct mac_biba *mb;
|
||||
const char *dn;
|
||||
int biba_type;
|
||||
|
||||
mb = SLOT(delabel);
|
||||
if (strcmp(dev->si_name, "null") == 0 ||
|
||||
strcmp(dev->si_name, "zero") == 0 ||
|
||||
strcmp(dev->si_name, "random") == 0 ||
|
||||
strncmp(dev->si_name, "fd/", strlen("fd/")) == 0)
|
||||
dn = devtoname(dev);
|
||||
if (strcmp(dn, "null") == 0 ||
|
||||
strcmp(dn, "zero") == 0 ||
|
||||
strcmp(dn, "random") == 0 ||
|
||||
strncmp(dn, "fd/", strlen("fd/")) == 0)
|
||||
biba_type = MAC_BIBA_TYPE_EQUAL;
|
||||
else if (ptys_equal &&
|
||||
(strncmp(dev->si_name, "ttyp", strlen("ttyp")) == 0 ||
|
||||
strncmp(dev->si_name, "pts/", strlen("pts/")) == 0 ||
|
||||
strncmp(dev->si_name, "ptyp", strlen("ptyp")) == 0))
|
||||
(strncmp(dn, "ttyp", strlen("ttyp")) == 0 ||
|
||||
strncmp(dn, "pts/", strlen("pts/")) == 0 ||
|
||||
strncmp(dn, "ptyp", strlen("ptyp")) == 0))
|
||||
biba_type = MAC_BIBA_TYPE_EQUAL;
|
||||
else
|
||||
biba_type = MAC_BIBA_TYPE_HIGH;
|
||||
|
@ -1032,19 +1032,21 @@ lomac_devfs_create_device(struct ucred *cred, struct mount *mp,
|
||||
struct cdev *dev, struct devfs_dirent *de, struct label *delabel)
|
||||
{
|
||||
struct mac_lomac *ml;
|
||||
const char *dn;
|
||||
int lomac_type;
|
||||
|
||||
ml = SLOT(delabel);
|
||||
if (strcmp(dev->si_name, "null") == 0 ||
|
||||
strcmp(dev->si_name, "zero") == 0 ||
|
||||
strcmp(dev->si_name, "random") == 0 ||
|
||||
strncmp(dev->si_name, "fd/", strlen("fd/")) == 0 ||
|
||||
strncmp(dev->si_name, "ttyv", strlen("ttyv")) == 0)
|
||||
dn = devtoname(dev);
|
||||
if (strcmp(dn, "null") == 0 ||
|
||||
strcmp(dn, "zero") == 0 ||
|
||||
strcmp(dn, "random") == 0 ||
|
||||
strncmp(dn, "fd/", strlen("fd/")) == 0 ||
|
||||
strncmp(dn, "ttyv", strlen("ttyv")) == 0)
|
||||
lomac_type = MAC_LOMAC_TYPE_EQUAL;
|
||||
else if (ptys_equal &&
|
||||
(strncmp(dev->si_name, "ttyp", strlen("ttyp")) == 0 ||
|
||||
strncmp(dev->si_name, "pts/", strlen("pts/")) == 0 ||
|
||||
strncmp(dev->si_name, "ptyp", strlen("ptyp")) == 0))
|
||||
(strncmp(dn, "ttyp", strlen("ttyp")) == 0 ||
|
||||
strncmp(dn, "pts/", strlen("pts/")) == 0 ||
|
||||
strncmp(dn, "ptyp", strlen("ptyp")) == 0))
|
||||
lomac_type = MAC_LOMAC_TYPE_EQUAL;
|
||||
else
|
||||
lomac_type = MAC_LOMAC_TYPE_HIGH;
|
||||
|
@ -908,21 +908,23 @@ mls_devfs_create_device(struct ucred *cred, struct mount *mp,
|
||||
struct cdev *dev, struct devfs_dirent *de, struct label *delabel)
|
||||
{
|
||||
struct mac_mls *mm;
|
||||
const char *dn;
|
||||
int mls_type;
|
||||
|
||||
mm = SLOT(delabel);
|
||||
if (strcmp(dev->si_name, "null") == 0 ||
|
||||
strcmp(dev->si_name, "zero") == 0 ||
|
||||
strcmp(dev->si_name, "random") == 0 ||
|
||||
strncmp(dev->si_name, "fd/", strlen("fd/")) == 0)
|
||||
dn = devtoname(dev);
|
||||
if (strcmp(dn, "null") == 0 ||
|
||||
strcmp(dn, "zero") == 0 ||
|
||||
strcmp(dn, "random") == 0 ||
|
||||
strncmp(dn, "fd/", strlen("fd/")) == 0)
|
||||
mls_type = MAC_MLS_TYPE_EQUAL;
|
||||
else if (strcmp(dev->si_name, "kmem") == 0 ||
|
||||
strcmp(dev->si_name, "mem") == 0)
|
||||
else if (strcmp(dn, "kmem") == 0 ||
|
||||
strcmp(dn, "mem") == 0)
|
||||
mls_type = MAC_MLS_TYPE_HIGH;
|
||||
else if (ptys_equal &&
|
||||
(strncmp(dev->si_name, "ttyp", strlen("ttyp")) == 0 ||
|
||||
strncmp(dev->si_name, "pts/", strlen("pts/")) == 0 ||
|
||||
strncmp(dev->si_name, "ptyp", strlen("ptyp")) == 0))
|
||||
(strncmp(dn, "ttyp", strlen("ttyp")) == 0 ||
|
||||
strncmp(dn, "pts/", strlen("pts/")) == 0 ||
|
||||
strncmp(dn, "ptyp", strlen("ptyp")) == 0))
|
||||
mls_type = MAC_MLS_TYPE_EQUAL;
|
||||
else
|
||||
mls_type = MAC_MLS_TYPE_LOW;
|
||||
|
@ -2320,7 +2320,7 @@ swapoff_all(void)
|
||||
TAILQ_FOREACH_SAFE(sp, &swtailq, sw_list, spt) {
|
||||
mtx_unlock(&sw_dev_mtx);
|
||||
if (vn_isdisk(sp->sw_vp, NULL))
|
||||
devname = sp->sw_vp->v_rdev->si_name;
|
||||
devname = devtoname(sp->sw_vp->v_rdev);
|
||||
else
|
||||
devname = "[file]";
|
||||
error = swapoff_one(sp, thread0.td_ucred);
|
||||
@ -2358,7 +2358,7 @@ int
|
||||
swap_dev_info(int name, struct xswdev *xs, char *devname, size_t len)
|
||||
{
|
||||
struct swdevt *sp;
|
||||
char *tmp_devname;
|
||||
const char *tmp_devname;
|
||||
int error, n;
|
||||
|
||||
n = 0;
|
||||
@ -2376,7 +2376,7 @@ swap_dev_info(int name, struct xswdev *xs, char *devname, size_t len)
|
||||
xs->xsw_used = sp->sw_used;
|
||||
if (devname != NULL) {
|
||||
if (vn_isdisk(sp->sw_vp, NULL))
|
||||
tmp_devname = sp->sw_vp->v_rdev->si_name;
|
||||
tmp_devname = devtoname(sp->sw_vp->v_rdev);
|
||||
else
|
||||
tmp_devname = "[file]";
|
||||
strncpy(devname, tmp_devname, len);
|
||||
|
Loading…
Reference in New Issue
Block a user