dislocker icon indicating copy to clipboard operation
dislocker copied to clipboard

Segfault when passing `volume=` option in systemd unit

Open i3v opened this issue 6 years ago • 0 comments

The following systemd unit causes segfault:

[Unit]
Description=dislocker:win_C
DefaultDependencies=no
Conflicts=umount.target
Before=local-fs.target umount.target
After=swap.target
RequiresMountsFor=/mnt/IVWS_key

[Mount]
What=/dev/sda4
Where=/mnt/dislocker/win_C
Type=fuse.dislocker

## this produces segfault:
Options=volume=/dev/sda4,bekfile=/mnt/IVWS_key/1.BEK

## this works OK:
# Options=bekfile=/mnt/IVWS_key/1.BEK


[Install]
WantedBy=multi-user.target

The Options=volume=/dev/sda4,bekfile=/mnt/IVWS_key/1.BEK line does not make much sense, because What= is mandatory. But I'd say it would be better if this would produce some fairly readable error message rather than segfault.

Trying to start:

[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl start mnt-dislocker-win_C.mount 
Job for mnt-dislocker-win_C.mount failed. See "systemctl status mnt-dislocker-win_C.mount" and "journalctl -xe" for details.

Status:

[root@localhost system]# systemctl status mnt-dislocker-win_C.mount -l
● mnt-dislocker-win_C.mount - dislocker:win_C
   Loaded: loaded (/root/vcfg/systemd/mount/mnt-dislocker-win_C.mount; linked; vendor preset: disabled)
   Active: failed (Result: exit-code) since Thu 2019-12-26 21:57:06 MSK; 20s ago
    Where: /mnt/dislocker/win_C
     What: /dev/sda4
  Process: 31598 ExecMount=/bin/mount /dev/sda4 /mnt/dislocker/win_C -t fuse.dislocker -o volume=/dev/sda4,bekfile=/mnt/IVWS_key/1.BEK (code=exited, status=255)

Dec 26 21:57:06 localhost.localdomain systemd[1]: Mounting dislocker:win_C...
Dec 26 21:57:06 localhost.localdomain systemd[1]: mnt-dislocker-win_C.mount mount process exited, code=exited status=255
Dec 26 21:57:06 localhost.localdomain systemd[1]: Failed to mount dislocker:win_C.
Dec 26 21:57:06 localhost.localdomain systemd[1]: Unit mnt-dislocker-win_C.mount entered failed state.

Journal:

[root@localhost system]# journalctl -xe
-- Subject: Unit mnt-dislocker-win_C.mount has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mnt-dislocker-win_C.mount has finished shutting down.
Dec 26 21:52:24 localhost.localdomain polkitd[21284]: Unregistered Authentication Agent for unix-process:31306:8214448 (system bus name :1.537, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
Dec 26 21:57:03 localhost.localdomain polkitd[21284]: Registered Authentication Agent for unix-process:31562:8242292 (system bus name :1.538 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Dec 26 21:57:03 localhost.localdomain systemd[1]: Reloading.
Dec 26 21:57:03 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/bolt.service:11] Unknown lvalue 'MemoryDenyWriteExecute' in section 'Service'
Dec 26 21:57:03 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/bolt.service:13] Unknown lvalue 'ProtectControlGroups' in section 'Service'
Dec 26 21:57:03 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/bolt.service:15] Unknown lvalue 'ProtectKernelModules' in section 'Service'
Dec 26 21:57:03 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/bolt.service:18] Unknown lvalue 'RestrictRealtime' in section 'Service'
Dec 26 21:57:03 localhost.localdomain systemd[1]: [/usr/lib/systemd/system/bolt.service:19] Unknown lvalue 'ReadWritePaths' in section 'Service'
Dec 26 21:57:03 localhost.localdomain polkitd[21284]: Unregistered Authentication Agent for unix-process:31562:8242292 (system bus name :1.538, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
Dec 26 21:57:06 localhost.localdomain polkitd[21284]: Registered Authentication Agent for unix-process:31590:8242640 (system bus name :1.539 [/usr/bin/pkttyagent --notify-fd 5 --fallback], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)
Dec 26 21:57:06 localhost.localdomain systemd[1]: Mounting dislocker:win_C...
-- Subject: Unit mnt-dislocker-win_C.mount has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mnt-dislocker-win_C.mount has begun starting up.
Dec 26 21:57:06 localhost.localdomain kernel: dislocker[31599]: segfault at 0 ip           (null) sp 00007fffd149c378 error 14 in dislocker-fuse[559817913000+2000]
Dec 26 21:57:06 localhost.localdomain abrt-hook-ccpp[31601]: Process 31599 (dislocker-fuse) of user 0 killed by SIGSEGV - dumping core
Dec 26 21:57:06 localhost.localdomain abrt-hook-ccpp[31601]: Failed to create core_backtrace: dwfl_getthread_frames failed: No DWARF information found
Dec 26 21:57:06 localhost.localdomain systemd[1]: mnt-dislocker-win_C.mount mount process exited, code=exited status=255
Dec 26 21:57:06 localhost.localdomain systemd[1]: Failed to mount dislocker:win_C.
-- Subject: Unit mnt-dislocker-win_C.mount has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit mnt-dislocker-win_C.mount has failed.
-- 
-- The result is failed.
Dec 26 21:57:06 localhost.localdomain systemd[1]: Unit mnt-dislocker-win_C.mount entered failed state.
Dec 26 21:57:07 localhost.localdomain polkitd[21284]: Unregistered Authentication Agent for unix-process:31590:8242640 (system bus name :1.539, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
Dec 26 21:57:07 localhost.localdomain abrt-server[31603]: Generating core_backtrace
Dec 26 21:57:07 localhost.localdomain abrt-server[31603]: Duplicate: core backtrace
Dec 26 21:57:07 localhost.localdomain abrt-server[31603]: DUP_OF_DIR: /var/spool/abrt/ccpp-2019-12-26-19:46:15-19515
Dec 26 21:57:07 localhost.localdomain abrt-server[31603]: Deleting problem directory ccpp-2019-12-26-21:57:06-31599 (dup of ccpp-2019-12-26-19:46:15-19515)
Dec 26 21:57:07 localhost.localdomain dbus[21325]: [system] Activating service name='org.freedesktop.problems' (using servicehelper)
Dec 26 21:57:07 localhost.localdomain dbus[21325]: [system] Successfully activated service 'org.freedesktop.problems'
Dec 26 21:57:07 localhost.localdomain abrt-server[31603]: Email address of sender was not specified. Would you like to do so now? If not, 'user@localhost' is to be used [y/N] 
Dec 26 21:57:07 localhost.localdomain abrt-server[31603]: Email address of receiver was not specified. Would you like to do so now? If not, 'root@localhost' is to be used [y/N] 
Dec 26 21:57:07 localhost.localdomain abrt-server[31603]: Sending an email...
Dec 26 21:57:07 localhost.localdomain abrt-server[31603]: Sending a notification email to: root@localhost
Dec 26 21:57:07 localhost.localdomain abrt-server[31603]: Email was sent to: root@localhost
Dec 26 21:57:07 localhost.localdomain postfix/pickup[27075]: D0AFB20271B23: uid=0 from=<user@localhost>
Dec 26 21:57:07 localhost.localdomain postfix/cleanup[31664]: D0AFB20271B23: message-id=<5e050283.oLjzM6WD4yZoJNIV%user@localhost>
Dec 26 21:57:07 localhost.localdomain postfix/qmgr[22051]: D0AFB20271B23: from=<[email protected]>, size=15703, nrcpt=1 (queue active)
Dec 26 21:57:07 localhost.localdomain postfix/local[31666]: D0AFB20271B23: to=<[email protected]>, orig_to=<root@localhost>, relay=local, delay=0.13, delays=0.09/0.02/0/0.02, dsn=2.0.0, status=sent (delivered to mailbox)
Dec 26 21:57:07 localhost.localdomain postfix/qmgr[22051]: D0AFB20271B23: removed

CentOS7.1810 (fresh install); dislocker v0.7.1-8.el7 @epel

i3v avatar Dec 26 '19 19:12 i3v