From: Anton Vorontsov <anton.vorontsov@linaro.org>
To: Kees Cook <keescook@chromium.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
Colin Cross <ccross@android.com>, Tony Luck <tony.luck@intel.com>,
Arnd Bergmann <arnd@arndb.de>,
John Stultz <john.stultz@linaro.org>,
Shuah Khan <shuahkhan@gmail.com>,
arve@android.com, Rebecca Schultz Zavin <rebecca@android.com>,
Jesper Juhl <jj@chaosbits.net>,
Randy Dunlap <rdunlap@xenotime.net>,
Stephen Boyd <sboyd@codeaurora.org>,
Thomas Meyer <thomas@m3y3r.de>,
Andrew Morton <akpm@linux-foundation.org>,
Marco Stornelli <marco.stornelli@gmail.com>,
WANG Cong <xiyou.wangcong@gmail.com>,
linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org,
linaro-kernel@lists.linaro.org, patches@linaro.org,
kernel-team@android.com
Subject: Re: [PATCH 1/6] pstore: Add console log messages support
Date: Wed, 16 May 2012 17:47:00 -0700 [thread overview]
Message-ID: <20120517004700.GA28962@lizard> (raw)
In-Reply-To: <20120516223345.GB22797@lizard>
On Wed, May 16, 2012 at 03:33:45PM -0700, Anton Vorontsov wrote:
> On Wed, May 16, 2012 at 09:49:11AM -0700, Kees Cook wrote:
> [...]
> > > +#ifdef CONFIG_PSTORE_CONSOLE
> > > +static void pstore_console_write(struct console *con, const char *s, unsigned c)
> > > +{
> > > + strncpy(psinfo->buf, s, c);
> >
> > The size of psinfo->buf needs to be the length argument to strncpy,
> > not the size of "s". If "s" isn't NULL terminated, then the min of c
> > and buf's size should be used. And if this should be NULL terminated
> > in buf, that needs to be added manually since strncpy won't do it if
> > it hits the max length argument.
>
> Whoops. Will fix it, thanks!
Actually, we shouldn't bother with NUL-termination at all. We should
do, is just carefully copy all 'c' elements of 's' into pstore in
'pstore->bufsize' chunks.
So, the code should be something along these lines:
static void pstore_console_write(struct console *con, const char *s, unsigned c)
{
const char *e = s + c;
while (s < e) {
if (c > psinfo->bufsize)
c = psinfo->bufsize;
memcpy(psinfo->buf, s, c);
psinfo->write(PSTORE_TYPE_CONSOLE, 0, NULL, 0, c, psinfo);
s += c;
c = e - s;
}
}
Here, in case of c > bufsize, we can't just copy bufsize bytes once and
exit, since 'bufsize' doesn't tell anything about TYPE_CONSOLE's internal
storage size (today console's persistent ram zone size and pstore's
bufsize are equal, but this is something we may change soon, i.e. make
TYPE_DMESG and TYPE_CONSOLE record sizes configurable).
Thanks,
--
Anton Vorontsov
Email: cbouatmailru@gmail.com
next prev parent reply other threads:[~2012-05-17 0:48 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-16 12:53 [PATCH 0/6] Merge ram_console into pstore Anton Vorontsov
2012-05-16 12:56 ` [PATCH 1/6] pstore: Add console log messages support Anton Vorontsov
2012-05-16 16:49 ` Kees Cook
2012-05-16 22:33 ` Anton Vorontsov
2012-05-17 0:47 ` Anton Vorontsov [this message]
2012-05-16 12:56 ` [PATCH 2/6] pstore/ram: Add console messages handling Anton Vorontsov
2012-05-16 15:30 ` Shuah Khan
2012-05-16 22:20 ` Anton Vorontsov
2012-05-16 16:45 ` Kees Cook
2012-05-16 22:28 ` Anton Vorontsov
2012-05-16 12:56 ` [PATCH 3/6] pstore/ram_core: Silence some printks Anton Vorontsov
2012-05-16 12:56 ` [PATCH 4/6] pstore/ram: Add some more documentation and examples Anton Vorontsov
2012-05-16 15:28 ` Shuah Khan
2012-05-16 17:56 ` Colin Cross
2012-05-16 22:11 ` Anton Vorontsov
2012-05-16 22:25 ` Colin Cross
2012-05-16 12:57 ` [PATCH 5/6] staging/android: Remove ram_console driver Anton Vorontsov
2012-05-16 12:57 ` [PATCH 6/6] pstore/ram_core: Remove now unused code Anton Vorontsov
-- strict thread matches above, loose matches on Subject: below --
2012-05-17 8:37 [PATCH v2 0/6] Merge ram_console into pstore Anton Vorontsov
2012-05-17 8:40 ` [PATCH 1/6] pstore: Add console log messages support Anton Vorontsov
2012-05-17 16:31 ` Kees Cook
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=20120517004700.GA28962@lizard \
--to=anton.vorontsov@linaro.org \
--cc=akpm@linux-foundation.org \
--cc=arnd@arndb.de \
--cc=arve@android.com \
--cc=ccross@android.com \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=jj@chaosbits.net \
--cc=john.stultz@linaro.org \
--cc=keescook@chromium.org \
--cc=kernel-team@android.com \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marco.stornelli@gmail.com \
--cc=patches@linaro.org \
--cc=rdunlap@xenotime.net \
--cc=rebecca@android.com \
--cc=sboyd@codeaurora.org \
--cc=shuahkhan@gmail.com \
--cc=thomas@m3y3r.de \
--cc=tony.luck@intel.com \
--cc=xiyou.wangcong@gmail.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.