All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Konstantin Khlebnikov <koct9i@gmail.com>
Cc: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	NeilBrown <neilb@suse.de>, Tejun Heo <tj@kernel.org>,
	Stable <stable@vger.kernel.org>,
	Alexander Viro <viro@zeniv.linux.org.uk>
Subject: Re: [PATCH] sysfs: correctly handle read offset on PREALLOC attrs
Date: Mon, 5 Sep 2016 16:13:41 +0200	[thread overview]
Message-ID: <20160905141341.GA14644@kroah.com> (raw)
In-Reply-To: <20160905134628.GA30206@kroah.com>

On Mon, Sep 05, 2016 at 03:46:28PM +0200, Greg Kroah-Hartman wrote:
> On Mon, Sep 05, 2016 at 04:25:48PM +0300, Konstantin Khlebnikov wrote:
> > Bump
> 
> Huh?
> 
> > On Wed, Jun 22, 2016 at 9:42 PM, Konstantin Khlebnikov
> > <khlebnikov@yandex-team.ru> wrote:
> > > Attributes declared with __ATTR_PREALLOC use sysfs_kf_read() which returns
> > > zero bytes for non-zero offset. This breaks script checkarray in mdadm tool
> > > in debian where /bin/sh is 'dash' because its builtin 'read' reads only one
> > > byte at a time. Script gets 'i' instead of 'idle' when reads current action
> > > from /sys/block/$dev/md/sync_action and as a result does nothing.
> > >
> > > This patch adds trivial implementation of partial read: generate whole
> > > string and move required part into buffer head.
> > >
> > > Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
> > > Fixes: 4ef67a8c95f3 ("sysfs/kernfs: make read requests on pre-alloc files use the buffer.")
> > > Link: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=787950
> > > Cc: Stable <stable@vger.kernel.org> # v3.19+
> > > ---
> > >  fs/sysfs/file.c |    8 +++++++-
> > >  1 file changed, 7 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
> > > index f35523d4fa3a..b803213d1307 100644
> > > --- a/fs/sysfs/file.c
> > > +++ b/fs/sysfs/file.c
> > > @@ -114,9 +114,15 @@ static ssize_t sysfs_kf_read(struct kernfs_open_file *of, char *buf,
> > >          * If buf != of->prealloc_buf, we don't know how
> > >          * large it is, so cannot safely pass it to ->show
> > >          */
> > > -       if (pos || WARN_ON_ONCE(buf != of->prealloc_buf))
> > > +       if (WARN_ON_ONCE(buf != of->prealloc_buf))
> > >                 return 0;
> > >         len = ops->show(kobj, of->kn->priv, buf);
> > > +       if (pos) {
> > > +               if (len <= pos)
> > > +                       return 0;
> > > +               len -= pos;
> > > +               memmove(buf, buf + pos, len);
> > > +       }
> > >         return min(count, len);
> > >  }
> 
> I don't have this in any queue of mine, so I don't understand what you
> are asking about.
> 
> totally confused,

Wait, this is already in Linus's tree, what are you asking for here?

still confused,

greg k-h

  parent reply	other threads:[~2016-09-05 14:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-22 18:42 [PATCH] sysfs: correctly handle read offset on PREALLOC attrs Konstantin Khlebnikov
2016-06-23 21:18 ` Tejun Heo
2016-09-05 13:25 ` Konstantin Khlebnikov
2016-09-05 13:46   ` Greg Kroah-Hartman
2016-09-05 14:02     ` Konstantin Khlebnikov
2016-09-05 14:15       ` Greg Kroah-Hartman
2016-09-05 14:13     ` Greg Kroah-Hartman [this message]
2016-09-05 14:17       ` Konstantin Khlebnikov

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=20160905141341.GA14644@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=khlebnikov@yandex-team.ru \
    --cc=koct9i@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=stable@vger.kernel.org \
    --cc=tj@kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /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.