exec: call setup_pam() after SMACK labeling
authorSangjung Woo <sangjung.woo@samsung.com>
Wed, 23 Sep 2015 11:41:52 +0000 (20:41 +0900)
committerSangjung Woo <sangjung.woo@samsung.com>
Wed, 23 Sep 2015 11:41:52 +0000 (20:41 +0900)
commit6bf6e43e7e214a4bd03008a91a7fc77ce6934d65
tree58592db7eccd4fd57476e206249a573f41f565f8
parentdbb319464a91d2e4592bf5245bc8c08d09f43876
exec: call setup_pam() after SMACK labeling

When 'SmackProcessLabel=' is used in user@.service file, all processes
launched in systemd user session should be labeled as the designated name
of 'SmackProcessLabel' directive. However, if systemd has its own smack
label using '--with-smack-run-label' configuration, '(sd-pam)' is
labeled as the specific name of '--with-smack-run-label'. If
'SmackProcessLabel=' is used in user@.service file without
'--with-smack-run-label' configuration, (sd-pam) is labeled as "_" since
systemd (i.e. pid=1) is labeled as "_".

This is mainly because setup_pam() function is called before applying
smack label to child process. This patch fixes it by calling setup_pam()
after setting the smack label.
src/core/execute.c