All of lore.kernel.org
 help / color / mirror / Atom feed
* + lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch added to mm-nonmm-unstable branch
@ 2026-03-12 20:19 Andrew Morton
  2026-03-12 20:21 ` Josh Law
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2026-03-12 20:19 UTC (permalink / raw)
  To: mm-commits, mhiramat, akpm, objecting, akpm


The patch titled
     Subject: lib/bootconfig: check bounds before writing in __xbc_open_brace()
has been added to the -mm mm-nonmm-unstable branch.  Its filename is
     lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch

This patch will shortly appear at
     https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch

This patch will later appear in the mm-nonmm-unstable branch at
    git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***

The -mm tree is included into linux-next via various
branches at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
and is updated there most days

------------------------------------------------------
From: Josh Law <objecting@objecting.org>
Subject: lib/bootconfig: check bounds before writing in __xbc_open_brace()
Date: Thu, 12 Mar 2026 19:11:42 +0000

The bounds check for brace_index happens after the array write.  While the
current call pattern prevents an actual out-of-bounds access (the previous
call would have returned an error), the write-before-check pattern is
fragile and would become a real out-of-bounds write if the error return
were ever not propagated.

Move the bounds check before the array write so the function is
self-contained and safe regardless of caller behavior.

Link: https://lkml.kernel.org/r/20260312191143.28719-3-objecting@objecting.org
Signed-off-by: Josh Law <objecting@objecting.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 lib/bootconfig.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/lib/bootconfig.c~lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace
+++ a/lib/bootconfig.c
@@ -532,9 +532,9 @@ static char *skip_spaces_until_newline(c
 static int __init __xbc_open_brace(char *p)
 {
 	/* Push the last key as open brace */
-	open_brace[brace_index++] = xbc_node_index(last_parent);
 	if (brace_index >= XBC_DEPTH_MAX)
 		return xbc_parse_error("Exceed max depth of braces", p);
+	open_brace[brace_index++] = xbc_node_index(last_parent);
 
 	return 0;
 }
_

Patches currently in -mm which might be from objecting@objecting.org are

lib-maple_tree-fix-swapped-arguments-in-mas_safe_pivot-call.patch
lib-glob-fix-grammar-and-replace-non-inclusive-terminology.patch
lib-glob-add-explicit-include-for-exporth.patch
lib-glob-replace-bitwise-or-with-logical-operation-on-boolean.patch
lib-glob-clean-up-bool-abuse-in-pointer-arithmetic.patch
lib-uuid-fix-typo-reversion-to-revision-in-comment.patch
lib-inflate-fix-memory-leak-in-inflate_fixed-on-inflate_codes-failure.patch
lib-inflate-fix-memory-leak-in-inflate_dynamic-on-inflate_codes-failure.patch
lib-inflate-fix-grammar-in-comment-variable-to-variables.patch
lib-inflate-fix-typo-this-results-to-the-results-in-comment.patch
lib-bug-fix-inconsistent-capitalization-in-bug-message.patch
lib-bug-remove-unnecessary-variable-initializations.patch
lib-idr-fix-ida_find_first_range-missing-ids-across-chunk-boundaries.patch
lib-decompress_bunzip2-fix-32-bit-shift-undefined-behavior.patch
maintainers-add-josh-law-as-reviewer-for-library-code.patch
lib-bootconfig-fix-typo-budy-in-_xbc_exit-comment.patch
lib-ts_bm-fix-integer-overflow-in-pattern-length-calculation.patch
lib-ts_kmp-fix-integer-overflow-in-pattern-length-calculation.patch
lib-bootconfig-fix-off-by-one-in-xbc_verify_tree-unclosed-brace-error.patch
lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch
lib-bootconfig-fix-snprintf-truncation-check-in-xbc_node_compose_key_after.patch


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: + lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch added to mm-nonmm-unstable branch
  2026-03-12 20:19 + lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch added to mm-nonmm-unstable branch Andrew Morton
@ 2026-03-12 20:21 ` Josh Law
  2026-03-12 20:37   ` Josh Law
  0 siblings, 1 reply; 3+ messages in thread
From: Josh Law @ 2026-03-12 20:21 UTC (permalink / raw)
  To: Andrew Morton; +Cc: mm-commits, mhiramat, objecting

12 Mar 2026 20:19:23 Andrew Morton <akpm@linux-foundation.org>:

>
> The patch titled
>      Subject: lib/bootconfig: check bounds before writing in __xbc_open_brace()
> has been added to the -mm mm-nonmm-unstable branch.  Its filename is
>      lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch
>
> This patch will shortly appear at
>      https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch
>
> This patch will later appear in the mm-nonmm-unstable branch at
>     git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
>
> Before you just go and hit "reply", please:
>    a) Consider who else should be cc'ed
>    b) Prefer to cc a suitable mailing list as well
>    c) Ideally: find the original patch on the mailing list and do a
>       reply-to-all to that, adding suitable additional cc's
>
> *** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
>
> The -mm tree is included into linux-next via various
> branches at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
> and is updated there most days
>
> ------------------------------------------------------
> From: Josh Law <objecting@objecting.org>
> Subject: lib/bootconfig: check bounds before writing in __xbc_open_brace()
> Date: Thu, 12 Mar 2026 19:11:42 +0000
>
> The bounds check for brace_index happens after the array write.  While the
> current call pattern prevents an actual out-of-bounds access (the previous
> call would have returned an error), the write-before-check pattern is
> fragile and would become a real out-of-bounds write if the error return
> were ever not propagated.
>
> Move the bounds check before the array write so the function is
> self-contained and safe regardless of caller behavior.
>
> Link: https://lkml.kernel.org/r/20260312191143.28719-3-objecting@objecting.org
> Signed-off-by: Josh Law <objecting@objecting.org>
> Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
> Cc: Masami Hiramatsu <mhiramat@kernel.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
>
> lib/bootconfig.c |    2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/lib/bootconfig.c~lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace
> +++ a/lib/bootconfig.c
> @@ -532,9 +532,9 @@ static char *skip_spaces_until_newline(c
> static int __init __xbc_open_brace(char *p)
> {
>     /* Push the last key as open brace */
> -   open_brace[brace_index++] = xbc_node_index(last_parent);
>     if (brace_index >= XBC_DEPTH_MAX)
>         return xbc_parse_error("Exceed max depth of braces", p);
> +   open_brace[brace_index++] = xbc_node_index(last_parent);
>
>     return 0;
> }
> _
>
> Patches currently in -mm which might be from objecting@objecting.org are
>
> lib-maple_tree-fix-swapped-arguments-in-mas_safe_pivot-call.patch
> lib-glob-fix-grammar-and-replace-non-inclusive-terminology.patch
> lib-glob-add-explicit-include-for-exporth.patch
> lib-glob-replace-bitwise-or-with-logical-operation-on-boolean.patch
> lib-glob-clean-up-bool-abuse-in-pointer-arithmetic.patch
> lib-uuid-fix-typo-reversion-to-revision-in-comment.patch
> lib-inflate-fix-memory-leak-in-inflate_fixed-on-inflate_codes-failure.patch
> lib-inflate-fix-memory-leak-in-inflate_dynamic-on-inflate_codes-failure.patch
> lib-inflate-fix-grammar-in-comment-variable-to-variables.patch
> lib-inflate-fix-typo-this-results-to-the-results-in-comment.patch
> lib-bug-fix-inconsistent-capitalization-in-bug-message.patch
> lib-bug-remove-unnecessary-variable-initializations.patch
> lib-idr-fix-ida_find_first_range-missing-ids-across-chunk-boundaries.patch
> lib-decompress_bunzip2-fix-32-bit-shift-undefined-behavior.patch
> maintainers-add-josh-law-as-reviewer-for-library-code.patch
> lib-bootconfig-fix-typo-budy-in-_xbc_exit-comment.patch
> lib-ts_bm-fix-integer-overflow-in-pattern-length-calculation.patch
> lib-ts_kmp-fix-integer-overflow-in-pattern-length-calculation.patch
> lib-bootconfig-fix-off-by-one-in-xbc_verify_tree-unclosed-brace-error.patch
> lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch
> lib-bootconfig-fix-snprintf-truncation-check-in-xbc_node_compose_key_after.patch

Hi Andrew, before you complain about the other patches, "email" situation,



Tomorrow I'll properly setup objecting@objecting.org to be able to send emails, to mitigate this, thanks for the understanding

V/R



Josh Law

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: + lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch added to mm-nonmm-unstable branch
  2026-03-12 20:21 ` Josh Law
