[systemd-devel] Failed to apply ACLs: Invalid argument

Matwey V. Kornilov matwey.kornilov at gmail.com
Thu Jul 20 07:45:44 UTC 2017


2017-07-19 22:53 GMT+03:00 Matwey V. Kornilov <matwey.kornilov at gmail.com>:
> 2017-07-19 15:12 GMT+03:00 Matwey V. Kornilov <matwey.kornilov at gmail.com>:
>> 2017-07-19 13:32 GMT+03:00 Matwey V. Kornilov <matwey.kornilov at gmail.com>:
>>> 2017-07-19 13:10 GMT+03:00 Matwey V. Kornilov <matwey.kornilov at gmail.com>:
>>>> 2017-07-19 12:47 GMT+03:00 Lennart Poettering <lennart at poettering.net>:
>>>>> On Wed, 19.07.17 12:38, Matwey V. Kornilov (matwey.kornilov at gmail.com) wrote:
>>>>>
>>>>>> This is all that is relevant to Invalid Argument errno in strace:
>>>>>>
>>>>> [...]
>>>>>> readlinkat(AT_FDCWD, "/sys/module/parport", 0x55d7a4d5d940, 99) = -1
>>>>>> EINVAL (Invalid argument)
>>>>>
>>>>> realinkat() returns EINVAL when invoked on a non-symlinks. It's not a
>>>>> real error, just a way to report that mismatch.
>>>>>
>>>>>> drwxr-xr-x 3 root root 0 июл 19 12:35 /sys/devices/virtual/input/input7/event7
>>>>>> drwxr-xr-x 5 root root 0 июл 19 12:31 /sys/module/parport
>>>>>> drwxr-xr-x 7 root root 0 июл 19 12:33 /sys/module/parport_pc
>>>>>>
>>>>>> It is brand-new openSUSE 42.2 installation. No selinux or something like that.
>>>>>
>>>>> Not sure what else I can suggest then, except attaching gdb to logind
>>>>> and check what happens when you switch VTs... it should be sufficient
>>>>> to set a breakpoint onto devnode_acl_all() and wait until it gets
>>>>> triggered, and then follow the code until you see EINVAL thrown.
>>>>>
>>>>> Unless you know gdb well enough you shouldn't attempt that though...
>>>>>
>>>>
>>>> Ok, it is udev_enumerate_scan_devices who returns -22
>>>
>>> Now I see that something wrong happens inside
>>>
>>> enumerator_scan_devices_children
>>>
>>> at
>>>
>>> sd_device_get_syspath
>>>
>>
>> k = sd_device_new_from_device_id(&device, dent->d_name);
>>
>> inside enumerator_scan_devices_tag() returns -22 for some entry.
>
> I suspect 21d6220fe0bf24fda7df9833961e022cafa439bc will fix my issue.
> I will check tomorrow.

I've just found that

sd_device_new_from_subsystem_sysname returns -22 for parport_pc
device, because subsys variable has no ':' and driver == NULL which
leads to -EINVAL in systemd v228.


>
>>
>>>
>>>>
>>>>> Lennart
>>>>>
>>>>> --
>>>>> Lennart Poettering, Red Hat
>>>>
>>>>
>>>>
>>>> --
>>>> With best regards,
>>>> Matwey V. Kornilov
>>>
>>>
>>>
>>> --
>>> With best regards,
>>> Matwey V. Kornilov
>>
>>
>>
>> --
>> With best regards,
>> Matwey V. Kornilov
>
>
>
> --
> With best regards,
> Matwey V. Kornilov



-- 
With best regards,
Matwey V. Kornilov


More information about the systemd-devel mailing list