[OE-core] [meta-oe][PATCH] lzo: add CVE_PRODUCT

2021-08-18 Thread Marta Rybczynska
lzo was missing CVE_PRODUCT and related CVEs (at least CVE-2014-4607) were
not reported.

Signed-off-by: Marta Rybczynska 
---
 meta/recipes-support/lzo/lzo_2.10.bb | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/recipes-support/lzo/lzo_2.10.bb 
b/meta/recipes-support/lzo/lzo_2.10.bb
index 85b14b3c5c..31a229c7f5 100644
--- a/meta/recipes-support/lzo/lzo_2.10.bb
+++ b/meta/recipes-support/lzo/lzo_2.10.bb
@@ -18,6 +18,8 @@ SRC_URI[sha256sum] = 
"c0f892943208266f9b6543b3ae308fab6284c5c90e627931446fb49b42
 
 inherit autotools ptest
 
+CVE_PRODUCT = "oberhumer:lzo2"
+
 EXTRA_OECONF = "--enable-shared"
 
 do_install_ptest() {
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154960): 
https://lists.openembedded.org/g/openembedded-core/message/154960
Mute This Topic: https://lists.openembedded.org/mt/84991228/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/2] python3-hypothesis: upgrade 6.14.5 -> 6.14.8

2021-08-18 Thread Tim Orling
6.14.8 - 2021-08-16
This patch ensures that registering a strategy for a subclass of a
parametrised generic type such as class Lines(Sequence[str]): will not
“leak” into unrelated strategies such as st.from_type(Sequence[int])
(issue #2951). Unfortunately this fix requires PEP 560, meaning Python
3.7 or later.

6.14.7 - 2021-08-14
This patch fixes issue #3050, where attrs classes could cause an internal
error in the ghostwriter.

6.14.6 - 2021-08-07
This patch improves the error message for issue #3016, where PEP 585 builtin
generics with self-referential forward-reference strings cannot be resolved
to a strategy by from_type().

References:
https://github.com/HypothesisWorks/hypothesis/issues/2951
https://www.python.org/dev/peps/pep-0560
https://github.com/HypothesisWorks/hypothesis/issues/3050
https://www.python.org/dev/peps/pep-0585

Signed-off-by: Tim Orling 
---
 ...ython3-hypothesis_6.14.5.bb => python3-hypothesis_6.14.8.bb} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-devtools/python/{python3-hypothesis_6.14.5.bb => 
python3-hypothesis_6.14.8.bb} (85%)

diff --git a/meta/recipes-devtools/python/python3-hypothesis_6.14.5.bb 
b/meta/recipes-devtools/python/python3-hypothesis_6.14.8.bb
similarity index 85%
rename from meta/recipes-devtools/python/python3-hypothesis_6.14.5.bb
rename to meta/recipes-devtools/python/python3-hypothesis_6.14.8.bb
index 0460a43198..bc29b94a54 100644
--- a/meta/recipes-devtools/python/python3-hypothesis_6.14.5.bb
+++ b/meta/recipes-devtools/python/python3-hypothesis_6.14.8.bb
@@ -7,7 +7,7 @@ PYPI_PACKAGE = "hypothesis"
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = 
"0563b9711fd9bf478cb591580a575c369d2c396f283efa85d0f9a75b26db65b5"
+SRC_URI[sha256sum] = 
"cb80e06ca44992b08d2889734b740e67c8b41337315bbd6dba2ef43ca816cfe3"
 
 RDEPENDS:${PN} += " \
 python3-attrs \
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154959): 
https://lists.openembedded.org/g/openembedded-core/message/154959
Mute This Topic: https://lists.openembedded.org/mt/84990368/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 1/2] python3-importlib-metadata: upgrade 4.6.3 -> 4.6.4

2021-08-18 Thread Tim Orling
v4.6.4
  Issue 334: Correct SimplePath protocol to match pathlib protocol
  for __truediv__.

References:
https://github.com/python/importlib_metadata/issues/334

Signed-off-by: Tim Orling 
---
 ...ib-metadata_4.6.3.bb => python3-importlib-metadata_4.6.4.bb} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 rename meta/recipes-devtools/python/{python3-importlib-metadata_4.6.3.bb => 
python3-importlib-metadata_4.6.4.bb} (88%)

diff --git a/meta/recipes-devtools/python/python3-importlib-metadata_4.6.3.bb 
b/meta/recipes-devtools/python/python3-importlib-metadata_4.6.4.bb
similarity index 88%
rename from meta/recipes-devtools/python/python3-importlib-metadata_4.6.3.bb
rename to meta/recipes-devtools/python/python3-importlib-metadata_4.6.4.bb
index 198138af7b..e5aad991e4 100644
--- a/meta/recipes-devtools/python/python3-importlib-metadata_4.6.3.bb
+++ b/meta/recipes-devtools/python/python3-importlib-metadata_4.6.4.bb
@@ -8,7 +8,7 @@ inherit pypi setuptools3
 PYPI_PACKAGE = "importlib_metadata"
 UPSTREAM_CHECK_REGEX = "/importlib-metadata/(?P(\d+[\.\-_]*)+)/"
 
-SRC_URI[sha256sum] = 
"0645585859e9a6689c523927a5032f2ba5919f1f7d0e84bd4533312320de1ff9"
+SRC_URI[sha256sum] = 
"7b30a78db2922d78a6f47fb30683156a14f3c6aa5cc23f77cc8967e9ab2d002f"
 
 S = "${WORKDIR}/importlib_metadata-${PV}"
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154958): 
https://lists.openembedded.org/g/openembedded-core/message/154958
Mute This Topic: https://lists.openembedded.org/mt/84990366/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH] glibc: Fix CVE-2021-35942

2021-08-18 Thread Vinay Kumar
Hi Khem Raj,

FYI, the patch is committed in hardknott branch,
https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?h=hardknott&id=9df882ce6835692774c649405fcb474ea0eacda4

Regards,
Vinay

On Mon, Aug 16, 2021 at 8:45 PM Khem Raj  wrote:
>
> On Mon, Aug 16, 2021 at 1:59 AM Vinay Kumar  wrote:
> >
> > Hi Khen Raj,
> >
> > The patch for hardknott branch was also submitted.
> > https://lists.openembedded.org/g/openembedded-core/message/154810
>
> OK, now we have glibc 2.34 in master so the master version is not
> needed anymore but we still should pursue the hardknott version.
> Please bring it to hardknott maintainer's attention if need be.
>
> >
> > Regards,
> > Vinay
> >
> > On Sun, Aug 15, 2021 at 11:01 PM Khem Raj  wrote:
> > >
> > > On Sun, Aug 15, 2021 at 2:19 AM Alexandre Belloni
> > >  wrote:
> > > >
> > > > Hello,
> > > >
> > > > On 15/08/2021 13:19:33+0530, Vinay Kumar wrote:
> > > > > Hi Richard,
> > > > >
> > > > > Any update on the above patch.
> > > > > Please let me know if anything is pending from my side.
> > > > >
> > > >
> > > > I didn't test because the plan is to switch to glibc2.34 which IIRC has
> > > > the fix.
> > >
> > > We perhaps still need it for hardknott.
> > >
> > > >
> > > > > Regards,
> > > > > Vinay
> > > > >
> > > > > On Wed, Jul 28, 2021 at 1:22 PM Vinay Kumar  
> > > > > wrote:
> > > > > >
> > > > > > Source: https://sourceware.org/git/glibc.git
> > > > > > Tracking -- https://sourceware.org/bugzilla/show_bug.cgi?id=28011
> > > > > >
> > > > > > Backported upstream commit 5adda61f62b77384718b4c0d8336ade8f2b4b35c 
> > > > > > to
> > > > > > glibc-2.33 source.
> > > > > >
> > > > > > Upstream-Status: Backport 
> > > > > > [https://sourceware.org/git/?p=glibc.git;a=commit;h=5adda61f62b77384718b4c0d8336ade8f2b4b35c]
> > > > > >
> > > > > > Signed-off-by: Vinay Kumar 
> > > > > > ---
> > > > > >  .../glibc/glibc/CVE-2021-35942.patch  | 44 
> > > > > > +++
> > > > > >  meta/recipes-core/glibc/glibc_2.33.bb |  1 +
> > > > > >  2 files changed, 45 insertions(+)
> > > > > >  create mode 100644 
> > > > > > meta/recipes-core/glibc/glibc/CVE-2021-35942.patch
> > > > > >
> > > > > > diff --git a/meta/recipes-core/glibc/glibc/CVE-2021-35942.patch 
> > > > > > b/meta/recipes-core/glibc/glibc/CVE-2021-35942.patch
> > > > > > new file mode 100644
> > > > > > index 00..5cae1bc91c
> > > > > > --- /dev/null
> > > > > > +++ b/meta/recipes-core/glibc/glibc/CVE-2021-35942.patch
> > > > > > @@ -0,0 +1,44 @@
> > > > > > +From 5adda61f62b77384718b4c0d8336ade8f2b4b35c Mon Sep 17 00:00:00 
> > > > > > 2001
> > > > > > +From: Andreas Schwab 
> > > > > > +Date: Fri, 25 Jun 2021 15:02:47 +0200
> > > > > > +Subject: [PATCH] wordexp: handle overflow in positional parameter 
> > > > > > number (bug
> > > > > > + 28011)
> > > > > > +
> > > > > > +Use strtoul instead of atoi so that overflow can be detected.
> > > > > > +
> > > > > > +Upstream-Status: Backport 
> > > > > > [https://sourceware.org/git/?p=glibc.git;a=commit;h=5adda61f62b77384718b4c0d8336ade8f2b4b35c]
> > > > > > +CVE: CVE-2021-35942
> > > > > > +Signed-off-by: Vinay Kumar 
> > > > > > +---
> > > > > > + posix/wordexp-test.c | 1 +
> > > > > > + posix/wordexp.c  | 2 +-
> > > > > > + 2 files changed, 2 insertions(+), 1 deletion(-)
> > > > > > +
> > > > > > +diff --git a/posix/wordexp-test.c b/posix/wordexp-test.c
> > > > > > +index f93a546d7e..9df02dbbb3 100644
> > > > > > +--- a/posix/wordexp-test.c
> > > > > >  b/posix/wordexp-test.c
> > > > > > +@@ -183,6 +183,7 @@ struct test_case_struct
> > > > > > + { 0, NULL, "$var", 0, 0, { NULL, }, IFS },
> > > > > > + { 0, NULL, "\"\\n\"", 0, 1, { "\\n", }, IFS },
> > > > > > + { 0, NULL, "", 0, 0, { NULL, }, IFS },
> > > > > > ++{ 0, NULL, "${1234567890123456789012}", 0, 0, { NULL, }, IFS 
> > > > > > },
> > > > > > +
> > > > > > + /* Flags not already covered (testit() has special handling 
> > > > > > for these) */
> > > > > > + { 0, NULL, "one two", WRDE_DOOFFS, 2, { "one", "two", }, IFS 
> > > > > > },
> > > > > > +diff --git a/posix/wordexp.c b/posix/wordexp.c
> > > > > > +index bcbe96e48d..1f3b09f721 100644
> > > > > > +--- a/posix/wordexp.c
> > > > > >  b/posix/wordexp.c
> > > > > > +@@ -1399,7 +1399,7 @@ envsubst:
> > > > > > +   /* Is it a numeric parameter? */
> > > > > > +   else if (isdigit (env[0]))
> > > > > > + {
> > > > > > +-  int n = atoi (env);
> > > > > > ++  unsigned long n = strtoul (env, NULL, 10);
> > > > > > +
> > > > > > +   if (n >= __libc_argc)
> > > > > > +   /* Substitute NULL. */
> > > > > > +--
> > > > > > +2.17.1
> > > > > > +
> > > > > > diff --git a/meta/recipes-core/glibc/glibc_2.33.bb 
> > > > > > b/meta/recipes-core/glibc/glibc_2.33.bb
> > > > > > index e9f01a14c5..abb01f8468 100644
> > > > > > --- a/meta/recipes-core/glibc/glibc_2.33.bb
> > > > > > +++ b/meta/recipes-core/glibc/glibc_2.33.bb
> > > > > > @@ -58,6 +58,7 @@ SRC_URI =  
> > > > > > "${GLIBC_GIT_URI};b

[OE-core][PATCH 1/2] arch-arm*: add better support for gcc march extensions

2021-08-18 Thread Jon Mason
GCC has the ability to pass extensions to the march parameter, which
expand the funcationality of the march.  For example
"-march=armv7ve+simd" adds SIMD to ARMv7.  Currently, there is no way to
expand the march setting without modifying each instance, as you can't
guarantee the ordering when using the existing TUNE_CCARGS.  By
introducing two new variables, TUNE_CCARGS_MARCH and
TUNE_CCARGS_MARCH_OPT, we can enforce that these two go together.

Also, expand existing and create new feature files that use these
variables to expand the functionality.

Signed-off-by: Jon Mason 
---
 meta/conf/machine/include/arm/arch-arm.inc |  4 
 meta/conf/machine/include/arm/arch-armv4.inc   |  2 +-
 meta/conf/machine/include/arm/arch-armv5.inc   |  2 +-
 meta/conf/machine/include/arm/arch-armv6.inc   |  2 +-
 meta/conf/machine/include/arm/arch-armv6m.inc  |  2 +-
 meta/conf/machine/include/arm/arch-armv7a.inc  |  2 +-
 meta/conf/machine/include/arm/arch-armv7em.inc |  2 +-
 meta/conf/machine/include/arm/arch-armv7m.inc  |  2 +-
 meta/conf/machine/include/arm/arch-armv7ve.inc |  2 +-
 .../machine/include/arm/arch-armv8-1m-main.inc |  2 +-
 meta/conf/machine/include/arm/arch-armv8-2a.inc|  2 +-
 meta/conf/machine/include/arm/arch-armv8a.inc  |  8 +++-
 meta/conf/machine/include/arm/arch-armv8m-base.inc |  2 +-
 meta/conf/machine/include/arm/arch-armv8m-main.inc | 14 +++---
 meta/conf/machine/include/arm/feature-arm-crc.inc  |  4 
 .../machine/include/arm/feature-arm-crypto.inc |  5 +
 meta/conf/machine/include/arm/feature-arm-dsp.inc  |  2 ++
 meta/conf/machine/include/arm/feature-arm-neon.inc |  5 +
 18 files changed, 37 insertions(+), 27 deletions(-)
 create mode 100644 meta/conf/machine/include/arm/feature-arm-crc.inc
 create mode 100644 meta/conf/machine/include/arm/feature-arm-crypto.inc
 create mode 100644 meta/conf/machine/include/arm/feature-arm-dsp.inc

diff --git a/meta/conf/machine/include/arm/arch-arm.inc 
b/meta/conf/machine/include/arm/arch-arm.inc
index 869089051cb1..f1e92e19c615 100644
--- a/meta/conf/machine/include/arm/arch-arm.inc
+++ b/meta/conf/machine/include/arm/arch-arm.inc
@@ -14,3 +14,7 @@ TUNE_PKGARCH = 
"${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}
 ABIEXTENSION = "eabi"
 
 TARGET_FPU = "${@d.getVar('TUNE_CCARGS_MFLOAT') or 'soft'}"
+
+# Some -march settings need a +X option passed in.  Since we cannot guarantee 
that any specified TUNE_CCARGS option is set in any order, we must hard code 
the order here to allow for it.
+TUNE_CCARGS_MARCH_OPTS ??= ""
+TUNE_CCARGS .= "${TUNE_CCARGS_MARCH}${TUNE_CCARGS_MARCH_OPTS}"
diff --git a/meta/conf/machine/include/arm/arch-armv4.inc 
b/meta/conf/machine/include/arm/arch-armv4.inc
index 4f4a63b28746..be5761fb20b6 100644
--- a/meta/conf/machine/include/arm/arch-armv4.inc
+++ b/meta/conf/machine/include/arm/arch-armv4.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv4"
 
 TUNEVALID[arm] = "Enable ARM instruction set"
 TUNEVALID[armv4] = "Enable instructions for ARMv4"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' 
-march=armv4${ARMPKGSFX_THUMB}', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv4', ' 
-march=armv4${ARMPKGSFX_THUMB}', '', d)}"
 # enable --fix-v4bx when we have armv4 in TUNE_FEATURES, but then disable it 
when we have also armv5 or thumb
 # maybe we should extend bb.utils.contains to support check for any 
checkvalues in value, now it does 
 # checkvalues.issubset(val) which cannot be used for negative test of foo 
neither bar in value
diff --git a/meta/conf/machine/include/arm/arch-armv5.inc 
b/meta/conf/machine/include/arm/arch-armv5.inc
index 5f46992098e3..6bb465e7b627 100644
--- a/meta/conf/machine/include/arm/arch-armv5.inc
+++ b/meta/conf/machine/include/arm/arch-armv5.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv5"
 
 TUNEVALID[armv5] = "Enable instructions for ARMv5"
 TUNECONFLICTS[armv5] = "armv4"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' 
-march=armv5t${ARMPKGSFX_DSP}', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv5', ' 
-march=armv5t${ARMPKGSFX_DSP}', '', d)}"
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv5', 'armv5:', 
'', d)}"
 
 require conf/machine/include/arm/arch-armv4.inc
diff --git a/meta/conf/machine/include/arm/arch-armv6.inc 
b/meta/conf/machine/include/arm/arch-armv6.inc
index 9d2e112b7154..ef8d288ea736 100644
--- a/meta/conf/machine/include/arm/arch-armv6.inc
+++ b/meta/conf/machine/include/arm/arch-armv6.inc
@@ -2,7 +2,7 @@ DEFAULTTUNE ?= "armv6hf"
 
 TUNEVALID[armv6] = "Enable instructions for ARMv6"
 TUNECONFLICTS[armv6] = "armv4 armv5"
-TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' 
-march=armv6', '', d)}"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6', ' 
-march=armv6', '', d)}"
 MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6', 'armv6:', 
'', d)}"
 
 req

[OE-core][PATCH 2/2] tune-cortexr*: add support for all Arm Cortex-R processors

2021-08-18 Thread Jon Mason
Add tune entries for all Arm Cortex-R processors currently supported in
GCC.  Also, add the simd feature, which can be used in ARMv7a and
ARMv8a, but currently isn't.

Signed-off-by: Jon Mason 
---
 meta/conf/machine/include/arm/arch-armv7a.inc |  1 +
 meta/conf/machine/include/arm/arch-armv7r.inc | 22 +++
 meta/conf/machine/include/arm/arch-armv8r.inc | 38 +++
 .../include/arm/armv7r/tune-cortexr4.inc  | 14 +++
 .../include/arm/armv7r/tune-cortexr4f.inc | 14 +++
 .../include/arm/armv7r/tune-cortexr5.inc  | 14 +++
 .../include/arm/armv7r/tune-cortexr7.inc  | 14 +++
 .../include/arm/armv7r/tune-cortexr8.inc  | 14 +++
 .../include/arm/armv8r/tune-cortexr52.inc | 14 +++
 .../machine/include/arm/feature-arm-idiv.inc  |  2 +
 .../machine/include/arm/feature-arm-simd.inc  |  5 +++
 11 files changed, 152 insertions(+)
 create mode 100644 meta/conf/machine/include/arm/arch-armv7r.inc
 create mode 100644 meta/conf/machine/include/arm/arch-armv8r.inc
 create mode 100644 meta/conf/machine/include/arm/armv7r/tune-cortexr4.inc
 create mode 100644 meta/conf/machine/include/arm/armv7r/tune-cortexr4f.inc
 create mode 100644 meta/conf/machine/include/arm/armv7r/tune-cortexr5.inc
 create mode 100644 meta/conf/machine/include/arm/armv7r/tune-cortexr7.inc
 create mode 100644 meta/conf/machine/include/arm/armv7r/tune-cortexr8.inc
 create mode 100644 meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
 create mode 100644 meta/conf/machine/include/arm/feature-arm-idiv.inc
 create mode 100644 meta/conf/machine/include/arm/feature-arm-simd.inc

