From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Kees Cook <keescook@chromium.org>, James Morris <jmorris@namei.org>
Cc: "Serge E. Hallyn" <serge@hallyn.com>,
Andrew Morton <akpm@linux-foundation.org>,
Kalle Valo <kvalo@codeaurora.org>,
Mauro Carvalho Chehab <mchehab@osg.samsung.com>,
Joe Perches <joe@perches.com>, Guenter Roeck <linux@roeck-us.net>,
Jiri Slaby <jslaby@suse.com>, Paul Moore <pmoore@redhat.com>,
Stephen Smalley <sds@tycho.nsa.gov>,
Mimi Zohar <zohar@linux.vnet.ibm.com>,
Casey Schaufler <casey@schaufler-ca.com>,
Andreas Gruenbacher <agruenba@redhat.com>,
Rasmus Villemoes <linux@rasmusvillemoes.dk>,
Ulf Hansson <ulf.hansson@linaro.org>,
Vitaly Kuznetsov <vkuznets@redhat.com>,
linux-security-module@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/5] string_helpers: add kstrdup_quotable_cmdline
Date: Wed, 30 Mar 2016 14:07:19 +0300 [thread overview]
Message-ID: <1459336039.5907.37.camel@linux.intel.com> (raw)
In-Reply-To: <1459199662-16558-3-git-send-email-keescook@chromium.org>
On Mon, 2016-03-28 at 14:14 -0700, Kees Cook wrote:
> Provide an escaped (but readable: no inter-argument NULLs)
> commandline
> safe for logging.
> +/*
> + * Returns allocated NULL-terminated string containing process
> + * command line, with inter-argument NULLs replaced with spaces,
> + * and other special characters escaped.
> + */
> +char *kstrdup_quotable_cmdline(struct task_struct *task)
> +{
> + char *buffer, *quoted;
> + int i, res;
> +
> + buffer = kmalloc(PAGE_SIZE, GFP_TEMPORARY);
> + if (!buffer)
> + return NULL;
> +
> + res = get_cmdline(task, buffer, PAGE_SIZE - 1);
> + buffer[res] = '\0';
> +
> + /* Collapse trailing NULLs. */
> + for (; res > 0; res--)
> + if (buffer[res-1] != '\0')
> + break;
/* buffer[res] is '\0', so, predecrement is safe here */
while (buffer[--res] == '\0')
/* nothing */;
?
> +
> + /* Replace inter-argument NULLs. */
> + for (i = 0; i < res; i++)
> + if (buffer[i] == '\0')
> + buffer[i] = ' ';
> +
> + /* Make sure result is printable. */
> + quoted = kstrdup_quotable(buffer);
> + kfree(buffer);
> + return quoted;
> +}
> +EXPORT_SYMBOL_GPL(kstrdup_quotable_cmdline);
--
Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Intel Finland Oy
next prev parent reply other threads:[~2016-03-30 11:06 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-28 21:14 [PATCH v2 0/5] LSM: LoadPin for kernel file loading restrictions Kees Cook
2016-03-28 21:14 ` [PATCH v2 1/5] string_helpers: add kstrdup_quotable Kees Cook
2016-03-28 23:30 ` Joe Perches
2016-04-06 23:50 ` Kees Cook
2016-03-28 21:14 ` [PATCH v2 2/5] string_helpers: add kstrdup_quotable_cmdline Kees Cook
2016-03-30 11:07 ` Andy Shevchenko [this message]
2016-03-30 11:11 ` Andy Shevchenko
2016-04-06 23:38 ` Kees Cook
2016-03-28 21:14 ` [PATCH v2 3/5] string_helpers: add kstrdup_quotable_file Kees Cook
2016-03-28 21:14 ` [PATCH v2 4/5] Yama: consolidate error reporting Kees Cook
2016-03-28 21:14 ` [PATCH v2 5/5] LSM: LoadPin for kernel file loading restrictions Kees Cook
2016-03-28 21:38 ` Andrew Morton
2016-03-28 21:58 ` Kees Cook
2016-03-30 20:24 ` Mimi Zohar
2016-03-28 23:20 ` Joe Perches
2016-03-31 21:24 ` Mimi Zohar
2016-04-04 19:31 ` Kees Cook
2016-04-04 23:03 ` Mimi Zohar
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=1459336039.5907.37.camel@linux.intel.com \
--to=andriy.shevchenko@linux.intel.com \
--cc=agruenba@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=casey@schaufler-ca.com \
--cc=jmorris@namei.org \
--cc=joe@perches.com \
--cc=jslaby@suse.com \
--cc=keescook@chromium.org \
--cc=kvalo@codeaurora.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=linux@rasmusvillemoes.dk \
--cc=linux@roeck-us.net \
--cc=mchehab@osg.samsung.com \
--cc=pmoore@redhat.com \
--cc=sds@tycho.nsa.gov \
--cc=serge@hallyn.com \
--cc=ulf.hansson@linaro.org \
--cc=vkuznets@redhat.com \
--cc=zohar@linux.vnet.ibm.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.