lkml.org 
[lkml]   [2021]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] lib/string: sysfs_streq works case insensitively
    On Wed, Apr 28, 2021 at 8:42 AM Andy Shevchenko
    <andy.shevchenko@gmail.com> wrote:
    >
    >
    >
    > On Wednesday, April 28, 2021, Gioh Kim <gi-oh.kim@ionos.com> wrote:
    >>
    >> On Mon, Apr 12, 2021 at 1:33 PM Gioh Kim <gi-oh.kim@ionos.com> wrote:
    >> >
    >> > As the name shows, it checks the strings inputed from sysfs.
    >> > It should work for both case-sensitive filesystem and
    >> > case-insensitive filesystem. Therefore sysfs_streq should work
    >> > case-insensitively.
    >> >
    >> > Signed-off-by: Gioh Kim <gi-oh.kim@ionos.com>
    >> > ---
    >> > lib/string.c | 6 ++++--
    >> > 1 file changed, 4 insertions(+), 2 deletions(-)
    >> >
    >> > diff --git a/lib/string.c b/lib/string.c
    >> > index 7548eb715ddb..d0914dffdaae 100644
    >> > --- a/lib/string.c
    >> > +++ b/lib/string.c
    >> > @@ -688,7 +688,8 @@ EXPORT_SYMBOL(strsep);
    >> > #endif
    >> >
    >> > /**
    >> > - * sysfs_streq - return true if strings are equal, modulo trailing newline
    >> > + * sysfs_streq - return true if strings are equal case-insentively,
    >> > + * modulo trailing newline
    >> > * @s1: one string
    >> > * @s2: another string
    >> > *
    >> > @@ -696,10 +697,11 @@ EXPORT_SYMBOL(strsep);
    >> > * NUL and newline-then-NUL as equivalent string terminations. It's
    >> > * geared for use with sysfs input strings, which generally terminate
    >> > * with newlines but are compared against values without newlines.
    >> > + * And case does not matter for the sysfs input strings comparison.
    >> > */
    >> > bool sysfs_streq(const char *s1, const char *s2)
    >> > {
    >> > - while (*s1 && *s1 == *s2) {
    >> > + while (*s1 && tolower(*s1) == tolower(*s2)) {
    >> > s1++;
    >> > s2++;
    >> > }
    >> > --
    >> > 2.25.1
    >> >
    >>
    >> Hi Andrew,
    >>
    >
    > Are you sure it’s good change? Sysfs is used for an ABI and you are opening a can of worms. From me NAK to this change without a very good background description that tells why it is safe to do.

    https://www.spinics.net/lists/kernel/msg3898123.html
    My initial idea was making a new function: sysfs_streqcase.
    Andrew and Greg suggested making sysfs_streq to be case-insensitive.
    I would like to have a discussion about it.

    >
    >
    >>
    >> I changed sysfs_streq to be case-insensitive as you requested.
    >> Is there any progress?
    >
    >
    >
    > --
    > With Best Regards,
    > Andy Shevchenko
    >
    >

    \
     
     \ /
      Last update: 2021-04-28 09:33    [W:5.963 / U:1.452 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site