diff --git a/meta/conf/machine/include/arm/arch-armv7a.inc 
b/meta/conf/machine/include/arm/arch-armv7a.inc
index 0a805b3be26a..74fc8d11ab83 100644
--- a/meta/conf/machine/include/arm/arch-armv7a.inc
+++ b/meta/conf/machine/include/arm/arch-armv7a.inc
@@ -8,6 +8,7 @@ MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 
'armv7a', 'armv7a:',
 
 require conf/machine/include/arm/arch-armv6.inc
 require conf/machine/include/arm/feature-arm-neon.inc
+require conf/machine/include/arm/feature-arm-simd.inc
 
 # Little Endian base configs
 AVAILTUNES += "armv7a armv7at armv7a-vfpv3d16 armv7at-vfpv3d16 armv7a-vfpv3 
armv7at-vfpv3 armv7a-vfpv4d16 armv7at-vfpv4d16 armv7a-neon armv7at-neon 
armv7a-neon-vfpv4 armv7at-neon-vfpv4"
diff --git a/meta/conf/machine/include/arm/arch-armv7r.inc 
b/meta/conf/machine/include/arm/arch-armv7r.inc
new file mode 100644
index ..fac26cf4ad3f
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv7r.inc
@@ -0,0 +1,22 @@
+#
+# Defaults for ARMv7-r
+#
+DEFAULTTUNE ?= "armv7r"
+
+TUNEVALID[armv7r] = "Enable instructions for ARMv7-r"
+TUNE_CCARGS_MARCH = "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', ' 
-march=armv7-r', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7r', 
'armv7r:', '', d)}"
+
+TUNECONFLICTS[armv7r] = "armv4 armv5 armv6 armv7a"
+
+require conf/machine/include/arm/arch-armv6.inc
+require conf/machine/include/arm/feature-arm-idiv.inc
+require conf/machine/include/arm/feature-arm-neon.inc
+
+AVAILTUNES+= "armv7r armv7r-vfpv3d16"
+ARMPKGARCH:tune-armv7r = "armv7r"
+ARMPKGARCH:tune-armv7r-vfpv3d16= "armv7r"
+TUNE_FEATURES:tune-armv7r  = "armv7r"
+TUNE_FEATURES:tune-armv7r-vfpv3d16 = "${TUNE_FEATURES:tune-armv7r} 
vfpv3d16"
+PACKAGE_EXTRA_ARCHS:tune-armv7r= "armv7r"
+PACKAGE_EXTRA_ARCHS:tune-armv7r-vfpv3d16  = 
"${PACKAGE_EXTRA_ARCHS:tune-armv7r} tune-armv7r-fpv3d16"
diff --git a/meta/conf/machine/include/arm/arch-armv8r.inc 
b/meta/conf/machine/include/arm/arch-armv8r.inc
new file mode 100644
index ..be4ef3e629df
--- /dev/null
+++ b/meta/conf/machine/include/arm/arch-armv8r.inc
@@ -0,0 +1,38 @@
+#
+# Defaults for ARMv8-r
+#
+DEFAULTTUNE ?= "armv8r"
+
+TUNEVALID[armv8r] = "Enable instructions for ARMv8-r"
+TUNE_CCARGS_MARCH .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', ' 
-march=armv8-r', '', d)}"
+MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8r', 
'armv8r:', '', d)}"
+
+require conf/machine/include/arm/arch-arm64.inc
+require conf/machine/include/arm/feature-arm-simd.inc
+require conf/machine/include/arm/feature-arm-crc.inc
+require conf/machine/include/arm/feature-arm-crypto.inc
+
+# All ARMv8 has floating point hardware built in.  Null it here to avoid any 
confusion for 32bit.
+TARGET_FPU_32 = ""
+
+AVAILTUNES += "armv8r armv8r-crc armv8r-crypto armv8r-simd armv8r-crc-crypto 
armv8r-crc-simd armv8r-crc-crypto-simd"
+ARMPKGARCH:tune-armv8r  = "armv8r"
+ARMPKGARCH:tune-armv8r-crc  = "armv8r"
+ARMPKGARCH:tune-armv8r-crypto   = "armv8r"
+ARMPKGARCH:tune-armv8r-simd = "armv8r"
+ARMPKGARCH:tune-armv8r-crc-crypto   = "armv8r"
+ARMPKGARCH:tune-armv8r-crc-simd = "armv8r"
+ARMPKGARCH:tune-armv8r-crc-crypto-simd  = "armv8

Re: [OE-core] [PATCH] glibc: update to HEAD of release/2.34/master branch

2021-08-18 Thread Randy MacLeod

On 2021-08-18 7:05 p.m., Sakib Sajal wrote:

Update glibc to head of release/2.34/master branch to
to include fixes, includes fix for CVE-2021-38604:

Changelog:
glibc.git$ git log --oneline ae37d06c7d127817ba43850f0f898b793d42aea7...
7c987a5ccb (HEAD, origin/release/2.34/master) librt: add test (bug 28213)
7947430322 librt: fix NULL pointer dereference (bug 28213)
31902ae639 Linux: Fix fcntl, ioctl, prctl redirects for _TIME_BITS=64 (bug 
28182)
9995d0588f iconv_charmap: Close output file when done
7ff4da3dc2 copy_and_spawn_sgid: Avoid double calls to close()
a5bd2e10e0 gaiconf_init: Avoid double-free in label and precedence lists
3a48da47a9 gconv_parseconfdir: Fix memory leak
0b03996304 ldconfig: avoid leak on empty paths in config file

Signed-off-by: Sakib Sajal 
---
  meta/recipes-core/glibc/glibc-version.inc | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/glibc/glibc-version.inc 
b/meta/recipes-core/glibc/glibc-version.inc
index 281df7ecda..c53b53f114 100644
--- a/meta/recipes-core/glibc/glibc-version.inc
+++ b/meta/recipes-core/glibc/glibc-version.inc
@@ -1,6 +1,6 @@
  SRCBRANCH ?= "release/2.34/master"
  PV = "2.34"
-SRCREV_glibc ?= "ae37d06c7d127817ba43850f0f898b793d42aea7"
+SRCREV_glibc ?= "7c987a5ccb31df80456d53a094e47f81310f549b"
  SRCREV_localedef ?= "95c0221703ad970a52445e9eaf91c4aff35eebef"
  
  GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"








What build and runtime testing did you do Sakib?


--
# Randy MacLeod
# Wind River Linux

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154954): 
https://lists.openembedded.org/g/openembedded-core/message/154954
Mute This Topic: https://lists.openembedded.org/mt/84985116/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] glibc: update to HEAD of release/2.34/master branch

2021-08-18 Thread Sakib Sajal
Update glibc to head of release/2.34/master branch to
to include fixes, includes fix for CVE-2021-38604:

Changelog:
glibc.git$ git log --oneline ae37d06c7d127817ba43850f0f898b793d42aea7...
7c987a5ccb (HEAD, origin/release/2.34/master) librt: add test (bug 28213)
7947430322 librt: fix NULL pointer dereference (bug 28213)
31902ae639 Linux: Fix fcntl, ioctl, prctl redirects for _TIME_BITS=64 (bug 
28182)
9995d0588f iconv_charmap: Close output file when done
7ff4da3dc2 copy_and_spawn_sgid: Avoid double calls to close()
a5bd2e10e0 gaiconf_init: Avoid double-free in label and precedence lists
3a48da47a9 gconv_parseconfdir: Fix memory leak
0b03996304 ldconfig: avoid leak on empty paths in config file

Signed-off-by: Sakib Sajal 
---
 meta/recipes-core/glibc/glibc-version.inc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-core/glibc/glibc-version.inc 
b/meta/recipes-core/glibc/glibc-version.inc
index 281df7ecda..c53b53f114 100644
--- a/meta/recipes-core/glibc/glibc-version.inc
+++ b/meta/recipes-core/glibc/glibc-version.inc
@@ -1,6 +1,6 @@
 SRCBRANCH ?= "release/2.34/master"
 PV = "2.34"
-SRCREV_glibc ?= "ae37d06c7d127817ba43850f0f898b793d42aea7"
+SRCREV_glibc ?= "7c987a5ccb31df80456d53a094e47f81310f549b"
 SRCREV_localedef ?= "95c0221703ad970a52445e9eaf91c4aff35eebef"
 
 GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154953): 
https://lists.openembedded.org/g/openembedded-core/message/154953
Mute This Topic: https://lists.openembedded.org/mt/84985116/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core][PATCH] bitbake.conf: Add lz4c, pzstd and zstd

2021-08-18 Thread Randy MacLeod

On 2021-08-16 12:14 p.m., Khem Raj wrote:

On Wed, Jul 14, 2021 at 6:42 AM Joshua Watt  wrote:


Adds the command line compression tools which are needed by bitbake

Signed-off-by: Joshua Watt 
---
  meta/conf/bitbake.conf | 6 +++---
  1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
index f451ba6a47..3801db7d42 100644
--- a/meta/conf/bitbake.conf
+++ b/meta/conf/bitbake.conf
@@ -484,12 +484,12 @@ HOSTTOOLS += " \
  [ ar as awk basename bash bzip2 cat chgrp chmod chown chrpath cmp comm cp 
cpio \
  cpp cut date dd diff diffstat dirname du echo egrep env expand expr false 
\
  fgrep file find flock g++ gawk gcc getconf getopt git grep gunzip gzip \
-head hostname iconv id install ld ldd ln ls make md5sum mkdir mkfifo mknod 
\
+head hostname iconv id install ld ldd ln ls lz4c make md5sum mkdir mkfifo 
mknod \
  mktemp mv nm objcopy objdump od patch perl pr printf pwd \
-python3 ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
+python3 pzstd ranlib readelf readlink realpath rm rmdir rpcgen sed seq sh \
  sha1sum sha224sum sha256sum sha384sum sha512sum \
  sleep sort split stat strings strip tail tar tee test touch tr true uname 
\
-uniq wc wget which xargs \
+uniq wc wget which xargs zstd \
  "



on ubuntu 18.04 we will need

sudo apt install zstd liblz4-tool


Michael,

Can you update the docs for this change?

http://docs.yoctoproject.org/ref-manual/system-requirements.html?highlight=bzip2

I don't know what the package names are for non-debian distros.

This must have been done for the YP AB cluster but
maybe that's done manually?

../Randy




  # Tools needed to run testimage runtime image testing
--
2.32.0











--
# Randy MacLeod
# Wind River Linux

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154952): 
https://lists.openembedded.org/g/openembedded-core/message/154952
Mute This Topic: https://lists.openembedded.org/mt/84201703/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] update glibc to HEAD of release/2.34/master to include fix for CVE-2021-38604?

2021-08-18 Thread Khem Raj
On Wed, Aug 18, 2021 at 2:40 PM Sakib Sajal  wrote:
>
> Hi Khem,
>
> I was going to apply the commit
>
> glibc is currently at ae37d06c7d127817ba43850f0f898b793d42aea7, 8
> commits behind origin/release/2.34/master as shown below.
>
> Those commits also contain the fix for CVE-2021-38604. Should I go ahead
> and update:
>
> ./glibc-version.inc:SRCREV_glibc ?=
> "ae37d06c7d127817ba43850f0f898b793d42aea7"
>
> or is there work in progress to do this?

Please go ahead, also add the below information to git commit log.

>
> glibc.git$ git log --oneline ae37d06c7d127817ba43850f0f898b793d42aea7...
> 7c987a5ccb (HEAD, origin/release/2.34/master) librt: add test (bug 28213)
> 7947430322 librt: fix NULL pointer dereference (bug 28213)
> 31902ae639 Linux: Fix fcntl, ioctl, prctl redirects for _TIME_BITS=64
> (bug 28182)
> 9995d0588f iconv_charmap: Close output file when done
> 7ff4da3dc2 copy_and_spawn_sgid: Avoid double calls to close()
> a5bd2e10e0 gaiconf_init: Avoid double-free in label and precedence lists
> 3a48da47a9 gconv_parseconfdir: Fix memory leak
> 0b03996304 ldconfig: avoid leak on empty paths in config file
>
>
> Sakib Sajal
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154951): 
https://lists.openembedded.org/g/openembedded-core/message/154951
Mute This Topic: https://lists.openembedded.org/mt/84983384/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] update glibc to HEAD of release/2.34/master to include fix for CVE-2021-38604?

2021-08-18 Thread Sakib Sajal

Hi Khem,

I was going to apply the commit

glibc is currently at ae37d06c7d127817ba43850f0f898b793d42aea7, 8 
commits behind origin/release/2.34/master as shown below.


Those commits also contain the fix for CVE-2021-38604. Should I go ahead 
and update:


./glibc-version.inc:SRCREV_glibc ?= 
"ae37d06c7d127817ba43850f0f898b793d42aea7"


or is there work in progress to do this?

glibc.git$ git log --oneline ae37d06c7d127817ba43850f0f898b793d42aea7...
7c987a5ccb (HEAD, origin/release/2.34/master) librt: add test (bug 28213)
7947430322 librt: fix NULL pointer dereference (bug 28213)
31902ae639 Linux: Fix fcntl, ioctl, prctl redirects for _TIME_BITS=64 
(bug 28182)

9995d0588f iconv_charmap: Close output file when done
7ff4da3dc2 copy_and_spawn_sgid: Avoid double calls to close()
a5bd2e10e0 gaiconf_init: Avoid double-free in label and precedence lists
3a48da47a9 gconv_parseconfdir: Fix memory leak
0b03996304 ldconfig: avoid leak on empty paths in config file


Sakib Sajal


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154950): 
https://lists.openembedded.org/g/openembedded-core/message/154950
Mute This Topic: https://lists.openembedded.org/mt/84983384/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] patch.bbclass: show to the user where the patch is applied

2021-08-18 Thread Jose Quaresma
- There are situration when the user have the 'patchdir' defined
as a parameter on SRC_URI. However he doesn't know with this,
the patch is applied relatively to the receipe source 'S'.

* On the next example, the patch is applied on ${WORKDIR}/contrib.
But if the user specifies a path on 'patchdir' that don't exist,
the patch will fail and there are no message that indicates the real cause.
So showing the source path where the patch is applied can be useful.

S = "${WORKDIR}/git"
SRCREV_FORMAT = "opencv_contrib"
SRC_URI = "git://github.com/opencv/opencv.git;name=opencv \
   
git://github.com/opencv/opencv_contrib.git;destsuffix=contrib;name=contrib \
   file://0001-sfm-link-with-Glog_LIBS.patch;patchdir=../contrib \
   "

Signed-off-by: Jose Quaresma 
---
 meta/classes/patch.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/patch.bbclass b/meta/classes/patch.bbclass
index 388773a237..559c6f45bd 100644
--- a/meta/classes/patch.bbclass
+++ b/meta/classes/patch.bbclass
@@ -142,7 +142,7 @@ python patch_do_patch() {
 else:
 patchset, resolver = classes[patchdir]
 
-bb.note("Applying patch '%s' (%s)" % (parm['patchname'], 
oe.path.format_display(local, d)))
+bb.note("Applying patch '%s' (%s) on '%s'" % (parm['patchname'], 
oe.path.format_display(local, d), patchdir))
 try:
 patchset.Import({"file":local, "strippath": parm['striplevel']}, 
True)
 except Exception as exc:
-- 
2.33.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154949): 
https://lists.openembedded.org/g/openembedded-core/message/154949
Mute This Topic: https://lists.openembedded.org/mt/84983153/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [RFC WIP][PATCH v2] add two zram IMAGE_FEATUREs

2021-08-18 Thread Sinan Kaya
On 8/19/2021 12:04 AM, Trevor Woerner wrote:
> root@rock-pi-e:~# zramctl
>   NAME   ALGORITHM DISKSIZE  DATA COMPR TOTAL STREAMS MOUNTPOINT
>   /dev/zram2 lz4 975.6M4K   73B   12K   4 [SWAP]
>   /dev/zram1 lz410M  400K 16.1K  240K   4 /run
>   /dev/zram0 lz430M   68K  1.6K   68K   4 /var/volatile
> 
> So, in conclusion, the stuff on meta-openembmedded's zram package is:
> - old
> - has very few knobs for the user to tweak
> - doesn't handle the zram-tmpfs case
> - doesn't update your kernel config automatically

I see your point. zram package is focused on swap partitions only.
You seem to go beyond swap partitions and tap into tmpfs next.

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154948): 
https://lists.openembedded.org/g/openembedded-core/message/154948
Mute This Topic: https://lists.openembedded.org/mt/84982026/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [RFC WIP][PATCH v2] add two zram IMAGE_FEATUREs

2021-08-18 Thread Trevor Woerner
On Wed 2021-08-18 @ 11:37:36 PM, Sinan Kaya wrote:
> On 8/18/2021 11:36 PM, Trevor Woerner wrote:
> > this is a WIP patch submitted for RFC
> > this patch only works, currently, with sysvinit
> > but I wanted to get feedback on the general approach before tackling systemd
> 
> How about using/extending the zram package in meta-openembedded?
> Would that be an option?

When I found the zram package in meta-openembedded I had thought that my work
was done. I figured I'd add it to my image and move on. Unfortunately the zram
package in meta-openembedded is woefully inadequate :-(

In fact, if my patch gets accepted into oe-core, my next patch would be to
remove this package from meta-openembedded ;-)

So far I have only considered the case where the user wants to use zram with
sysvinit. I haven't looked at the systemd case yet, but if it has as many
holes as the sysvinit case…

If you look at the package in meta-openembedded you'll see that it:
- tries to do its work using start/stop initscripts
- doesn't even try to handle the case where the user wants to use zram instead
  of tmpfs, and that's not a coincidence

A running system will happily incorporate added SWAP anytime that SWAP is
added. Simply prepare the partition for SWAP as appropriate then "swapon" and
everything is happy. Substituting zram for tmpfs, however is a lot more
finicky. You can't simply wait until after tmpfs has been used for your
various tmp partitions then mount new partitions on top of the existing
/var/volatile and /run. This will cause your logger to get upset, and it will
cause pretty much every currently-running program to not be very happy.
Programs that are started and put their pids in /run and various things in
/tmp don't usually react favourably when those filesystems have something else
mounted on top of them during their execution.

Therefore in order to properly switch from tmpfs to zram for tmp filesystems:
- /etc/fstab has to be modified to not try to mount tmpfs things to
  /var/volatile and /run
- the place where "mount -a" is called has to be modified to setup, format,
  and mount zram-based disks. specifying zram disks is not something you can
  simply tweak /etc/fstab to do. according to the kernel documentation there
  is no
zram  /var/volatile zram,ext2 defaults 0 2
  line that can be added to /etc/fstab to get zram-based filesystems to mount
  automatically via "mount -a"

Because this change is much more invasive than simply running a script at a
given runlevel I came to the conclusion that an IMAGE_FEATURE would be a
better fit for this sort of feature.

I also took the opportunity to parameterize various parts of the configuration
to make it easy for the user to either accept the sane defaults, or easily
tweak them to their liking. I added checks to these parameters so that they're
valid/sane. I added the feature in a way that any required packages are added
to the image automatically without the user having to do anything. I also tied
into the kernel's "kmeta config" system so that simply enabling this
IMAGE_FEATURE will also tweak the kernel config to add the necessary options
(again, without user intervention).

Also, if you look at the existing sysvinit script in meta-openembedded
you'll notice that it jumps through some hoops trying to figure out how many
cores/cpus are on the system, then it uses that number as a basis for how many
SWAPs to create. You can tell this is a very old script because, according
to the kernel documentation, this is something that was required a long time
ago, but has long since is no longer required. Simply create one SWAP or one
zram-backed /tmp mount and the number of "streams" is automatically handled
internally in the kernel:

root@rock-pi-e:~# zramctl
NAME   ALGORITHM DISKSIZE  DATA COMPR TOTAL STREAMS MOUNTPOINT
/dev/zram2 lz4 975.6M4K   73B   12K   4 [SWAP]
/dev/zram1 lz410M  400K 16.1K  240K   4 /run
/dev/zram0 lz430M   68K  1.6K   68K   4 /var/volatile

So, in conclusion, the stuff on meta-openembmedded's zram package is:
- old
- has very few knobs for the user to tweak
- doesn't handle the zram-tmpfs case
- doesn't update your kernel config automatically

(at least for the sysvinit portion)

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154947): 
https://lists.openembedded.org/g/openembedded-core/message/154947
Mute This Topic: https://lists.openembedded.org/mt/84982026/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [RFC WIP][PATCH v2] add two zram IMAGE_FEATUREs

2021-08-18 Thread Sinan Kaya
On 8/18/2021 11:36 PM, Trevor Woerner wrote:
> this is a WIP patch submitted for RFC
> this patch only works, currently, with sysvinit
> but I wanted to get feedback on the general approach before tackling systemd

How about using/extending the zram package in meta-openembedded?
Would that be an option?

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154946): 
https://lists.openembedded.org/g/openembedded-core/message/154946
Mute This Topic: https://lists.openembedded.org/mt/84982026/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [RFC WIP][PATCH v2] add two zram IMAGE_FEATUREs

2021-08-18 Thread Trevor Woerner
The zram kernel module creates RAM-based block devices named /dev/zram
( = 0, 1, ...). Pages written to these disks are compressed and stored
in memory itself. These disks allow very fast I/O and compression provides
good amounts of memory savings. Some of the use cases include /tmp storage,
use as swap disks, various caches under /var and maybe many more.

If the user wants to switch from using uncompressed tmpfs to compressed
zram-based in-RAM temporary filesystems then add "zram-tmpfs" to
IMAGE_FEATURES. Currently the base install uses tmpfs filesystems for /run and
/var/volatile. By default the /run filesystem will be 10MiB in size and the
/var/volatile (which holds /tmp, among others) will be 30MiB in size. The
following variables can be tweaked to adjust these sizes:
ZRAM_RUN_SIZE
ZRAM_TMP_SIZE

If the user wants to enable an in-RAM, compressed, zram-backed SWAP for
their system, simply add "zram-swap" to IMAGE_FEATURES. The size of the swap
will be based on a percentage of the total system RAM which the user can
adjust by modifying the following variable:
ZRAM_SWAP_PERCENT

By default ZRAM_SWAP_PERCENT is set to "100" which means the initial SWAP size
will be the same size as the total system RAM.

The kernel provides several compression algorithms from which the user can
choose. By default the "lzo-rle" compression is used, but the user can modify
the following variable to choose from any one of the other available
compression algorithms:
ZRAM_ALGORITHM

Currently the set of available compression algorithms include:
lzo
lzo-rle
lz4
lz4hc
842
zstd

!!!NOTE!!!
this is a WIP patch submitted for RFC
this patch only works, currently, with sysvinit
but I wanted to get feedback on the general approach before tackling systemd

Signed-off-by: Trevor Woerner 
---
NOTE:
- this patch relies on there being a zram.scc available in the
  yocto-kernel-cache repository, a patch for which was submitted moments ago
  https://lists.yoctoproject.org/g/linux-yocto/message/10293

changes in v2
- move the check of the algorithm outside the check for zram-tmpfs since
  the algorithm applies to both zram-tmpfs and zram-swap
- add checks on the /var/volatile and /run sizes to make sure they're
  greater than 0
---
 meta/classes/core-image.bbclass   |  4 ++
 meta/classes/image.bbclass|  2 +-
 meta/classes/rootfs-postcommands.bbclass  | 35 +++
 .../initscripts/initscripts-1.0/mountall.sh   | 27 +++-
 .../packagegroup-core-zram-swap.bb| 10 +
 .../packagegroup-core-zram-tmpfs.bb   |  9 
 .../sysvinit/sysvinit/rcS-default |  8 
 meta/recipes-core/sysvinit/sysvinit_2.99.bb   | 44 ++-
 meta/recipes-kernel/linux/linux-yocto.inc |  2 +
 9 files changed, 137 insertions(+), 4 deletions(-)
 create mode 100644 
meta/recipes-core/packagegroups/packagegroup-core-zram-swap.bb
 create mode 100644 
meta/recipes-core/packagegroups/packagegroup-core-zram-tmpfs.bb

diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
index 84fd3eeb38..ed6184d11c 100644
--- a/meta/classes/core-image.bbclass
+++ b/meta/classes/core-image.bbclass
@@ -39,6 +39,8 @@
 # - read-only-rootfs- tweaks an image to support read-only rootfs
 # - stateless-rootfs- systemctl-native not run, image populated by systemd 
at runtime
 # - splash  - bootup splash screen
+# - zram-tmpfs  - use a zram disk for temporary filesystems instead of 
tmpfs
+# - zram-swap   - use a zram-backed swap
 #
 FEATURE_PACKAGES_weston = "packagegroup-core-weston"
 FEATURE_PACKAGES_x11 = "packagegroup-core-x11"
@@ -53,6 +55,8 @@ FEATURE_PACKAGES_nfs-server = "packagegroup-core-nfs-server"
 FEATURE_PACKAGES_nfs-client = "packagegroup-core-nfs-client"
 FEATURE_PACKAGES_ssh-server-dropbear = "packagegroup-core-ssh-dropbear"
 FEATURE_PACKAGES_ssh-server-openssh = "packagegroup-core-ssh-openssh"
+FEATURE_PACKAGES_zram-tmpfs = "packagegroup-core-zram-tmpfs"
+FEATURE_PACKAGES_zram-swap = "packagegroup-core-zram-swap"
 FEATURE_PACKAGES_hwcodecs = "${MACHINE_HWCODECS}"
 
 
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index d76895178f..57178baace 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -33,7 +33,7 @@ INHIBIT_DEFAULT_DEPS = "1"
 # IMAGE_FEATURES may contain any available package group
 IMAGE_FEATURES ?= ""
 IMAGE_FEATURES[type] = "list"
-IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs 
read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password 
allow-empty-password allow-root-login post-install-logging"
+IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs 
read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password 
allow-empty-password allow-root-login post-install-logging zram-tmpfs zram-swap"
 
 # Generate companion debugfs?
 IMAGE_GEN_DEBUGFS ?= "0

Re: [OE-core] [PATCH v3 3/4] sstate.bbclass: get the number of threads from BB_NUMBER_THREADS

2021-08-18 Thread Jose Quaresma
Hi,

d.getVar("BB_NUMBER_THREADS") returns a string and it needs to be
converted to int.

-nproc = min(d.getVar("BB_NUMBER_THREADS"), len(tasklist))
+nproc = min(int(d.getVar("BB_NUMBER_THREADS")), len(tasklist))

fixed in V4

Richard Purdie  escreveu no dia
quarta, 18/08/2021 à(s) 20:34:
>
> On Wed, 2021-08-18 at 17:24 +0100, Jose Quaresma wrote:
> > - bitbake BB_NUMBER_THREADS uses cpu_count from oe utils that uses
> > the python os.sched_getaffinity and it is more acurrate.
> >
> >  grep -nH ^BB_NUMBER_THREADS meta/conf/bitbake.conf
> >  meta/conf/bitbake.conf:806:BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
> >
> > - multiprocessing.cpu_count() returns the number of CPUs on the host,
> > not the number of usable CPUs on the host. If the user is using
> > scheduler affinity then the number of usable CPUs may be less,
> > so when determining how many cores we can use check the affinity instead.
> >
> > Signed-off-by: Jose Quaresma 
> > ---
> >  meta/classes/sstate.bbclass | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> >
> > diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
> > index c3c145e7f3..bc14b5e264 100644
> > --- a/meta/classes/sstate.bbclass
> > +++ b/meta/classes/sstate.bbclass
> > @@ -964,13 +964,12 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
> > currentcount=0, summary=True,
> >  tasklist.append((tid, sstatefile))
> >
> >
> >
> >
> >  if tasklist:
> > +nproc = min(d.getVar("BB_NUMBER_THREADS"), len(tasklist))
> > +
> >  if len(tasklist) >= min_tasks:
> >  msg = "Checking sstate mirror object availability"
> >  bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), 
> > d)
> >
> >
> >
> >
> > -import multiprocessing
> > -nproc = min(multiprocessing.cpu_count(), len(tasklist))
> > -
> >  bb.event.enable_threadlock()
> >  pool = oe.utils.ThreadedPool(nproc, len(tasklist),
> >  worker_init=checkstatus_init, 
> > worker_end=checkstatus_end)
>
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/69/builds/3825/steps/17/logs/stdio
>
> Cheers,
>
> Richard
>
>


-- 
Best regards,

José Quaresma

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154944): 
https://lists.openembedded.org/g/openembedded-core/message/154944
Mute This Topic: https://lists.openembedded.org/mt/84976055/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH v4 3/4] sstate.bbclass: get the number of threads from BB_NUMBER_THREADS

2021-08-18 Thread Jose Quaresma
- bitbake BB_NUMBER_THREADS uses cpu_count from oe utils that uses
the python os.sched_getaffinity and it is more acurrate.

 grep -nH ^BB_NUMBER_THREADS meta/conf/bitbake.conf
 meta/conf/bitbake.conf:806:BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"

- multiprocessing.cpu_count() returns the number of CPUs on the host,
not the number of usable CPUs on the host. If the user is using
scheduler affinity then the number of usable CPUs may be less,
so when determining how many cores we can use check the affinity instead.

Signed-off-by: Jose Quaresma 
---
 meta/classes/sstate.bbclass | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index c3c145e7f3..e86c003726 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -964,13 +964,12 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 tasklist.append((tid, sstatefile))
 
 if tasklist:
+nproc = min(int(d.getVar("BB_NUMBER_THREADS")), len(tasklist))
+
 if len(tasklist) >= min_tasks:
 msg = "Checking sstate mirror object availability"
 bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d)
 
-import multiprocessing
-nproc = min(multiprocessing.cpu_count(), len(tasklist))
-
 bb.event.enable_threadlock()
 pool = oe.utils.ThreadedPool(nproc, len(tasklist),
 worker_init=checkstatus_init, worker_end=checkstatus_end)
-- 
2.33.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154942): 
https://lists.openembedded.org/g/openembedded-core/message/154942
Mute This Topic: https://lists.openembedded.org/mt/84981909/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH v4 4/4] sstate.bbclass: sstate mirror progress bar cleanup

2021-08-18 Thread Jose Quaresma
We only has the progress bar when we have more than 100 objects.
So check for this and store the result to show the progress bar.

Signed-off-by: Jose Quaresma 
---
 meta/classes/sstate.bbclass | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index e86c003726..9c19002a11 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -953,20 +953,24 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 except:
 bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri)
 pass
-if len(tasklist) >= min_tasks:
+
+if progress:
 bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - 
thread_worker.tasks.qsize()), d)
 
 tasklist = []
-min_tasks = 100
 for tid in missed:
 spec, extrapath, tname = getpathcomponents(tid, d)
 sstatefile = d.expand(extrapath + generate_sstatefn(spec, 
gethash(tid), tname, siginfo, d))
 tasklist.append((tid, sstatefile))
 
+progress = False
+if len(tasklist) >= 100:
+progress = True
+
 if tasklist:
 nproc = min(int(d.getVar("BB_NUMBER_THREADS")), len(tasklist))
 
-if len(tasklist) >= min_tasks:
+if progress:
 msg = "Checking sstate mirror object availability"
 bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d)
 
@@ -979,7 +983,7 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 pool.wait_completion()
 bb.event.disable_threadlock()
 
-if len(tasklist) >= min_tasks:
+if progress:
 bb.event.fire(bb.event.ProcessFinished(msg), d)
 
 inheritlist = d.getVar("INHERIT")
-- 
2.33.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154943): 
https://lists.openembedded.org/g/openembedded-core/message/154943
Mute This Topic: https://lists.openembedded.org/mt/84981910/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH v4 2/4] sstate.bbclass: only search on the mirrors for the missing files

2021-08-18 Thread Jose Quaresma
On the first search we found some files on the local sstate cache.
The missing files are know as well when this step finish.
When we have sstate mirrors we don't need to iterate all files again
because we already know what's missing.

Signed-off-by: Jose Quaresma 
---
 meta/classes/sstate.bbclass | 9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 2575750247..c3c145e7f3 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -949,11 +949,8 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 bb.debug(2, "SState: Successful fetch test for %s" % srcuri)
 foundMirrors += 1
 found.add(tid)
-
-if tid in missed:
-missed.remove(tid)
+missed.remove(tid)
 except:
-missed.add(tid)
 bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri)
 pass
 if len(tasklist) >= min_tasks:
@@ -961,9 +958,7 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 
 tasklist = []
 min_tasks = 100
-for tid in sq_data['hash']:
-if tid in found:
-continue
+for tid in missed:
 spec, extrapath, tname = getpathcomponents(tid, d)
 sstatefile = d.expand(extrapath + generate_sstatefn(spec, 
gethash(tid), tname, siginfo, d))
 tasklist.append((tid, sstatefile))
-- 
2.33.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154941): 
https://lists.openembedded.org/g/openembedded-core/message/154941
Mute This Topic: https://lists.openembedded.org/mt/84981908/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH v4 1/4] sstate.bbclass: track found files on mirrors with a counter

2021-08-18 Thread Jose Quaresma
We don't need extra python collections to count the found files
on the sstate cache and sstate mirrors.
The main found collections provides all the files that were found,
then we only need to count the files on sstate mirror

Signed-off-by: Jose Quaresma 
---
 meta/classes/sstate.bbclass | 13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 2175ace4c4..2575750247 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -871,8 +871,6 @@ BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
 
 def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, 
summary=True, **kwargs):
 found = set()
-foundLocal = set()
-foundNet = set()
 missed = set()
 
 def gethash(task):
@@ -905,12 +903,11 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 if os.path.exists(sstatefile):
 bb.debug(2, "SState: Found valid sstate file %s" % sstatefile)
 found.add(tid)
-foundLocal.add(tid)
-continue
 else:
-missed.add(tid)
 bb.debug(2, "SState: Looked for but didn't find file %s" % 
sstatefile)
+missed.add(tid)
 
+foundMirrors = 0
 mirrors = d.getVar("SSTATE_MIRRORS")
 if mirrors:
 # Copy the data object and override DL_DIR and SRC_URI
@@ -950,8 +947,9 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 connection_cache=thread_worker.connection_cache)
 fetcher.checkstatus()
 bb.debug(2, "SState: Successful fetch test for %s" % srcuri)
+foundMirrors += 1
 found.add(tid)
-foundNet.add(tid)
+
 if tid in missed:
 missed.remove(tid)
 except:
@@ -1013,7 +1011,8 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 match = 0
 if total:
 match = len(found) / total * 100
-bb.plain("Sstate summary: Wanted %d Local %d Network %d Missed %d 
Current %d (%d%% match, %d%% complete)" % (total, len(foundLocal), 
len(foundNet),len(missed), currentcount, match, complete))
+bb.plain("Sstate summary: Wanted %d Local %d Mirrors %d Missed %d 
Current %d (%d%% match, %d%% complete)" %
+(total, len(found)-foundMirrors, foundMirrors, len(missed), 
currentcount, match, complete))
 
 if hasattr(bb.parse.siggen, "checkhashes"):
 bb.parse.siggen.checkhashes(sq_data, missed, found, d)
-- 
2.33.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154940): 
https://lists.openembedded.org/g/openembedded-core/message/154940
Mute This Topic: https://lists.openembedded.org/mt/84981906/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [RFC WIP][PATCH] add two zram IMAGE_FEATUREs

2021-08-18 Thread Trevor Woerner
The zram kernel module creates RAM-based block devices named /dev/zram
( = 0, 1, ...). Pages written to these disks are compressed and stored
in memory itself. These disks allow very fast I/O and compression provides
good amounts of memory savings. Some of the use cases include /tmp storage,
use as swap disks, various caches under /var and maybe many more.

If the user wants to switch from using uncompressed tmpfs to compressed
zram-based in-RAM temporary filesystems then add "zram-tmpfs" to
IMAGE_FEATURES. Currently the base install uses tmpfs filesystems for /run and
/var/volatile. By default the /run filesystem will be 10MiB in size and the
/var/volatile (which holds /tmp, among others) will be 30MiB in size. The
following variables can be tweaked to adjust these sizes:
ZRAM_RUN_SIZE
ZRAM_TMP_SIZE

If the user wants to enable an in-RAM, compressed, zram-backed SWAP for
their system, simply add "zram-swap" to IMAGE_FEATURES. The size of the swap
will be based on a percentage of the total system RAM which the user can
adjust by modifying the following variable:
ZRAM_SWAP_PERCENT

By default ZRAM_SWAP_PERCENT is set to "100" which means the initial SWAP size
will be the same size as the total system RAM.

The kernel provides several compression algorithms from which the user can
choose. By default the "lzo-rle" compression is used, but the user can modify
the following variable to choose from any one of the other available
compression algorithms:
ZRAM_ALGORITHM

Currently the set of available compression algorithms include:
lzo
lzo-rle
lz4
lz4hc
842
zstd

!!!NOTE!!!
this is a WIP patch submitted for RFC
this patch only works, currently, with sysvinit
but I wanted to get feedback on the general approach before tackling systemd

Signed-off-by: Trevor Woerner 
---
 meta/classes/core-image.bbclass   |  4 ++
 meta/classes/image.bbclass|  2 +-
 meta/classes/rootfs-postcommands.bbclass  | 35 +
 .../initscripts/initscripts-1.0/mountall.sh   | 27 -
 .../packagegroup-core-zram-swap.bb| 10 +
 .../packagegroup-core-zram-tmpfs.bb   |  9 +
 .../sysvinit/sysvinit/rcS-default |  8 
 meta/recipes-core/sysvinit/sysvinit_2.99.bb   | 38 ++-
 meta/recipes-kernel/linux/linux-yocto.inc |  2 +
 9 files changed, 131 insertions(+), 4 deletions(-)
 create mode 100644 
meta/recipes-core/packagegroups/packagegroup-core-zram-swap.bb
 create mode 100644 
meta/recipes-core/packagegroups/packagegroup-core-zram-tmpfs.bb

diff --git a/meta/classes/core-image.bbclass b/meta/classes/core-image.bbclass
index 84fd3eeb38..ed6184d11c 100644
--- a/meta/classes/core-image.bbclass
+++ b/meta/classes/core-image.bbclass
@@ -39,6 +39,8 @@
 # - read-only-rootfs- tweaks an image to support read-only rootfs
 # - stateless-rootfs- systemctl-native not run, image populated by systemd 
at runtime
 # - splash  - bootup splash screen
+# - zram-tmpfs  - use a zram disk for temporary filesystems instead of 
tmpfs
+# - zram-swap   - use a zram-backed swap
 #
 FEATURE_PACKAGES_weston = "packagegroup-core-weston"
 FEATURE_PACKAGES_x11 = "packagegroup-core-x11"
@@ -53,6 +55,8 @@ FEATURE_PACKAGES_nfs-server = "packagegroup-core-nfs-server"
 FEATURE_PACKAGES_nfs-client = "packagegroup-core-nfs-client"
 FEATURE_PACKAGES_ssh-server-dropbear = "packagegroup-core-ssh-dropbear"
 FEATURE_PACKAGES_ssh-server-openssh = "packagegroup-core-ssh-openssh"
+FEATURE_PACKAGES_zram-tmpfs = "packagegroup-core-zram-tmpfs"
+FEATURE_PACKAGES_zram-swap = "packagegroup-core-zram-swap"
 FEATURE_PACKAGES_hwcodecs = "${MACHINE_HWCODECS}"
 
 
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index d76895178f..57178baace 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -33,7 +33,7 @@ INHIBIT_DEFAULT_DEPS = "1"
 # IMAGE_FEATURES may contain any available package group
 IMAGE_FEATURES ?= ""
 IMAGE_FEATURES[type] = "list"
-IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs 
read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password 
allow-empty-password allow-root-login post-install-logging"
+IMAGE_FEATURES[validitems] += "debug-tweaks read-only-rootfs 
read-only-rootfs-delayed-postinsts stateless-rootfs empty-root-password 
allow-empty-password allow-root-login post-install-logging zram-tmpfs zram-swap"
 
 # Generate companion debugfs?
 IMAGE_GEN_DEBUGFS ?= "0"
diff --git a/meta/classes/rootfs-postcommands.bbclass 
b/meta/classes/rootfs-postcommands.bbclass
index c5746eba13..a1e00aeebc 100644
--- a/meta/classes/rootfs-postcommands.bbclass
+++ b/meta/classes/rootfs-postcommands.bbclass
@@ -17,6 +17,12 @@ ROOTFS_POSTPROCESS_COMMAND += "rootfs_update_timestamp; "
 # Tweak the mount options for rootfs in /etc/fstab if read-only-rootfs is 
enabled
 ROOTFS_POSTPROCESS_COMMAND += '${@bb.utils.cont

Re: [OE-core] [PATCH v3 3/4] sstate.bbclass: get the number of threads from BB_NUMBER_THREADS

2021-08-18 Thread Richard Purdie
On Wed, 2021-08-18 at 17:24 +0100, Jose Quaresma wrote:
> - bitbake BB_NUMBER_THREADS uses cpu_count from oe utils that uses
> the python os.sched_getaffinity and it is more acurrate.
> 
>  grep -nH ^BB_NUMBER_THREADS meta/conf/bitbake.conf
>  meta/conf/bitbake.conf:806:BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
> 
> - multiprocessing.cpu_count() returns the number of CPUs on the host,
> not the number of usable CPUs on the host. If the user is using
> scheduler affinity then the number of usable CPUs may be less,
> so when determining how many cores we can use check the affinity instead.
> 
> Signed-off-by: Jose Quaresma 
> ---
>  meta/classes/sstate.bbclass | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
> index c3c145e7f3..bc14b5e264 100644
> --- a/meta/classes/sstate.bbclass
> +++ b/meta/classes/sstate.bbclass
> @@ -964,13 +964,12 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
> currentcount=0, summary=True,
>  tasklist.append((tid, sstatefile))
>  
> 
> 
> 
>  if tasklist:
> +nproc = min(d.getVar("BB_NUMBER_THREADS"), len(tasklist))
> +
>  if len(tasklist) >= min_tasks:
>  msg = "Checking sstate mirror object availability"
>  bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d)
>  
> 
> 
> 
> -import multiprocessing
> -nproc = min(multiprocessing.cpu_count(), len(tasklist))
> -
>  bb.event.enable_threadlock()
>  pool = oe.utils.ThreadedPool(nproc, len(tasklist),
>  worker_init=checkstatus_init, worker_end=checkstatus_end)


https://autobuilder.yoctoproject.org/typhoon/#/builders/69/builds/3825/steps/17/logs/stdio

Cheers,

Richard



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154938): 
https://lists.openembedded.org/g/openembedded-core/message/154938
Mute This Topic: https://lists.openembedded.org/mt/84976055/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH] buildhistory: Label packages providing per-file dependencies in depends.dot

2021-08-18 Thread Andres Beltran
Currently, depends.dot includes per-file dependencies but not the packages
providing those files. This makes it hard to obtain all package
dependencies by just looking at depends.dot.

Parse the RPROVIDES and FILERPROVIDES fields from pkgdata to map each of
their values to the package providing the component. Include runtime
packages as dependencies in depends.dot, together with the component
provided by the package as a label.

Signed-off-by: Andres Beltran 
---
 meta/classes/buildhistory.bbclass |  4 +++-
 meta/lib/oe/utils.py  | 29 +++--
 2 files changed, 30 insertions(+), 3 deletions(-)

diff --git a/meta/classes/buildhistory.bbclass 
b/meta/classes/buildhistory.bbclass
index 8a1359acbe..9ec48a879a 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -438,7 +438,7 @@ def buildhistory_list_installed(d, rootfs_type="image"):
 output_file_full = os.path.join(d.getVar('WORKDIR'), output_file)
 
 with open(output_file_full, 'w') as output:
-output.write(format_pkg_list(pkgs, output_type))
+output.write(format_pkg_list(pkgs, output_type, 
d.getVar('PKGDATA_DIR')))
 
 python buildhistory_list_installed_image() {
 buildhistory_list_installed(d)
@@ -479,6 +479,8 @@ buildhistory_get_installed() {
   -e 's:|: -> :' \
   -e 's:"\[REC\]":[style=dotted]:' \
   -e 's:"\([<>=]\+\)" "\([^"]*\)":[label="\1 \2"]:' \
+  -e 's:"\([*]\+\)" "\([^"]*\)":[label="\2"]:' \
+  -e 's:"\[RPROVIDES\]":[style=dashed]:' \
$1/depends.tmp
# Add header, sorted and de-duped contents and footer and then delete 
the temp file
printf "digraph depends {\nnode [shape=plaintext]\n" > 
$1/depends.dot
diff --git a/meta/lib/oe/utils.py b/meta/lib/oe/utils.py
index 83d298906b..0f3dfd644d 100644
--- a/meta/lib/oe/utils.py
+++ b/meta/lib/oe/utils.py
@@ -345,7 +345,26 @@ def squashspaces(string):
 import re
 return re.sub(r"\s+", " ", string).strip()
 
-def format_pkg_list(pkg_dict, ret_format=None):
+def rprovides_map(pkgdata_dir, pkg_dict):
+# Map file -> pkg provider
+rprov_map = {}
+
+for pkg in pkg_dict:
+with open(os.path.join(pkgdata_dir, 'runtime-reverse', pkg)) as f:
+for line in f:
+if line.startswith('RPROVIDES') or 
line.startswith('FILERPROVIDES'):
+# List all components provided by pkg.
+# Exclude version strings, i.e. those starting with (
+provides = [x for x in line.split()[1:] if not 
x.startswith('(')]
+for prov in provides:
+if prov in rprov_map:
+rprov_map[prov].append(pkg)
+else:
+rprov_map[prov] = [pkg]
+
+return rprov_map
+
+def format_pkg_list(pkg_dict, ret_format=None, pkgdata_dir=None):
 output = []
 
 if ret_format == "arch":
@@ -358,9 +377,15 @@ def format_pkg_list(pkg_dict, ret_format=None):
 for pkg in sorted(pkg_dict):
 output.append("%s %s %s" % (pkg, pkg_dict[pkg]["arch"], 
pkg_dict[pkg]["ver"]))
 elif ret_format == "deps":
+rprov_map = rprovides_map(pkgdata_dir, pkg_dict)
 for pkg in sorted(pkg_dict):
 for dep in pkg_dict[pkg]["deps"]:
-output.append("%s|%s" % (pkg, dep))
+if dep in rprov_map:
+# There could be multiple providers within the image
+for pkg_provider in rprov_map[dep]:
+output.append("%s|%s * %s [RPROVIDES]" % (pkg, 
pkg_provider, dep))
+else:
+output.append("%s|%s" % (pkg, dep))
 else:
 for pkg in sorted(pkg_dict):
 output.append(pkg)
-- 
2.17.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154937): 
https://lists.openembedded.org/g/openembedded-core/message/154937
Mute This Topic: https://lists.openembedded.org/mt/84977439/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH] glibc: package the stub .a libaries into glibc-dev

2021-08-18 Thread Richard Purdie
On Wed, 2021-08-18 at 06:42 -0700, Khem Raj wrote:
> 
> 
> On Wed, Aug 18, 2021 at 12:00 AM Richard Purdie 
>  wrote:
> > On Tue, 2021-08-17 at 17:40 -0700, Khem Raj wrote:
> > > hmm I am seeing pseudo build failures on master-next on all arches see
> > > [1].  I wonder if this is related
> > > 
> > > https://errors.yoctoproject.org/Errors/Details/601473/
> > 
> > I think that would be an issue with my patch in master-next to try and fix
> > other pseudo issues with 2.34 hosts.
> > 
> > Basically we need pseudo to work with older glibc where the 
> > dlsym/dlvsym/dlerror
> > functions are in libdl. This is because libpseudo may be loaded against 
> > host binaries
> > which were not linked with glibc 2.34 but something older.
> > 
> > To do that, we need to inject older versioning but the version to use is 
> > arch 
> > specific. I have a patch covering 32/64 bit x86 and arm but I haven't got 
> > further
> > than that:
> > 
> > 
> > ++#if defined (__aarch64__)
> > ++#define DLSYMVER "2.17"
> > ++#define DLSYMVER2 "2.17"
> > ++#elif defined(__i386__)
> > ++#define DLSYMVER "2.0"
> > ++#define DLSYMVER2 "2.1"
> > ++#else
> > ++#define DLSYMVER "2.2.5"
> > ++#define DLSYMVER2 "2.2.5"
> > ++#endif
> > ++
> > ++__asm__(".symver dlerror,dlerror@GLIBC_" DLSYMVER);
> > ++__asm__(".symver dlvsym,dlvsym@GLIBC_" DLSYMVER2);
> > ++__asm__(".symver dlsym,dlsym@GLIBC_" DLSYMVER);
> > 
> > 
> > I may need help finishing this off for other arches people are building it 
> > for. So far
> > I was using this as a test to see if this would even work!
> > 
> 
> 
> I think we should disable building pseudo for targets which are not used as 
> build hosts so essentially your
> patch is good with another addition of compatible host string 

I've improved the patch a bit and I think it should work in most places we 
build 
things now. Patch is on the list.

Cheers,

Richard



-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154936): 
https://lists.openembedded.org/g/openembedded-core/message/154936
Mute This Topic: https://lists.openembedded.org/mt/84960232/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 4/5] pseudo: Fix to work with glibc 2.34 systems

2021-08-18 Thread Richard Purdie
The merge of libdl into libc in glibc 2.34 causes problems for pseudo. Add a fix
that works around this issue.

Signed-off-by: Richard Purdie 
---
 .../pseudo/files/glibc234.patch   | 86 +++
 meta/recipes-devtools/pseudo/pseudo_git.bb|  1 +
 2 files changed, 87 insertions(+)
 create mode 100644 meta/recipes-devtools/pseudo/files/glibc234.patch

diff --git a/meta/recipes-devtools/pseudo/files/glibc234.patch 
b/meta/recipes-devtools/pseudo/files/glibc234.patch
new file mode 100644
index 000..86fad5a3def
--- /dev/null
+++ b/meta/recipes-devtools/pseudo/files/glibc234.patch
@@ -0,0 +1,86 @@
+pseudo_wrappers/pseudo_util: Add versioning to dl* symbols to work with glibc 
2.34
+
+From glibc 2.34 onwards, libdl is merged into libc. We need to work with 
libaries
+linked with older libc and newer ones without requiring glibc 2.34 to be linked
+in. To do this, use an older verison of the symbols. Sadly this is highly arch
+specific.
+
+Upstream-Status: Pending
+Signed-off-by: Richard Purdie 
+
+Index: git/pseudo_util.c
+===
+--- git.orig/pseudo_util.c
 git/pseudo_util.c
+@@ -28,6 +28,11 @@
+ #include "pseudo.h"
+ #include "pseudo_ipc.h"
+ #include "pseudo_db.h"
++#include "pseudo_dlsymvers.h"
++
++#if defined(__GLIBC__)
++__asm__(".symver dlsym,dlsym@GLIBC_" DLSYMVER);
++#endif
+ 
+ struct pseudo_variables {
+   char *key;
+Index: git/pseudo_wrappers.c
+===
+--- git.orig/pseudo_wrappers.c
 git/pseudo_wrappers.c
+@@ -28,6 +28,7 @@
+ 
+ /* include this to get PSEUDO_PORT_* definitions */
+ #include "pseudo.h"
++#include "pseudo_dlsymvers.h"
+ 
+ /* used for various specific function arguments */
+ #include 
+@@ -122,6 +123,12 @@ pseudo_reinit_libpseudo(void) {
+   _libpseudo_init();
+ }
+ 
++#if defined(__GLIBC__)
++__asm__(".symver dlerror,dlerror@GLIBC_" DLSYMVER);
++__asm__(".symver dlvsym,dlvsym@GLIBC_" DLVSYMVER);
++__asm__(".symver dlsym,dlsym@GLIBC_" DLSYMVER);
++#endif
++
+ static void
+ pseudo_init_one_wrapper(pseudo_function *func) {
+   int (*f)(void) = (int (*)(void)) NULL;
+Index: git/pseudo_dlsymvers.h
+===
+--- /dev/null
 git/pseudo_dlsymvers.h
+@@ -0,0 +1,30 @@
++/*
++ * Copyright (c) 2021 Richard Purdie
++ *
++ * SPDX-License-Identifier: LGPL-2.1-only
++ *
++ */
++
++/* We need to use the older symbols in libdl.so rather than the newer ones
++   merged into libc.so in glibc 2.34 onwards since libpseudo needs to 
link/work
++   with newer libcs and bianries compiles with older ones */
++
++#if defined(__GLIBC__) 
++#if defined(__aarch64__)
++#define DLSYMVER "2.17"
++#define DLVSYMVER "2.17"
++#elif defined(__x86_64__)
++#define DLSYMVER "2.2.5"
++#define DLVSYMVER "2.2.5"
++#elif defined(__arm__)
++#define DLSYMVER "2.4"
++#define DLVSYMVER "2.4"
++#elif defined(__mips__)
++#define DLSYMVER "2.0"
++#define DLVSYMVER "2.2"
++#else
++#define DLSYMVER "2.0"
++#define DLVSYMVER "2.1"
++#endif
++#endif
++
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb 
b/meta/recipes-devtools/pseudo/pseudo_git.bb
index dacaef1a66b..c7684f00cbd 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -2,6 +2,7 @@ require pseudo.inc
 
 SRC_URI = "git://git.yoctoproject.org/pseudo;branch=oe-core \
file://0001-configure-Prune-PIE-flags.patch \
+   file://glibc234.patch \
file://fallback-passwd \
file://fallback-group \
"
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154934): 
https://lists.openembedded.org/g/openembedded-core/message/154934
Mute This Topic: https://lists.openembedded.org/mt/84976709/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 5/5] elfutils: Fix ptest dependencies

2021-08-18 Thread Richard Purdie
The elfutils ptests require debug symbols for the libc to be available, else
we see failures such as those on the autobuilder for the fast ptest image
on arm (the dbg symbols are pulled in by other recipes in other images).

Also fix various test skips/error messages due to missing gcc/ld and
development headers.

Signed-off-by: Richard Purdie 
---
 meta/recipes-devtools/elfutils/elfutils_0.185.bb | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/elfutils/elfutils_0.185.bb 
b/meta/recipes-devtools/elfutils/elfutils_0.185.bb
index 3d103c7c48e..9ea4de8e407 100644
--- a/meta/recipes-devtools/elfutils/elfutils_0.185.bb
+++ b/meta/recipes-devtools/elfutils/elfutils_0.185.bb
@@ -50,11 +50,12 @@ PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
 PACKAGECONFIG[libdebuginfod] = 
"--enable-libdebuginfod,--disable-libdebuginfod,curl"
 PACKAGECONFIG[debuginfod] = 
"--enable-debuginfod,--disable-debuginfod,libarchive sqlite3 libmicrohttpd"
 
-RDEPENDS:${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils 
iproute2-ss bsdtar"
+RDEPENDS:${PN}-ptest += "libasm libelf bash make coreutils ${PN}-binutils 
iproute2-ss bsdtar gcc-symlinks binutils-symlinks libgcc-dev"
 
 EXTRA_OECONF:append:class-target = " --disable-tests-rpath"
 
-RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils"
+RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils glibc-dbg glibc-dev"
+INSANE_SKIP:${PN}-ptest = "debug-deps dev-deps"
 
 do_compile_ptest() {
cd ${B}/tests
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154935): 
https://lists.openembedded.org/g/openembedded-core/message/154935
Mute This Topic: https://lists.openembedded.org/mt/84976712/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 3/5] gcc: also relocate the musl loader

2021-08-18 Thread Richard Purdie
From: Ross Burton 

Alongside GLIBC and UCLIBC, also relocate the musl loader.

Signed-off-by: Ross Burton 
Signed-off-by: Richard Purdie 
---
 meta/recipes-devtools/gcc/gcc-multilib-config.inc | 8 
 1 file changed, 8 insertions(+)

diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc 
b/meta/recipes-devtools/gcc/gcc-multilib-config.inc
index 33bcbbfa246..26bfed9507b 100644
--- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc
+++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc
@@ -120,6 +120,14 @@ python gcc_multilib_setup() {
 r'\1' + wrap_libdir(libdirx32) + r'\3'),
 
(r'^(#define\s*UCLIBC_DYNAMIC_LINKER\b\s*)(\S+)(\s*\".*\")$',
 r'\1' + wrap_libdir(libdir32) + r'\3'),
+(r'^(#define\s*MUSL_DYNAMIC_LINKER32\s*)(\S+)(\s*\".*\")$',
+r'\1' + wrap_libdir(libdir32) + r'\3'),
+(r'^(#define\s*MUSL_DYNAMIC_LINKER64\s*)(\S+)(\s*\".*\")$',
+r'\1' + wrap_libdir(libdir64) + r'\3'),
+
(r'^(#define\s*MUSL_DYNAMIC_LINKERX32\s*)(\S+)(\s*\".*\")$',
+r'\1' + wrap_libdir(libdirx32) + r'\3'),
+(r'^(#define\s*MUSL_DYNAMIC_LINKER\b\s*)(\S+)(\s*\".*\")$',
+r'\1' + wrap_libdir(libdir32) + r'\3'),
 ]
 
 for (i, line) in enumerate(filelines):
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154933): 
https://lists.openembedded.org/g/openembedded-core/message/154933
Mute This Topic: https://lists.openembedded.org/mt/84976708/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 1/5] glibc-package.inc: Fix builds of pseudo with glibc 2.34

2021-08-18 Thread Richard Purdie
Use the same dynamic link tweak for libdl as without this, we have issues
building/using pseudo in mixed glibc/libdl environments.

Signed-off-by: Richard Purdie 
---
 meta/recipes-core/glibc/glibc-package.inc | 1 +
 1 file changed, 1 insertion(+)

diff --git a/meta/recipes-core/glibc/glibc-package.inc 
b/meta/recipes-core/glibc/glibc-package.inc
index 56fbf8b08ce..a320c40dc8f 100644
--- a/meta/recipes-core/glibc/glibc-package.inc
+++ b/meta/recipes-core/glibc/glibc-package.inc
@@ -122,6 +122,7 @@ do_install() {
fi
 lnr ${D}${base_libdir}/libpthread.so.0 ${D}${libdir}/libpthread.so
 lnr ${D}${base_libdir}/librt.so.1 ${D}${libdir}/librt.so
+lnr ${D}${base_libdir}/libdl.so.2 ${D}${libdir}/libdl.so
 }
 
 def get_libc_fpu_setting(bb, d):
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154931): 
https://lists.openembedded.org/g/openembedded-core/message/154931
Mute This Topic: https://lists.openembedded.org/mt/84976706/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH 2/5] gcc: Fix nativesdk builds and multilib fixes with gcc 11

2021-08-18 Thread Richard Purdie
In newer gcc versions the headers changed locations and our multiconfig
and nativesdk tweaks to loader paths wasn't working. The broke
buildtools-extended-tarball, particularly on arm. Update to fix this.

Ultimately we should dump the gcc specs and check for hardcoded paths.
This isn't possible quite yet as this patch doesn't fix the musl ones
as we don't use that in mutlilib or nativesdk scenarios at present.

Signed-off-by: Richard Purdie 
---
 .../gcc/gcc-multilib-config.inc   | 24 ---
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc-multilib-config.inc 
b/meta/recipes-devtools/gcc/gcc-multilib-config.inc
index e90580d1cdb..33bcbbfa246 100644
--- a/meta/recipes-devtools/gcc/gcc-multilib-config.inc
+++ b/meta/recipes-devtools/gcc/gcc-multilib-config.inc
@@ -31,7 +31,9 @@ python gcc_multilib_setup() {
 '%s/*/linux64.h' % src_conf_dir,
 '%s/aarch64/t-aarch64' % src_conf_dir,
 '%s/aarch64/aarch64.h' % src_conf_dir,
+'%s/aarch64/aarch64-linux.h' % src_conf_dir,
 '%s/aarch64/aarch64-cores.def' % src_conf_dir,
+'%s/arm/linux-eabi.h' % src_conf_dir,
 '%s/*/linux.h' % src_conf_dir,
 '%s/linux.h' % src_conf_dir)
 
