[PATCH v2 01/10] string: provide strends()

Andy Shevchenko andriy.shevchenko at intel.com
Wed Oct 22 10:12:43 PDT 2025


On Wed, Oct 22, 2025 at 05:36:33PM +0200, Bartosz Golaszewski wrote:
> On Wed, Oct 22, 2025 at 5:25 PM Andy Shevchenko
> <andriy.shevchenko at intel.com> wrote:
> > On Wed, Oct 22, 2025 at 03:10:40PM +0200, Bartosz Golaszewski wrote:

...

> > > +static void string_test_strends(struct kunit *test)
> > > +{
> > > +     KUNIT_EXPECT_TRUE(test, strends("foo-bar", "bar"));
> > > +     KUNIT_EXPECT_TRUE(test, strends("foo-bar", "-bar"));
> > > +     KUNIT_EXPECT_TRUE(test, strends("foobar", "foobar"));
> > > +     KUNIT_EXPECT_TRUE(test, strends("foobar", ""));
> > > +     KUNIT_EXPECT_FALSE(test, strends("bar", "foobar"));
> > > +     KUNIT_EXPECT_FALSE(test, strends("", "foo"));
> > > +     KUNIT_EXPECT_FALSE(test, strends("foobar", "ba"));
> > > +     KUNIT_EXPECT_TRUE(test, strends("", ""));
> > > +}
> >
> > Have you checked the binary file? If you want this to be properly implemented,
> > generate the suffix. (Actually making the function static inline makes my point
> > really visible)
> 
> Andy, this is bikeshedding. This is literally the least important
> piece of this series. It doesn't matter for the big picture whether
> this is inlined or not.

It's definitely not a bikeshedding. I try to keep a bit consistency here and
I don't see the point of bloating a kernel (binary as well) for the function
that just a couple of lines with simple basic calls.

Also note that with inlined version strlen() for string literals will be
calculated at _compile-time_! This is clear benefit.

Really, library code is not as simple as dropping something to somewhere...

-- 
With Best Regards,
Andy Shevchenko





More information about the linux-arm-kernel mailing list