linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jim Rees <rees@umich.edu>
To: Benny Halevy <bhalevy@primarydata.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>,
	bfields@redhat.com, linux-nfs@vger.kernel.org
Subject: Re: [PATCH] nfsd4: fix printk format string in nfsd4_open
Date: Fri, 13 Dec 2013 07:30:36 -0500	[thread overview]
Message-ID: <20131213123036.GA3840@umich.edu> (raw)
In-Reply-To: <52AAD99E.40706@primarydata.com>

Benny Halevy wrote:

  On 12/12/2013 06:19 PM, J. Bruce Fields wrote:
  > On Mon, Dec 09, 2013 at 07:05:43PM +0200, Benny Halevy wrote:
  >> Signed-off-by: Benny Halevy <bhalevy@primarydata.com>
  > 
  > Are you sure?  Reminding myself from the sprintf man page.... %*s
  > provides padding, %.*s limits the number of characters taken from the
  > string.  We need that limit since there's no guarantee of null
  > termination here.
  
  Well, the .* format doesn't seem to be supported in the kernel library as
  far as I could tell. At least it doesn't work for me. We may need to copy
  the string and null terminate it if it's indeed the case.

There's nothing about strings in Documentation/printk-formats.txt, but if
you look at lib/vsprintf.c, it's clearly trying to support precision. The
precision is parsed in format_decode(), and used to limit the string length
in string().

String precision is used other places in the kernel, too:
% fgrep -l '%.*s' {kernel,fs}/*.c
kernel/hung_task.c
kernel/lockdep.c
fs/dcache.c
fs/filesystems.c

So I would be surprised if it doesn't work.

      reply	other threads:[~2013-12-13 12:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-09 17:05 [PATCH] nfsd4: fix printk format string in nfsd4_open Benny Halevy
2013-12-12 16:19 ` J. Bruce Fields
2013-12-13  9:55   ` Benny Halevy
2013-12-13 12:30     ` Jim Rees [this message]

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=20131213123036.GA3840@umich.edu \
    --to=rees@umich.edu \
    --cc=bfields@fieldses.org \
    --cc=bfields@redhat.com \
    --cc=bhalevy@primarydata.com \
    --cc=linux-nfs@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).