@@ -102,6 +104,8 @@ python gcc_multilib_setup() {
 r'\1' + wrap_libdir(libdir64) + r'\3'),
 
(r'^(#define\s*GLIBC_DYNAMIC_LINKER64\s*\"\S+\"\s*)(\S+)(\s*\"\S+\"\s*)(\S+)(\s*\".*\")$',
 r'\1' + wrap_libdir(libdir64) + r'\3' + 
wrap_libdir(libdir64) + r'\5'),
+
(r'^(#define\s*GLIBC_DYNAMIC_LINKER\b\s*)(\S+)(\s*\".*\")$',
+r'\1' + wrap_libdir(libdir32) + r'\3'),
 
(r'^(#define\s*GLIBC_DYNAMIC_LINKERX32\s*)(\S+)(\s*\".*\")$',
 r'\1' + wrap_libdir(libdirx32) + r'\3'),
 
(r'^(#define\s*GLIBC_DYNAMIC_LINKERN32\s*)(\S+)(\s*\".*\")$',
@@ -112,6 +116,8 @@ python gcc_multilib_setup() {
 r'\1' + wrap_libdir(libdir64) + r'\3'),
 
(r'^(#define\s*UCLIBC_DYNAMIC_LINKERN32\s*)(\S+)(\s*\".*\")$',
 r'\1' + wrap_libdir(libdirn32) + r'\3'),
+
(r'^(#define\s*UCLIBC_DYNAMIC_LINKERX32\s*)(\S+)(\s*\".*\")$',
+r'\1' + wrap_libdir(libdirx32) + r'\3'),
 
(r'^(#define\s*UCLIBC_DYNAMIC_LINKER\b\s*)(\S+)(\s*\".*\")$',
 r'\1' + wrap_libdir(libdir32) + r'\3'),
 ]
@@ -138,15 +144,15 @@ python gcc_multilib_setup() {
 }
 
 gcc_header_config_files = {
-'x86_64': ['gcc/config/i386/linux64.h'],
-'i586'  : ['gcc/config/i386/linux64.h'],
-'i686'  : ['gcc/config/i386/linux64.h'],
-'mips'  : ['gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'],
-'mips64': ['gcc/config/mips/linux.h', 'gcc/config/mips/linux64.h'],
-'powerpc'   : ['gcc/config/rs6000/linux64.h'],
-'powerpc64' : ['gcc/config/rs6000/linux64.h'],
-'aarch64'   : ['gcc/config/aarch64/aarch64.h'],
-'arm'   : ['gcc/config/aarch64/aarch64.h'],
+'x86_64': ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 
'gcc/config/i386/linux64.h'],
+'i586'  : ['gcc/config/linux.h', 'gcc/config/i386/linux.h', 
'gcc/config/i386/linux64.h'],
+'i686'  : ['gcc/config/linux.h', 'gcc/config/i386/linux64.h'],
+'mips'  : ['gcc/config/linux.h', 'gcc/config/mips/linux.h', 
'gcc/config/mips/linux64.h'],
+'mips64': ['gcc/config/linux.h', 'gcc/config/mips/linux.h', 
'gcc/config/mips/linux64.h'],
+'powerpc'   : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'],
+'powerpc64' : ['gcc/config/linux.h', 'gcc/config/rs6000/linux64.h'],
+'aarch64'   : ['gcc/config/linux.h', 
'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'],
+'arm'   : ['gcc/config/linux.h', 
'gcc/config/aarch64/aarch64-linux.h', 'gcc/config/arm/linux-eabi.h'],
 }
 
 libdir32 = 'SYSTEMLIBS_DIR'
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154932): 
https://lists.openembedded.org/g/openembedded-core/message/154932
Mute This Topic: https://lists.openembedded.org/mt/84976707/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH v3 3/4] sstate.bbclass: get the number of threads from BB_NUMBER_THREADS

2021-08-18 Thread Jose Quaresma
- bitbake BB_NUMBER_THREADS uses cpu_count from oe utils that uses
the python os.sched_getaffinity and it is more acurrate.

 grep -nH ^BB_NUMBER_THREADS meta/conf/bitbake.conf
 meta/conf/bitbake.conf:806:BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"

- multiprocessing.cpu_count() returns the number of CPUs on the host,
not the number of usable CPUs on the host. If the user is using
scheduler affinity then the number of usable CPUs may be less,
so when determining how many cores we can use check the affinity instead.

Signed-off-by: Jose Quaresma 
---
 meta/classes/sstate.bbclass | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index c3c145e7f3..bc14b5e264 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -964,13 +964,12 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 tasklist.append((tid, sstatefile))
 
 if tasklist:
+nproc = min(d.getVar("BB_NUMBER_THREADS"), len(tasklist))
+
 if len(tasklist) >= min_tasks:
 msg = "Checking sstate mirror object availability"
 bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d)
 
-import multiprocessing
-nproc = min(multiprocessing.cpu_count(), len(tasklist))
-
 bb.event.enable_threadlock()
 pool = oe.utils.ThreadedPool(nproc, len(tasklist),
 worker_init=checkstatus_init, worker_end=checkstatus_end)
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154929): 
https://lists.openembedded.org/g/openembedded-core/message/154929
Mute This Topic: https://lists.openembedded.org/mt/84976055/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH v3 4/4] sstate.bbclass: sstate mirror progress bar cleanup

2021-08-18 Thread Jose Quaresma
We only has the progress bar when we have more than 100 objects.
So check for this and store the result to show the progress bar.

Signed-off-by: Jose Quaresma 
---
 meta/classes/sstate.bbclass | 12 
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index bc14b5e264..9cf57466ae 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -953,20 +953,24 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 except:
 bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri)
 pass
-if len(tasklist) >= min_tasks:
+
+if progress:
 bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - 
thread_worker.tasks.qsize()), d)
 
 tasklist = []
-min_tasks = 100
 for tid in missed:
 spec, extrapath, tname = getpathcomponents(tid, d)
 sstatefile = d.expand(extrapath + generate_sstatefn(spec, 
gethash(tid), tname, siginfo, d))
 tasklist.append((tid, sstatefile))
 
+progress = False
+if len(tasklist) >= 100:
+progress = True
+
 if tasklist:
 nproc = min(d.getVar("BB_NUMBER_THREADS"), len(tasklist))
 
-if len(tasklist) >= min_tasks:
+if progress:
 msg = "Checking sstate mirror object availability"
 bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d)
 
@@ -979,7 +983,7 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 pool.wait_completion()
 bb.event.disable_threadlock()
 
-if len(tasklist) >= min_tasks:
+if progress:
 bb.event.fire(bb.event.ProcessFinished(msg), d)
 
 inheritlist = d.getVar("INHERIT")
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154930): 
https://lists.openembedded.org/g/openembedded-core/message/154930
Mute This Topic: https://lists.openembedded.org/mt/84976057/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH v3 2/4] sstate.bbclass: only search on the mirrors for the missing files

2021-08-18 Thread Jose Quaresma
On the first search we found some files on the local sstate cache.
The missing files are know as well when this step finish.
When we have sstate mirrors we don't need to iterate all files again
because we already know what's missing.

Signed-off-by: Jose Quaresma 
---
 meta/classes/sstate.bbclass | 9 ++---
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 2575750247..c3c145e7f3 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -949,11 +949,8 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 bb.debug(2, "SState: Successful fetch test for %s" % srcuri)
 foundMirrors += 1
 found.add(tid)
-
-if tid in missed:
-missed.remove(tid)
+missed.remove(tid)
 except:
-missed.add(tid)
 bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri)
 pass
 if len(tasklist) >= min_tasks:
@@ -961,9 +958,7 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 
 tasklist = []
 min_tasks = 100
-for tid in sq_data['hash']:
-if tid in found:
-continue
+for tid in missed:
 spec, extrapath, tname = getpathcomponents(tid, d)
 sstatefile = d.expand(extrapath + generate_sstatefn(spec, 
gethash(tid), tname, siginfo, d))
 tasklist.append((tid, sstatefile))
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154928): 
https://lists.openembedded.org/g/openembedded-core/message/154928
Mute This Topic: https://lists.openembedded.org/mt/84976054/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH v3 1/4] sstate.bbclass: track found files on mirrors with a counter

2021-08-18 Thread Jose Quaresma
We don't need extra python collections to count the found files
on the sstate cache and sstate mirrors.
The main found collections provides all the files that were found,
then we only need to count the files on sstate mirror

Signed-off-by: Jose Quaresma 
---
 meta/classes/sstate.bbclass | 13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 2175ace4c4..2575750247 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -871,8 +871,6 @@ BB_HASHCHECK_FUNCTION = "sstate_checkhashes"
 
 def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, 
summary=True, **kwargs):
 found = set()
-foundLocal = set()
-foundNet = set()
 missed = set()
 
 def gethash(task):
@@ -905,12 +903,11 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 if os.path.exists(sstatefile):
 bb.debug(2, "SState: Found valid sstate file %s" % sstatefile)
 found.add(tid)
-foundLocal.add(tid)
-continue
 else:
-missed.add(tid)
 bb.debug(2, "SState: Looked for but didn't find file %s" % 
sstatefile)
+missed.add(tid)
 
+foundMirrors = 0
 mirrors = d.getVar("SSTATE_MIRRORS")
 if mirrors:
 # Copy the data object and override DL_DIR and SRC_URI
@@ -950,8 +947,9 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 connection_cache=thread_worker.connection_cache)
 fetcher.checkstatus()
 bb.debug(2, "SState: Successful fetch test for %s" % srcuri)
+foundMirrors += 1
 found.add(tid)
-foundNet.add(tid)
+
 if tid in missed:
 missed.remove(tid)
 except:
@@ -1013,7 +1011,8 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
currentcount=0, summary=True,
 match = 0
 if total:
 match = len(found) / total * 100
-bb.plain("Sstate summary: Wanted %d Local %d Network %d Missed %d 
Current %d (%d%% match, %d%% complete)" % (total, len(foundLocal), 
len(foundNet),len(missed), currentcount, match, complete))
+bb.plain("Sstate summary: Wanted %d Local %d Mirrors %d Missed %d 
Current %d (%d%% match, %d%% complete)" %
+(total, len(found)-foundMirrors, foundMirrors, len(missed), 
currentcount, match, complete))
 
 if hasattr(bb.parse.siggen, "checkhashes"):
 bb.parse.siggen.checkhashes(sq_data, missed, found, d)
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154927): 
https://lists.openembedded.org/g/openembedded-core/message/154927
Mute This Topic: https://lists.openembedded.org/mt/84976053/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH 4/5] sstate.bbclass: disable thread lock if we don't have events

2021-08-18 Thread Jose Quaresma
First of all, sorry for the inconvenience of this patch that adds many troubles.

I have concluded from the commit history that the lock is introduced
because of the progress bar and I don't know that the debug message
uses the events when it runs inside threads.

Basically I am wrong in my assumption and this patch doesn't make sense,
so I will remove it from the series and send the others that are minor tweaks
and little improvements in the sstate mirror.

Best regards,
José Quaresma

Richard Purdie  escreveu no dia
quarta, 11/08/2021 à(s) 20:40:
>
> On Mon, 2021-08-09 at 10:48 +0100, Jose Quaresma wrote:
> > commit f2053844958325496a9387874a8f3182400b71ca
> > 'classes/sstate.bbclass: Enable thread lock when checkstatus'
> > adds a thread lock to don't lose the events from multiple threads
> > that runs on the ThreadPool.
> >
> > commit 1444b8a2ae226829e719d3d184fca27e5940ae0d
> > 'sstate.bbclass: Only show sstate mirror progress bar for >= 100 objects'
> > disable the events if we don't have a minium number of objects.
> >
> > So we can only use the thread lock when we have the events in place.
> >
> > Signed-off-by: Jose Quaresma 
> > ---
> >  meta/classes/sstate.bbclass | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
> > index 63085a7f3a..948779386d 100644
> > --- a/meta/classes/sstate.bbclass
> > +++ b/meta/classes/sstate.bbclass
> > @@ -969,17 +969,17 @@ def sstate_checkhashes(sq_data, d, siginfo=False, 
> > currentcount=0, summary=True,
> >  if len(tasklist) >= min_tasks:
> >  msg = "Checking sstate mirror object availability"
> >  bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), 
> > d)
> > +bb.event.enable_threadlock()
> >
> >
> >
> >
> > -bb.event.enable_threadlock()
> >  pool = oe.utils.ThreadedPool(nproc, len(tasklist),
> >  worker_init=checkstatus_init, 
> > worker_end=checkstatus_end)
> >  for t in tasklist:
> >  pool.add_task(checkstatus, t)
> >  pool.start()
> >  pool.wait_completion()
> > -bb.event.disable_threadlock()
> >
> >
> >
> >
> >  if len(tasklist) >= min_tasks:
> > +bb.event.disable_threadlock()
> >  bb.event.fire(bb.event.ProcessFinished(msg), d)
> >
> >
>
> This patch series somehow breaks the build in weird ways, typically:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/59/builds/3789
>
> i.e. the sdk-update from an eSDK somehow fails to get sstate objects from the
> network. Michael and I spent hours trying to figure out what was breaking
> things and whether this was an infrastructure issue with sstate or not :(.
>
> I dropped this series and builds look much happier. I think this patch
> isn't correct as the threadlock isn't guarding against just progress
> events, it guards against any events from threads. There are debug messages
> in the code which turn into events too. As such, when threads are in use,
> the lock is needed.
>
> I therefore suspect it is this change that breaks things in weird ways
> but I haven't confirmed that.
>
> Cheers,
>
> Richard
>


-- 
Best regards,

José Quaresma

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154926): 
https://lists.openembedded.org/g/openembedded-core/message/154926
Mute This Topic: https://lists.openembedded.org/mt/84764885/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [hardknott][PATCH] glibc: Fix CVE-2021-38604

2021-08-18 Thread Vinay Kumar
Source: https://sourceware.org/git/glibc.git
Tracking -- https://sourceware.org/bugzilla/show_bug.cgi?id=28213

Backported upstream commits b805aebd42364fe696e417808a700fdb9800c9e8 and 
4cc79c217744743077bf7a0ec5e0a4318f1e6641
to glibc-2.33 source.

