[PATCH/RFC v5 4/5]: core: Add dump device to call on oopses and panics
Simon Kagstrom
simon.kagstrom at netinsight.net
Mon Nov 30 04:53:31 EST 2009
On Mon, 30 Nov 2009 11:40:55 +0200
Artem Bityutskiy <dedekind1 at gmail.com> wrote:
> > > + /*
> > > + * Have we ever rotated around the circular buffer? If we never did,
> > > + * we have to have zeroes at the end.
> > > + */
> > > + if (log_buf[end]) {
> > > + s1 = log_buf + end;
> > > + l1 = log_buf_len - end;
> > > + } else {
> > > + s1 = "";
> > > + l1 = 0;
> >
> > So now you are assuming that a) the buffer is initially zeroed and b)
> > noone ever writes NUL to it. Is that correct?
>
> a) seems to be true because the buffer is either a static array or a
> bootmem alloc, which seems to memzero the buffers it returns, at least
> AFAICS. But I did not test this.
True as far as I can see.
> vs b). well, the printk ring buffer should contain ASCII, so I assumed
> binary zeroes should not be possible there.
Yes, if this would be printed with printk it sounds like a bug to me.
I've tested your patch, and it seems to work fine both 1) before the
buffer is filled, 2) when the buffer has wrapped and 3) when log_end
wraps (although that part was a quick hack).
So
Tested-by: Simon Kagstrom <simon.kagstrom at netinsight.net>
// Simon
More information about the linux-mtd
mailing list