Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: CRED: Introduce credential access wrappers
This commit is contained in:
commit
9921b256bb
5 changed files with 57 additions and 8 deletions
|
@ -126,8 +126,6 @@
|
|||
|
||||
#define current_cpu() (raw_smp_processor_id())
|
||||
#define current_pid() (current->pid)
|
||||
#define current_fsuid(cred) (current->fsuid)
|
||||
#define current_fsgid(cred) (current->fsgid)
|
||||
#define current_test_flags(f) (current->flags & (f))
|
||||
#define current_set_flags_nested(sp, f) \
|
||||
(*(sp) = current->flags, current->flags |= (f))
|
||||
|
|
|
@ -1081,8 +1081,8 @@ xfs_ialloc(
|
|||
ip->i_d.di_onlink = 0;
|
||||
ip->i_d.di_nlink = nlink;
|
||||
ASSERT(ip->i_d.di_nlink == nlink);
|
||||
ip->i_d.di_uid = current_fsuid(cr);
|
||||
ip->i_d.di_gid = current_fsgid(cr);
|
||||
ip->i_d.di_uid = current_fsuid();
|
||||
ip->i_d.di_gid = current_fsgid();
|
||||
ip->i_d.di_projid = prid;
|
||||
memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad));
|
||||
|
||||
|
|
|
@ -182,7 +182,7 @@ xfs_setattr(
|
|||
xfs_ilock(ip, lock_flags);
|
||||
|
||||
/* boolean: are we the file owner? */
|
||||
file_owner = (current_fsuid(credp) == ip->i_d.di_uid);
|
||||
file_owner = (current_fsuid() == ip->i_d.di_uid);
|
||||
|
||||
/*
|
||||
* Change various properties of a file.
|
||||
|
@ -1533,7 +1533,7 @@ xfs_create(
|
|||
* Make sure that we have allocated dquot(s) on disk.
|
||||
*/
|
||||
error = XFS_QM_DQVOPALLOC(mp, dp,
|
||||
current_fsuid(credp), current_fsgid(credp), prid,
|
||||
current_fsuid(), current_fsgid(), prid,
|
||||
XFS_QMOPT_QUOTALL|XFS_QMOPT_INHERIT, &udqp, &gdqp);
|
||||
if (error)
|
||||
goto std_return;
|
||||
|
@ -2269,7 +2269,7 @@ xfs_mkdir(
|
|||
* Make sure that we have allocated dquot(s) on disk.
|
||||
*/
|
||||
error = XFS_QM_DQVOPALLOC(mp, dp,
|
||||
current_fsuid(credp), current_fsgid(credp), prid,
|
||||
current_fsuid(), current_fsgid(), prid,
|
||||
XFS_QMOPT_QUOTALL | XFS_QMOPT_INHERIT, &udqp, &gdqp);
|
||||
if (error)
|
||||
goto std_return;
|
||||
|
@ -2495,7 +2495,7 @@ xfs_symlink(
|
|||
* Make sure that we have allocated dquot(s) on disk.
|
||||
*/
|
||||
error = XFS_QM_DQVOPALLOC(mp, dp,
|
||||
current_fsuid(credp), current_fsgid(credp), prid,
|
||||
current_fsuid(), current_fsgid(), prid,
|
||||
XFS_QMOPT_QUOTALL | XFS_QMOPT_INHERIT, &udqp, &gdqp);
|
||||
if (error)
|
||||
goto std_return;
|
||||
|
|
50
include/linux/cred.h
Normal file
50
include/linux/cred.h
Normal file
|
@ -0,0 +1,50 @@
|
|||
/* Credentials management
|
||||
*
|
||||
* Copyright (C) 2008 Red Hat, Inc. All Rights Reserved.
|
||||
* Written by David Howells (dhowells@redhat.com)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public Licence
|
||||
* as published by the Free Software Foundation; either version
|
||||
* 2 of the Licence, or (at your option) any later version.
|
||||
*/
|
||||
|
||||
#ifndef _LINUX_CRED_H
|
||||
#define _LINUX_CRED_H
|
||||
|
||||
#define get_current_user() (get_uid(current->user))
|
||||
|
||||
#define task_uid(task) ((task)->uid)
|
||||
#define task_gid(task) ((task)->gid)
|
||||
#define task_euid(task) ((task)->euid)
|
||||
#define task_egid(task) ((task)->egid)
|
||||
|
||||
#define current_uid() (current->uid)
|
||||
#define current_gid() (current->gid)
|
||||
#define current_euid() (current->euid)
|
||||
#define current_egid() (current->egid)
|
||||
#define current_suid() (current->suid)
|
||||
#define current_sgid() (current->sgid)
|
||||
#define current_fsuid() (current->fsuid)
|
||||
#define current_fsgid() (current->fsgid)
|
||||
#define current_cap() (current->cap_effective)
|
||||
|
||||
#define current_uid_gid(_uid, _gid) \
|
||||
do { \
|
||||
*(_uid) = current->uid; \
|
||||
*(_gid) = current->gid; \
|
||||
} while(0)
|
||||
|
||||
#define current_euid_egid(_uid, _gid) \
|
||||
do { \
|
||||
*(_uid) = current->euid; \
|
||||
*(_gid) = current->egid; \
|
||||
} while(0)
|
||||
|
||||
#define current_fsuid_fsgid(_uid, _gid) \
|
||||
do { \
|
||||
*(_uid) = current->fsuid; \
|
||||
*(_gid) = current->fsgid; \
|
||||
} while(0)
|
||||
|
||||
#endif /* _LINUX_CRED_H */
|
|
@ -87,6 +87,7 @@ struct sched_param {
|
|||
#include <linux/task_io_accounting.h>
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/latencytop.h>
|
||||
#include <linux/cred.h>
|
||||
|
||||
#include <asm/processor.h>
|
||||
|
||||
|
|
Loading…
Reference in a new issue