[PATCH v4 0/8] lib/glob: bug fixes, new features, and tests

Josh Law posted 8 patches 3 weeks, 3 days ago
include/linux/glob.h   |   2 +
lib/glob.c             | 123 ++++++++++++++++++++++++++++++++++++----
lib/kunit/executor.c   |  13 +++++
lib/tests/glob_kunit.c | 124 +++++++++++++++++++++++++++++++++++++++++
4 files changed, 252 insertions(+), 10 deletions(-)
[PATCH v4 0/8] lib/glob: bug fixes, new features, and tests
Posted by Josh Law 3 weeks, 3 days ago
Bug fixes, extensions, and test coverage for lib/glob.c:

Patches 1-3 fix corner cases in the existing glob_match():
  - Inverted character class ranges like [z-a] are now normalized
    instead of silently failing to match.
  - A trailing backslash is treated as a literal '\' rather than
    reading past the end of the pattern string.
  - [^...] is accepted as an alias for [!...] to match the
    regex-style negation syntax documented in glob(7).

Patches 4-5 add two new utility functions:
  - glob_match_nocase() for case-insensitive matching, useful for
    subsystems like ATA that need case-folded denylist comparisons.
  - glob_validate() for checking pattern syntax before use, so
    callers can reject malformed patterns early with a clear error.

Patches 6-7 add kunit test coverage:
  - 47 new test cases for glob_match covering escapes, inverted
    ranges, caret negation, edge cases, and unclosed brackets.
  - 11 test cases for glob_match_nocase.
  - 17 test cases for glob_validate.

Patch 8 adds a real in-tree caller for glob_validate() in the kunit
executor, validating user-provided filter_glob patterns and returning
-EINVAL for malformed ones.

Changes since v3:
  - Resend: v3 accidentally included stale v2 patch files in the
    same email thread.  No code changes from v3.

Changes since v2:
  - Fixed missing '^' in __glob_match metacharacter comment (patch 4).
  - Dropped unnecessary braces in glob_validate case '[' (patch 5).
  - Added real-world example to glob_validate() commit message (patch 5).

Changes since v1:
  - Added patch 8 (kunit executor caller for glob_validate).
  - Updated glob_match_nocase() commit message to reference the ATA
    denylist as the intended caller (follow-up patch).

Josh Law (8):
  lib/glob: normalize inverted character class ranges
  lib/glob: treat trailing backslash as literal character
  lib/glob: accept [^...] as character class negation syntax
  lib/glob: add case-insensitive glob_match_nocase()
  lib/glob: add glob_validate() for pattern syntax checking
  lib/tests: add glob test cases for escapes, edge cases, and new
    features
  lib/tests: add kunit tests for glob_match_nocase() and glob_validate()
  kunit: validate glob filter patterns before use

 include/linux/glob.h   |   2 +
 lib/glob.c             | 123 ++++++++++++++++++++++++++++++++++++----
 lib/kunit/executor.c   |  13 +++++
 lib/tests/glob_kunit.c | 124 +++++++++++++++++++++++++++++++++++++++++
 4 files changed, 252 insertions(+), 10 deletions(-)

-- 
2.34.1
Re: [PATCH v4 0/8] lib/glob: bug fixes, new features, and tests
Posted by David Gow 3 weeks, 2 days ago
Hi Josh,

