[LTP] [PATCH v2] Add test for UI_GET_NAME ioctl

Cyril Hrubis chrubis@suse.cz
Mon Oct 16 17:49:34 CEST 2023


Hi!
> > > +static int check_ui_get_sysname_ioctl(int fd)
> > > +{
> > > +	char name[256];
> > > +
> > > +	SAFE_IOCTL(NULL, fd, UI_GET_SYSNAME(sizeof(name)), name, NULL);
> > > +
> > > +	DIR *test_dir;
> > > +
> > > +	struct dirent *ent;
> > > +
> > > +	test_dir = SAFE_OPENDIR(NULL, "/sys/devices/virtual/input/");
> > > +
> > > +	while ((ent = SAFE_READDIR(NULL, test_dir))) {
> > > +		if (!strcmp(ent->d_name, name))
> > > +			return 1;
> > > +		else
> > > +			continue;
> > > +	}
> > 
> > Why do we loop over the directory here? Can't we just directly check
> > that the path /sys/devices/virtual/input/$name/ exists?
> > 
> > I guess that we can as well read the
> > /sys/devices/virtual/input/$name/dev and match that against fstat() on
> > the fd.
> Seems no dev node can be found under /sys/devices/virtual/input/$name/.
> 
> ll /sys/devices/virtual/input/input13/
> total 0
> drwxr-xr-x 2 root root    0 Oct 13 21:32 capabilities
> drwxr-xr-x 3 root root    0 Oct 13 21:32 event8
> drwxr-xr-x 2 root root    0 Oct 13 21:32 id
> -rw-r--r-- 1 root root 4.0K Oct 13 21:33 inhibited
> -r--r--r-- 1 root root 4.0K Oct 13 21:33 modalias
> drwxr-xr-x 3 root root    0 Oct 13 21:32 mouse3
> -r--r--r-- 1 root root 4.0K Oct 13 21:32 name
> -r--r--r-- 1 root root 4.0K Oct 13 21:32 phys
> drwxr-xr-x 2 root root    0 Oct 13 21:33 power
> -r--r--r-- 1 root root 4.0K Oct 13 21:32 properties
> lrwxrwxrwx 1 root root    0 Oct 13 21:32 subsystem -> ../../../../class/input
> -rw-r--r-- 1 root root 4.0K Oct 13 21:32 uevent
> -r--r--r-- 1 root root 4.0K Oct 13 21:33 uniq

Ah, right, it's under the event8 directory in this case. I guess that we
can match name againts the VIRTUAL_DEVICE string instead.

-- 
Cyril Hrubis
chrubis@suse.cz


More information about the ltp mailing list