[systemd-devel] systemd-logind.service failed

Lennart Poettering lennart at poettering.net
Mon Mar 26 09:19:42 PDT 2012


On Sun, 25.03.12 22:02, Sven Anders (anders at anduras.de) wrote:

> Hello!
> 
> I'm trying to switch to systemd, but I have some minor problem.
> 
> "systemctl status systemd-logind.service" reports failure.
> The error message is the following:
> 
> Linux/OS (d-login)[206]: Failed at step CAPABILITIES...

Do you have capability support enabled in the kernel?

> 
> I made a strace on systemd and it seems, that the following
> call fails:
> prctl(0x18 /* PR_??? */, 0x24, 0, 0xbff824c0, 0x3) = -1 EINVAL (Invalid argument)

that's PR_CAPBSET_DROP.

> 
> I looked at the code and in execute.c I found a loop
>  for (i = 0; i <= cap_last_cap(); i++)
> 
> cap_last_cap() uses the CAP_LAST_CAP define. Fine, this is set to 35
> (0x23)

Actually, cap_last_cap() only uses CAP_LAST_CAP as start value, then
looks for the actual kernel value. Have you checked what the function
actually returns? Maybe the loop in cap_last_cap() is borked for you?

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list