Re: [PATCH] fix pktcdvd breakage from commit e105b8bfc769b0545b6f0f395179d1e43cbee822

Kay Sievers
2008-11-30T13:44:35Z

On Sun, Nov 30, 2008 at 14:40, Al Viro <viro@zeniv.linux.org.uk> wrote:
> On Sun, Nov 30, 2008 at 01:32:29PM +0000, Al Viro wrote:
>> On Sun, Nov 30, 2008 at 02:25:43PM +0100, Kay Sievers wrote:
>>
>> > Pktcdvd creates char _and_ block device nodes at the same time, while
>> > the char nodes are not allocated, but created and conflict in
>> > /sys/dev/ with properly allocated ones from other subsystems. Your
>> > patch just papers over this bug.
>>
>> Where the hell is it creating any char device nodes? Show me.
>> And note that device_create() is not creating *any* device nodes,
>> char or block. It creates a directory in some place in sysfs,
>> associated with struct device (which has arseloads of uses unrelated
>> to block *or* char devices) and, if dev_t argument is non-zero,
>> dumps its value into one of the attributes.
>>
>> These days it might also dump a symlink into /sys/dev/*.
>>
>> Which part of the above constitutes a creation of char device node?
>
> Wait a minute... Are you saying that something in userland ends up
> seeing that sucker, noticing .../dev and proceeding to do mknod?

Sure, it does mkod, as the kernel says it should. But that does not
cause any real problem.

These device nodes are not used for anything. Opening the created char
pktcdvd device node in userspace would in many cases just open a
random usb device. :)

Kay