That's not a good solution.  The afs_pag gets attached to the root user's
default session keyring, displacing any afs_pag that was previously there.

What does the setpag code look like?

It's in setpag() in src/afs/LINUX/osi_group.c,
http://www.openafs.org/cgi-bin/cvsweb.cgi/openafs/src/afs/LINUX/osi_groups.c?rev=1.25.2.10&content-type=text/x-cvsweb-markup

It's basically:
        (void) install_session_keyring(current, NULL);

        if (current->signal->session_keyring) {
            struct key *key;
            key_perm_t perm;

            perm = KEY_POS_VIEW | KEY_POS_SEARCH;
            perm |= KEY_USR_VIEW | KEY_USR_SEARCH;

#ifdef KEY_ALLOC_NEEDS_STRUCT_TASK
            key = key_alloc(&key_type_afs_pag, "_pag", 0, 0, current, perm, 1);
#else
            key = key_alloc(&key_type_afs_pag, "_pag", 0, 0, perm, 1);
#endif

            if (!IS_ERR(key)) {
                key_instantiate_and_link(key, (void *) newpag, 
sizeof(afs_uint32),
                                         current->signal->session_keyring, 
NULL);
                key_put(key);
            }
        }

_______________________________________________
OpenAFS-info mailing list
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-info

Reply via email to