提交 9921b256 编写于 作者: L Linus Torvalds

Merge branch 'for-linus' of...

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
...@@ -126,8 +126,6 @@ ...@@ -126,8 +126,6 @@
#define current_cpu() (raw_smp_processor_id()) #define current_cpu() (raw_smp_processor_id())
#define current_pid() (current->pid) #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_test_flags(f) (current->flags & (f))
#define current_set_flags_nested(sp, f) \ #define current_set_flags_nested(sp, f) \
(*(sp) = current->flags, current->flags |= (f)) (*(sp) = current->flags, current->flags |= (f))
......
...@@ -1081,8 +1081,8 @@ xfs_ialloc( ...@@ -1081,8 +1081,8 @@ xfs_ialloc(
ip->i_d.di_onlink = 0; ip->i_d.di_onlink = 0;
ip->i_d.di_nlink = nlink; ip->i_d.di_nlink = nlink;
ASSERT(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_uid = current_fsuid();
ip->i_d.di_gid = current_fsgid(cr); ip->i_d.di_gid = current_fsgid();
ip->i_d.di_projid = prid; ip->i_d.di_projid = prid;
memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad)); memset(&(ip->i_d.di_pad[0]), 0, sizeof(ip->i_d.di_pad));
......
...@@ -182,7 +182,7 @@ xfs_setattr( ...@@ -182,7 +182,7 @@ xfs_setattr(
xfs_ilock(ip, lock_flags); xfs_ilock(ip, lock_flags);
/* boolean: are we the file owner? */ /* 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. * Change various properties of a file.
...@@ -1533,7 +1533,7 @@ xfs_create( ...@@ -1533,7 +1533,7 @@ xfs_create(
* Make sure that we have allocated dquot(s) on disk. * Make sure that we have allocated dquot(s) on disk.
*/ */
error = XFS_QM_DQVOPALLOC(mp, dp, 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); XFS_QMOPT_QUOTALL|XFS_QMOPT_INHERIT, &udqp, &gdqp);
if (error) if (error)
goto std_return; goto std_return;
...@@ -2269,7 +2269,7 @@ xfs_mkdir( ...@@ -2269,7 +2269,7 @@ xfs_mkdir(
* Make sure that we have allocated dquot(s) on disk. * Make sure that we have allocated dquot(s) on disk.
*/ */
error = XFS_QM_DQVOPALLOC(mp, dp, 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); XFS_QMOPT_QUOTALL | XFS_QMOPT_INHERIT, &udqp, &gdqp);
if (error) if (error)
goto std_return; goto std_return;
...@@ -2495,7 +2495,7 @@ xfs_symlink( ...@@ -2495,7 +2495,7 @@ xfs_symlink(
* Make sure that we have allocated dquot(s) on disk. * Make sure that we have allocated dquot(s) on disk.
*/ */
error = XFS_QM_DQVOPALLOC(mp, dp, 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); XFS_QMOPT_QUOTALL | XFS_QMOPT_INHERIT, &udqp, &gdqp);
if (error) if (error)
goto std_return; goto std_return;
......
/* 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 { ...@@ -87,6 +87,7 @@ struct sched_param {
#include <linux/task_io_accounting.h> #include <linux/task_io_accounting.h>
#include <linux/kobject.h> #include <linux/kobject.h>
#include <linux/latencytop.h> #include <linux/latencytop.h>
#include <linux/cred.h>
#include <asm/processor.h> #include <asm/processor.h>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册