@ 2026-03-12 20:37   ` Josh Law
  0 siblings, 0 replies; 3+ messages in thread
From: Josh Law @ 2026-03-12 20:37 UTC (permalink / raw)
  To: Andrew Morton; +Cc: mm-commits, mhiramat, objecting

12 Mar 2026 20:21:56 Josh Law <hlcj1234567@gmail.com>:

> 12 Mar 2026 20:19:23 Andrew Morton <akpm@linux-foundation.org>:
>
>>
>> The patch titled
>>      Subject: lib/bootconfig: check bounds before writing in __xbc_open_brace()
>> has been added to the -mm mm-nonmm-unstable branch.  Its filename is
>>      lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch
>>
>> This patch will shortly appear at
>>      https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch
>>
>> This patch will later appear in the mm-nonmm-unstable branch at
>>     git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
>>
>> Before you just go and hit "reply", please:
>>    a) Consider who else should be cc'ed
>>    b) Prefer to cc a suitable mailing list as well
>>    c) Ideally: find the original patch on the mailing list and do a
>>       reply-to-all to that, adding suitable additional cc's
>>
>> *** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
>>
>> The -mm tree is included into linux-next via various
>> branches at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
>> and is updated there most days
>>
>> ------------------------------------------------------
>> From: Josh Law <objecting@objecting.org>
>> Subject: lib/bootconfig: check bounds before writing in __xbc_open_brace()
>> Date: Thu, 12 Mar 2026 19:11:42 +0000
>>
>> The bounds check for brace_index happens after the array write.  While the
>> current call pattern prevents an actual out-of-bounds access (the previous
>> call would have returned an error), the write-before-check pattern is
>> fragile and would become a real out-of-bounds write if the error return
>> were ever not propagated.
>>
>> Move the bounds check before the array write so the function is
>> self-contained and safe regardless of caller behavior.
>>
>> Link: https://lkml.kernel.org/r/20260312191143.28719-3-objecting@objecting.org
>> Signed-off-by: Josh Law <objecting@objecting.org>
>> Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Masami Hiramatsu <mhiramat@kernel.org>
>> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>> ---
>>
>> lib/bootconfig.c |    2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> --- a/lib/bootconfig.c~lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace
>> +++ a/lib/bootconfig.c
>> @@ -532,9 +532,9 @@ static char *skip_spaces_until_newline(c
>> static int __init __xbc_open_brace(char *p)
>> {
>>     /* Push the last key as open brace */
>> -   open_brace[brace_index++] = xbc_node_index(last_parent);
>>     if (brace_index >= XBC_DEPTH_MAX)
>>         return xbc_parse_error("Exceed max depth of braces", p);
>> +   open_brace[brace_index++] = xbc_node_index(last_parent);
>>
>>     return 0;
>> }
>> _
>>
>> Patches currently in -mm which might be from objecting@objecting.org are
>>
>> lib-maple_tree-fix-swapped-arguments-in-mas_safe_pivot-call.patch
>> lib-glob-fix-grammar-and-replace-non-inclusive-terminology.patch
>> lib-glob-add-explicit-include-for-exporth.patch
>> lib-glob-replace-bitwise-or-with-logical-operation-on-boolean.patch
>> lib-glob-clean-up-bool-abuse-in-pointer-arithmetic.patch
>> lib-uuid-fix-typo-reversion-to-revision-in-comment.patch
>> lib-inflate-fix-memory-leak-in-inflate_fixed-on-inflate_codes-failure.patch
>> lib-inflate-fix-memory-leak-in-inflate_dynamic-on-inflate_codes-failure.patch
>> lib-inflate-fix-grammar-in-comment-variable-to-variables.patch
>> lib-inflate-fix-typo-this-results-to-the-results-in-comment.patch
>> lib-bug-fix-inconsistent-capitalization-in-bug-message.patch
>> lib-bug-remove-unnecessary-variable-initializations.patch
>> lib-idr-fix-ida_find_first_range-missing-ids-across-chunk-boundaries.patch
>> lib-decompress_bunzip2-fix-32-bit-shift-undefined-behavior.patch
>> maintainers-add-josh-law-as-reviewer-for-library-code.patch
>> lib-bootconfig-fix-typo-budy-in-_xbc_exit-comment.patch
>> lib-ts_bm-fix-integer-overflow-in-pattern-length-calculation.patch
>> lib-ts_kmp-fix-integer-overflow-in-pattern-length-calculation.patch
>> lib-bootconfig-fix-off-by-one-in-xbc_verify_tree-unclosed-brace-error.patch
>> lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch
>> lib-bootconfig-fix-snprintf-truncation-check-in-xbc_node_compose_key_after.patch
>
> Hi Andrew, before you complain about the other patches, "email" situation,
>
>
>
> Tomorrow I'll properly setup objecting@objecting.org to be able to send emails, to mitigate this, thanks for the understanding
>
> V/R
>
>
>
> Josh Law

Also btw there indeed are other patches


---- uuid ----
https://lore.kernel.org/all/20260312184113.23564-1-objecting@objecting.org/


----maple_tree------
https://lore.kernel.org/all/20260312184054.23481-1-objecting@objecting.org/
https://lore.kernel.org/all/20260312184054.23481-2-objecting@objecting.org/



------ldr----
https://lore.kernel.org/all/20260312181948.20020-1-objecting@objecting.org/
https://lore.kernel.org/all/20260312181948.20020-2-objecting@objecting.org/
https://lore.kernel.org/all/20260312181948.20020-3-objecting@objecting.org/


(Yeah I was working loads today, I got a new server and I decided to help lib some more)

#libforever

V/R

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-03-12 20:37 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-12 20:19 + lib-bootconfig-check-bounds-before-writing-in-__xbc_open_brace.patch added to mm-nonmm-unstable branch Andrew Morton
2026-03-12 20:21 ` Josh Law
2026-03-12 20:37   ` Josh Law

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.