All of lore.kernel.org
 help / color / mirror / Atom feed
From: Petr Mladek <pmladek@suse.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Joe Perches <joe@perches.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>,
	Jason Wessel <jason.wessel@windriver.com>,
	Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	Chris Mason <clm@fb.com>, Josef Bacik <jbacik@fb.com>,
	David Sterba <dsterba@suse.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 1/4] printk/NMI: Handle continuous lines and missing newline
Date: Fri, 11 Nov 2016 19:07:09 +0100	[thread overview]
Message-ID: <20161111180709.GA2145@dhcp128.suse.cz> (raw)
In-Reply-To: <20161111122851.0417e6af@gandalf.local.home>

On Fri 2016-11-11 12:28:51, Steven Rostedt wrote:
> On Wed,  9 Nov 2016 13:41:28 +0100
> Petr Mladek <pmladek@suse.com> wrote:
> 
> 
> >  /*
> > @@ -135,8 +170,8 @@ static void __printk_nmi_flush(struct irq_work *work)
> >  		__RAW_SPIN_LOCK_INITIALIZER(read_lock);
> >  	struct nmi_seq_buf *s = container_of(work, struct nmi_seq_buf, work);
> >  	unsigned long flags;
> > -	size_t len, size;
> > -	int i, last_i;
> > +	size_t len;
> > +	int i;
> >  
> >  	/*
> >  	 * The lock has two functions. First, one reader has to flush all
> > @@ -154,12 +189,14 @@ static void __printk_nmi_flush(struct irq_work *work)
> >  	/*
> >  	 * This is just a paranoid check that nobody has manipulated
> >  	 * the buffer an unexpected way. If we printed something then
> > -	 * @len must only increase.
> > +	 * @len must only increase. Also it should never overflow the
> > +	 * buffer size.
> >  	 */
> > -	if (i && i >= len) {
> > +	if ((i && i >= len) || len > sizeof(s->buffer)) {
> 
> What's wrong with using s->len? Isn't that what is inside the buffer?
> Couldn't just checking against the buffer size print garbage?

Note that this is not the classic seq_buf. It is struct nmi_seq_buf
where "len" is atomic_t and buffer is defined as
buffer[NMI_LOG_BUF_LEN].

It is just a paranoid check that should newer be true if the
implementation is correct. I believe that it makes sense as is.

Best Regards,
Petr

  reply	other threads:[~2016-11-11 18:07 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-09 12:41 [PATCH v2 0/4] printk: Fixes and hardening related to KERN_CONT Petr Mladek
2016-11-09 12:41 ` [PATCH v2 1/4] printk/NMI: Handle continuous lines and missing newline Petr Mladek
2016-11-11  0:26   ` Sergey Senozhatsky
2016-11-11 17:28   ` Steven Rostedt
2016-11-11 18:07     ` Petr Mladek [this message]
2016-11-09 12:41 ` [PATCH v2 2/4] printk/kdb: Handle more message headers Petr Mladek
2016-11-11 17:35   ` Steven Rostedt
2016-11-11 18:13     ` Petr Mladek
2016-11-09 12:41 ` [PATCH v2 3/4] printk/btrfs: " Petr Mladek
2016-11-10 13:20   ` David Sterba
2016-11-11 17:41   ` Steven Rostedt
2016-11-11 18:16     ` Petr Mladek
2016-12-13  9:21   ` Geert Uytterhoeven
2016-12-13 13:52     ` Petr Mladek
2016-12-13 14:01       ` Geert Uytterhoeven
2016-12-13 14:26       ` David Sterba
2016-11-09 12:41 ` [PATCH v2 4/4] printk/sound: " Petr Mladek
2016-11-11 17:54   ` Steven Rostedt

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=20161111180709.GA2145@dhcp128.suse.cz \
    --to=pmladek@suse.com \
    --cc=akpm@linux-foundation.org \
    --cc=clm@fb.com \
    --cc=dsterba@suse.com \
    --cc=jason.wessel@windriver.com \
    --cc=jbacik@fb.com \
    --cc=joe@perches.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=rostedt@goodmis.org \
    --cc=sergey.senozhatsky.work@gmail.com \
    --cc=tiwai@suse.com \
    --cc=torvalds@linux-foundation.org \
    /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.