Le 16/03/2026 à 5:17 AM, Josh Law a écrit :
> Bug fixes, extensions, and test coverage for lib/glob.c:
> 
> Patches 1-3 fix corner cases in the existing glob_match():
>    - Inverted character class ranges like [z-a] are now normalized
>      instead of silently failing to match.
>    - A trailing backslash is treated as a literal '\' rather than
>      reading past the end of the pattern string.
>    - [^...] is accepted as an alias for [!...] to match the
>      regex-style negation syntax documented in glob(7).
> 
> Patches 4-5 add two new utility functions:
>    - glob_match_nocase() for case-insensitive matching, useful for
>      subsystems like ATA that need case-folded denylist comparisons.
>    - glob_validate() for checking pattern syntax before use, so
>      callers can reject malformed patterns early with a clear error.
> 
> Patches 6-7 add kunit test coverage:
>    - 47 new test cases for glob_match covering escapes, inverted
>      ranges, caret negation, edge cases, and unclosed brackets.
>    - 11 test cases for glob_match_nocase.
>    - 17 test cases for glob_validate.
> 
> Patch 8 adds a real in-tree caller for glob_validate() in the kunit
> executor, validating user-provided filter_glob patterns and returning
> -EINVAL for malformed ones.
> 
> Changes since v3:
>    - Resend: v3 accidentally included stale v2 patch files in the
>      same email thread.  No code changes from v3.
> 
> Changes since v2:
>    - Fixed missing '^' in __glob_match metacharacter comment (patch 4).
>    - Dropped unnecessary braces in glob_validate case '[' (patch 5).
>    - Added real-world example to glob_validate() commit message (patch 5).
> 
> Changes since v1:
>    - Added patch 8 (kunit executor caller for glob_validate).
>    - Updated glob_match_nocase() commit message to reference the ATA
>      denylist as the intended caller (follow-up patch).
> 
> Josh Law (8):
>    lib/glob: normalize inverted character class ranges
>    lib/glob: treat trailing backslash as literal character
>    lib/glob: accept [^...] as character class negation syntax
>    lib/glob: add case-insensitive glob_match_nocase()
>    lib/glob: add glob_validate() for pattern syntax checking
>    lib/tests: add glob test cases for escapes, edge cases, and new
>      features
>    lib/tests: add kunit tests for glob_match_nocase() and glob_validate()
>    kunit: validate glob filter patterns before use
> 
>   include/linux/glob.h   |   2 +
>   lib/glob.c             | 123 ++++++++++++++++++++++++++++++++++++----
>   lib/kunit/executor.c   |  13 +++++
>   lib/tests/glob_kunit.c | 124 +++++++++++++++++++++++++++++++++++++++++
>   4 files changed, 252 insertions(+), 10 deletions(-)
> 

Thanks: always good to have better test coverage (and those are some 
nasty corner cases!)

Series is:

Acked-by: David Gow <david@davidgow.net>
Tested-by: David Gow <david@davidgow.net>

I'm making the assumption that this is going in via mm-nonmm, not the 
kselftest/kunit tree, as it has dependencies in that branch.

Cheers,
-- David

Re: [PATCH v4 0/8] lib/glob: bug fixes, new features, and tests
Posted by Josh Law 3 weeks, 1 day ago

On 17 March 2026 07:19:47 GMT, David Gow <david@davidgow.net> wrote:
>Hi Josh,
>
>Le 16/03/2026 à 5:17 AM, Josh Law a écrit :
>> Bug fixes, extensions, and test coverage for lib/glob.c:
>> 
>> Patches 1-3 fix corner cases in the existing glob_match():
>>    - Inverted character class ranges like [z-a] are now normalized
>>      instead of silently failing to match.
>>    - A trailing backslash is treated as a literal '\' rather than
>>      reading past the end of the pattern string.
>>    - [^...] is accepted as an alias for [!...] to match the
>>      regex-style negation syntax documented in glob(7).
>> 
>> Patches 4-5 add two new utility functions:
>>    - glob_match_nocase() for case-insensitive matching, useful for
>>      subsystems like ATA that need case-folded denylist comparisons.
>>    - glob_validate() for checking pattern syntax before use, so
>>      callers can reject malformed patterns early with a clear error.
>> 
>> Patches 6-7 add kunit test coverage:
>>    - 47 new test cases for glob_match covering escapes, inverted
>>      ranges, caret negation, edge cases, and unclosed brackets.
>>    - 11 test cases for glob_match_nocase.
>>    - 17 test cases for glob_validate.
>> 
>> Patch 8 adds a real in-tree caller for glob_validate() in the kunit
>> executor, validating user-provided filter_glob patterns and returning
>> -EINVAL for malformed ones.
>> 
>> Changes since v3:
>>    - Resend: v3 accidentally included stale v2 patch files in the
>>      same email thread.  No code changes from v3.
>> 
>> Changes since v2:
>>    - Fixed missing '^' in __glob_match metacharacter comment (patch 4).
>>    - Dropped unnecessary braces in glob_validate case '[' (patch 5).
>>    - Added real-world example to glob_validate() commit message (patch 5).
>> 
>> Changes since v1:
>>    - Added patch 8 (kunit executor caller for glob_validate).
>>    - Updated glob_match_nocase() commit message to reference the ATA
>>      denylist as the intended caller (follow-up patch).
>> 
>> Josh Law (8):
>>    lib/glob: normalize inverted character class ranges
>>    lib/glob: treat trailing backslash as literal character
>>    lib/glob: accept [^...] as character class negation syntax
>>    lib/glob: add case-insensitive glob_match_nocase()
>>    lib/glob: add glob_validate() for pattern syntax checking
>>    lib/tests: add glob test cases for escapes, edge cases, and new
>>      features
>>    lib/tests: add kunit tests for glob_match_nocase() and glob_validate()
>>    kunit: validate glob filter patterns before use
>> 
>>   include/linux/glob.h   |   2 +
>>   lib/glob.c             | 123 ++++++++++++++++++++++++++++++++++++----
>>   lib/kunit/executor.c   |  13 +++++
>>   lib/tests/glob_kunit.c | 124 +++++++++++++++++++++++++++++++++++++++++
>>   4 files changed, 252 insertions(+), 10 deletions(-)
>> 
>
>Thanks: always good to have better test coverage (and those are some nasty corner cases!)
>
>Series is:
>
>Acked-by: David Gow <david@davidgow.net>
>Tested-by: David Gow <david@davidgow.net>
>
>I'm making the assumption that this is going in via mm-nonmm, not the kselftest/kunit tree, as it has dependencies in that branch.
>
>Cheers,
>-- David
>


