lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1222255981.12624.215.camel@gentoo-jocke.transmode.se>
Date:	Wed, 24 Sep 2008 13:33:01 +0200
From:	Joakim Tjernlund <joakim.tjernlund@...nsmode.se>
To:	"Hans J. Koch" <hjk@...utronix.de>
Cc:	Paul Mundt <lethal@...ux-sh.org>, gregkh@...e.de,
	Linux-Kernel <linux-kernel@...r.kernel.org>
Subject: Re: UIO device name

On Wed, 2008-09-24 at 12:22 +0200, Hans J. Koch wrote:
> On Wed, Sep 24, 2008 at 11:57:59AM +0200, Joakim Tjernlund wrote:
> > On Wed, 2008-09-24 at 18:35 +0900, Paul Mundt wrote:
> > > On Wed, Sep 24, 2008 at 11:21:33AM +0200, Joakim Tjernlund wrote:
> > > > As far as I can see there isn't a way to name the /dev/uio%d device file
> > > > to something more useful, is that so?
> > > > I would like to name the device file from within the kernel so I can
> > > > find the correct device from userspace.
> > > > The very least is to control the minor(%d) number.
> > > > 
> > > You have a couple of options for this:
> > > 
> > > 	- the 'name' sysfs entry for each of the uio devices, which
> > > 	  corresponds to the uio device name.
> > > 	- extracting the relevant data from things like 'lsuio'.
> > > 	- hooking in the pretty mame through udev to create an alias.
> > 
> > Right, but I want to do it from within the kernel when I create the
> > device because that the only place I truly know what HW the uio maps to.
> 
> Set info->name to something that's useful for the userspace part of the
> driver. You can create an individual string for each HW so userspace can
> easily identify the devices. The string in info->name can be anything
> you like, it's only used as info given in the "name" sysfs file.

All suggestions so far implies changes i 3 different areas, the kernel
needs to set a name, then udev(I am using mdev btw so that won't work
for me) or add some RC scripts to translate the name to the
wanted /dev/name and then the app needs to know the name.

The udev/scripts is pure overhead and makes it harder for me to have a
generic root FS. I don't see why not uio can offer the kernel to
select another name than the standard uio%d name.

> 
> > 
> > I found that this works:
> >  struct uio_info *info,
> >  struct uio_device *idev;
> > 
> >  idev = info->uio_dev;
> >  device_rename(idev->dev, "irq4");
> > 
> > but then I have to copy the private uio_device struct from uio.c
> 
> That's a clear sign that the UIO authors didn't want people to do that
> ;-)
> 
> > Is there a better way to get at idev->dev?
> 
> No hackery, please. The "name" attribute is there for this purpose, use
> it. Or use one of the other possibilities Paul mentioned.

Yes, this is a hack until UIO has a proper API for choosing a name other
than uio%d. Seems like it is very essy to do, just pass the wanted name
to __uio_register_device() and offer an new uio_register_device_name()
method or add a dev_name field to struct uio_info.

  Jocke
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