linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johan Hovold <johan@kernel.org>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Johan Hovold <johan@kernel.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Jiri Slaby <jirislaby@kernel.org>,
	"Mychaela N . Falconia" <falcon@freecalypso.org>,
	"open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
	USB <linux-usb@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 2/5] serial: core: add sysfs attribute to suppress ready signalling on open
Date: Tue, 1 Dec 2020 14:22:06 +0100	[thread overview]
Message-ID: <X8ZDfvuRbxqsKZMh@localhost> (raw)
In-Reply-To: <CAHp75VdMcYj0H-HZcmyWFU5ROLwSy=8Pan7JABZxGimqXE35WQ@mail.gmail.com>

On Tue, Dec 01, 2020 at 01:19:30PM +0200, Andy Shevchenko wrote:
> On Tue, Dec 1, 2020 at 1:04 PM Johan Hovold <johan@kernel.org> wrote:

> > 0x01 is 1 and is generally treated as boolean true as you know.
> 
> Depends how you interpret this. kstrtobool() uses one character (and
> in some cases two) of the input. Everything else is garbage.
> Should we interpret garbage?

No, ideally we should reject the input.

> > So why should a sysfs-interface accept it as valid input and treat it as
> > false? That's just bad design.
> 
> I can agree with this.

Looks like part of the problem are commits like 4cc7ecb7f2a6 ("param:
convert some "on"/"off" users to strtobool") which destroyed perfectly
well-defined interfaces.

> > You miss the point; kstrobool accepts "12" today and treats it as true.
> > You cannot extend such an interface to later accept a larger range than
> > 0 and 1 as you didn't return an error for "12" from the start (as someone
> > might now rely on "12" being treated as "1").
> 
> Somehow cifs uses kstrtobool() in conjunction with the wider ranges. Nobody
> complained so far. But maybe they had it from day 1.

Wow, that's pretty nasty.

> So, we have two issues here: kstrtobool() doesn't report an error of
> input when it has garbage, the user may rely on garbage to be
> discarded.

Right, parsing is too allowing and there are too many ways to say
true/false.

The power-management attributes use 0 and 1 for boolean like I do here,
and I'd prefer to stick to that until we have deprecated the current
kstrtobool.

Johan

  reply	other threads:[~2020-12-01 13:22 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-30 15:37 [PATCH 0/5] tty: add flag to suppress ready signalling on open Johan Hovold
2020-11-30 15:37 ` [PATCH 1/5] tty: add port " Johan Hovold
2020-11-30 23:36   ` Mychaela Falconia
2020-12-01  5:49   ` Jiri Slaby
2020-12-01  7:09     ` Mychaela Falconia
2020-12-01  7:16       ` Jiri Slaby
2020-12-01  8:46     ` Johan Hovold
2020-11-30 15:37 ` [PATCH 2/5] serial: core: add sysfs attribute " Johan Hovold
2020-11-30 18:27   ` Andy Shevchenko
2020-12-01  8:21     ` Johan Hovold
2020-12-01 10:55       ` Andy Shevchenko
2020-12-01 11:05         ` Johan Hovold
2020-12-01 11:19           ` Andy Shevchenko
2020-12-01 13:22             ` Johan Hovold [this message]
2020-12-01 13:49               ` Andy Shevchenko
2020-12-01 17:43                 ` Johan Hovold
2020-12-01 16:44           ` Greg Kroah-Hartman
2020-12-01 17:24             ` Johan Hovold
2020-11-30 15:37 ` [PATCH 3/5] USB: serial: " Johan Hovold
2020-11-30 18:29   ` Andy Shevchenko
2020-11-30 15:37 ` [PATCH 4/5] USB: serial: ftdi_sio: pass port to quirk port_probe functions Johan Hovold
2020-11-30 15:37 ` [PATCH 5/5] USB: serial: ftdi_sio: add support for FreeCalypso DUART28C adapter Johan Hovold
2020-12-01  6:54   ` Jiri Slaby
2020-12-01  8:55     ` Johan Hovold
2020-11-30 21:22 ` [PATCH 0/5] tty: add flag to suppress ready signalling on open Mychaela Falconia
2020-12-01  7:14   ` Jiri Slaby
2020-12-01  7:18     ` Mychaela Falconia
2020-12-02 11:48     ` Johan Hovold
2020-12-04  6:58       ` Jiri Slaby
2020-12-08  9:30         ` Johan Hovold
2020-12-01  8:40   ` Johan Hovold
2020-12-01 10:48   ` Andy Shevchenko
2020-12-01 10:58     ` Johan Hovold

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=X8ZDfvuRbxqsKZMh@localhost \
    --to=johan@kernel.org \
    --cc=andy.shevchenko@gmail.com \
    --cc=falcon@freecalypso.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=jirislaby@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-usb@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).