diff -up ./libcgroup-0.37/src/pam/pam_cgroup.c.old ./libcgroup-0.37/src/pam/pam_cgroup.c
--- a/src/pam/pam_cgroup.c.old 2010-10-20 15:59:13.000000000 +0200
+++ b/src/pam/pam_cgroup.c 2013-06-13 17:50:56.000000000 +0200
@@ -137,7 +137,7 @@ PAM_EXTERN int pam_sm_open_session(pam_h
/* Note: We are using default gid here. Is there a way to determine
* under what egid service will be provided?
*/
- ret = cgroup_change_cgroup_uid_gid(pwd->pw_uid, pwd->pw_gid, pid);
+ ret = cgroup_change_cgroup_uid_gid_flags(pwd->pw_uid, pwd->pw_gid, pid, CGFLAG_USECACHE);
if (ret) {
if (ctrl & PAM_DEBUG_ARG)
pam_syslog(pamh, LOG_ERR, "Change of cgroup for process"