Also, David? You mean the *ENTIRE* series as in the code too (the new functions) Or just your kunit changes 


V/R



Josh Law
Re: [PATCH v4 0/8] lib/glob: bug fixes, new features, and tests
Posted by David Gow 3 weeks, 1 day ago
Le 18/03/2026 à 12:32 AM, Josh Law a écrit :
> 
> 
> On 17 March 2026 07:19:47 GMT, David Gow <david@davidgow.net> wrote:
>> Hi Josh,
>>
>> Le 16/03/2026 à 5:17 AM, Josh Law a écrit :
>>> Bug fixes, extensions, and test coverage for lib/glob.c:
>>>
>>> Patches 1-3 fix corner cases in the existing glob_match():
>>>     - Inverted character class ranges like [z-a] are now normalized
>>>       instead of silently failing to match.
>>>     - A trailing backslash is treated as a literal '\' rather than
>>>       reading past the end of the pattern string.
>>>     - [^...] is accepted as an alias for [!...] to match the
>>>       regex-style negation syntax documented in glob(7).
>>>
>>> Patches 4-5 add two new utility functions:
>>>     - glob_match_nocase() for case-insensitive matching, useful for
>>>       subsystems like ATA that need case-folded denylist comparisons.
>>>     - glob_validate() for checking pattern syntax before use, so
>>>       callers can reject malformed patterns early with a clear error.
>>>
>>> Patches 6-7 add kunit test coverage:
>>>     - 47 new test cases for glob_match covering escapes, inverted
>>>       ranges, caret negation, edge cases, and unclosed brackets.
>>>     - 11 test cases for glob_match_nocase.
>>>     - 17 test cases for glob_validate.
>>>
>>> Patch 8 adds a real in-tree caller for glob_validate() in the kunit
>>> executor, validating user-provided filter_glob patterns and returning
>>> -EINVAL for malformed ones.
>>>
>>> Changes since v3:
>>>     - Resend: v3 accidentally included stale v2 patch files in the
>>>       same email thread.  No code changes from v3.
>>>
>>> Changes since v2:
>>>     - Fixed missing '^' in __glob_match metacharacter comment (patch 4).
>>>     - Dropped unnecessary braces in glob_validate case '[' (patch 5).
>>>     - Added real-world example to glob_validate() commit message (patch 5).
>>>
>>> Changes since v1:
>>>     - Added patch 8 (kunit executor caller for glob_validate).
>>>     - Updated glob_match_nocase() commit message to reference the ATA
>>>       denylist as the intended caller (follow-up patch).
>>>
>>> Josh Law (8):
>>>     lib/glob: normalize inverted character class ranges
>>>     lib/glob: treat trailing backslash as literal character
>>>     lib/glob: accept [^...] as character class negation syntax
>>>     lib/glob: add case-insensitive glob_match_nocase()
>>>     lib/glob: add glob_validate() for pattern syntax checking
>>>     lib/tests: add glob test cases for escapes, edge cases, and new
>>>       features
>>>     lib/tests: add kunit tests for glob_match_nocase() and glob_validate()
>>>     kunit: validate glob filter patterns before use
>>>
>>>    include/linux/glob.h   |   2 +
>>>    lib/glob.c             | 123 ++++++++++++++++++++++++++++++++++++----
>>>    lib/kunit/executor.c   |  13 +++++
>>>    lib/tests/glob_kunit.c | 124 +++++++++++++++++++++++++++++++++++++++++
>>>    4 files changed, 252 insertions(+), 10 deletions(-)
>>>
>>
>> Thanks: always good to have better test coverage (and those are some nasty corner cases!)
>>
>> Series is:
>>
>> Acked-by: David Gow <david@davidgow.net>
>> Tested-by: David Gow <david@davidgow.net>
>>
>> I'm making the assumption that this is going in via mm-nonmm, not the kselftest/kunit tree, as it has dependencies in that branch.
>>
>> Cheers,
>> -- David
>>
> 
> 
> Also, David? You mean the *ENTIRE* series as in the code too (the new functions) Or just your kunit changes
> 

I only really need to Ack the KUnit changes, but I did test the entire 
series, so feel free to apply it to all of them.

Cheers,
-- David

Re: [PATCH v4 0/8] lib/glob: bug fixes, new features, and tests
Posted by Josh Law 2 weeks, 6 days ago

On 18 March 2026 07:19:53 GMT, David Gow <david@davidgow.net> wrote:
>Le 18/03/2026 à 12:32 AM, Josh Law a écrit :
>> 
>> 
>> On 17 March 2026 07:19:47 GMT, David Gow <david@davidgow.net> wrote:
>>> Hi Josh,
>>> 
>>> Le 16/03/2026 à 5:17 AM, Josh Law a écrit :
>>>> Bug fixes, extensions, and test coverage for lib/glob.c:
>>>> 
>>>> Patches 1-3 fix corner cases in the existing glob_match():
>>>>     - Inverted character class ranges like [z-a] are now normalized
>>>>       instead of silently failing to match.
>>>>     - A trailing backslash is treated as a literal '\' rather than
>>>>       reading past the end of the pattern string.
>>>>     - [^...] is accepted as an alias for [!...] to match the
>>>>       regex-style negation syntax documented in glob(7).
>>>> 
>>>> Patches 4-5 add two new utility functions:
>>>>     - glob_match_nocase() for case-insensitive matching, useful for
>>>>       subsystems like ATA that need case-folded denylist comparisons.
>>>>     - glob_validate() for checking pattern syntax before use, so
>>>>       callers can reject malformed patterns early with a clear error.
>>>> 
>>>> Patches 6-7 add kunit test coverage:
>>>>     - 47 new test cases for glob_match covering escapes, inverted
>>>>       ranges, caret negation, edge cases, and unclosed brackets.
>>>>     - 11 test cases for glob_match_nocase.
>>>>     - 17 test cases for glob_validate.
>>>> 
>>>> Patch 8 adds a real in-tree caller for glob_validate() in the kunit
>>>> executor, validating user-provided filter_glob patterns and returning
>>>> -EINVAL for malformed ones.
>>>> 
>>>> Changes since v3:
>>>>     - Resend: v3 accidentally included stale v2 patch files in the
>>>>       same email thread.  No code changes from v3.
>>>> 
>>>> Changes since v2:
>>>>     - Fixed missing '^' in __glob_match metacharacter comment (patch 4).
>>>>     - Dropped unnecessary braces in glob_validate case '[' (patch 5).
>>>>     - Added real-world example to glob_validate() commit message (patch 5).
>>>> 
>>>> Changes since v1:
>>>>     - Added patch 8 (kunit executor caller for glob_validate).
>>>>     - Updated glob_match_nocase() commit message to reference the ATA
>>>>       denylist as the intended caller (follow-up patch).
>>>> 
>>>> Josh Law (8):
>>>>     lib/glob: normalize inverted character class ranges
>>>>     lib/glob: treat trailing backslash as literal character
>>>>     lib/glob: accept [^...] as character class negation syntax
>>>>     lib/glob: add case-insensitive glob_match_nocase()
>>>>     lib/glob: add glob_validate() for pattern syntax checking
>>>>     lib/tests: add glob test cases for escapes, edge cases, and new
>>>>       features
>>>>     lib/tests: add kunit tests for glob_match_nocase() and glob_validate()
>>>>     kunit: validate glob filter patterns before use
>>>> 
>>>>    include/linux/glob.h   |   2 +
>>>>    lib/glob.c             | 123 ++++++++++++++++++++++++++++++++++++----
>>>>    lib/kunit/executor.c   |  13 +++++
>>>>    lib/tests/glob_kunit.c | 124 +++++++++++++++++++++++++++++++++++++++++
>>>>    4 files changed, 252 insertions(+), 10 deletions(-)
>>>> 
>>> 
>>> Thanks: always good to have better test coverage (and those are some nasty corner cases!)
>>> 
>>> Series is:
>>> 
>>> Acked-by: David Gow <david@davidgow.net>
>>> Tested-by: David Gow <david@davidgow.net>
>>> 
>>> I'm making the assumption that this is going in via mm-nonmm, not the kselftest/kunit tree, as it has dependencies in that branch.
>>> 
>>> Cheers,
>>> -- David
>>> 
>> 
>> 
>> Also, David? You mean the *ENTIRE* series as in the code too (the new functions) Or just your kunit changes
>> 
>
>I only really need to Ack the KUnit changes, but I did test the entire series, so feel free to apply it to all of them.
>
>Cheers,
>-- David
>



