From: Chen Gang <gang.chen@asianux.com>
To: Kees Cook <keescook@chromium.org>,
Al Viro <viro@zeniv.linux.org.uk>,
Oleg Nesterov <oleg@redhat.com>,
holt@sgi.com
Cc: Andrew Morton <akpm@linux-foundation.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: [PATCH 1/2] kernel/sys.c: return the current gid when error occurs
Date: Tue, 06 Aug 2013 16:01:43 +0800 [thread overview]
Message-ID: <5200AD67.1030109@asianux.com> (raw)
In-Reply-To: <5200AD26.8070701@asianux.com>
According to the API definition, when error occurs, need return current
fsgid instead of the previous one.
The related informations ("man setfsgid"):
RETURN VALUE
On success, the previous value of fsgid is returned. On error, the current value of fsgid is returned.
Signed-off-by: Chen Gang <gang.chen@asianux.com>
---
kernel/sys.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/kernel/sys.c b/kernel/sys.c
index 771129b..9356dc8 100644
--- a/kernel/sys.c
+++ b/kernel/sys.c
@@ -775,11 +775,11 @@ SYSCALL_DEFINE1(setfsgid, gid_t, gid)
kgid = make_kgid(old->user_ns, gid);
if (!gid_valid(kgid))
- return old_fsgid;
+ return gid;
new = prepare_creds();
if (!new)
- return old_fsgid;
+ return gid;
if (gid_eq(kgid, old->gid) || gid_eq(kgid, old->egid) ||
gid_eq(kgid, old->sgid) || gid_eq(kgid, old->fsgid) ||
@@ -791,7 +791,7 @@ SYSCALL_DEFINE1(setfsgid, gid_t, gid)
}
abort_creds(new);
- return old_fsgid;
+ return gid;
change_okay:
commit_creds(new);
--
1.7.7.6
next prev parent reply other threads:[~2013-08-06 8:02 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-06 8:00 [PATCH 0/2] kernel/sys.c: for setfsgid(), return the current gid when error occurs Chen Gang
2013-08-06 8:01 ` Chen Gang [this message]
2013-08-06 20:21 ` [PATCH 1/2] kernel/sys.c: " Andy Lutomirski
2013-08-07 3:30 ` Chen Gang
2013-08-07 16:21 ` Oleg Nesterov
2013-08-07 16:58 ` Andy Lutomirski
2013-08-08 1:30 ` Chen Gang
2013-08-08 1:35 ` Andy Lutomirski
2013-08-08 1:48 ` Chen Gang
2013-08-08 13:52 ` Michael Kerrisk (man-pages)
2013-08-09 0:55 ` Chen Gang
2013-08-08 13:37 ` Michael Kerrisk (man-pages)
2013-08-09 0:59 ` Chen Gang
2013-08-09 7:27 ` Michael Kerrisk (man-pages)
2013-08-06 8:02 ` [PATCH 2/2] kernel/sys.c: remove useless variable 'old_fsgid' for setfsgid() Chen Gang
2013-08-06 8:56 ` Chen Gang
2013-08-06 8:13 ` kernel/sys.c: for setfsuid(), return the current uid when error occurs Chen Gang
2013-08-06 8:14 ` Chen Gang
2013-08-06 8:15 ` [PATCH 0/2] " Chen Gang
2013-08-06 8:15 ` [PATCH 1/2] kernel/sys.c: " Chen Gang
2013-08-06 8:16 ` [PATCH 2/2] kernel/sys.c: remove useless variable 'old_fsuid' for setfsuid() Chen Gang
2013-08-06 8:55 ` Chen Gang
2013-08-06 8:43 ` [PATCH] kernel/sys.c: improve the usage of return value Chen Gang
2013-08-07 10:44 ` Chen Gang
2013-08-06 18:36 ` [PATCH 0/2] kernel/sys.c: for setfsgid(), return the current gid when error occurs Kees Cook
2013-08-07 2:25 ` Chen Gang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5200AD67.1030109@asianux.com \
--to=gang.chen@asianux.com \
--cc=akpm@linux-foundation.org \
--cc=holt@sgi.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=viro@zeniv.linux.org.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox