From: James Hilliard <james.hilliard1@gmail.com>
To: buildroot@buildroot.org
Cc: James Hilliard <james.hilliard1@gmail.com>
Subject: [Buildroot] [PATCH 1/1] package/gawk: fix double free during kernel build
Date: Sun, 30 Oct 2022 15:54:58 -0600 [thread overview]
Message-ID: <20221030215458.3773991-1-james.hilliard1@gmail.com> (raw)
Backport an upstream patch to fix a crash during kernel build.
Details: https://bugs.gentoo.org/868567
Fixes:
GEN /home/buildroot/buildroot/output/build/linux-6.0.6/tools/objtool/arch/x86/lib/inat-tables.c
free(): double free detected in tcache 2
Aborted
Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
---
.../0002-Fix-a-bug-with-Node_elem_new.patch | 155 ++++++++++++++++++
1 file changed, 155 insertions(+)
create mode 100644 package/gawk/0002-Fix-a-bug-with-Node_elem_new.patch
diff --git a/package/gawk/0002-Fix-a-bug-with-Node_elem_new.patch b/package/gawk/0002-Fix-a-bug-with-Node_elem_new.patch
new file mode 100644
index 0000000000..502f7dcd95
--- /dev/null
+++ b/package/gawk/0002-Fix-a-bug-with-Node_elem_new.patch
@@ -0,0 +1,155 @@
+From baab183439ff4e0c6b77d62156d447e61fc1dcfb Mon Sep 17 00:00:00 2001
+From: "Arnold D. Robbins" <arnold@skeeve.com>
+Date: Wed, 14 Sep 2022 21:08:59 +0300
+Subject: [PATCH] Fix a bug with Node_elem_new.
+
+Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
+[james.hilliard1@gmail.com: backport from upstream commit
+baab183439ff4e0c6b77d62156d447e61fc1dcfb]
+---
+ ChangeLog | 8 ++++++++
+ interpret.h | 1 +
+ test/ChangeLog | 5 +++++
+ test/Makefile.am | 4 +++-
+ test/Makefile.in | 9 ++++++++-
+ test/Maketests | 5 +++++
+ test/elemnew1.awk | 9 +++++++++
+ test/elemnew1.ok | 0
+ 8 files changed, 39 insertions(+), 2 deletions(-)
+ create mode 100644 test/elemnew1.awk
+ create mode 100644 test/elemnew1.ok
+
+diff --git a/ChangeLog b/ChangeLog
+index 5fb25483..cd9d9fcd 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,11 @@
++2022-09-14 Arnold D. Robbins <arnold@skeeve.com>
++
++ * interpret.h (r_interpret): For the `push' opcodes, upref
++ the Node_elem_new. See test case elemnew1. Thanks to
++ Emanuel Attila Czirai <corre.a.buscar@gmail.com> for the report,
++ and to Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
++ for the fix.
++
+ 2022-09-04 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 5.2.0: Release tar ball made.
+diff --git a/interpret.h b/interpret.h
+index 57d060e6..268655b2 100644
+--- a/interpret.h
++++ b/interpret.h
+@@ -238,6 +238,7 @@ uninitialized_scalar:
+ _("reference to uninitialized argument `%s'") :
+ _("reference to uninitialized variable `%s'"),
+ save_symbol->vname);
++ UPREF(m);
+ PUSH(m);
+ break;
+
+diff --git a/test/ChangeLog b/test/ChangeLog
+index a73637bf..ea08edee 100644
+--- a/test/ChangeLog
++++ b/test/ChangeLog
+@@ -1,3 +1,8 @@
++2022-09-14 Arnold D. Robbins <arnold@skeeve.com>
++
++ * Makefile.am (EXTRA_DIST): New test: elemnew1.
++ * elemnew1.awk, elemnew1.ok: New files.
++
+ 2022-09-04 Arnold D. Robbins <arnold@skeeve.com>
+
+ * 5.2.0: Release tar ball made.
+diff --git a/test/Makefile.am b/test/Makefile.am
+index ab06974c..8a5c3c49 100644
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -282,6 +282,8 @@ EXTRA_DIST = \
+ dumpvars.ok \
+ dynlj.awk \
+ dynlj.ok \
++ elemnew1.awk \
++ elemnew1.ok \
+ escapebrace.awk \
+ escapebrace.in \
+ escapebrace.ok \
+@@ -1480,7 +1482,7 @@ GAWK_EXT_TESTS = \
+ binmode1 charasbytes clos1way clos1way2 clos1way3 clos1way4 \
+ clos1way5 clos1way6 colonwarn commas crlf dbugeval dbugeval2 \
+ dbugeval3 dbugtypedre1 dbugtypedre2 delsub devfd devfd1 devfd2 \
+- dfacheck1 dumpvars errno exit fieldwdth forcenum fpat1 fpat2 \
++ dfacheck1 dumpvars elemnew1 errno exit fieldwdth forcenum fpat1 fpat2 \
+ fpat3 fpat4 fpat5 fpat6 fpat7 fpat8 fpat9 fpatnull fsfwfs functab1 \
+ functab2 functab3 functab6 funlen fwtest fwtest2 fwtest3 fwtest4 \
+ fwtest5 fwtest6 fwtest7 fwtest8 genpot gensub gensub2 gensub3 \
+diff --git a/test/Makefile.in b/test/Makefile.in
+index 834feb09..a4fb1cc1 100644
+--- a/test/Makefile.in
++++ b/test/Makefile.in
+@@ -550,6 +550,8 @@ EXTRA_DIST = \
+ dumpvars.ok \
+ dynlj.awk \
+ dynlj.ok \
++ elemnew1.awk \
++ elemnew1.ok \
+ escapebrace.awk \
+ escapebrace.in \
+ escapebrace.ok \
+@@ -1748,7 +1750,7 @@ GAWK_EXT_TESTS = \
+ binmode1 charasbytes clos1way clos1way2 clos1way3 clos1way4 \
+ clos1way5 clos1way6 colonwarn commas crlf dbugeval dbugeval2 \
+ dbugeval3 dbugtypedre1 dbugtypedre2 delsub devfd devfd1 devfd2 \
+- dfacheck1 dumpvars errno exit fieldwdth forcenum fpat1 fpat2 \
++ dfacheck1 dumpvars elemnew1 errno exit fieldwdth forcenum fpat1 fpat2 \
+ fpat3 fpat4 fpat5 fpat6 fpat7 fpat8 fpat9 fpatnull fsfwfs functab1 \
+ functab2 functab3 functab6 funlen fwtest fwtest2 fwtest3 fwtest4 \
+ fwtest5 fwtest6 fwtest7 fwtest8 genpot gensub gensub2 gensub3 \
+@@ -4476,6 +4478,11 @@ dfacheck1:
+ @-AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
++elemnew1:
++ @echo $@
++ @-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
++
+ exit:
+ @echo $@
+ @-$(LOCALES) AWK="$(AWKPROG)" "$(srcdir)"/$@.sh > _$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+diff --git a/test/Maketests b/test/Maketests
+index 3a667af8..90828e7f 100644
+--- a/test/Maketests
++++ b/test/Maketests
+@@ -1432,6 +1432,11 @@ dfacheck1:
+ @-AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
+
++elemnew1:
++ @echo $@
++ @-AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
++ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
++
+ exit:
+ @echo $@
+ @-$(LOCALES) AWK="$(AWKPROG)" "$(srcdir)"/$@.sh > _$@ 2>&1 || echo EXIT CODE: $$? >>_$@
+diff --git a/test/elemnew1.awk b/test/elemnew1.awk
+new file mode 100644
+index 00000000..58dc9fcd
+--- /dev/null
++++ b/test/elemnew1.awk
+@@ -0,0 +1,9 @@
++function add_flags(old) {
++ if (old)
++ return 0
++ if (!old)
++ return 1
++}
++BEGIN {
++ a[0]=add_flags(a[0])
++}
+diff --git a/test/elemnew1.ok b/test/elemnew1.ok
+new file mode 100644
+index 00000000..e69de29b
+--
+2.34.1
+
--
2.34.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
next reply other threads:[~2022-10-30 21:55 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-30 21:54 James Hilliard [this message]
2022-10-31 7:50 ` [Buildroot] [PATCH 1/1] package/gawk: fix double free during kernel build Yann E. MORIN
2022-10-31 14:34 ` Yann E. MORIN
2022-11-13 16:10 ` Peter Korsgaard
2022-11-13 16:32 ` James Hilliard
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=20221030215458.3773991-1-james.hilliard1@gmail.com \
--to=james.hilliard1@gmail.com \
--cc=buildroot@buildroot.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 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.