Thanks!


Andrew. This is ready to be merged


V/R

Josh Law
Re: [PATCH v4 0/8] lib/glob: bug fixes, new features, and tests
Posted by Josh Law 3 weeks ago

On 18 March 2026 07:19:53 GMT, David Gow <david@davidgow.net> wrote:
>Le 18/03/2026 à 12:32 AM, Josh Law a écrit :
>> 
>> 
>> On 17 March 2026 07:19:47 GMT, David Gow <david@davidgow.net> wrote:
>>> Hi Josh,
>>> 
>>> Le 16/03/2026 à 5:17 AM, Josh Law a écrit :
>>>> Bug fixes, extensions, and test coverage for lib/glob.c:
>>>> 
>>>> Patches 1-3 fix corner cases in the existing glob_match():
>>>>     - Inverted character class ranges like [z-a] are now normalized
>>>>       instead of silently failing to match.
>>>>     - A trailing backslash is treated as a literal '\' rather than
>>>>       reading past the end of the pattern string.
>>>>     - [^...] is accepted as an alias for [!...] to match the
>>>>       regex-style negation syntax documented in glob(7).
>>>> 
>>>> Patches 4-5 add two new utility functions:
>>>>     - glob_match_nocase() for case-insensitive matching, useful for
>>>>       subsystems like ATA that need case-folded denylist comparisons.
>>>>     - glob_validate() for checking pattern syntax before use, so
>>>>       callers can reject malformed patterns early with a clear error.
>>>> 
>>>> Patches 6-7 add kunit test coverage:
>>>>     - 47 new test cases for glob_match covering escapes, inverted
>>>>       ranges, caret negation, edge cases, and unclosed brackets.
>>>>     - 11 test cases for glob_match_nocase.
>>>>     - 17 test cases for glob_validate.
>>>> 
>>>> Patch 8 adds a real in-tree caller for glob_validate() in the kunit
>>>> executor, validating user-provided filter_glob patterns and returning
>>>> -EINVAL for malformed ones.
>>>> 
>>>> Changes since v3:
>>>>     - Resend: v3 accidentally included stale v2 patch files in the
>>>>       same email thread.  No code changes from v3.
>>>> 
>>>> Changes since v2:
>>>>     - Fixed missing '^' in __glob_match metacharacter comment (patch 4).
>>>>     - Dropped unnecessary braces in glob_validate case '[' (patch 5).
>>>>     - Added real-world example to glob_validate() commit message (patch 5).
>>>> 
>>>> Changes since v1:
>>>>     - Added patch 8 (kunit executor caller for glob_validate).
>>>>     - Updated glob_match_nocase() commit message to reference the ATA
>>>>       denylist as the intended caller (follow-up patch).
>>>> 
>>>> Josh Law (8):
>>>>     lib/glob: normalize inverted character class ranges
>>>>     lib/glob: treat trailing backslash as literal character
>>>>     lib/glob: accept [^...] as character class negation syntax
>>>>     lib/glob: add case-insensitive glob_match_nocase()
>>>>     lib/glob: add glob_validate() for pattern syntax checking
>>>>     lib/tests: add glob test cases for escapes, edge cases, and new
>>>>       features
>>>>     lib/tests: add kunit tests for glob_match_nocase() and glob_validate()
>>>>     kunit: validate glob filter patterns before use
>>>> 
>>>>    include/linux/glob.h   |   2 +
>>>>    lib/glob.c             | 123 ++++++++++++++++++++++++++++++++++++----
>>>>    lib/kunit/executor.c   |  13 +++++
>>>>    lib/tests/glob_kunit.c | 124 +++++++++++++++++++++++++++++++++++++++++
>>>>    4 files changed, 252 insertions(+), 10 deletions(-)
>>>> 
>>> 
>>> Thanks: always good to have better test coverage (and those are some nasty corner cases!)
>>> 
>>> Series is:
>>> 
>>> Acked-by: David Gow <david@davidgow.net>
>>> Tested-by: David Gow <david@davidgow.net>
>>> 
>>> I'm making the assumption that this is going in via mm-nonmm, not the kselftest/kunit tree, as it has dependencies in that branch.
>>> 
>>> Cheers,
>>> -- David
>>> 
>> 
>> 
>> Also, David? You mean the *ENTIRE* series as in the code too (the new functions) Or just your kunit changes
>> 
>
>I only really need to Ack the KUnit changes, but I did test the entire series, so feel free to apply it to all of them.
>
>Cheers,
>-- David
>


Hello David, So the new functions are perfectly fine? I mean code review wise I think they are, and I have tested them with a stash driver..

So I guess also


Tested-by: Josh Law <objecting@objecting.org>
Re: [PATCH v4 0/8] lib/glob: bug fixes, new features, and tests
Posted by Josh Law 3 weeks, 2 days ago

On 17 March 2026 07:19:47 GMT, David Gow <david@davidgow.net> wrote:
>Hi Josh,
>
>Le 16/03/2026 à 5:17 AM, Josh Law a écrit :
>> Bug fixes, extensions, and test coverage for lib/glob.c:
>> 
>> Patches 1-3 fix corner cases in the existing glob_match():
>>    - Inverted character class ranges like [z-a] are now normalized
>>      instead of silently failing to match.
>>    - A trailing backslash is treated as a literal '\' rather than
>>      reading past the end of the pattern string.
>>    - [^...] is accepted as an alias for [!...] to match the
>>      regex-style negation syntax documented in glob(7).
>> 
>> Patches 4-5 add two new utility functions:
>>    - glob_match_nocase() for case-insensitive matching, useful for
>>      subsystems like ATA that need case-folded denylist comparisons.
>>    - glob_validate() for checking pattern syntax before use, so
>>      callers can reject malformed patterns early with a clear error.
>> 
>> Patches 6-7 add kunit test coverage:
>>    - 47 new test cases for glob_match covering escapes, inverted
>>      ranges, caret negation, edge cases, and unclosed brackets.
>>    - 11 test cases for glob_match_nocase.
>>    - 17 test cases for glob_validate.
>> 
>> Patch 8 adds a real in-tree caller for glob_validate() in the kunit
>> executor, validating user-provided filter_glob patterns and returning
>> -EINVAL for malformed ones.
>> 
>> Changes since v3:
>>    - Resend: v3 accidentally included stale v2 patch files in the
>>      same email thread.  No code changes from v3.
>> 
>> Changes since v2:
>>    - Fixed missing '^' in __glob_match metacharacter comment (patch 4).
>>    - Dropped unnecessary braces in glob_validate case '[' (patch 5).
>>    - Added real-world example to glob_validate() commit message (patch 5).
>> 
>> Changes since v1:
>>    - Added patch 8 (kunit executor caller for glob_validate).
>>    - Updated glob_match_nocase() commit message to reference the ATA
>>      denylist as the intended caller (follow-up patch).
>> 
>> Josh Law (8):
>>    lib/glob: normalize inverted character class ranges
>>    lib/glob: treat trailing backslash as literal character
>>    lib/glob: accept [^...] as character class negation syntax
>>    lib/glob: add case-insensitive glob_match_nocase()
>>    lib/glob: add glob_validate() for pattern syntax checking
>>    lib/tests: add glob test cases for escapes, edge cases, and new
>>      features
>>    lib/tests: add kunit tests for glob_match_nocase() and glob_validate()
>>    kunit: validate glob filter patterns before use
>> 
>>   include/linux/glob.h   |   2 +
>>   lib/glob.c             | 123 ++++++++++++++++++++++++++++++++++++----
>>   lib/kunit/executor.c   |  13 +++++
>>   lib/tests/glob_kunit.c | 124 +++++++++++++++++++++++++++++++++++++++++
>>   4 files changed, 252 insertions(+), 10 deletions(-)
>> 
>
>Thanks: always good to have better test coverage (and those are some nasty corner cases!)
>
>Series is:
>
>Acked-by: David Gow <david@davidgow.net>
>Tested-by: David Gow <david@davidgow.net>
>
>I'm making the assumption that this is going in via mm-nonmm, not the kselftest/kunit tree, as it has dependencies in that branch.
>
>Cheers,
>-- David
>


Cheers David!

Have a great day!


V/R

Josh Law