From: Jon Smirl <jonsmirl@gmail.com>
To: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Cc: linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
Greg KH <greg@kroah.com>
Subject: Re: 2.6.13-rc6-mm1
Date: Sun, 21 Aug 2005 18:34:48 -0400 [thread overview]
Message-ID: <9e47339105082115347bde79bb@mail.gmail.com> (raw)
In-Reply-To: <20050821222229.GC6935@ens-lyon.fr>
[-- Attachment #1: Type: text/plain, Size: 2202 bytes --]
This should fix it, but I'm not on a machine where I can test it. Can
you give it a try and let me know?
On 8/21/05, Benoit Boissinot <benoit.boissinot@ens-lyon.org> wrote:
> ----- Forwarded message from Benoit Boissinot <benoit.boissinot@ens-lyon.org> -----
> sorry, i forgot to reply all...
>
> From: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
> To: Jon Smirl <jonsmirl@gmail.com>
> Subject: Re: 2.6.13-rc6-mm1
> User-Agent: Mutt/1.5.10i
>
> On Sun, Aug 21, 2005 at 06:11:57PM -0400, Jon Smirl wrote:
> > On 8/21/05, Benoit Boissinot <benoit.boissinot@ens-lyon.org> wrote:
> > > On Sun, Aug 21, 2005 at 01:40:31PM -0400, Jon Smirl wrote:
> > > > On 8/21/05, Benoit Boissinot <bboissin@gmail.com> wrote:
> > > > [snip]
> > > >
> > > > Somewhere there is a mistake in the white space processing code of the
> > > > firmware driver. Before this patch we had inconsistent handling of
> > > > whitespace and sysfs attributes. This patch forces it to be consistent
> > > > and will shake out all of the places in the drivers where it is
> > > > handled wrong. Sysfs attributes are now stripped of leading and
> > > > trailing white space before being handed to the device driver.
> > >
> > > ok, i found it. If i do echo 1, it will read '1\n', will
> > > remove the '\n' and send '1' to ops->store.
> > > Then it will re-read '\n' and send '' to ops->store.
> > > And it will loop...
> >
> > Look at the length being passed in, isn't it set to zero for the second case?
> >
> yes, it is set to zero, but the '\n' will be stripped and stay in the buffer.
> Since flush_write_buffer returns 0, ppos will not be incremented and we
> have an endless loop.
>
> --
> powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS
>
> ----- End forwarded message -----
>
> --
> powered by bash/screen/(urxvt/fvwm|linux-console)/gentoo/gnu/linux OS
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
--
Jon Smirl
jonsmirl@gmail.com
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: gregkh-driver-sysfs-strip_leading_trailing_whitespace-2.patch --]
[-- Type: text/x-diff; name="gregkh-driver-sysfs-strip_leading_trailing_whitespace-2.patch", Size: 980 bytes --]
diff --git a/fs/sysfs/file.c b/fs/sysfs/file.c
--- a/fs/sysfs/file.c
+++ b/fs/sysfs/file.c
@@ -6,6 +6,7 @@
#include <linux/fsnotify.h>
#include <linux/kobject.h>
#include <linux/namei.h>
+#include <linux/ctype.h>
#include <asm/uaccess.h>
#include <asm/semaphore.h>
@@ -207,8 +208,28 @@ flush_write_buffer(struct dentry * dentr
struct attribute * attr = to_attr(dentry);
struct kobject * kobj = to_kobj(dentry->d_parent);
struct sysfs_ops * ops = buffer->ops;
+ int ws_count = count;
+ char *x;
- return ops->store(kobj,attr,buffer->page,count);
+ /* locate trailing white space */
+ while ((count > 0) && isspace(buffer->page[count - 1]))
+ count--;
+
+ /* locate leading white space */
+ x = buffer->page;
+ if (count > 0) {
+ while (isspace(*x))
+ x++;
+ count -= (x - buffer->page);
+ }
+ /* terminate the string */
+ x[count] = '\0';
+ ws_count -= count;
+
+ if (count != 0)
+ count = ops->store(kobj, attr, x, count);
+
+ return count + ws_count;
}
next prev parent reply other threads:[~2005-08-21 22:35 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-21 22:22 2.6.13-rc6-mm1 Benoit Boissinot
2005-08-21 22:34 ` Jon Smirl [this message]
2005-08-22 14:37 ` 2.6.13-rc6-mm1 Benoit Boissinot
2005-08-22 16:44 ` 2.6.13-rc6-mm1 Jon Smirl
2005-08-22 18:13 ` 2.6.13-rc6-mm1 Benoit Boissinot
[not found] <fa.h617rae.h64dpq@ifi.uio.no>
2005-08-21 6:40 ` 2.6.13-rc6-mm1 Reuben Farrelly
2005-08-21 6:52 ` 2.6.13-rc6-mm1 Andrew Morton
2005-08-22 15:12 ` 2.6.13-rc6-mm1 John McCutchan
-- strict thread matches above, loose matches on Subject: below --
2005-08-19 11:33 2.6.13-rc6-mm1 Andrew Morton
2005-08-19 11:33 2.6.13-rc6-mm1 Andrew Morton
2005-08-19 13:12 ` 2.6.13-rc6-mm1 Brice Goglin
2005-08-19 13:18 ` 2.6.13-rc6-mm1 Brice Goglin
2005-08-19 13:22 ` 2.6.13-rc6-mm1 Brice Goglin
2005-08-19 13:21 ` 2.6.13-rc6-mm1 Reuben Farrelly
2005-08-19 17:34 ` 2.6.13-rc6-mm1 Andrew Morton
2005-08-20 1:27 ` 2.6.13-rc6-mm1 Reuben Farrelly
2005-08-20 1:34 ` 2.6.13-rc6-mm1 Andrew Morton
2005-08-20 1:36 ` 2.6.13-rc6-mm1 Andrew Morton
2005-08-20 13:40 ` 2.6.13-rc6-mm1 David Woodhouse
2005-08-21 6:25 ` 2.6.13-rc6-mm1 Reuben Farrelly
2005-08-19 13:25 ` 2.6.13-rc6-mm1 Brice Goglin
2005-08-19 13:27 ` 2.6.13-rc6-mm1 Russell King
2005-08-19 13:41 ` 2.6.13-rc6-mm1 Brice Goglin
2005-08-19 13:45 ` 2.6.13-rc6-mm1 Russell King
2005-08-19 14:05 ` 2.6.13-rc6-mm1 Brice Goglin
2005-08-19 15:45 ` 2.6.13-rc6-mm1 Ed Tomlinson
2005-08-19 16:04 ` 2.6.13-rc6-mm1 Benoit Boissinot
2005-08-19 21:01 ` 2.6.13-rc6-mm1 Ed Tomlinson
2005-08-19 21:24 ` 2.6.13-rc6-mm1 Benoit Boissinot
2005-08-19 16:11 ` 2.6.13-rc6-mm1 Dave Kleikamp
2005-08-19 19:21 ` 2.6.13-rc6-mm1 Andrew Morton
2005-08-19 16:42 ` 2.6.13-rc6-mm1 Avuton Olrich
2005-08-19 21:10 ` 2.6.13-rc6-mm1 Greg KH
2005-08-19 21:21 ` 2.6.13-rc6-mm1 Avuton Olrich
2005-08-19 18:03 ` 2.6.13-rc6-mm1 Jesper Juhl
2005-08-19 19:22 ` 2.6.13-rc6-mm1 hallyn
2005-08-20 14:49 ` 2.6.13-rc6-mm1 Martin J. Bligh
2005-08-21 15:08 ` 2.6.13-rc6-mm1 Martin J. Bligh
2005-08-21 16:30 ` 2.6.13-rc6-mm1 Benoit Boissinot
2005-08-21 17:40 ` 2.6.13-rc6-mm1 Jon Smirl
2005-08-21 21:44 ` 2.6.13-rc6-mm1 Benoit Boissinot
2005-08-21 22:11 ` 2.6.13-rc6-mm1 Jon Smirl
2005-08-22 1:36 ` 2.6.13-rc6-mm1 Rogério Brito
[not found] ` <20050822011528.GA12602@ime.usp.br>
2005-08-22 3:48 ` 2.6.13-rc6-mm1 Andrew Morton
2005-08-22 13:30 ` 2.6.13-rc6-mm1 Rogério Brito
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=9e47339105082115347bde79bb@mail.gmail.com \
--to=jonsmirl@gmail.com \
--cc=akpm@osdl.org \
--cc=benoit.boissinot@ens-lyon.org \
--cc=greg@kroah.com \
--cc=linux-kernel@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 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.