summaryrefslogtreecommitdiff
path: root/kernel/futex.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@nuts.ninka.net>2002-09-03 00:49:04 -0700
committerDavid S. Miller <davem@nuts.ninka.net>2002-09-03 00:49:04 -0700
commit3d5fa36bf0c232f70db4bd15a50bbe322800bcdb (patch)
tree5ada31234f00d9b893c77e713ef7a3e900550041 /kernel/futex.c
parent96ca2f806ceaf0f8fbde2548f51d6afc0a0fe7e3 (diff)
parent1314cad1540faf6b81e455b2267ce23c2fa1d698 (diff)
Merge nuts.ninka.net:/home/davem/src/BK/network-2.5
into nuts.ninka.net:/home/davem/src/BK/net-2.5
Diffstat (limited to 'kernel/futex.c')
-rw-r--r--kernel/futex.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/kernel/futex.c b/kernel/futex.c
index ef3dc8b00a5f..ac9fda58181e 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -276,9 +276,14 @@ static int futex_fd(struct list_head *head,
filp->f_dentry = dget(futex_mnt->mnt_root);
if (signal) {
- filp->f_owner.pid = current->tgid;
- filp->f_owner.uid = current->uid;
- filp->f_owner.euid = current->euid;
+ int ret;
+
+ ret = f_setown(filp, current->tgid, 1);
+ if (ret) {
+ put_unused_fd(fd);
+ put_filp(filp);
+ return ret;
+ }
filp->f_owner.signum = signal;
}