Upstream-Status: Backport 
[https://sourceware.org/git/?p=glibc.git;a=commit;h=b805aebd42364fe696e417808a700fdb9800c9e8]
Upstream-Status: Backport 
[https://sourceware.org/git/?p=glibc.git;a=commit;h=4cc79c217744743077bf7a0ec5e0a4318f1e6641]

Signed-off-by: Vinay Kumar 
---
 .../glibc/glibc/0001-CVE-2021-38604.patch |  43 +
 .../glibc/glibc/0002-CVE-2021-38604.patch | 150 ++
 meta/recipes-core/glibc/glibc_2.33.bb |   2 +
 3 files changed, 195 insertions(+)
 create mode 100644 meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch
 create mode 100644 meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch

diff --git a/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch 
b/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch
new file mode 100644
index 00..1e94049004
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch
@@ -0,0 +1,43 @@
+From b805aebd42364fe696e417808a700fdb9800c9e8 Mon Sep 17 00:00:00 2001
+From: Nikita Popov 
+Date: Mon, 9 Aug 2021 20:17:34 +0530
+Subject: [PATCH] librt: fix NULL pointer dereference (bug 28213)
+
+Helper thread frees copied attribute on NOTIFY_REMOVED message
+received from the OS kernel.  Unfortunately, it fails to check whether
+copied attribute actually exists (data.attr != NULL).  This worked
+earlier because free() checks passed pointer before actually
+attempting to release corresponding memory.  But
+__pthread_attr_destroy assumes pointer is not NULL.
+
+So passing NULL pointer to __pthread_attr_destroy will result in
+segmentation fault.  This scenario is possible if
+notification->sigev_notify_attributes == NULL (which means default
+thread attributes should be used).
+
+Upstream-Status: Backport 
[https://sourceware.org/git/?p=glibc.git;a=commit;h=b805aebd42364fe696e417808a700fdb9800c9e8]
+CVE: CVE-2021-38604
+
+Signed-off-by: Nikita Popov 
+Reviewed-by: Siddhesh Poyarekar 
+Signed-off-by: Vinay Kumar 
+---
+ sysdeps/unix/sysv/linux/mq_notify.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysdeps/unix/sysv/linux/mq_notify.c 
b/sysdeps/unix/sysv/linux/mq_notify.c
+index 9799dcdaa4..eccae2e4c6 100644
+--- a/sysdeps/unix/sysv/linux/mq_notify.c
 b/sysdeps/unix/sysv/linux/mq_notify.c
+@@ -131,7 +131,7 @@ helper_thread (void *arg)
+  to wait until it is done with it.  */
+   (void) __pthread_barrier_wait (¬ify_barrier);
+   }
+-  else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
++  else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED && data.attr 
!= NULL)
+   {
+ /* The only state we keep is the copy of the thread attributes.  */
+ __pthread_attr_destroy (data.attr);
+-- 
+2.31.1
+
diff --git a/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch 
b/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch
new file mode 100644
index 00..9f71fecddb
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch
@@ -0,0 +1,150 @@
+From 4cc79c217744743077bf7a0ec5e0a4318f1e6641 Mon Sep 17 00:00:00 2001
+From: Nikita Popov 
+Date: Thu, 12 Aug 2021 16:09:50 +0530
+Subject: [PATCH] librt: add test (bug 28213)
+
+This test implements following logic:
+1) Create POSIX message queue.
+   Register a notification with mq_notify (using NULL attributes).
+   Then immediately unregister the notification with mq_notify.
+   Helper thread in a vulnerable version of glibc
+   should cause NULL pointer dereference after these steps.
+2) Once again, register the same notification.
+   Try to send a dummy message.
+   Test is considered successfulif the dummy message
+   is successfully received by the callback function.
+
+Upstream-Status: Backport 
[https://sourceware.org/git/?p=glibc.git;a=commit;h=4cc79c217744743077bf7a0ec5e0a4318f1e6641]
+CVE: CVE-2021-38604
+
+Signed-off-by: Nikita Popov 
+Reviewed-by: Siddhesh Poyarekar 
+Signed-off-by: Vinay Kumar 
+---
+ rt/Makefile  |   1 +
+ rt/tst-bz28213.c | 101 +++
+ 2 files changed, 102 insertions(+)
+ create mode 100644 rt/tst-bz28213.c
+
+diff --git a/rt/Makefile b/rt/Makefile
+index 113cea03a5..910e775995 100644
+--- a/rt/Makefile
 b/rt/Makefile
+@@ -74,6 +74,7 @@ tests := tst-shm tst-timer tst-timer2 \
+tst-aio7 tst-aio8 tst-aio9 tst-aio10 \
+tst-mqueue1 tst-mqueue2 tst-mqueue3 tst-mqueue4 \
+tst-mqueue5 tst-mqueue6 tst-mqueue7 tst-mqueue8 tst-mqueue9 \
++   tst-bz28213 \
+tst-timer3 tst-timer4 tst-timer5 \
+tst-cpuclock2 tst-cputimer1 tst-cputimer2 tst-cputimer3 \
+tst-shm-cancel \
+diff --git a/rt/tst-bz28213.c b/rt/tst-bz28213.c
+new file mode 100644
+index 00..0c096b5a0a
+--- /dev/null
+

[OE-core] [PATCH] glibc: Fix CVE-2021-38604

2021-08-18 Thread Vinay Kumar
Source: https://sourceware.org/git/glibc.git
Tracking -- https://sourceware.org/bugzilla/show_bug.cgi?id=28213

Backported upstream commits b805aebd42364fe696e417808a700fdb9800c9e8 and 
4cc79c217744743077bf7a0ec5e0a4318f1e6641
to glibc-2.34 source.

Upstream-Status: Backport 
[https://sourceware.org/git/?p=glibc.git;a=commit;h=b805aebd42364fe696e417808a700fdb9800c9e8]
Upstream-Status: Backport 
[https://sourceware.org/git/?p=glibc.git;a=commit;h=4cc79c217744743077bf7a0ec5e0a4318f1e6641]

Signed-off-by: Vinay Kumar 
---
 .../glibc/glibc/0001-CVE-2021-38604.patch |  43 +
 .../glibc/glibc/0002-CVE-2021-38604.patch | 150 ++
 meta/recipes-core/glibc/glibc_2.34.bb |   2 +
 3 files changed, 195 insertions(+)
 create mode 100644 meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch
 create mode 100644 meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch

diff --git a/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch 
b/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch
new file mode 100644
index 00..1e94049004
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0001-CVE-2021-38604.patch
@@ -0,0 +1,43 @@
+From b805aebd42364fe696e417808a700fdb9800c9e8 Mon Sep 17 00:00:00 2001
+From: Nikita Popov 
+Date: Mon, 9 Aug 2021 20:17:34 +0530
+Subject: [PATCH] librt: fix NULL pointer dereference (bug 28213)
+
+Helper thread frees copied attribute on NOTIFY_REMOVED message
+received from the OS kernel.  Unfortunately, it fails to check whether
+copied attribute actually exists (data.attr != NULL).  This worked
+earlier because free() checks passed pointer before actually
+attempting to release corresponding memory.  But
+__pthread_attr_destroy assumes pointer is not NULL.
+
+So passing NULL pointer to __pthread_attr_destroy will result in
+segmentation fault.  This scenario is possible if
+notification->sigev_notify_attributes == NULL (which means default
+thread attributes should be used).
+
+Upstream-Status: Backport 
[https://sourceware.org/git/?p=glibc.git;a=commit;h=b805aebd42364fe696e417808a700fdb9800c9e8]
+CVE: CVE-2021-38604
+
+Signed-off-by: Nikita Popov 
+Reviewed-by: Siddhesh Poyarekar 
+Signed-off-by: Vinay Kumar 
+---
+ sysdeps/unix/sysv/linux/mq_notify.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sysdeps/unix/sysv/linux/mq_notify.c 
b/sysdeps/unix/sysv/linux/mq_notify.c
+index 9799dcdaa4..eccae2e4c6 100644
+--- a/sysdeps/unix/sysv/linux/mq_notify.c
 b/sysdeps/unix/sysv/linux/mq_notify.c
+@@ -131,7 +131,7 @@ helper_thread (void *arg)
+  to wait until it is done with it.  */
+   (void) __pthread_barrier_wait (¬ify_barrier);
+   }
+-  else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED)
++  else if (data.raw[NOTIFY_COOKIE_LEN - 1] == NOTIFY_REMOVED && data.attr 
!= NULL)
+   {
+ /* The only state we keep is the copy of the thread attributes.  */
+ __pthread_attr_destroy (data.attr);
+-- 
+2.31.1
+
diff --git a/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch 
b/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch
new file mode 100644
index 00..9f71fecddb
--- /dev/null
+++ b/meta/recipes-core/glibc/glibc/0002-CVE-2021-38604.patch
@@ -0,0 +1,150 @@
+From 4cc79c217744743077bf7a0ec5e0a4318f1e6641 Mon Sep 17 00:00:00 2001
+From: Nikita Popov 
+Date: Thu, 12 Aug 2021 16:09:50 +0530
+Subject: [PATCH] librt: add test (bug 28213)
+
+This test implements following logic:
+1) Create POSIX message queue.
+   Register a notification with mq_notify (using NULL attributes).
+   Then immediately unregister the notification with mq_notify.
+   Helper thread in a vulnerable version of glibc
+   should cause NULL pointer dereference after these steps.
+2) Once again, register the same notification.
+   Try to send a dummy message.
+   Test is considered successfulif the dummy message
+   is successfully received by the callback function.
+
+Upstream-Status: Backport 
[https://sourceware.org/git/?p=glibc.git;a=commit;h=4cc79c217744743077bf7a0ec5e0a4318f1e6641]
+CVE: CVE-2021-38604
+
+Signed-off-by: Nikita Popov 
+Reviewed-by: Siddhesh Poyarekar 
+Signed-off-by: Vinay Kumar 
+---
+ rt/Makefile  |   1 +
+ rt/tst-bz28213.c | 101 +++
+ 2 files changed, 102 insertions(+)
+ create mode 100644 rt/tst-bz28213.c
+
+diff --git a/rt/Makefile b/rt/Makefile
+index 113cea03a5..910e775995 100644
+--- a/rt/Makefile
 b/rt/Makefile
+@@ -74,6 +74,7 @@ tests := tst-shm tst-timer tst-timer2 \
+tst-aio7 tst-aio8 tst-aio9 tst-aio10 \
+tst-mqueue1 tst-mqueue2 tst-mqueue3 tst-mqueue4 \
+tst-mqueue5 tst-mqueue6 tst-mqueue7 tst-mqueue8 tst-mqueue9 \
++   tst-bz28213 \
+tst-timer3 tst-timer4 tst-timer5 \
+tst-cpuclock2 tst-cputimer1 tst-cputimer2 tst-cputimer3 \
+tst-shm-cancel \
+diff --git a/rt/tst-bz28213.c b/rt/tst-bz28213.c
+new file mode 100644
+index 00..0c096b5a0a
+--- /dev/null
+

Re: [OE-core] [poky][dunfell][PATCHv5] lighttpd: Add patch for reuse large memory chunks

2021-08-18 Thread Anuj Mittal
Hello

On Wed, 2021-08-18 at 16:46 +0530, Purushottam Choudhary wrote:
> From: Glenn Strauss 
> +Date: Wed, 23 Dec 2020 23:14:47 -0500
> +Subject: [PATCH] reuse large mem chunks (fix mem usage) (fixes #3033)
> +
> +(cherry picked from commit 7ba521ffb4959f6f74a609d5d4acafc29a038337)
> +
> +(thx flynn)
> +
> +fix large memory usage for large file downloads from dynamic backends
> +
> +reuse or release large memory chunks
> +Upstream-Status: Backport
> +
> https://redmine.lighttpd.net/projects/lighttpd/repository/14/revisions/7ba521ffb4959f6f74a609d5d4acafc29a038337
> +Signed-off-by: Purushottam Choudhary 
> +x-ref:
> +  "Memory Growth with PUT and full buffered streams"
> +  https://redmine.lighttpd.net/issues/3033
> +
> +---
> + src/chunk.c    | 99 -
> -
> + src/chunk.h    |  2 +
> + src/http-header-glue.c |  2 +-
> + 3 files changed, 82 insertions(+), 21 deletions(-)
> +
> +diff --git a/src/chunk.c b/src/chunk.c
> +index 09dd3f1..ffb3795 100644
> +--- a/src/chunk.c
>  b/src/chunk.c
> +@@ -28,16 +28,20 @@
> + static size_t chunk_buf_sz = 4096;
> + static chunk *chunks, *chunks_oversized;
> + static chunk *chunk_buffers;
> ++static int chunks_oversized_n;
> + static array *chunkqueue_default_tempdirs = NULL;
> + static off_t chunkqueue_default_tempfile_size =
> DEFAULT_TEMPFILE_SIZE;
> + 
> + void chunkqueue_set_chunk_size (size_t sz)
> + {
> +-    chunk_buf_sz = sz > 0 ? ((sz + 1023) & ~1023uL) : 4096;
> ++    size_t x = 1024;
> ++    while (x < sz && x < (1u << 30)) x <<= 1;
> ++    chunk_buf_sz = sz > 0 ? x : 4096;

This doesn't look like a clean backport and you seem to have changed
the chunk size to 4k from 8k in the patch. This should be mentioned.

> + }
> + 
> + void chunkqueue_set_tempdirs_default_reset (void)
> + {
> ++    chunk_buf_sz = 8192;

While here it's being reset to 8k. This looks wrong ... Perhaps you
should consider taking an earlier commit as well that's changing the
size to 8k. Also, is the aim of this patch is to fix

https://redmine.lighttpd.net/issues/3033

? If yes, you probably need some other patches as well:

https://redmine.lighttpd.net/issues/3033?tab=changesets

Thanks,

Anuj

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154923): 
https://lists.openembedded.org/g/openembedded-core/message/154923
Mute This Topic: https://lists.openembedded.org/mt/84969804/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH][dunfell] linux-yocto/5.4: update to v5.4.141

2021-08-18 Thread Bruce Ashfield
On Wed, Aug 18, 2021 at 10:49 AM Steve Sakoman  wrote:
>
> Hi Bruce,
>
> On Wed, Aug 18, 2021 at 4:05 AM  wrote:
> >
> > From: Bruce Ashfield 
> >
> > Updating linux-yocto/5.4 to the latest korg -stable release that comprises
> > the following commits:
> >
> > b704883aa8dc Linux 5.4.141
> > 983d6a6b7e3c btrfs: don't flush from 
> > btrfs_delayed_inode_reserve_metadata
> > ea13f678a3fd btrfs: export and rename qgroup_reserve_meta
> > 41a9b8f36de7 btrfs: qgroup: don't commit transaction when we already 
> > hold the handle
> > 38b8485b72cb net: xilinx_emaclite: Do not print real IOMEM pointer
> > 654c19a7e8d8 btrfs: fix lockdep splat when enabling and disabling 
> > qgroups
> > c55442cdfdb8 btrfs: qgroup: remove ASYNC_COMMIT mechanism in favor of 
> > reserve retry-after-EDQUOT
> > fdaf6a322fcc btrfs: transaction: Cleanup unused TRANS_STATE_BLOCKED
> > 36af2de520cc btrfs: qgroup: try to flush qgroup space when we get 
> > -EDQUOT
> > 5c79287c2b6d btrfs: qgroup: allow to unreserve range without releasing 
> > other ranges
> > b7a722fd75a1 btrfs: make btrfs_qgroup_reserve_data take btrfs_inode
> > dfadea4061a2 btrfs: make qgroup_free_reserved_data take btrfs_inode
> > 812f39ed5b0b ovl: prevent private clone if bind mount is not allowed
> > eeb4742501e0 ppp: Fix generating ppp unit id when ifname is not 
> > specified
> > 3460f3959d1c ALSA: hda: Add quirk for ASUS Flow x13
> > 81d1a3f97631 USB:ehci:fix Kunpeng920 ehci hardware problem
> > d28adaabbbf4 KVM: X86: MMU: Use the correct inherited permissions to 
> > get shadow page
> > 5f4ab7e25fbb usb: dwc3: gadget: Avoid runtime resume if disabling pullup
> > 1782c4af6bd0 usb: dwc3: gadget: Disable gadget IRQ during pullup disable
> > 54b7022f2878 usb: dwc3: gadget: Clear DEP flags after stop transfers in 
> > ep disable
> > e36245a68eb1 usb: dwc3: gadget: Prevent EP queuing while stopping 
> > transfers
> > 823f69250863 usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
> > 25a0625fa96f usb: dwc3: gadget: Allow runtime suspend if UDC unbinded
> > 5f081a928d55 usb: dwc3: Stop active transfers before halting the 
> > controller
> > 396f29ea0cd2 tracing: Reject string operand in the histogram expression
> > 28276c280f2e media: v4l2-mem2mem: always consider OUTPUT queue during 
> > poll
> > 236aca70929d tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag
> > 5b774238e8af KVM: SVM: Fix off-by-one indexing when nullifying last 
> > used SEV VMCB
> > a998faa9c4ce Linux 5.4.140
> > 3c197fdd0732 arm64: fix compat syscall return truncation
> > 72fcaf69525d net/qla3xxx: fix schedule while atomic in 
> > ql_wait_for_drvr_lock and ql_adapter_reset
> > 742e85fa9e80 alpha: Send stop IPI to send to online CPUs
> > 26946d21395c virt_wifi: fix error on connect
> > 17d7c9c940fb reiserfs: check directory items on read from disk
> > bcad6ece2a50 reiserfs: add check for root_inode in reiserfs_fill_super
> > e30a88f1f578 libata: fix ata_pio_sector for CONFIG_HIGHMEM
> > a2671d96a3c7 bpf, selftests: Adjust few selftest result_unpriv outcomes
> > 4892b4f3244b perf/x86/amd: Don't touch the AMD64_EVENTSEL_HOSTONLY bit 
> > inside the guest
> > d6cf5342faa6 soc: ixp4xx/qmgr: fix invalid __iomem access
> > a5bf7ef13ebf spi: meson-spicc: fix memory leak in meson_spicc_remove
> > 27991c78d630 soc: ixp4xx: fix printing resources
> > 07fd256d53a3 arm64: vdso: Avoid ISB after reading from cntvct_el0
> > 90e498ef3f54 KVM: x86/mmu: Fix per-cpu counter corruption on 32-bit 
> > builds
> > 2e1a80b93464 KVM: Do not leak memory for duplicate debugfs directories
> > 43486cd7391f KVM: x86: accept userspace interrupt only if no event is 
> > injected
> > 1b7b9713a50f md/raid10: properly indicate failure when ending a failed 
> > write request
> > 790cb68d35a6 pcmcia: i82092: fix a null pointer dereference bug
> > 42ac2c63486f timers: Move clearing of base::timer_running under base:: 
> > Lock
> > 8211bb20da23 serial: 8250_pci: Avoid irq sharing for MSI(-X) interrupts.
> > f73dcb5d63e2 serial: 8250_pci: Enumerate Elkhart Lake UARTs via 
> > dedicated driver
> > 607460d38692 MIPS: Malta: Do not byte-swap accesses to the CBUS UART
> > 3eb686d01c31 serial: 8250: Mask out floating 16/32-bit bus bits
> > 3b73a69962d6 serial: 8250_mtk: fix uart corruption issue when rx power 
> > off
> > afdef443a892 serial: tegra: Only print FIFO error message when an error 
> > occurs
> > 097a183f9c1d ext4: fix potential htree corruption when growing 
> > large_dir directories
> > ac23a1738127 pipe: increase minimum default pipe size to 2 pages
> > f3cae04bd42d media: rtl28xxu: fix zero-length control request
> > e2f6d5b03898 staging: rtl8712: get rid of flush_scheduled_work
> > 8f241df0e68f staging: rtl8723bs: Fix a resource leak in sd_int_dpc
> > bbdd4a51629a tpm_ftpm_tee: Fr

[OE-core] [dunfell][PATCH] linux-firmware: add more Qualcomm firmware packages

2021-08-18 Thread Dmitry Baryshkov
From: Dmitry Baryshkov 

Add firmware packages for the recent Qualcomm SoCs:

 - linux-firmware-qcom-adreno-a650, linux-firmware-qcom-adreno-a660,
   containing firmware for Adreno A630 and A650 GPUs

 - linux-firmware-qcom-sm8250-audio, linux-firmware-sm8250-compute,
   containing firmware for audio and comute DSPs on SM8250 (QRB5165)

 - linux-firmware-qcom-vpu-1.0, linux-firmware-qcom-vpu-2.0 containing
   firmware for newer Venus video encoder/decoder

Signed-off-by: Dmitry Baryshkov 
Signed-off-by: Richard Purdie 
(cherry picked from commit 31057a9d41a452bdb9e94b4160220f675332ef70)
---
 .../linux-firmware/linux-firmware_20210511.bb   | 17 -
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb 
b/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb
index 26091fba7076..513932984e2a 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20210511.bb
@@ -303,8 +303,11 @@ PACKAGES =+ "${PN}-ralink-license ${PN}-ralink \
  ${PN}-qat ${PN}-qat-license \
  ${PN}-qcom-license \
  ${PN}-qcom-venus-1.8 ${PN}-qcom-venus-4.2 ${PN}-qcom-venus-5.2 
${PN}-qcom-venus-5.4 \
- ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a530 
${PN}-qcom-adreno-a630 \
+ ${PN}-qcom-vpu-1.0 ${PN}-qcom-vpu-2.0 \
+ ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a530 \
+ ${PN}-qcom-adreno-a630 ${PN}-qcom-adreno-a650 
${PN}-qcom-adreno-a660 \
  ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute 
${PN}-qcom-sdm845-modem \
+ ${PN}-qcom-sm8250-audio ${PN}-qcom-sm8250-compute \
  ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \
  ${PN}-lt9611uxc ${PN}-lontium-license \
  ${PN}-whence-license \
@@ -952,22 +955,34 @@ FILES_${PN}-qcom-venus-1.8 = 
"${nonarch_base_libdir}/firmware/qcom/venus-1.8/*"
 FILES_${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*"
 FILES_${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*"
 FILES_${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*"
+FILES_${PN}-qcom-vpu-1.0 = "${nonarch_base_libdir}/firmware/qcom/vpu-1.0/*"
+FILES_${PN}-qcom-vpu-2.0 = "${nonarch_base_libdir}/firmware/qcom/vpu-2.0/*"
 FILES_${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a300_*.fw 
${nonarch_base_libdir}/firmware/a300_*.fw"
 FILES_${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.*"
 FILES_${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.* 
${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*"
+FILES_${PN}-qcom-adreno-a650 = "${nonarch_base_libdir}/firmware/qcom/a650*.* 
${nonarch_base_libdir}/firmware/qcom/sm8250/a650*.*"
+FILES_${PN}-qcom-adreno-a660 = "${nonarch_base_libdir}/firmware/qcom/a660*.*"
 FILES_${PN}-qcom-sdm845-audio = 
"${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*"
 FILES_${PN}-qcom-sdm845-compute = 
"${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*"
 FILES_${PN}-qcom-sdm845-modem = 
"${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn 
${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* 
${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn"
+FILES_${PN}-qcom-sm8250-audio = 
"${nonarch_base_libdir}/firmware/qcom/sm8250/adsp*.*"
+FILES_${PN}-qcom-sm8250-compute = 
"${nonarch_base_libdir}/firmware/qcom/sm8250/cdsp*.*"
 RDEPENDS_${PN}-qcom-venus-1.8 = "${PN}-qcom-license"
 RDEPENDS_${PN}-qcom-venus-4.2 = "${PN}-qcom-license"
 RDEPENDS_${PN}-qcom-venus-5.2 = "${PN}-qcom-license"
 RDEPENDS_${PN}-qcom-venus-5.4 = "${PN}-qcom-license"
+RDEPENDS_${PN}-qcom-vpu-1.0 = "${PN}-qcom-license"
+RDEPENDS_${PN}-qcom-vpu-2.0 = "${PN}-qcom-license"
 RDEPENDS_${PN}-qcom-adreno-a3xx = "${PN}-qcom-license"
 RDEPENDS_${PN}-qcom-adreno-a530 = "${PN}-qcom-license"
 RDEPENDS_${PN}-qcom-adreno-a630 = "${PN}-qcom-license"
+RDEPENDS_${PN}-qcom-adreno-a650 = "${PN}-qcom-license"
+RDEPENDS_${PN}-qcom-adreno-a660 = "${PN}-qcom-license"
 RDEPENDS_${PN}-qcom-sdm845-audio = "${PN}-qcom-license"
 RDEPENDS_${PN}-qcom-sdm845-compute = "${PN}-qcom-license"
 RDEPENDS_${PN}-qcom-sdm845-modem = "${PN}-qcom-license"
+RDEPENDS_${PN}-qcom-sm8250-audio = "${PN}-qcom-license"
+RDEPENDS_${PN}-qcom-sm8250-compute = "${PN}-qcom-license"
 
 FILES_${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio"
 
-- 
2.30.2


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154921): 
https://lists.openembedded.org/g/openembedded-core/message/154921
Mute This Topic: https://lists.openembedded.org/mt/84973827/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH][dunfell] linux-yocto/5.4: update to v5.4.141

2021-08-18 Thread Steve Sakoman
Hi Bruce,

On Wed, Aug 18, 2021 at 4:05 AM  wrote:
>
> From: Bruce Ashfield 
>
> Updating linux-yocto/5.4 to the latest korg -stable release that comprises
> the following commits:
>
> b704883aa8dc Linux 5.4.141
> 983d6a6b7e3c btrfs: don't flush from btrfs_delayed_inode_reserve_metadata
> ea13f678a3fd btrfs: export and rename qgroup_reserve_meta
> 41a9b8f36de7 btrfs: qgroup: don't commit transaction when we already hold 
> the handle
> 38b8485b72cb net: xilinx_emaclite: Do not print real IOMEM pointer
> 654c19a7e8d8 btrfs: fix lockdep splat when enabling and disabling qgroups
> c55442cdfdb8 btrfs: qgroup: remove ASYNC_COMMIT mechanism in favor of 
> reserve retry-after-EDQUOT
> fdaf6a322fcc btrfs: transaction: Cleanup unused TRANS_STATE_BLOCKED
> 36af2de520cc btrfs: qgroup: try to flush qgroup space when we get -EDQUOT
> 5c79287c2b6d btrfs: qgroup: allow to unreserve range without releasing 
> other ranges
> b7a722fd75a1 btrfs: make btrfs_qgroup_reserve_data take btrfs_inode
> dfadea4061a2 btrfs: make qgroup_free_reserved_data take btrfs_inode
> 812f39ed5b0b ovl: prevent private clone if bind mount is not allowed
> eeb4742501e0 ppp: Fix generating ppp unit id when ifname is not specified
> 3460f3959d1c ALSA: hda: Add quirk for ASUS Flow x13
> 81d1a3f97631 USB:ehci:fix Kunpeng920 ehci hardware problem
> d28adaabbbf4 KVM: X86: MMU: Use the correct inherited permissions to get 
> shadow page
> 5f4ab7e25fbb usb: dwc3: gadget: Avoid runtime resume if disabling pullup
> 1782c4af6bd0 usb: dwc3: gadget: Disable gadget IRQ during pullup disable
> 54b7022f2878 usb: dwc3: gadget: Clear DEP flags after stop transfers in 
> ep disable
> e36245a68eb1 usb: dwc3: gadget: Prevent EP queuing while stopping 
> transfers
> 823f69250863 usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
> 25a0625fa96f usb: dwc3: gadget: Allow runtime suspend if UDC unbinded
> 5f081a928d55 usb: dwc3: Stop active transfers before halting the 
> controller
> 396f29ea0cd2 tracing: Reject string operand in the histogram expression
> 28276c280f2e media: v4l2-mem2mem: always consider OUTPUT queue during poll
> 236aca70929d tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag
> 5b774238e8af KVM: SVM: Fix off-by-one indexing when nullifying last used 
> SEV VMCB
> a998faa9c4ce Linux 5.4.140
> 3c197fdd0732 arm64: fix compat syscall return truncation
> 72fcaf69525d net/qla3xxx: fix schedule while atomic in 
> ql_wait_for_drvr_lock and ql_adapter_reset
> 742e85fa9e80 alpha: Send stop IPI to send to online CPUs
> 26946d21395c virt_wifi: fix error on connect
> 17d7c9c940fb reiserfs: check directory items on read from disk
> bcad6ece2a50 reiserfs: add check for root_inode in reiserfs_fill_super
> e30a88f1f578 libata: fix ata_pio_sector for CONFIG_HIGHMEM
> a2671d96a3c7 bpf, selftests: Adjust few selftest result_unpriv outcomes
> 4892b4f3244b perf/x86/amd: Don't touch the AMD64_EVENTSEL_HOSTONLY bit 
> inside the guest
> d6cf5342faa6 soc: ixp4xx/qmgr: fix invalid __iomem access
> a5bf7ef13ebf spi: meson-spicc: fix memory leak in meson_spicc_remove
> 27991c78d630 soc: ixp4xx: fix printing resources
> 07fd256d53a3 arm64: vdso: Avoid ISB after reading from cntvct_el0
> 90e498ef3f54 KVM: x86/mmu: Fix per-cpu counter corruption on 32-bit builds
> 2e1a80b93464 KVM: Do not leak memory for duplicate debugfs directories
> 43486cd7391f KVM: x86: accept userspace interrupt only if no event is 
> injected
> 1b7b9713a50f md/raid10: properly indicate failure when ending a failed 
> write request
> 790cb68d35a6 pcmcia: i82092: fix a null pointer dereference bug
> 42ac2c63486f timers: Move clearing of base::timer_running under base:: 
> Lock
> 8211bb20da23 serial: 8250_pci: Avoid irq sharing for MSI(-X) interrupts.
> f73dcb5d63e2 serial: 8250_pci: Enumerate Elkhart Lake UARTs via dedicated 
> driver
> 607460d38692 MIPS: Malta: Do not byte-swap accesses to the CBUS UART
> 3eb686d01c31 serial: 8250: Mask out floating 16/32-bit bus bits
> 3b73a69962d6 serial: 8250_mtk: fix uart corruption issue when rx power off
> afdef443a892 serial: tegra: Only print FIFO error message when an error 
> occurs
> 097a183f9c1d ext4: fix potential htree corruption when growing large_dir 
> directories
> ac23a1738127 pipe: increase minimum default pipe size to 2 pages
> f3cae04bd42d media: rtl28xxu: fix zero-length control request
> e2f6d5b03898 staging: rtl8712: get rid of flush_scheduled_work
> 8f241df0e68f staging: rtl8723bs: Fix a resource leak in sd_int_dpc
> bbdd4a51629a tpm_ftpm_tee: Free and unregister TEE shared memory during 
> kexec
> 3c712f14d8a9 optee: Fix memory leak when failing to register shm pages
> 0572199b78b3 tee: add tee_shm_alloc_kernel_buf()
> b247bf412cc2 optee: Clear stale cache entries during initialization
>  

Re: [OE-core] [poky][dunfell][PATCH] assimp: added patch to fix hardcoded non-existing paths in CMake modules

2021-08-18 Thread Steve Sakoman
On Wed, Aug 18, 2021 at 12:41 AM Purushottam Choudhary
 wrote:
>
> assimp CMake modules were adding non-existing paths to its CMake modules
> breaking builds for users of assimp. Remove the hardcoded paths with
> an upstream patch with small tweaks.
>
> Signed-off-by: Purushottam Choudhary 
> ---
>  ...-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch |  68 --
>  ...ove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch |  32 +++
>  .../assimp/use-GNUInstallDirs-where-possible.patch | 257 
> +
>  meta/recipes-graphics/vulkan/assimp_5.0.1.bb   |   3 +-

Since version 5.0.1 is also used in master branch please submit this
patch for master first.  If accepted then I will cherry-pick it into
dunfell.

Thanks!

Steve

>  4 files changed, 291 insertions(+), 69 deletions(-)
>  delete mode 100644 
> meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch
>  create mode 100644 
> meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch
>  create mode 100644 
> meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch
>
> diff --git 
> a/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch
>  
> b/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch
> deleted file mode 100644
> index 34c5bfa..000
> --- 
> a/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch
> +++ /dev/null
> @@ -1,68 +0,0 @@
> -From 58f576d6f240b08957a402960cdf06c74201ac7b Mon Sep 17 00:00:00 2001
> -From: Hongxu Jia 
> -Date: Thu, 12 Dec 2019 22:16:15 -0800
> -Subject: [PATCH] Use ASSIMP_LIB_INSTALL_DIR to search library
> -
> -Use ASSIMP_LIB_INSTALL_DIR rather than hardcoded /lib to search library
> -
> -Upstream-Status: Inappropriate [oe specific]
> -
> -Signed-off-by: Hongxu Jia 
> -
> 
> - assimpTargets-release.cmake.in | 16 
> - 1 file changed, 8 insertions(+), 8 deletions(-)
> -
> -diff --git a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in
> -index f3db8f1..b8a066a 100644
>  a/assimpTargets-release.cmake.in
> -+++ b/assimpTargets-release.cmake.in
> -@@ -42,11 +42,11 @@ if(MSVC)
> - # Import target "assimp::assimp" for configuration "Release"
> - set_property(TARGET assimp::assimp APPEND PROPERTY 
> IMPORTED_CONFIGURATIONS RELEASE)
> - set_target_properties(assimp::assimp PROPERTIES
> --  IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/${importLibraryName}"
> -+  IMPORTED_IMPLIB_RELEASE 
> "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${importLibraryName}"
> -   IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/${sharedLibraryName}"
> - )
> - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
> --list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
> "${_IMPORT_PREFIX}/lib/${importLibraryName}")
> -+list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
> "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${importLibraryName}")
> - list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
> "${_IMPORT_PREFIX}/bin/${sharedLibraryName}" )
> -   else()
> - set(staticLibraryName 
> "assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
> -@@ -54,10 +54,10 @@ if(MSVC)
> - # Import target "assimp::assimp" for configuration "Release"
> - set_property(TARGET assimp::assimp APPEND PROPERTY 
> IMPORTED_CONFIGURATIONS RELEASE)
> - set_target_properties(assimp::assimp PROPERTIES
> --  IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
> -+  IMPORTED_LOCATION_RELEASE 
> "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}"
> - )
> - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
> --list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
> "${_IMPORT_PREFIX}/lib/${staticLibraryName}")
> -+list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
> "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}")
> -   endif()
> -
> - else()
> -@@ -70,17 +70,17 @@ else()
> - endif()
> - set_target_properties(assimp::assimp PROPERTIES
> -   IMPORTED_SONAME_RELEASE "${sharedLibraryName}"
> --  IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${sharedLibraryName}"
> -+  IMPORTED_LOCATION_RELEASE 
> "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${sharedLibraryName}"
> - )
> - list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
> --list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
> "${_IMPORT_PREFIX}/lib/${sharedLibraryName}" )
> -+list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
> "${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${sharedLibraryName}" )
> -   else()
> - set(staticLibraryName 
> "libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
> - set_target_properties(assimp::assimp PROPERTIES
> --  IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
> -+  IMPORTED_LOCATION_RELEASE 
> "${_IMPORT_PREFIX}/@AS

[OE-core] [PATCH][dunfell] linux-yocto/5.4: update to v5.4.141

2021-08-18 Thread Bruce Ashfield
From: Bruce Ashfield 

Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

b704883aa8dc Linux 5.4.141
983d6a6b7e3c btrfs: don't flush from btrfs_delayed_inode_reserve_metadata
ea13f678a3fd btrfs: export and rename qgroup_reserve_meta
41a9b8f36de7 btrfs: qgroup: don't commit transaction when we already hold 
the handle
38b8485b72cb net: xilinx_emaclite: Do not print real IOMEM pointer
654c19a7e8d8 btrfs: fix lockdep splat when enabling and disabling qgroups
c55442cdfdb8 btrfs: qgroup: remove ASYNC_COMMIT mechanism in favor of 
reserve retry-after-EDQUOT
fdaf6a322fcc btrfs: transaction: Cleanup unused TRANS_STATE_BLOCKED
36af2de520cc btrfs: qgroup: try to flush qgroup space when we get -EDQUOT
5c79287c2b6d btrfs: qgroup: allow to unreserve range without releasing 
other ranges
b7a722fd75a1 btrfs: make btrfs_qgroup_reserve_data take btrfs_inode
dfadea4061a2 btrfs: make qgroup_free_reserved_data take btrfs_inode
812f39ed5b0b ovl: prevent private clone if bind mount is not allowed
eeb4742501e0 ppp: Fix generating ppp unit id when ifname is not specified
3460f3959d1c ALSA: hda: Add quirk for ASUS Flow x13
81d1a3f97631 USB:ehci:fix Kunpeng920 ehci hardware problem
d28adaabbbf4 KVM: X86: MMU: Use the correct inherited permissions to get 
shadow page
5f4ab7e25fbb usb: dwc3: gadget: Avoid runtime resume if disabling pullup
1782c4af6bd0 usb: dwc3: gadget: Disable gadget IRQ during pullup disable
54b7022f2878 usb: dwc3: gadget: Clear DEP flags after stop transfers in ep 
disable
e36245a68eb1 usb: dwc3: gadget: Prevent EP queuing while stopping transfers
823f69250863 usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
25a0625fa96f usb: dwc3: gadget: Allow runtime suspend if UDC unbinded
5f081a928d55 usb: dwc3: Stop active transfers before halting the controller
396f29ea0cd2 tracing: Reject string operand in the histogram expression
28276c280f2e media: v4l2-mem2mem: always consider OUTPUT queue during poll
236aca70929d tee: Correct inappropriate usage of TEE_SHM_DMA_BUF flag
5b774238e8af KVM: SVM: Fix off-by-one indexing when nullifying last used 
SEV VMCB
a998faa9c4ce Linux 5.4.140
3c197fdd0732 arm64: fix compat syscall return truncation
72fcaf69525d net/qla3xxx: fix schedule while atomic in 
ql_wait_for_drvr_lock and ql_adapter_reset
742e85fa9e80 alpha: Send stop IPI to send to online CPUs
26946d21395c virt_wifi: fix error on connect
17d7c9c940fb reiserfs: check directory items on read from disk
bcad6ece2a50 reiserfs: add check for root_inode in reiserfs_fill_super
e30a88f1f578 libata: fix ata_pio_sector for CONFIG_HIGHMEM
a2671d96a3c7 bpf, selftests: Adjust few selftest result_unpriv outcomes
4892b4f3244b perf/x86/amd: Don't touch the AMD64_EVENTSEL_HOSTONLY bit 
inside the guest
d6cf5342faa6 soc: ixp4xx/qmgr: fix invalid __iomem access
a5bf7ef13ebf spi: meson-spicc: fix memory leak in meson_spicc_remove
27991c78d630 soc: ixp4xx: fix printing resources
07fd256d53a3 arm64: vdso: Avoid ISB after reading from cntvct_el0
90e498ef3f54 KVM: x86/mmu: Fix per-cpu counter corruption on 32-bit builds
2e1a80b93464 KVM: Do not leak memory for duplicate debugfs directories
43486cd7391f KVM: x86: accept userspace interrupt only if no event is 
injected
1b7b9713a50f md/raid10: properly indicate failure when ending a failed 
write request
790cb68d35a6 pcmcia: i82092: fix a null pointer dereference bug
42ac2c63486f timers: Move clearing of base::timer_running under base:: Lock
8211bb20da23 serial: 8250_pci: Avoid irq sharing for MSI(-X) interrupts.
f73dcb5d63e2 serial: 8250_pci: Enumerate Elkhart Lake UARTs via dedicated 
driver
607460d38692 MIPS: Malta: Do not byte-swap accesses to the CBUS UART
3eb686d01c31 serial: 8250: Mask out floating 16/32-bit bus bits
3b73a69962d6 serial: 8250_mtk: fix uart corruption issue when rx power off
afdef443a892 serial: tegra: Only print FIFO error message when an error 
occurs
097a183f9c1d ext4: fix potential htree corruption when growing large_dir 
directories
ac23a1738127 pipe: increase minimum default pipe size to 2 pages
f3cae04bd42d media: rtl28xxu: fix zero-length control request
e2f6d5b03898 staging: rtl8712: get rid of flush_scheduled_work
8f241df0e68f staging: rtl8723bs: Fix a resource leak in sd_int_dpc
bbdd4a51629a tpm_ftpm_tee: Free and unregister TEE shared memory during 
kexec
3c712f14d8a9 optee: Fix memory leak when failing to register shm pages
0572199b78b3 tee: add tee_shm_alloc_kernel_buf()
b247bf412cc2 optee: Clear stale cache entries during initialization
7da261e6bb65 tracing / histogram: Give calculation hist_fields a size
ba22053f5d5e scripts/tracing: fix the bug that can't parse raw_trace_func
8d1191f9243c clk: fix leak on devm_clk_bulk_get_all() unwind
ed5c9a

Re: [OE-core] [PATCH] glibc: package the stub .a libaries into glibc-dev

2021-08-18 Thread Khem Raj
On Wed, Aug 18, 2021 at 12:00 AM Richard Purdie <
richard.pur...@linuxfoundation.org> wrote:

> On Tue, 2021-08-17 at 17:40 -0700, Khem Raj wrote:
> > hmm I am seeing pseudo build failures on master-next on all arches see
> > [1].  I wonder if this is related
> >
> > https://errors.yoctoproject.org/Errors/Details/601473/
>
> I think that would be an issue with my patch in master-next to try and fix
> other pseudo issues with 2.34 hosts.
>
> Basically we need pseudo to work with older glibc where the
> dlsym/dlvsym/dlerror
> functions are in libdl. This is because libpseudo may be loaded against
> host binaries
> which were not linked with glibc 2.34 but something older.
>
> To do that, we need to inject older versioning but the version to use is
> arch
> specific. I have a patch covering 32/64 bit x86 and arm but I haven't got
> further
> than that:
>
>
> ++#if defined (__aarch64__)
> ++#define DLSYMVER "2.17"
> ++#define DLSYMVER2 "2.17"
> ++#elif defined(__i386__)
> ++#define DLSYMVER "2.0"
> ++#define DLSYMVER2 "2.1"
> ++#else
> ++#define DLSYMVER "2.2.5"
> ++#define DLSYMVER2 "2.2.5"
> ++#endif
> ++
> ++__asm__(".symver dlerror,dlerror@GLIBC_" DLSYMVER);
> ++__asm__(".symver dlvsym,dlvsym@GLIBC_" DLSYMVER2);
> ++__asm__(".symver dlsym,dlsym@GLIBC_" DLSYMVER);
>
>
> I may need help finishing this off for other arches people are building it
> for. So far
> I was using this as a test to see if this would even work!


I think we should disable building pseudo for targets which are not used as
build hosts so essentially your patch is good with another addition of
compatible host string


>
> Cheers,
>
> Richard
>
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154917): 
https://lists.openembedded.org/g/openembedded-core/message/154917
Mute This Topic: https://lists.openembedded.org/mt/84960232/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] should "${D}${systemd_unitdir}/system" => "${D}${systemd_system_unitdir}"?

2021-08-18 Thread Robert P. J. Day
On Wed, 18 Aug 2021, Ross Burton wrote:

> No, yes.  systemd_system_unitdir is newer so it's used less.

  i'll put together a patch and see if it's just more churn than it's
worth.

rday

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154916): 
https://lists.openembedded.org/g/openembedded-core/message/154916
Mute This Topic: https://lists.openembedded.org/mt/84967618/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [poky][dunfell][PATCHv5] lighttpd: Add patch for reuse large memory chunks

2021-08-18 Thread Purushottam Choudhary
Added 0001-core-reuse-large-mem-chunks-fix-mem-usage-fixes-3033.patch
to fix large memory usage for large file downloads
from dynamic backends reuse or release large memory chunks.

This issue is caused by a bug in the lighttpd 1.4.55 version and
has been fixed in lighttpd 1.4.58. Hence, it is not needed for
master and hardknott branch because lighttpd has 1.4.59 version.

Link: 
https://redmine.lighttpd.net/projects/lighttpd/repository/14/revisions/7ba521ffb4959f6f74a609d5d4acafc29a038337

Signed-off-by: Purushottam Choudhary 
---
 ...fig-for-pcre-dependency-instead-of-config.patch |  10 +-
 ...large-mem-chunks-fix-mem-usage-fixes-3033.patch | 221 +
 meta/recipes-extended/lighttpd/lighttpd_1.4.55.bb  |   1 +
 3 files changed, 226 insertions(+), 6 deletions(-)
 create mode 100644 
meta/recipes-extended/lighttpd/lighttpd/0001-core-reuse-large-mem-chunks-fix-mem-usage-fixes-3033.patch

diff --git 
a/meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch
 
b/meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch
index f17bdce..edf2a07 100644
--- 
a/meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch
+++ 
b/meta/recipes-extended/lighttpd/lighttpd/0001-Use-pkg-config-for-pcre-dependency-instead-of-config.patch
@@ -1,4 +1,4 @@
-From 22afc5d9aaa215c3c87ba21c77d47da44ab3b113 Mon Sep 17 00:00:00 2001
+From 4744f5b1cde08c056986ebaf900ee99141084a0d Mon Sep 17 00:00:00 2001
 From: Alexander Kanavin 
 Date: Fri, 26 Aug 2016 18:20:32 +0300
 Subject: [PATCH] Use pkg-config for pcre dependency instead of -config script.
@@ -6,15 +6,16 @@ Subject: [PATCH] Use pkg-config for pcre dependency instead 
of -config script.
 RP 2014/5/22
 Upstream-Status: Pending
 Signed-off-by: Alexander Kanavin 
+
 ---
  configure.ac | 16 
  1 file changed, 12 insertions(+), 4 deletions(-)
 
 diff --git a/configure.ac b/configure.ac
-index 5383cec..c29a902 100644
+index dbddfb9..62cf17f 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -651,10 +651,18 @@ AC_ARG_WITH([pcre],
+@@ -748,10 +748,18 @@ AC_ARG_WITH([pcre],
  )
  AC_MSG_RESULT([$WITH_PCRE])
  
@@ -37,6 +38,3 @@ index 5383cec..c29a902 100644
else
  AC_PATH_PROG([PCRECONFIG], [pcre-config])
  if test -n "$PCRECONFIG"; then
--- 
-2.15.0
-
diff --git 
a/meta/recipes-extended/lighttpd/lighttpd/0001-core-reuse-large-mem-chunks-fix-mem-usage-fixes-3033.patch
 
b/meta/recipes-extended/lighttpd/lighttpd/0001-core-reuse-large-mem-chunks-fix-mem-usage-fixes-3033.patch
new file mode 100644
index 000..d288c9f
--- /dev/null
+++ 
b/meta/recipes-extended/lighttpd/lighttpd/0001-core-reuse-large-mem-chunks-fix-mem-usage-fixes-3033.patch
@@ -0,0 +1,221 @@
+From 1cf72f27c465a5d000391f53bc33aaeac5e6d2b5 Mon Sep 17 00:00:00 2001
+From: Glenn Strauss 
+Date: Wed, 23 Dec 2020 23:14:47 -0500
+Subject: [PATCH] reuse large mem chunks (fix mem usage) (fixes #3033)
+
+(cherry picked from commit 7ba521ffb4959f6f74a609d5d4acafc29a038337)
+
+(thx flynn)
+
+fix large memory usage for large file downloads from dynamic backends
+
+reuse or release large memory chunks
+Upstream-Status: Backport
+https://redmine.lighttpd.net/projects/lighttpd/repository/14/revisions/7ba521ffb4959f6f74a609d5d4acafc29a038337
+Signed-off-by: Purushottam Choudhary 
+x-ref:
+  "Memory Growth with PUT and full buffered streams"
+  https://redmine.lighttpd.net/issues/3033
+
+---
+ src/chunk.c| 99 --
+ src/chunk.h|  2 +
+ src/http-header-glue.c |  2 +-
+ 3 files changed, 82 insertions(+), 21 deletions(-)
+
+diff --git a/src/chunk.c b/src/chunk.c
+index 09dd3f1..ffb3795 100644
+--- a/src/chunk.c
 b/src/chunk.c
+@@ -28,16 +28,20 @@
+ static size_t chunk_buf_sz = 4096;
+ static chunk *chunks, *chunks_oversized;
+ static chunk *chunk_buffers;
++static int chunks_oversized_n;
+ static array *chunkqueue_default_tempdirs = NULL;
+ static off_t chunkqueue_default_tempfile_size = DEFAULT_TEMPFILE_SIZE;
+ 
+ void chunkqueue_set_chunk_size (size_t sz)
+ {
+-chunk_buf_sz = sz > 0 ? ((sz + 1023) & ~1023uL) : 4096;
++size_t x = 1024;
++while (x < sz && x < (1u << 30)) x <<= 1;
++chunk_buf_sz = sz > 0 ? x : 4096;
+ }
+ 
+ void chunkqueue_set_tempdirs_default_reset (void)
+ {
++chunk_buf_sz = 8192;
+ chunkqueue_default_tempdirs = NULL;
+ chunkqueue_default_tempfile_size = DEFAULT_TEMPFILE_SIZE;
+ }
+@@ -120,15 +124,49 @@ static void chunk_free(chunk *c) {
+   free(c);
+ }
+ 
+-buffer * chunk_buffer_acquire(void) {
++static chunk * chunk_pop_oversized(size_t sz) {
++/* future: might have buckets of certain sizes, up to socket buf sizes */
++if (chunks_oversized && chunks_oversized->mem->size >= sz) {
++--chunks_oversized_n;
++chunk *c = chunks_oversized;
++chunks_oversized = c->next;
++return c;
++}
++return NU

[OE-core] [poky][dunfell][PATCH] assimp: added patch to fix hardcoded non-existing paths in CMake modules

2021-08-18 Thread Purushottam Choudhary
assimp CMake modules were adding non-existing paths to its CMake modules
breaking builds for users of assimp. Remove the hardcoded paths with
an upstream patch with small tweaks.

Signed-off-by: Purushottam Choudhary 
---
 ...-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch |  68 --
 ...ove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch |  32 +++
 .../assimp/use-GNUInstallDirs-where-possible.patch | 257 +
 meta/recipes-graphics/vulkan/assimp_5.0.1.bb   |   3 +-
 4 files changed, 291 insertions(+), 69 deletions(-)
 delete mode 100644 
meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch
 create mode 100644 
meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shared-lib-from-_IMPORT_CHECK_TARGETS.patch
 create mode 100644 
meta/recipes-graphics/vulkan/assimp/use-GNUInstallDirs-where-possible.patch

diff --git 
a/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch
 
b/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch
deleted file mode 100644
index 34c5bfa..000
--- 
a/meta/recipes-graphics/vulkan/assimp/0001-Use-ASSIMP_LIB_INSTALL_DIR-to-search-library.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 58f576d6f240b08957a402960cdf06c74201ac7b Mon Sep 17 00:00:00 2001
-From: Hongxu Jia 
-Date: Thu, 12 Dec 2019 22:16:15 -0800
-Subject: [PATCH] Use ASSIMP_LIB_INSTALL_DIR to search library
-
-Use ASSIMP_LIB_INSTALL_DIR rather than hardcoded /lib to search library
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia 
-

- assimpTargets-release.cmake.in | 16 
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
-diff --git a/assimpTargets-release.cmake.in b/assimpTargets-release.cmake.in
-index f3db8f1..b8a066a 100644
 a/assimpTargets-release.cmake.in
-+++ b/assimpTargets-release.cmake.in
-@@ -42,11 +42,11 @@ if(MSVC)
- # Import target "assimp::assimp" for configuration "Release"
- set_property(TARGET assimp::assimp APPEND PROPERTY 
IMPORTED_CONFIGURATIONS RELEASE)
- set_target_properties(assimp::assimp PROPERTIES
--  IMPORTED_IMPLIB_RELEASE "${_IMPORT_PREFIX}/lib/${importLibraryName}"
-+  IMPORTED_IMPLIB_RELEASE 
"${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${importLibraryName}"
-   IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/bin/${sharedLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
--list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
"${_IMPORT_PREFIX}/lib/${importLibraryName}")
-+list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
"${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${importLibraryName}")
- list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
"${_IMPORT_PREFIX}/bin/${sharedLibraryName}" )
-   else()
- set(staticLibraryName 
"assimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
-@@ -54,10 +54,10 @@ if(MSVC)
- # Import target "assimp::assimp" for configuration "Release"
- set_property(TARGET assimp::assimp APPEND PROPERTY 
IMPORTED_CONFIGURATIONS RELEASE)
- set_target_properties(assimp::assimp PROPERTIES
--  IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
-+  IMPORTED_LOCATION_RELEASE 
"${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
--list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
"${_IMPORT_PREFIX}/lib/${staticLibraryName}")
-+list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
"${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}")
-   endif()
- 
- else()
-@@ -70,17 +70,17 @@ else()
- endif()
- set_target_properties(assimp::assimp PROPERTIES
-   IMPORTED_SONAME_RELEASE "${sharedLibraryName}"
--  IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${sharedLibraryName}"
-+  IMPORTED_LOCATION_RELEASE 
"${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${sharedLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
--list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
"${_IMPORT_PREFIX}/lib/${sharedLibraryName}" )
-+list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
"${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${sharedLibraryName}" )
-   else()
- set(staticLibraryName 
"libassimp${ASSIMP_LIBRARY_SUFFIX}@CMAKE_STATIC_LIBRARY_SUFFIX@")
- set_target_properties(assimp::assimp PROPERTIES
--  IMPORTED_LOCATION_RELEASE "${_IMPORT_PREFIX}/lib/${staticLibraryName}"
-+  IMPORTED_LOCATION_RELEASE 
"${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}"
- )
- list(APPEND _IMPORT_CHECK_TARGETS assimp::assimp )
--list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
"${_IMPORT_PREFIX}/lib/${staticLibraryName}" )
-+list(APPEND _IMPORT_CHECK_FILES_FOR_assimp::assimp 
"${_IMPORT_PREFIX}/@ASSIMP_LIB_INSTALL_DIR@/${staticLibraryName}" )
-   endif()
- endif()
- 
diff --git 
a/meta/recipes-graphics/vulkan/assimp/0001-assimp-remove-shar

[OE-core] [poky][dunfell][PATCHv2] python3: Remove unused python3 recipe

2021-08-18 Thread Purushottam Choudhary
Currently in dunfell branch python3 version is 3.8.11.
so, python3_3.8.10.bb is not needed.
Hence, removed.

Signed-off-by: Purushottam Choudhary 
---
 meta/recipes-devtools/python/python3_3.8.10.bb | 363 -
 1 file changed, 363 deletions(-)
 delete mode 100644 meta/recipes-devtools/python/python3_3.8.10.bb

diff --git a/meta/recipes-devtools/python/python3_3.8.10.bb 
b/meta/recipes-devtools/python/python3_3.8.10.bb
deleted file mode 100644
index 7295c63..000
--- a/meta/recipes-devtools/python/python3_3.8.10.bb
+++ /dev/null
@@ -1,363 +0,0 @@
-SUMMARY = "The Python Programming Language"
-HOMEPAGE = "http://www.python.org";
-DESCRIPTION = "Python is a programming language that lets you work more 
quickly and integrate your systems more effectively."
-LICENSE = "PSF-2.0 & BSD-0-Clause"
-SECTION = "devel/python"
-
-LIC_FILES_CHKSUM = "file://LICENSE;md5=c22d2438294c784731bf9dd224a467b7"
-
-SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
-   file://run-ptest \
-   file://create_manifest3.py \
-   file://get_module_deps3.py \
-   file://python3-manifest.json \
-   file://check_build_completeness.py \
-   file://cgi_py.patch \
-   
file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \
-   ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 
'file://avoid_warning_about_tkinter.patch', d)} \
-   
file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \
-   file://python-config.patch \
-   
file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \
-   
file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \
-   
file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \
-   
file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \
-   
file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \
-   
file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \
-   file://crosspythonpath.patch \
-   file://reformat_sysconfig.py \
-   file://0001-Use-FLAG_REF-always-for-interned-strings.patch \
-   file://0001-test_locale.py-correct-the-test-output-format.patch \
-   
file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \
-   
file://0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \
-   file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \
-   file://0001-configure.ac-fix-LIBPL.patch \
-   file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \
-   
file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
-   file://0001-test_ctypes.test_find-skip-without-tools-sdk.patch \
-   "
-
-SRC_URI_append_class-native = " \
-   
file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \
-   file://12-distutils-prefix-is-inside-staging-area.patch \
-   file://0001-Don-t-search-system-for-headers-libraries.patch \
-   "
-
-SRC_URI[md5sum] = "d9eee4b2013830a2025e4dcaa7b3"
-SRC_URI[sha256sum] = 
"6af24a66093dd840bcccf371d4044a3027e655cf24591ce26e48022bc79219d9"
-
-# exclude pre-releases for both python 2.x and 3.x
-UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P\d+(\.\d+)+).tar"
-
-CVE_PRODUCT = "python"
-
-# Upstream consider this expected behaviour
-CVE_CHECK_WHITELIST += "CVE-2007-4559"
-# This is not exploitable when glibc has CVE-2016-10739 fixed.
-CVE_CHECK_WHITELIST += "CVE-2019-18348"
-
-# This is windows only issue.
-CVE_CHECK_WHITELIST += "CVE-2020-15523"
-
-PYTHON_MAJMIN = "3.8"
-
-S = "${WORKDIR}/Python-${PV}"
-
-BBCLASSEXTEND = "native nativesdk"
-
-inherit autotools pkgconfig qemu ptest multilib_header update-alternatives
-
-MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
-
-ALTERNATIVE_${PN}-dev = "python3-config"
-ALTERNATIVE_LINK_NAME[python3-config] = 
"${bindir}/python${PYTHON_MAJMIN}-config"
-ALTERNATIVE_TARGET[python3-config] = 
"${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}"
-
-
-DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib 
virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2 autoconf-archive"
-DEPENDS_append_class-target = " python3-native"
-DEPENDS_append_class-nativesdk = " python3-native"
-
-EXTRA_OECONF = " --without-ensurepip --enable-shared"
-EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}"
-
-export 
CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/"
-
-EXTRANATIVEPATH += "python3-native"
-
-CACHED_CONFIGUREVARS = " \
-ac_cv_file__dev_ptmx=yes \
-ac_cv_file__dev_ptc=no \
-ac_cv_working_tzset=yes \
-"
-python() {
-# PGO currently causes builds to not be reproducible, so disable it for
-# now. See YOCTO #13407
-if bb.utils.contains('MACHINE_FEATURES', 'qe

Re: [OE-core] ALTERNATIVE_LINK_NAME in bash recipe doesn't create /bin/sh

2021-08-18 Thread Devendra Tewari
Looks like update-alternatives --install is not happening at all for any 
packages during do_rootfs.

Thanks,
Devendra

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154912): 
https://lists.openembedded.org/g/openembedded-core/message/154912
Mute This Topic: https://lists.openembedded.org/mt/84778853/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [PATCH v2] oeqa/sdk: add HTTPS test for buildtools

2021-08-18 Thread Ross Burton
Verify that HTTPS connections work in both wget and Python, as this
depends on variables correctly pointing to the certificate chain.

Signed-off-by: Ross Burton 
---
 meta/lib/oeqa/sdk/buildtools-cases/https.py | 20 
 1 file changed, 20 insertions(+)
 create mode 100644 meta/lib/oeqa/sdk/buildtools-cases/https.py

diff --git a/meta/lib/oeqa/sdk/buildtools-cases/https.py 
b/meta/lib/oeqa/sdk/buildtools-cases/https.py
new file mode 100644
index 000..134879aab32
--- /dev/null
+++ b/meta/lib/oeqa/sdk/buildtools-cases/https.py
@@ -0,0 +1,20 @@
+#
+# SPDX-License-Identifier: MIT
+#
+
+from oeqa.sdk.case import OESDKTestCase
+from oeqa.utils.subprocesstweak import errors_have_output
+errors_have_output()
+
+class HTTPTests(OESDKTestCase):
+"""
+Verify that HTTPS certificates are working correctly, as this depends on
+environment variables being set correctly.
+"""
+
+def test_wget(self):
+self._run('env -i wget --debug --output-document /dev/null 
https://www.example.com')
+
+def test_python(self):
+# urlopen() returns a file-like object on success and throws an 
exception otherwise
+self._run('python3 -c \'import urllib.request; 
urllib.request.urlopen("https://www.example.com/";)\'')
-- 
2.32.0


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154911): 
https://lists.openembedded.org/g/openembedded-core/message/154911
Mute This Topic: https://lists.openembedded.org/mt/84968979/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] should "${D}${systemd_unitdir}/system" => "${D}${systemd_system_unitdir}"?

2021-08-18 Thread Ross Burton
No, yes.  systemd_system_unitdir is newer so it's used less.

Ross

On Wed, 18 Aug 2021 at 08:48, Robert P. J. Day  wrote:
>
>
>   i've (so far) run across a small number of OE recipes that use the
> identifier "${D}${systemd_unitdir}/system", which appears(?) to be
> equivalent to "${D}${systemd_system_unitdir}". is there any potential
> functional difference, or should this be standardized?
>
> rday
>
> 
>

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154910): 
https://lists.openembedded.org/g/openembedded-core/message/154910
Mute This Topic: https://lists.openembedded.org/mt/84967618/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] [hardknott][PATCH 0/7] Pull request (cover letter only)

2021-08-18 Thread Anuj Mittal
Please merge these changes.

Thanks,

Anuj

The following changes since commit 49868162a1a1d088fbaabeffcc2debcbfc17b026:

  nettle: update 3.7.2 -> 3.7.3 (2021-08-09 10:19:38 +0800)

are available in the Git repository at:

  git://push.openembedded.org/openembedded-core-contrib stable/hardknott-next

Armin Kuster (1):
  gnutls: Enable seccomp if FEATURE is set

Khem Raj (1):
  gnutls: Point to staging area for finding seccomp libs and includes

Sakib Sajal (3):
  qemu: fix CVE-2021-3582
  qemu: fix CVE-2021-3607
  qemu: fix CVE-2021-3608

Vinay Kumar (1):
  glibc: Fix CVE-2021-35942

wangmy (1):
  gnutls: upgrade 3.7.1 -> 3.7.2

 .../glibc/glibc/CVE-2021-35942.patch  | 44 +
 meta/recipes-core/glibc/glibc_2.33.bb |  1 +
 meta/recipes-devtools/qemu/qemu.inc   |  3 ++
 .../qemu/qemu/CVE-2021-3582.patch | 47 +++
 .../qemu/qemu/CVE-2021-3607.patch | 43 +
 .../qemu/qemu/CVE-2021-3608.patch | 43 +
 .../{gnutls_3.7.1.bb => gnutls_3.7.2.bb}  |  6 +--
 7 files changed, 184 insertions(+), 3 deletions(-)
 create mode 100644 meta/recipes-core/glibc/glibc/CVE-2021-35942.patch
 create mode 100644 meta/recipes-devtools/qemu/qemu/CVE-2021-3582.patch
 create mode 100644 meta/recipes-devtools/qemu/qemu/CVE-2021-3607.patch
 create mode 100644 meta/recipes-devtools/qemu/qemu/CVE-2021-3608.patch
 rename meta/recipes-support/gnutls/{gnutls_3.7.1.bb => gnutls_3.7.2.bb} (89%)

-- 
2.31.1


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154909): 
https://lists.openembedded.org/g/openembedded-core/message/154909
Mute This Topic: https://lists.openembedded.org/mt/84967954/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



[OE-core] should "${D}${systemd_unitdir}/system" => "${D}${systemd_system_unitdir}"?

2021-08-18 Thread Robert P. J. Day

  i've (so far) run across a small number of OE recipes that use the
identifier "${D}${systemd_unitdir}/system", which appears(?) to be
equivalent to "${D}${systemd_system_unitdir}". is there any potential
functional difference, or should this be standardized?

rday

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154908): 
https://lists.openembedded.org/g/openembedded-core/message/154908
Mute This Topic: https://lists.openembedded.org/mt/84967618/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-



Re: [OE-core] [PATCH] glibc: package the stub .a libaries into glibc-dev

2021-08-18 Thread Richard Purdie
On Tue, 2021-08-17 at 17:40 -0700, Khem Raj wrote:
> hmm I am seeing pseudo build failures on master-next on all arches see
> [1].  I wonder if this is related
> 
> https://errors.yoctoproject.org/Errors/Details/601473/

I think that would be an issue with my patch in master-next to try and fix
other pseudo issues with 2.34 hosts.

Basically we need pseudo to work with older glibc where the dlsym/dlvsym/dlerror
functions are in libdl. This is because libpseudo may be loaded against host 
binaries
which were not linked with glibc 2.34 but something older.

To do that, we need to inject older versioning but the version to use is arch 
specific. I have a patch covering 32/64 bit x86 and arm but I haven't got 
further
than that:


++#if defined (__aarch64__)
++#define DLSYMVER "2.17"
++#define DLSYMVER2 "2.17"
++#elif defined(__i386__)
++#define DLSYMVER "2.0"
++#define DLSYMVER2 "2.1"
++#else
++#define DLSYMVER "2.2.5"
++#define DLSYMVER2 "2.2.5"
++#endif
++
++__asm__(".symver dlerror,dlerror@GLIBC_" DLSYMVER);
++__asm__(".symver dlvsym,dlvsym@GLIBC_" DLSYMVER2);
++__asm__(".symver dlsym,dlsym@GLIBC_" DLSYMVER);


I may need help finishing this off for other arches people are building it for. 
So far
I was using this as a test to see if this would even work!

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#154907): 
https://lists.openembedded.org/g/openembedded-core/message/154907
Mute This Topic: https://lists.openembedded.org/mt/84960232/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-