Commit 98870ab0 authored by David Howells's avatar David Howells Committed by James Morris

CRED: Documentation

Document credentials and the new credentials API.
Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
Signed-off-by: default avatarJames Morris <jmorris@namei.org>
parent d76b0d9b
This diff is collapsed.
/* Credentials management /* Credentials management - see Documentation/credentials.txt
* *
* Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved.
* Written by David Howells (dhowells@redhat.com) * Written by David Howells (dhowells@redhat.com)
...@@ -169,6 +169,12 @@ static inline struct cred *get_new_cred(struct cred *cred) ...@@ -169,6 +169,12 @@ static inline struct cred *get_new_cred(struct cred *cred)
* *
* Get a reference on the specified set of credentials. The caller must * Get a reference on the specified set of credentials. The caller must
* release the reference. * release the reference.
*
* This is used to deal with a committed set of credentials. Although the
* pointer is const, this will temporarily discard the const and increment the
* usage count. The purpose of this is to attempt to catch at compile time the
* accidental alteration of a set of credentials that should be considered
* immutable.
*/ */
static inline const struct cred *get_cred(const struct cred *cred) static inline const struct cred *get_cred(const struct cred *cred)
{ {
...@@ -181,6 +187,10 @@ static inline const struct cred *get_cred(const struct cred *cred) ...@@ -181,6 +187,10 @@ static inline const struct cred *get_cred(const struct cred *cred)
* *
* Release a reference to a set of credentials, deleting them when the last ref * Release a reference to a set of credentials, deleting them when the last ref
* is released. * is released.
*
* This takes a const pointer to a set of credentials because the credentials
* on task_struct are attached by const pointers to prevent accidental
* alteration of otherwise immutable credential sets.
*/ */
static inline void put_cred(const struct cred *_cred) static inline void put_cred(const struct cred *_cred)
{ {
......
/* Task credentials management /* Task credentials management - see Documentation/credentials.txt
* *
* Copyright (C) 2008 Red Hat, Inc. All Rights Reserved. * Copyright (C) 2008 Red Hat, Inc. All Rights Reserved.
* Written by David Howells (dhowells@redhat.com) * Written by David Howells (dhowells@redhat.com)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment