aboutsummaryrefslogtreecommitdiff
path: root/fs/coredump.c
diff options
context:
space:
mode:
authorStephen Rothwell <sfr@canb.auug.org.au>2015-05-29 21:29:12 +1000
committerStephen Rothwell <sfr@canb.auug.org.au>2015-05-29 21:29:12 +1000
commite4eacbea9a418a88bc4a2b44db5ed6b2250afde0 (patch)
tree50760896ecca78281df27906769fa19b670dc805 /fs/coredump.c
parentc12d56184d6f6526261d6b1811ddc63aa8db8b1d (diff)
parent8c169d94c31fced71d907e26b19b4f5f0bd9d7bf (diff)
Merge branch 'akpm-current/current'
Conflicts: arch/x86/kernel/machine_kexec_64.c drivers/staging/android/lowmemorykiller.c
Diffstat (limited to 'fs/coredump.c')
-rw-r--r--fs/coredump.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/fs/coredump.c b/fs/coredump.c
index e9f499fd8f6a..50d92e048351 100644
--- a/fs/coredump.c
+++ b/fs/coredump.c
@@ -71,7 +71,8 @@ static int expand_corename(struct core_name *cn, int size)
return 0;
}
-static int cn_vprintf(struct core_name *cn, const char *fmt, va_list arg)
+static __printf(2, 0) int cn_vprintf(struct core_name *cn, const char *fmt,
+ va_list arg)
{
int free, need;
va_list arg_copy;
@@ -94,7 +95,7 @@ again:
return -ENOMEM;
}
-static int cn_printf(struct core_name *cn, const char *fmt, ...)
+static __printf(2, 3) int cn_printf(struct core_name *cn, const char *fmt, ...)
{
va_list arg;
int ret;
@@ -106,7 +107,8 @@ static int cn_printf(struct core_name *cn, const char *fmt, ...)
return ret;
}
-static int cn_esc_printf(struct core_name *cn, const char *fmt, ...)
+static __printf(2, 3)
+int cn_esc_printf(struct core_name *cn, const char *fmt, ...)
{
int cur = cn->used;
va_list arg;
@@ -210,11 +212,15 @@ static int format_corename(struct core_name *cn, struct coredump_params *cprm)
break;
/* uid */
case 'u':
- err = cn_printf(cn, "%d", cred->uid);
+ err = cn_printf(cn, "%u",
+ from_kuid(&init_user_ns,
+ cred->uid));
break;
/* gid */
case 'g':
- err = cn_printf(cn, "%d", cred->gid);
+ err = cn_printf(cn, "%u",
+ from_kgid(&init_user_ns,
+ cred->gid));
break;
case 'd':
err = cn_printf(cn, "%d",
@@ -222,7 +228,8 @@ static int format_corename(struct core_name *cn, struct coredump_params *cprm)
break;
/* signal that caused the coredump */
case 's':
- err = cn_printf(cn, "%ld", cprm->siginfo->si_signo);
+ err = cn_printf(cn, "%d",
+ cprm->siginfo->si_signo);
break;
/* UNIX time of coredump */
case 't': {