From patchwork Thu Dec 8 22:42:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16554 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 43AADC001B2 for ; Thu, 8 Dec 2022 22:43:14 +0000 (UTC) Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by mx.groups.io with SMTP id smtpd.web10.4563.1670539384446843153 for ; Thu, 08 Dec 2022 14:43:04 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=sXxbYxSf; spf=softfail (domain: sakoman.com, ip: 209.85.216.52, mailfrom: steve@sakoman.com) Received: by mail-pj1-f52.google.com with SMTP id u5so2931925pjy.5 for ; Thu, 08 Dec 2022 14:43:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=ROdS+nBgcJ04okS1NXGqbedWyrzPoBcLMkEuFrqq7mw=; b=sXxbYxSffrI7L77MosGF8svDvDWV00rpEf/8+DUCqzuVOfSvFYyMnlOLfgLT2f3as0 8kolkWG2tRkR29AV8xpvLQAVQuRT9ImNBkU9qMzHo4WGJ/2crF94EiivLf6NEQzh4SvZ ki+8vJ7SY2MCcXds1fLvZqro143DW+F/NRyYb/vPWGEG91CCtLE7GBjPgHGNEeDszfRT ggyD/8iXGFRZFvNMo4QGaQdRLAlZHeVkg7tUvmkNAA+eBk6P+atyb3QVR3LO5eeUN8oR /mFwQhGev5PYVeS6f9InmzS7qQsTneKGvV62TFT8mmpcAMj9k5bCFG1YTrLdUUDui+ed mi9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ROdS+nBgcJ04okS1NXGqbedWyrzPoBcLMkEuFrqq7mw=; b=moGCJM9lvw4h6rth35DEF5PGJ5eB6SRFLLlEu7uJymAbVWbvYJcvSHmuCw4ZL68hw5 L7cRGERa8cV/dWbIxmDqSx7VZTX1cnCKRfjjojaRniXX9J0ciZMJ2itUzcLudHLsfrmp KsYQU2mfxaVbEc+n8Z01akuNUuxHyakNHMZqpMhcgekMo2bnOkIQGXxqfjO4nqhT7o5l Epn3Hq6XHZTHIDVfbS4Z+wbRJvSiuD5PBpVtKJ+bZaDSHjAyQGXlXlE3QtGRVWn6TFAQ vuF9fHe63dPl2JUwMXe+aOZHdG1mwTdzpSxg6JPFUXN2PB8SrHz5RoF930A8TM5JFyFQ TrSA== X-Gm-Message-State: ANoB5pnTzzgg6PX57bPAuBCdo3UjIM0rXCVyMnaWXz52Gi/9oCrGQ83/ xNrMYoheGZ3fhqVycF0RjVUTvGQc85cpprtIcbwlBg== X-Google-Smtp-Source: AA0mqf4xnRonRZ7nRP4w67AhK6OFT7+5iUoaWU0oCSmyPEmLCsid0Rb6WtX8ARKNm0pZrVckF2BzQw== X-Received: by 2002:a17:902:e983:b0:189:6457:4e14 with SMTP id f3-20020a170902e98300b0018964574e14mr3788529plb.8.1670539383413; Thu, 08 Dec 2022 14:43:03 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:02 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 01/12] xserver-xorg: backport fixes for CVE-2022-3550 and CVE-2022-3551 Date: Thu, 8 Dec 2022 12:42:42 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174414 From: Ross Burton Signed-off-by: Ross Burton Signed-off-by: Alexandre Belloni (cherry picked from commit e32401d8bf44afcca88af7e4c5948d2c28e1813f) Signed-off-by: Steve Sakoman --- ...possible-memleaks-in-XkbGetKbdByName.patch | 63 +++++++++++++++++++ ...ntedString-against-request-length-at.patch | 38 +++++++++++ .../xorg-xserver/xserver-xorg_21.1.4.bb | 2 + 3 files changed, 103 insertions(+) create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch create mode 100644 meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-proof-GetCountedString-against-request-length-at.patch diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch new file mode 100644 index 0000000000..0e61ec5953 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch @@ -0,0 +1,63 @@ +CVE: CVE-2022-3551 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 18f91b950e22c2a342a4fbc55e9ddf7534a707d2 Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Wed, 13 Jul 2022 11:23:09 +1000 +Subject: [PATCH] xkb: fix some possible memleaks in XkbGetKbdByName + +GetComponentByName returns an allocated string, so let's free that if we +fail somewhere. + +Signed-off-by: Peter Hutterer +--- + xkb/xkb.c | 26 ++++++++++++++++++++------ + 1 file changed, 20 insertions(+), 6 deletions(-) + +diff --git a/xkb/xkb.c b/xkb/xkb.c +index 4692895db..b79a269e3 100644 +--- a/xkb/xkb.c ++++ b/xkb/xkb.c +@@ -5935,18 +5935,32 @@ ProcXkbGetKbdByName(ClientPtr client) + xkb = dev->key->xkbInfo->desc; + status = Success; + str = (unsigned char *) &stuff[1]; +- if (GetComponentSpec(&str, TRUE, &status)) /* keymap, unsupported */ +- return BadMatch; ++ { ++ char *keymap = GetComponentSpec(&str, TRUE, &status); /* keymap, unsupported */ ++ if (keymap) { ++ free(keymap); ++ return BadMatch; ++ } ++ } + names.keycodes = GetComponentSpec(&str, TRUE, &status); + names.types = GetComponentSpec(&str, TRUE, &status); + names.compat = GetComponentSpec(&str, TRUE, &status); + names.symbols = GetComponentSpec(&str, TRUE, &status); + names.geometry = GetComponentSpec(&str, TRUE, &status); +- if (status != Success) ++ if (status == Success) { ++ len = str - ((unsigned char *) stuff); ++ if ((XkbPaddedSize(len) / 4) != stuff->length) ++ status = BadLength; ++ } ++ ++ if (status != Success) { ++ free(names.keycodes); ++ free(names.types); ++ free(names.compat); ++ free(names.symbols); ++ free(names.geometry); + return status; +- len = str - ((unsigned char *) stuff); +- if ((XkbPaddedSize(len) / 4) != stuff->length) +- return BadLength; ++ } + + CHK_MASK_LEGAL(0x01, stuff->want, XkbGBN_AllComponentsMask); + CHK_MASK_LEGAL(0x02, stuff->need, XkbGBN_AllComponentsMask); +-- +2.34.1 + diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-proof-GetCountedString-against-request-length-at.patch b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-proof-GetCountedString-against-request-length-at.patch new file mode 100644 index 0000000000..6f862e82f9 --- /dev/null +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg/0001-xkb-proof-GetCountedString-against-request-length-at.patch @@ -0,0 +1,38 @@ +CVE: CVE-2022-3550 +Upstream-Status: Backport +Signed-off-by: Ross Burton + +From 11beef0b7f1ed290348e45618e5fa0d2bffcb72e Mon Sep 17 00:00:00 2001 +From: Peter Hutterer +Date: Tue, 5 Jul 2022 12:06:20 +1000 +Subject: [PATCH] xkb: proof GetCountedString against request length attacks + +GetCountedString did a check for the whole string to be within the +request buffer but not for the initial 2 bytes that contain the length +field. A swapped client could send a malformed request to trigger a +swaps() on those bytes, writing into random memory. + +Signed-off-by: Peter Hutterer +--- + xkb/xkb.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/xkb/xkb.c b/xkb/xkb.c +index f42f59ef3..1841cff26 100644 +--- a/xkb/xkb.c ++++ b/xkb/xkb.c +@@ -5137,6 +5137,11 @@ _GetCountedString(char **wire_inout, ClientPtr client, char **str) + CARD16 len; + + wire = *wire_inout; ++ ++ if (client->req_len < ++ bytes_to_int32(wire + 2 - (char *) client->requestBuffer)) ++ return BadValue; ++ + len = *(CARD16 *) wire; + if (client->swapped) { + swaps(&len); +-- +2.34.1 + diff --git a/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb index b9cbc9989e..aba09afec3 100644 --- a/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb +++ b/meta/recipes-graphics/xorg-xserver/xserver-xorg_21.1.4.bb @@ -2,6 +2,8 @@ require xserver-xorg.inc SRC_URI += "file://0001-xf86pciBus.c-use-Intel-ddx-only-for-pre-gen4-hardwar.patch \ file://0001-Avoid-duplicate-definitions-of-IOPortBase.patch \ + file://0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch \ + file://0001-xkb-proof-GetCountedString-against-request-length-at.patch \ " SRC_URI[sha256sum] = "5cc4be8ee47edb58d4a90e603a59d56b40291ad38371b0bd2471fc3cbee1c587" From patchwork Thu Dec 8 22:42:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16555 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5275DC10F31 for ; Thu, 8 Dec 2022 22:43:14 +0000 (UTC) Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) by mx.groups.io with SMTP id smtpd.web11.4572.1670539386398613815 for ; Thu, 08 Dec 2022 14:43:06 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=DYrkhGGd; spf=softfail (domain: sakoman.com, ip: 209.85.216.42, mailfrom: steve@sakoman.com) Received: by mail-pj1-f42.google.com with SMTP id n65-20020a17090a2cc700b0021bc5ef7a14so3069721pjd.0 for ; Thu, 08 Dec 2022 14:43:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=L5Nw+wEhoQK/p1xvO6usCiVlTbpSoQD9mquABkP4hJ8=; b=DYrkhGGdQYHp8NezJqPjUE6cM1dJhz4KH6/2ArD7gvz3T/2UtgHAwq5gsXZpcq9z7J btlKM9FXTtoA8rmfOECK8Kzrj65oVWkphDbu1szdsiievO31N6Am28K8RJYRjvdBcrGz 1Kn+BxBphE4hcxlwJoOyfDqnX7CDRvw133EX9yw6mYrNsNIVP7NfqntDeMOvNbYrKXl3 TcSNs4jHCUkhb0e4wifEqZbnDio8KhuQFm55forA6J9ZuESuyzyndo0e74B8ZXPTg/AH K8NMSTghJJPrlj4kjRhm+fOIZcInaSZu95pWjvmGXM4ltY6H5nVubZ5N3J/osCTt5fhF vjEA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=L5Nw+wEhoQK/p1xvO6usCiVlTbpSoQD9mquABkP4hJ8=; b=mQ/PCGKwsCYpc6e4gEWtSMlY7LDb39xJdHuBFOPwk2E0qZQKdo0gVMqfOEtT0sC0+H qHg/z7By+ltgs2ZQ9w/lDM8erT3rlpwHZMuzbT/XbxMyRQHNQVOlwcpQ+ueWLIE9VFTI rW3yZlupe0+x1wPN86/GbRLSxXby1MEvsEoKXAPKLntCEu1qpt+s8Z0iaePgIhaqh/T5 ZS59W6/iJNQlizuWjnWqxC4PnZMEahGuALAhzRkMk7shJNxFy0ImJYJR5VH45Gl5W5GT KRtFo01Bhdu12hOX+pj5LhfiIqSbwrfEto/+mbuS5ejUos12hl8DEWGgAGYkdLGTb8mI RvQA== X-Gm-Message-State: ANoB5pmb8bzJqKW7BlFRXPTHBgC316eV1zbaQniZu+xQnpkghYWH9HCv iznJdUxf3EwHorc9v6ZnleqUAyXXIME4lkwic7g+Yw== X-Google-Smtp-Source: AA0mqf4l1usMxVtL5gUANhUmlz+MZ3vJPxMxxRrkDDKy9rZjH5cPWxt5ZnKK/oJpErikWPcTBzYAUg== X-Received: by 2002:a17:902:eb52:b0:189:c253:3625 with SMTP id i18-20020a170902eb5200b00189c2533625mr3471758pli.11.1670539385412; Thu, 08 Dec 2022 14:43:05 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:05 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 02/12] libarchive: CVE-2022-36227 NULL pointer dereference in archive_write.c Date: Thu, 8 Dec 2022 12:42:43 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174415 From: Hitendra Prajapati Upstream-Status: Backport from https://github.com/libarchive/libarchive/commit/bff38efe8c110469c5080d387bec62a6ca15b1a5 Signed-off-by: Hitendra Prajapati Signed-off-by: Steve Sakoman --- .../libarchive/CVE-2022-36227.patch | 42 +++++++++++++++++++ .../libarchive/libarchive_3.6.1.bb | 4 +- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch diff --git a/meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch b/meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch new file mode 100644 index 0000000000..d0d143710c --- /dev/null +++ b/meta/recipes-extended/libarchive/libarchive/CVE-2022-36227.patch @@ -0,0 +1,42 @@ +From b5332ed6d59ba5113a0a2c67fd82b69fcd5cde68 Mon Sep 17 00:00:00 2001 +From: obiwac +Date: Fri, 22 Jul 2022 22:41:10 +0200 +Subject: [PATCH] libarchive: CVE-2022-36227 Handle a `calloc` returning NULL + (fixes #1754) + +Upstream-Status: Backport [https://github.com/libarchive/libarchive/commit/bff38efe8c110469c5080d387bec62a6ca15b1a5] +CVE: CVE-2022-36227 +Signed-off-by: Hitendra Prajapati archive = _a; + f->state = ARCHIVE_WRITE_FILTER_STATE_NEW; + if (a->filter_first == NULL) +@@ -548,6 +552,10 @@ archive_write_open2(struct archive *_a, void *client_data, + a->client_data = client_data; + + client_filter = __archive_write_allocate_filter(_a); ++ ++ if (client_filter == NULL) ++ return (ARCHIVE_FATAL); ++ + client_filter->open = archive_write_client_open; + client_filter->write = archive_write_client_write; + client_filter->close = archive_write_client_close; +-- +2.25.1 + diff --git a/meta/recipes-extended/libarchive/libarchive_3.6.1.bb b/meta/recipes-extended/libarchive/libarchive_3.6.1.bb index c795b41628..df9df5e0a6 100644 --- a/meta/recipes-extended/libarchive/libarchive_3.6.1.bb +++ b/meta/recipes-extended/libarchive/libarchive_3.6.1.bb @@ -32,7 +32,9 @@ PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd," EXTRA_OECONF += "--enable-largefile" -SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz" +SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \ + file://CVE-2022-36227.patch \ + " UPSTREAM_CHECK_URI = "http://libarchive.org/" SRC_URI[sha256sum] = "c676146577d989189940f1959d9e3980d28513d74eedfbc6b7f15ea45fe54ee2" From patchwork Thu Dec 8 22:42:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16559 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 537BCC10F1E for ; Thu, 8 Dec 2022 22:43:14 +0000 (UTC) Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) by mx.groups.io with SMTP id smtpd.web11.4573.1670539388246362842 for ; Thu, 08 Dec 2022 14:43:08 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=vZVnX9zz; spf=softfail (domain: sakoman.com, ip: 209.85.216.49, mailfrom: steve@sakoman.com) Received: by mail-pj1-f49.google.com with SMTP id z8-20020a17090abd8800b00219ed30ce47so6167519pjr.3 for ; Thu, 08 Dec 2022 14:43:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=fOf4kFp3YVxcIKk5GeHd2DuC7xj3AD5Q1NrrCiCHnsQ=; b=vZVnX9zztYfiAwhAGmJRWNHO2EJFvt/2u8i0lcpz8QqphrgIcCXKOGMLB0tQ8QHyQY aCxhllFmWHH3CLoAVrMGGp53V87roGdAfZxR+Wk07slc55hsR91ggblpT4ku0eTGNw3f r3IdV6qm4r60CN82z35RL86Or/cmPZc9OYVqng7zO/jIB6qFDyQRuPUrPSrq+mJmW2DI D1zpqNOyXQ6nIdXBiycCVt1quofxgB0cDMVpNMx4I9oA5t59DJ4zFb6tRa1qJuu48LcE +GMSJ+2o06WFkK+coH8piEgOTg1xAknRnk+PwjiPnV7UvlUI32N/e+SfXuAB1mHvBDVt IIZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=fOf4kFp3YVxcIKk5GeHd2DuC7xj3AD5Q1NrrCiCHnsQ=; b=xlA7Duf2WHqd9+X0O8bAMhUs2n0hURZQCDka1XzKGAS95yboco/WJslknKuKV4h1rZ 0bNSG2Pxtk5pAme2ebIzcivuLnypyIwFRTeFG97JmiWTFE5aiW/bfvF9cykDcANW+ou0 ockhGYY+NCbIp6bkl9HZMItjYBNzwUgdTV9SL+76QoJEoTt0si6v3tgfyHPuTajopJV3 V1He5xzt0iF/Kx0fiIv4N55NJZ5gwolWIQqaVrusz3EwbhUKmoLPNZEnHfSVYbmfIl4M FsJFTC7qVWGFeu9hsr2WXXaBA9GJhmgm/X2Rc+gMwCABFi0r4vhOHRQ3rr1iuxMSqseE bjOw== X-Gm-Message-State: ANoB5pmnB9vosaL+Xb/ZjdGKse8e2Yad49ewhtliFIb88FgohizpDeo5 +f/i7YVxYbKEMyX+ZW3ppF5M0kbj2Au8RRXKXXEtWw== X-Google-Smtp-Source: AA0mqf684b4oor/UnIVhT3YjzlO8CcgwarGHp55i9+0RVK9O0x98Nv7oWUp6TBDoPsgwKinMyANldA== X-Received: by 2002:a17:902:6b05:b0:185:441f:7087 with SMTP id o5-20020a1709026b0500b00185441f7087mr3347186plk.12.1670539387268; Thu, 08 Dec 2022 14:43:07 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:06 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 03/12] sysstat: fix CVE-2022-39377 Date: Thu, 8 Dec 2022 12:42:44 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174416 From: Xiangyu Chen Signed-off-by: Xiangyu Chen Signed-off-by: Steve Sakoman --- .../sysstat/sysstat/CVE-2022-39377.patch | 93 +++++++++++++++++++ .../sysstat/sysstat_12.4.5.bb | 3 +- 2 files changed, 95 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/sysstat/sysstat/CVE-2022-39377.patch diff --git a/meta/recipes-extended/sysstat/sysstat/CVE-2022-39377.patch b/meta/recipes-extended/sysstat/sysstat/CVE-2022-39377.patch new file mode 100644 index 0000000000..dce7b0d61f --- /dev/null +++ b/meta/recipes-extended/sysstat/sysstat/CVE-2022-39377.patch @@ -0,0 +1,93 @@ +From 9c4eaf150662ad40607923389d4519bc83b93540 Mon Sep 17 00:00:00 2001 +From: Sebastien +Date: Sat, 15 Oct 2022 14:24:22 +0200 +Subject: [PATCH] Fix size_t overflow in sa_common.c (GHSL-2022-074) + +allocate_structures function located in sa_common.c insufficiently +checks bounds before arithmetic multiplication allowing for an +overflow in the size allocated for the buffer representing system +activities. + +This patch checks that the post-multiplied value is not greater than +UINT_MAX. + +Signed-off-by: Sebastien + +Upstream-Status: Backport from +[https://github.com/sysstat/sysstat/commit/a953ee3307d51255cc96e1f211882e97f795eed9] + +Signed-off-by: Xiangyu Chen +--- + common.c | 25 +++++++++++++++++++++++++ + common.h | 2 ++ + sa_common.c | 6 ++++++ + 3 files changed, 33 insertions(+) + +diff --git a/common.c b/common.c +index 81c7762..1a84b05 100644 +--- a/common.c ++++ b/common.c +@@ -1655,4 +1655,29 @@ int parse_values(char *strargv, unsigned char bitmap[], int max_val, const char + + return 0; + } ++ ++/* ++ *************************************************************************** ++ * Check if the multiplication of the 3 values may be greater than UINT_MAX. ++ * ++ * IN: ++ * @val1 First value. ++ * @val2 Second value. ++ * @val3 Third value. ++ *************************************************************************** ++ */ ++void check_overflow(size_t val1, size_t val2, size_t val3) ++{ ++ if ((unsigned long long) val1 * ++ (unsigned long long) val2 * ++ (unsigned long long) val3 > UINT_MAX) { ++#ifdef DEBUG ++ fprintf(stderr, "%s: Overflow detected (%llu). Aborting...\n", ++ __FUNCTION__, ++ (unsigned long long) val1 * (unsigned long long) val2 * (unsigned long long) val3); ++#endif ++ exit(4); ++ } ++} ++ + #endif /* SOURCE_SADC undefined */ +diff --git a/common.h b/common.h +index 55b6657..e8ab98a 100644 +--- a/common.h ++++ b/common.h +@@ -260,6 +260,8 @@ int check_dir + (char *); + + #ifndef SOURCE_SADC ++void check_overflow ++ (size_t, size_t, size_t); + int count_bits + (void *, int); + int count_csvalues +diff --git a/sa_common.c b/sa_common.c +index 3699a84..b2cec4a 100644 +--- a/sa_common.c ++++ b/sa_common.c +@@ -459,7 +459,13 @@ void allocate_structures(struct activity *act[]) + int i, j; + + for (i = 0; i < NR_ACT; i++) { ++ + if (act[i]->nr_ini > 0) { ++ ++ /* Look for a possible overflow */ ++ check_overflow((size_t) act[i]->msize, (size_t) act[i]->nr_ini, ++ (size_t) act[i]->nr2); ++ + for (j = 0; j < 3; j++) { + SREALLOC(act[i]->buf[j], void, + (size_t) act[i]->msize * (size_t) act[i]->nr_ini * (size_t) act[i]->nr2); +-- +2.34.1 + diff --git a/meta/recipes-extended/sysstat/sysstat_12.4.5.bb b/meta/recipes-extended/sysstat/sysstat_12.4.5.bb index fe3db4d8a5..3a3d1fb6ba 100644 --- a/meta/recipes-extended/sysstat/sysstat_12.4.5.bb +++ b/meta/recipes-extended/sysstat/sysstat_12.4.5.bb @@ -2,6 +2,7 @@ require sysstat.inc LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb" -SRC_URI += "file://0001-configure.in-remove-check-for-chkconfig.patch" +SRC_URI += "file://0001-configure.in-remove-check-for-chkconfig.patch \ + file://CVE-2022-39377.patch" SRC_URI[sha256sum] = "ef445acea301bbb996e410842f6290a8d049e884d4868cfef7e85dc04b7eee5b" From patchwork Thu Dec 8 22:42:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16558 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 524D1C10F1B for ; Thu, 8 Dec 2022 22:43:14 +0000 (UTC) Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com [209.85.214.170]) by mx.groups.io with SMTP id smtpd.web11.4576.1670539390403713244 for ; Thu, 08 Dec 2022 14:43:10 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=2BahmLhI; spf=softfail (domain: sakoman.com, ip: 209.85.214.170, mailfrom: steve@sakoman.com) Received: by mail-pl1-f170.google.com with SMTP id d7so2966799pll.9 for ; Thu, 08 Dec 2022 14:43:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=aN9OXZmVfS/qZWcCCbZ71dDvtqHHnAIpuMFxmt0jDWU=; b=2BahmLhINoxPsTb8AMaAZvAx11HN6Y40NC73QyyiiFHKwIyvINZEenvuZXxfnMZYBW cMJyOQkH9nqZulzq6lYOb+RNVmS6c4uX3y2R8OKLoxEpL8FSvZGNWkK5xERhiUYVObCa B9mjzWyewosDFz45PwW/8EDexFpX4+TYcL90QOI6DLlTxnX9dp70pwtwSSE96qyOYEbh NJxwP4lY4GexyIgxm2Y/ejLnZ0xcG0u3fNDFmRdyxnm04j3gl0mswfT/kx3NVAb6wioe rFYSNN7nByHeVwyjPG3jM8PLQxXHC24ragJTgN2pQJ8kmvU6SFOTpqeL/Pe+FKiFVkKt gtbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aN9OXZmVfS/qZWcCCbZ71dDvtqHHnAIpuMFxmt0jDWU=; b=JrO5jC+AHkhhifEcNGAAL48dNEEguoIfMh+HQn8nRSLKUXmIgWcOXh2nVy0rcFVU++ VdE/QRJv+CEFjnOsZvKYAduZ3ODIpq8xhkG0G3NKLoHAPsyFPw+3A3MP70hpk2grmUJC jLae7cxfoN4bxrQyu4+UhE3YYxnFVOspcyi4foz30M+RCPOrVqe0gKXourn+GAtBlMOj NYAGcwjxIPaG4Xd9f2EapINBMi2af5wXJclPx9e44+mJaXcFgZ6B7c416QbdZAORen1c EROJL7W2VHSUmtGcIvNbZ3TEmP3rdDQF9X0x6N4mNq+Ta/Kmlg5f6kAlMpW65lSCmAJP FpIw== X-Gm-Message-State: ANoB5pnqhBA+oLtTqdCRaIs6VHRXjI7zGS8CmFasPC4myuADs+2aXIYk 9c0+Zo5LcWE2eG3YZ6SeweITQuGDgSVBy2tW7xALGg== X-Google-Smtp-Source: AA0mqf68TOIZzQ3l3S60hP9gIjqTJWGDIjth/8phHR1Robr9jcijynBcjj8vXvzpVqvmwVfpzXBJYg== X-Received: by 2002:a17:902:9a0a:b0:185:441e:90dd with SMTP id v10-20020a1709029a0a00b00185441e90ddmr3419505plp.67.1670539389236; Thu, 08 Dec 2022 14:43:09 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.08 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:08 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 04/12] grub: backport patches to fix CVE-2022-28736 Date: Thu, 8 Dec 2022 12:42:45 -1000 Message-Id: <01be69264e4bf66cd1cb5acf949263d955171fc4.1670539236.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174417 From: Xiangyu Chen Signed-off-by: Xiangyu Chen Signed-off-by: Steve Sakoman --- ...i-chainloader-Use-grub_loader_set_ex.patch | 86 +++++++++ ...ot-Add-API-to-pass-context-to-loader.patch | 168 ++++++++++++++++++ ...hainloader-Simplify-the-loader-state.patch | 129 ++++++++++++++ meta/recipes-bsp/grub/grub2.inc | 3 + 4 files changed, 386 insertions(+) create mode 100644 meta/recipes-bsp/grub/files/CVE-2022-28736-loader-efi-chainloader-Use-grub_loader_set_ex.patch create mode 100644 meta/recipes-bsp/grub/files/commands-boot-Add-API-to-pass-context-to-loader.patch create mode 100644 meta/recipes-bsp/grub/files/loader-efi-chainloader-Simplify-the-loader-state.patch diff --git a/meta/recipes-bsp/grub/files/CVE-2022-28736-loader-efi-chainloader-Use-grub_loader_set_ex.patch b/meta/recipes-bsp/grub/files/CVE-2022-28736-loader-efi-chainloader-Use-grub_loader_set_ex.patch new file mode 100644 index 0000000000..5741e53f42 --- /dev/null +++ b/meta/recipes-bsp/grub/files/CVE-2022-28736-loader-efi-chainloader-Use-grub_loader_set_ex.patch @@ -0,0 +1,86 @@ +From 04c86e0bb7b58fc2f913f798cdb18934933e532d Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Tue, 5 Apr 2022 11:48:58 +0100 +Subject: [PATCH] loader/efi/chainloader: Use grub_loader_set_ex() + +This ports the EFI chainloader to use grub_loader_set_ex() in order to fix +a use-after-free bug that occurs when grub_cmd_chainloader() is executed +more than once before a boot attempt is performed. + +Fixes: CVE-2022-28736 + +Signed-off-by: Chris Coulson +Reviewed-by: Daniel Kiper + +Upstream-Status: Backport +CVE: CVE-2022-28736 + +Reference to upstream patch: +https://git.savannah.gnu.org/cgit/grub.git/commit/?id=04c86e0bb7b58fc2f913f798cdb18934933e532d + +Signed-off-by: Xiangyu Chen +--- + grub-core/loader/efi/chainloader.c | 16 +++++++--------- + 1 file changed, 7 insertions(+), 9 deletions(-) + +diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c +index d1602c89b..7557eb269 100644 +--- a/grub-core/loader/efi/chainloader.c ++++ b/grub-core/loader/efi/chainloader.c +@@ -44,11 +44,10 @@ GRUB_MOD_LICENSE ("GPLv3+"); + + static grub_dl_t my_mod; + +-static grub_efi_handle_t image_handle; +- + static grub_err_t +-grub_chainloader_unload (void) ++grub_chainloader_unload (void *context) + { ++ grub_efi_handle_t image_handle = (grub_efi_handle_t) context; + grub_efi_loaded_image_t *loaded_image; + grub_efi_boot_services_t *b; + +@@ -64,8 +63,9 @@ grub_chainloader_unload (void) + } + + static grub_err_t +-grub_chainloader_boot (void) ++grub_chainloader_boot (void *context) + { ++ grub_efi_handle_t image_handle = (grub_efi_handle_t) context; + grub_efi_boot_services_t *b; + grub_efi_status_t status; + grub_efi_uintn_t exit_data_size; +@@ -225,6 +225,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), + grub_efi_physical_address_t address = 0; + grub_efi_uintn_t pages = 0; + grub_efi_char16_t *cmdline = NULL; ++ grub_efi_handle_t image_handle = NULL; + + if (argc == 0) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); +@@ -405,7 +406,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), + efi_call_2 (b->free_pages, address, pages); + grub_free (file_path); + +- grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0); ++ grub_loader_set_ex (grub_chainloader_boot, grub_chainloader_unload, image_handle, 0); + return 0; + + fail: +@@ -423,10 +424,7 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), + efi_call_2 (b->free_pages, address, pages); + + if (image_handle != NULL) +- { +- efi_call_1 (b->unload_image, image_handle); +- image_handle = NULL; +- } ++ efi_call_1 (b->unload_image, image_handle); + + grub_dl_unref (my_mod); + +-- +2.34.1 + diff --git a/meta/recipes-bsp/grub/files/commands-boot-Add-API-to-pass-context-to-loader.patch b/meta/recipes-bsp/grub/files/commands-boot-Add-API-to-pass-context-to-loader.patch new file mode 100644 index 0000000000..a2c0530f04 --- /dev/null +++ b/meta/recipes-bsp/grub/files/commands-boot-Add-API-to-pass-context-to-loader.patch @@ -0,0 +1,168 @@ +From 14ceb3b3ff6db664649138442b6562c114dcf56e Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Tue, 5 Apr 2022 10:58:28 +0100 +Subject: [PATCH] commands/boot: Add API to pass context to loader + +Loaders rely on global variables for saving context which is consumed +in the boot hook and freed in the unload hook. In the case where a loader +command is executed twice, calling grub_loader_set() a second time executes +the unload hook, but in some cases this runs when the loader's global +context has already been updated, resulting in the updated context being +freed and potential use-after-free bugs when the boot hook is subsequently +called. + +This adds a new API, grub_loader_set_ex(), which allows a loader to specify +context that is passed to its boot and unload hooks. This is an alternative +to requiring that loaders call grub_loader_unset() before mutating their +global context. + +Signed-off-by: Chris Coulson +Reviewed-by: Daniel Kiper + +Upstream-Status: Backport + +Reference to upstream patch: +https://git.savannah.gnu.org/cgit/grub.git/commit/?id=14ceb3b3ff6db664649138442b6562c114dcf56e + +Signed-off-by: Xiangyu Chen +--- + grub-core/commands/boot.c | 66 ++++++++++++++++++++++++++++++++++----- + include/grub/loader.h | 5 +++ + 2 files changed, 63 insertions(+), 8 deletions(-) + +diff --git a/grub-core/commands/boot.c b/grub-core/commands/boot.c +index bbca81e94..61514788e 100644 +--- a/grub-core/commands/boot.c ++++ b/grub-core/commands/boot.c +@@ -27,10 +27,20 @@ + + GRUB_MOD_LICENSE ("GPLv3+"); + +-static grub_err_t (*grub_loader_boot_func) (void); +-static grub_err_t (*grub_loader_unload_func) (void); ++static grub_err_t (*grub_loader_boot_func) (void *context); ++static grub_err_t (*grub_loader_unload_func) (void *context); ++static void *grub_loader_context; + static int grub_loader_flags; + ++struct grub_simple_loader_hooks ++{ ++ grub_err_t (*boot) (void); ++ grub_err_t (*unload) (void); ++}; ++ ++/* Don't heap allocate this to avoid making grub_loader_set() fallible. */ ++static struct grub_simple_loader_hooks simple_loader_hooks; ++ + struct grub_preboot + { + grub_err_t (*preboot_func) (int); +@@ -44,6 +54,29 @@ static int grub_loader_loaded; + static struct grub_preboot *preboots_head = 0, + *preboots_tail = 0; + ++static grub_err_t ++grub_simple_boot_hook (void *context) ++{ ++ struct grub_simple_loader_hooks *hooks; ++ ++ hooks = (struct grub_simple_loader_hooks *) context; ++ return hooks->boot (); ++} ++ ++static grub_err_t ++grub_simple_unload_hook (void *context) ++{ ++ struct grub_simple_loader_hooks *hooks; ++ grub_err_t ret; ++ ++ hooks = (struct grub_simple_loader_hooks *) context; ++ ++ ret = hooks->unload (); ++ grub_memset (hooks, 0, sizeof (*hooks)); ++ ++ return ret; ++} ++ + int + grub_loader_is_loaded (void) + { +@@ -110,28 +143,45 @@ grub_loader_unregister_preboot_hook (struct grub_preboot *hnd) + } + + void +-grub_loader_set (grub_err_t (*boot) (void), +- grub_err_t (*unload) (void), +- int flags) ++grub_loader_set_ex (grub_err_t (*boot) (void *context), ++ grub_err_t (*unload) (void *context), ++ void *context, ++ int flags) + { + if (grub_loader_loaded && grub_loader_unload_func) +- grub_loader_unload_func (); ++ grub_loader_unload_func (grub_loader_context); + + grub_loader_boot_func = boot; + grub_loader_unload_func = unload; ++ grub_loader_context = context; + grub_loader_flags = flags; + + grub_loader_loaded = 1; + } + ++void ++grub_loader_set (grub_err_t (*boot) (void), ++ grub_err_t (*unload) (void), ++ int flags) ++{ ++ grub_loader_set_ex (grub_simple_boot_hook, ++ grub_simple_unload_hook, ++ &simple_loader_hooks, ++ flags); ++ ++ simple_loader_hooks.boot = boot; ++ simple_loader_hooks.unload = unload; ++} ++ + void + grub_loader_unset(void) + { + if (grub_loader_loaded && grub_loader_unload_func) +- grub_loader_unload_func (); ++ grub_loader_unload_func (grub_loader_context); + + grub_loader_boot_func = 0; + grub_loader_unload_func = 0; ++ grub_loader_context = 0; + + grub_loader_loaded = 0; + } +@@ -158,7 +208,7 @@ grub_loader_boot (void) + return err; + } + } +- err = (grub_loader_boot_func) (); ++ err = (grub_loader_boot_func) (grub_loader_context); + + for (cur = preboots_tail; cur; cur = cur->prev) + if (! err) +diff --git a/include/grub/loader.h b/include/grub/loader.h +index b20864282..97f231054 100644 +--- a/include/grub/loader.h ++++ b/include/grub/loader.h +@@ -40,6 +40,11 @@ void EXPORT_FUNC (grub_loader_set) (grub_err_t (*boot) (void), + grub_err_t (*unload) (void), + int flags); + ++void EXPORT_FUNC (grub_loader_set_ex) (grub_err_t (*boot) (void *context), ++ grub_err_t (*unload) (void *context), ++ void *context, ++ int flags); ++ + /* Unset current loader, if any. */ + void EXPORT_FUNC (grub_loader_unset) (void); + +-- +2.34.1 + diff --git a/meta/recipes-bsp/grub/files/loader-efi-chainloader-Simplify-the-loader-state.patch b/meta/recipes-bsp/grub/files/loader-efi-chainloader-Simplify-the-loader-state.patch new file mode 100644 index 0000000000..a43025d425 --- /dev/null +++ b/meta/recipes-bsp/grub/files/loader-efi-chainloader-Simplify-the-loader-state.patch @@ -0,0 +1,129 @@ +From 1469983ebb9674753ad333d37087fb8cb20e1dce Mon Sep 17 00:00:00 2001 +From: Chris Coulson +Date: Tue, 5 Apr 2022 10:02:04 +0100 +Subject: [PATCH] loader/efi/chainloader: Simplify the loader state + +The chainloader command retains the source buffer and device path passed +to LoadImage(), requiring the unload hook passed to grub_loader_set() to +free them. It isn't required to retain this state though - they aren't +required by StartImage() or anything else in the boot hook, so clean them +up before grub_cmd_chainloader() finishes. + +Signed-off-by: Chris Coulson +Reviewed-by: Daniel Kiper + +Upstream-Status: Backport + +Reference to upstream patch: +https://git.savannah.gnu.org/cgit/grub.git/commit/?id=1469983ebb9674753ad333d37087fb8cb20e1dce + +Signed-off-by: Xiangyu Chen +--- + grub-core/loader/efi/chainloader.c | 38 +++++++++++++++++------------- + 1 file changed, 21 insertions(+), 17 deletions(-) + +diff --git a/grub-core/loader/efi/chainloader.c b/grub-core/loader/efi/chainloader.c +index 2bd80f4db..d1602c89b 100644 +--- a/grub-core/loader/efi/chainloader.c ++++ b/grub-core/loader/efi/chainloader.c +@@ -44,25 +44,20 @@ GRUB_MOD_LICENSE ("GPLv3+"); + + static grub_dl_t my_mod; + +-static grub_efi_physical_address_t address; +-static grub_efi_uintn_t pages; +-static grub_efi_device_path_t *file_path; + static grub_efi_handle_t image_handle; +-static grub_efi_char16_t *cmdline; + + static grub_err_t + grub_chainloader_unload (void) + { ++ grub_efi_loaded_image_t *loaded_image; + grub_efi_boot_services_t *b; + ++ loaded_image = grub_efi_get_loaded_image (image_handle); ++ if (loaded_image != NULL) ++ grub_free (loaded_image->load_options); ++ + b = grub_efi_system_table->boot_services; + efi_call_1 (b->unload_image, image_handle); +- efi_call_2 (b->free_pages, address, pages); +- +- grub_free (file_path); +- grub_free (cmdline); +- cmdline = 0; +- file_path = 0; + + grub_dl_unref (my_mod); + return GRUB_ERR_NONE; +@@ -140,7 +135,7 @@ make_file_path (grub_efi_device_path_t *dp, const char *filename) + char *dir_start; + char *dir_end; + grub_size_t size; +- grub_efi_device_path_t *d; ++ grub_efi_device_path_t *d, *file_path; + + dir_start = grub_strchr (filename, ')'); + if (! dir_start) +@@ -222,11 +217,14 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), + grub_efi_status_t status; + grub_efi_boot_services_t *b; + grub_device_t dev = 0; +- grub_efi_device_path_t *dp = 0; ++ grub_efi_device_path_t *dp = NULL, *file_path = NULL; + grub_efi_loaded_image_t *loaded_image; + char *filename; + void *boot_image = 0; + grub_efi_handle_t dev_handle = 0; ++ grub_efi_physical_address_t address = 0; ++ grub_efi_uintn_t pages = 0; ++ grub_efi_char16_t *cmdline = NULL; + + if (argc == 0) + return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("filename expected")); +@@ -234,11 +232,6 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), + + grub_dl_ref (my_mod); + +- /* Initialize some global variables. */ +- address = 0; +- image_handle = 0; +- file_path = 0; +- + b = grub_efi_system_table->boot_services; + + file = grub_file_open (filename, GRUB_FILE_TYPE_EFI_CHAINLOADED_IMAGE); +@@ -408,6 +401,10 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), + grub_file_close (file); + grub_device_close (dev); + ++ /* We're finished with the source image buffer and file path now. */ ++ efi_call_2 (b->free_pages, address, pages); ++ grub_free (file_path); ++ + grub_loader_set (grub_chainloader_boot, grub_chainloader_unload, 0); + return 0; + +@@ -419,11 +416,18 @@ grub_cmd_chainloader (grub_command_t cmd __attribute__ ((unused)), + if (file) + grub_file_close (file); + ++ grub_free (cmdline); + grub_free (file_path); + + if (address) + efi_call_2 (b->free_pages, address, pages); + ++ if (image_handle != NULL) ++ { ++ efi_call_1 (b->unload_image, image_handle); ++ image_handle = NULL; ++ } ++ + grub_dl_unref (my_mod); + + return grub_errno; +-- +2.34.1 + diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc index 270efd30ef..c14fe315d3 100644 --- a/meta/recipes-bsp/grub/grub2.inc +++ b/meta/recipes-bsp/grub/grub2.inc @@ -35,6 +35,9 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \ file://0001-font-Fix-size-overflow-in-grub_font_get_glyph_intern.patch \ file://CVE-2022-2601.patch \ file://CVE-2022-3775.patch \ + file://loader-efi-chainloader-Simplify-the-loader-state.patch \ + file://commands-boot-Add-API-to-pass-context-to-loader.patch \ + file://CVE-2022-28736-loader-efi-chainloader-Use-grub_loader_set_ex.patch \ " SRC_URI[sha256sum] = "23b64b4c741569f9426ed2e3d0e6780796fca081bee4c99f62aa3f53ae803f5f" From patchwork Thu Dec 8 22:42:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16556 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42820C4167B for ; Thu, 8 Dec 2022 22:43:14 +0000 (UTC) Received: from mail-pl1-f178.google.com (mail-pl1-f178.google.com [209.85.214.178]) by mx.groups.io with SMTP id smtpd.web10.4569.1670539392101295192 for ; Thu, 08 Dec 2022 14:43:12 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=bpCUsoPU; spf=softfail (domain: sakoman.com, ip: 209.85.214.178, mailfrom: steve@sakoman.com) Received: by mail-pl1-f178.google.com with SMTP id p24so2990715plw.1 for ; Thu, 08 Dec 2022 14:43:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=vHNvpewMCjhAtLNWcaTu81RWPIrqSAzTPu2+TTl5XQI=; b=bpCUsoPU+G3ViEGqLS3g5JizIGG+rETZT03bmtdrAjH4+FotxehyNI7jjiPsJOfTkW r8Nvtv2trLOkTeHHasJvgaOQ8WBzhCr/OaVUqMOJ+iIIoYVnHrau5++gTgsOZ4NFuYZb pRpy/V/LQMy7ZfUi95Pyv2h2P4GDhRAGeguqrg0lfKl30HvcoBLXZlx+qd77M9EL8fqR YV4TqCtrsduHY2O8lh1ynwUeuUa15jrx2YcjAHrUbp26u9kmduS/9O+kBCxW343pjI/r Iw0uRu1w+4JJdcQDs1OFDsLizegdCHuvwpTsV0FPX7XXRsSLCFynnVANF2mhCN0ZvlV8 Nr8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vHNvpewMCjhAtLNWcaTu81RWPIrqSAzTPu2+TTl5XQI=; b=Lh+XH0KYhyLEyMIpNlyHlhTtA8B52UbcxoKjPQUeGGvnnBGJv0ETq8Do4ElzYsswx0 vBh8sS3PgL/kN6nzk0gsp48c+P1s8Zw24ztwssh1w+6bVtcRnGfVIVfEikUq1brNM+KT vM9TMB1UJuIMncR4lToCWz8jTsym5Pxb5fu8p/Nkomi56c/LGl4TM7AE5Rb+/gc7X//R IzG6t0riLAf06NZoAEZ7bJvJ2woaiKnPt3FD5FdsIRDPaBUpibUAimriecSCApypQz3C CeUFuemkBo09dYt99scWvPxm1NePpkMGlhJqOEl/j45Zt5VbRD8IYNTHdJx+ryInr2b/ r3qA== X-Gm-Message-State: ANoB5pm3PghURgb+6TD4HF+hAQIxQ81eCUw2tM40y9QLSr/IyVDCI+V0 Ynga5wetaxglr+DID4UAS7haRF9QnGTg7hdKfjxFpA== X-Google-Smtp-Source: AA0mqf6ure6ekccSnx97kKyv42Oa7K3Gtrf82amIWsrHWaBGrd3vgEWVoJ97YYyis+POqlhYjd3jGg== X-Received: by 2002:a17:902:e952:b0:189:dc3:ee9c with SMTP id b18-20020a170902e95200b001890dc3ee9cmr4372476pll.65.1670539391155; Thu, 08 Dec 2022 14:43:11 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:10 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 05/12] vim: upgrade 9.0.0820 -> 9.0.0947 Date: Thu, 8 Dec 2022 12:42:46 -1000 Message-Id: <33afca758f3099406211fe9c31631ce439c78dd2.1670539236.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174418 From: "Qiu, Zheng" Includes fixes for CVE-2022-4141 https://nvd.nist.gov/vuln/detail/CVE-2022-4141 For a short list of important changes, see: https://www.arp242.net/vimlog/ Signed-off-by: Zheng Qiu Signed-off-by: Alexandre Belloni (cherry picked from commit 160f459febc7fb36cc0fe85c63eb26780ace3bfd) Signed-off-by: Steve Sakoman --- meta/recipes-support/vim/vim.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-support/vim/vim.inc b/meta/recipes-support/vim/vim.inc index 298a111853..d86841efaa 100644 --- a/meta/recipes-support/vim/vim.inc +++ b/meta/recipes-support/vim/vim.inc @@ -20,8 +20,8 @@ SRC_URI = "git://github.com/vim/vim.git;branch=master;protocol=https \ file://no-path-adjust.patch \ " -PV .= ".0820" -SRCREV = "03d6e6f42b0deeb02d52c8a48c14abe431370c1c" +PV .= ".0947" +SRCREV = "cc762a48d42b579fb7bdec2c614636b830342dd5" # Remove when 8.3 is out UPSTREAM_VERSION_UNKNOWN = "1" From patchwork Thu Dec 8 22:42:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16557 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 42582C4332F for ; Thu, 8 Dec 2022 22:43:14 +0000 (UTC) Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) by mx.groups.io with SMTP id smtpd.web11.4572.1670539386398613815 for ; Thu, 08 Dec 2022 14:43:13 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=qd0GsgGc; spf=softfail (domain: sakoman.com, ip: 209.85.216.42, mailfrom: steve@sakoman.com) Received: by mail-pj1-f42.google.com with SMTP id n65-20020a17090a2cc700b0021bc5ef7a14so3070006pjd.0 for ; Thu, 08 Dec 2022 14:43:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=IcAwWK7DLL1H+LRZrJMWLxnRx+p3p9bbgGgGsU3Bulw=; b=qd0GsgGcnsYFXkB09ObwOcWd21pzgiLRQhDULEMTc8K7NNXfg7A8rDFUORhlUXb4E3 LJI99Da4Yu4mL6LzRjqDUe54ymjCdQuacbv50kyG4V3lssEm9rOZZbFhPPcZMfsaqJNh IgjPhAT+wuVYhXicz4d/AMcmnprWKboBKI3EXFJXGTLoM3WQBv9EVWlLgvOqF+uwnOQ7 gTWn7Rnk42QtKsqvZxW0yzUAlEa4KlBY4O/wMyOmxOfB/KaFGhBn5LYuILwtS8qAXbJL SVoEZBb/dsiFI6bh/IDDrVXquM2q0nkYkdUcO0IbYtQW35x1k73FNwSgaunO+gsTI1Jf 86JA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IcAwWK7DLL1H+LRZrJMWLxnRx+p3p9bbgGgGsU3Bulw=; b=PfzH0y8KG/FMxad7ScYLc2MfEU72pSbTZnf+A9pTGQVrFRc90jO5X7RhakpXPjIFzI 2FMcsWNBB4at2PDgOnH5LCOECCqTuIEKIQUKul5xqkGocWhrHJ3n3g+utGjvJcJ2aZxw yDSZ8u2L1SBVAstujXeQkJrrAnjNC6AtM3tXIYywhZFTSizrLhdOT1vD/hnJUl69Hjgt mIWPR7LM5Ey0HNkuoyvApEtIBUAvLIzi4EmHdZNStiVWZvCIoxZV8kX74F4WmPsBwhiU hC44etq1UV95NJ6iaHA8Ef0IfBne3cCdHWIqw4Uuzab5ga/gryQ8vad43i0Zce+CoGhW aFag== X-Gm-Message-State: ANoB5plJXKgmcNrS0fu1yjq2JC5bYB6I0gxFhmkjVR7U0OCh/LQaR/ah srrglyx744cI1uIeKqlvjphZswp+PtbBnWWl9BuG7Q== X-Google-Smtp-Source: AA0mqf41UBzDYwQhqpuc2QO4uQ6pIm3AsisWv0BvZ0JMWUwNfabf0AOL/+YTox0EYvsjFsIVe7TI7Q== X-Received: by 2002:a17:902:e5cd:b0:188:f547:c0ed with SMTP id u13-20020a170902e5cd00b00188f547c0edmr4900478plf.38.1670539392978; Thu, 08 Dec 2022 14:43:12 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.12 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:12 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 06/12] python3: advance to version 3.10.8 Date: Thu, 8 Dec 2022 12:42:47 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:14 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174419 From: Joe Slater Fixes CVE-2022-37460. Also add patch to fix CVE-2022-37454. Signed-off-by: Joe Slater Signed-off-by: Steve Sakoman --- .../python/python3/cve-2022-37454.patch | 108 ++++++++++++++++++ .../{python3_3.10.7.bb => python3_3.10.8.bb} | 4 +- 2 files changed, 110 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-devtools/python/python3/cve-2022-37454.patch rename meta/recipes-devtools/python/{python3_3.10.7.bb => python3_3.10.8.bb} (99%) diff --git a/meta/recipes-devtools/python/python3/cve-2022-37454.patch b/meta/recipes-devtools/python/python3/cve-2022-37454.patch new file mode 100644 index 0000000000..c019151a64 --- /dev/null +++ b/meta/recipes-devtools/python/python3/cve-2022-37454.patch @@ -0,0 +1,108 @@ +From 1f66b714c5f2fef80ec5389456ac31756dbfff0e Mon Sep 17 00:00:00 2001 +From: Theo Buehler +Date: Fri, 21 Oct 2022 21:26:01 +0200 +Subject: [PATCH] gh-98517: Fix buffer overflows in _sha3 module (#98519) + +This is a port of the applicable part of XKCP's fix [1] for +CVE-2022-37454 and avoids the segmentation fault and the infinite +loop in the test cases published in [2]. + +[1]: https://github.com/XKCP/XKCP/commit/fdc6fef075f4e81d6b1bc38364248975e08e340a +[2]: https://mouha.be/sha-3-buffer-overflow/ + +Regression test added by: Gregory P. Smith [Google LLC] +--- + +Patch applied without modification. + +CVE: CVE-2022-37454 + +Upstream-Status: Backport [github.com/cpython/cpython.git 0e4e058602d...] + +Signed-off-by: Joe Slater +--- + Lib/test/test_hashlib.py | 9 +++++++++ + .../2022-10-21-13-31-47.gh-issue-98517.SXXGfV.rst | 1 + + Modules/_sha3/kcp/KeccakSponge.inc | 15 ++++++++------- + 3 files changed, 18 insertions(+), 7 deletions(-) + create mode 100644 Misc/NEWS.d/next/Security/2022-10-21-13-31-47.gh-issue-98517.SXXGfV.rst + +diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py +index ea31f8b..65330e1 100644 +--- a/Lib/test/test_hashlib.py ++++ b/Lib/test/test_hashlib.py +@@ -491,6 +491,15 @@ class HashLibTestCase(unittest.TestCase): + def test_case_md5_uintmax(self, size): + self.check('md5', b'A'*size, '28138d306ff1b8281f1a9067e1a1a2b3') + ++ @unittest.skipIf(sys.maxsize < _4G - 1, 'test cannot run on 32-bit systems') ++ @bigmemtest(size=_4G - 1, memuse=1, dry_run=False) ++ def test_sha3_update_overflow(self, size): ++ """Regression test for gh-98517 CVE-2022-37454.""" ++ h = hashlib.sha3_224() ++ h.update(b'\x01') ++ h.update(b'\x01'*0xffff_ffff) ++ self.assertEqual(h.hexdigest(), '80762e8ce6700f114fec0f621fd97c4b9c00147fa052215294cceeed') ++ + # use the three examples from Federal Information Processing Standards + # Publication 180-1, Secure Hash Standard, 1995 April 17 + # http://www.itl.nist.gov/div897/pubs/fip180-1.htm +diff --git a/Misc/NEWS.d/next/Security/2022-10-21-13-31-47.gh-issue-98517.SXXGfV.rst b/Misc/NEWS.d/next/Security/2022-10-21-13-31-47.gh-issue-98517.SXXGfV.rst +new file mode 100644 +index 0000000..2d23a6a +--- /dev/null ++++ b/Misc/NEWS.d/next/Security/2022-10-21-13-31-47.gh-issue-98517.SXXGfV.rst +@@ -0,0 +1 @@ ++Port XKCP's fix for the buffer overflows in SHA-3 (CVE-2022-37454). +diff --git a/Modules/_sha3/kcp/KeccakSponge.inc b/Modules/_sha3/kcp/KeccakSponge.inc +index e10739d..cf92e4d 100644 +--- a/Modules/_sha3/kcp/KeccakSponge.inc ++++ b/Modules/_sha3/kcp/KeccakSponge.inc +@@ -171,7 +171,7 @@ int SpongeAbsorb(SpongeInstance *instance, const unsigned char *data, size_t dat + i = 0; + curData = data; + while(i < dataByteLen) { +- if ((instance->byteIOIndex == 0) && (dataByteLen >= (i + rateInBytes))) { ++ if ((instance->byteIOIndex == 0) && (dataByteLen-i >= rateInBytes)) { + #ifdef SnP_FastLoop_Absorb + /* processing full blocks first */ + +@@ -199,10 +199,10 @@ int SpongeAbsorb(SpongeInstance *instance, const unsigned char *data, size_t dat + } + else { + /* normal lane: using the message queue */ +- +- partialBlock = (unsigned int)(dataByteLen - i); +- if (partialBlock+instance->byteIOIndex > rateInBytes) ++ if (dataByteLen-i > rateInBytes-instance->byteIOIndex) + partialBlock = rateInBytes-instance->byteIOIndex; ++ else ++ partialBlock = (unsigned int)(dataByteLen - i); + #ifdef KeccakReference + displayBytes(1, "Block to be absorbed (part)", curData, partialBlock); + #endif +@@ -281,7 +281,7 @@ int SpongeSqueeze(SpongeInstance *instance, unsigned char *data, size_t dataByte + i = 0; + curData = data; + while(i < dataByteLen) { +- if ((instance->byteIOIndex == rateInBytes) && (dataByteLen >= (i + rateInBytes))) { ++ if ((instance->byteIOIndex == rateInBytes) && (dataByteLen-i >= rateInBytes)) { + for(j=dataByteLen-i; j>=rateInBytes; j-=rateInBytes) { + SnP_Permute(instance->state); + SnP_ExtractBytes(instance->state, curData, 0, rateInBytes); +@@ -299,9 +299,10 @@ int SpongeSqueeze(SpongeInstance *instance, unsigned char *data, size_t dataByte + SnP_Permute(instance->state); + instance->byteIOIndex = 0; + } +- partialBlock = (unsigned int)(dataByteLen - i); +- if (partialBlock+instance->byteIOIndex > rateInBytes) ++ if (dataByteLen-i > rateInBytes-instance->byteIOIndex) + partialBlock = rateInBytes-instance->byteIOIndex; ++ else ++ partialBlock = (unsigned int)(dataByteLen - i); + i += partialBlock; + + SnP_ExtractBytes(instance->state, curData, instance->byteIOIndex, partialBlock); +-- +2.32.0 + diff --git a/meta/recipes-devtools/python/python3_3.10.7.bb b/meta/recipes-devtools/python/python3_3.10.8.bb similarity index 99% rename from meta/recipes-devtools/python/python3_3.10.7.bb rename to meta/recipes-devtools/python/python3_3.10.8.bb index 2d230793ef..8963ce6dd2 100644 --- a/meta/recipes-devtools/python/python3_3.10.7.bb +++ b/meta/recipes-devtools/python/python3_3.10.8.bb @@ -4,7 +4,7 @@ DESCRIPTION = "Python is a programming language that lets you work more quickly LICENSE = "PSF-2.0" SECTION = "devel/python" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4b8801e752a2c70ac41a5f9aa243f766" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a1822df8d0f068628ca6090aedc5bfc8" SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ file://run-ptest \ @@ -44,7 +44,7 @@ SRC_URI:append:class-native = " \ file://12-distutils-prefix-is-inside-staging-area.patch \ file://0001-Don-t-search-system-for-headers-libraries.patch \ " -SRC_URI[sha256sum] = "6eed8415b7516fb2f260906db5d48dd4c06acc0cb24a7d6cc15296a604dcdc48" +SRC_URI[sha256sum] = "6a30ecde59c47048013eb5a658c9b5dec277203d2793667f578df7671f7f03f3" # exclude pre-releases for both python 2.x and 3.x UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P\d+(\.\d+)+).tar" From patchwork Thu Dec 8 22:42:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16563 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3FA59C4167B for ; Thu, 8 Dec 2022 22:43:24 +0000 (UTC) Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by mx.groups.io with SMTP id smtpd.web10.4573.1670539395794626342 for ; Thu, 08 Dec 2022 14:43:15 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=1ZeR0oQ6; spf=softfail (domain: sakoman.com, ip: 209.85.214.182, mailfrom: steve@sakoman.com) Received: by mail-pl1-f182.google.com with SMTP id k7so2974426pll.6 for ; Thu, 08 Dec 2022 14:43:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=1VjUrLWHjDOn+FSgBCOhNF0LGLCsaTyqOjzlSYi3zo8=; b=1ZeR0oQ6DksMn0WF0DcdjGa7ZLTAYNCayG7Z4mjvedrHWppNFU40llp9CxDCt0Y/4z JiVyH5a2xaJcokC9rXwI2OLSoriM95hKHcs1lmv4vey7VaX38Kp+T6AausD6yWgI5bk7 MnYFMYYd7RN0XKSlpPNjKX6jR0m8u0jvvP7Sp+mDPRN6iKVstl3t9aSth7cmGyHEkqKG Om/Zikf4OS2CJy4J5b7Wz+Of7UDnmNCLzelVldHlZ36oNtyMS2FbYx+V6+vPW5lisgbg QG2cuLUs+yml7/4mxP0w4vpmQVViMg75cfX7I0QrOjphTMJr8Qskh9B1bd4Yf7UMXur7 D80Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1VjUrLWHjDOn+FSgBCOhNF0LGLCsaTyqOjzlSYi3zo8=; b=Bv/ec2ZK4wKXgKSOyNidZT6U/F7w1XLE4ZZUoWAwgqsTVUN9ip+vctfSLXp41lcgT3 NDRORyaqtWyDz7NNRQQ+p2yXDmlxHpor6OWggMqlBh6CRBkFIO2v6EVXzc5wKALlmXPo Gs/fkc9EvwLpOhE7vEgyfjmJryCc6/Rkt+kUi8CLg8odO4xjSwZcTFrApVd5TINs/hIk aTLLQlmvJ+EdkFXKyP6pG4O10wcKrPaP4Opk9sB63fnbV0bY7I8mTr3nKBXMLFGeJbkP OvdKuvG6enoGQ2LyZwETJO2eK/cjhmX7Gaw6yies3UKlKEkO10XbhyqKsQelO6WNS/j6 DJpw== X-Gm-Message-State: ANoB5pn2Ib0Bkccwxp+99VOC1qXXBOJZxSXI2CLQ5sXlVptxjAekIaNh s+3nOY7MqF2NCOkBFOe7MJse/GcbDmzGlZQ1bkHl6A== X-Google-Smtp-Source: AA0mqf4fjPP/W6w1IM1p0/BXwqspR2syV8eWTm5iq6cZ+ND0OIMY9rSSKbcz3mkiRCOl9NCraGLGjg== X-Received: by 2002:a17:902:f646:b0:185:441e:224a with SMTP id m6-20020a170902f64600b00185441e224amr3529422plg.69.1670539394857; Thu, 08 Dec 2022 14:43:14 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:14 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 07/12] opkg: Set correct info_dir and status_file in opkg.conf Date: Thu, 8 Dec 2022 12:42:48 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174420 From: Harald Seiler Distros can customize the location of OPKG data using OPKGLIBDIR. In OE-Core commit 11f1956cf5d7 ("package_manager.py: define info_dir and status_file when OPKGLIBDIR isn't the default"), a fix was applied to correctly set the info_dir and status_file options relative to OPKGLIBDIR. However, as the commit message notes, the opkg.conf file deployed as part of the opkg package must also be adjusted to correctly reflect the changed location. Otherwise, opkg running inside the image cannot find its data. Fix this by also setting the info_dir and status_file options in opkg.conf to the correct location relative to OPKGLIBDIR. Fixes: 11f1956cf5d7 ("package_manager.py: define info_dir and status_file when OPKGLIBDIR isn't the default") Signed-off-by: Harald Seiler Signed-off-by: Alexandre Belloni (cherry picked from commit adb939ae3635de6e02208859fbf29cf0ed39f565) Signed-off-by: Steve Sakoman --- meta/recipes-devtools/opkg/opkg_0.5.0.bb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/opkg/opkg_0.5.0.bb b/meta/recipes-devtools/opkg/opkg_0.5.0.bb index e91d7250bc..7bddaa3016 100644 --- a/meta/recipes-devtools/opkg/opkg_0.5.0.bb +++ b/meta/recipes-devtools/opkg/opkg_0.5.0.bb @@ -46,7 +46,9 @@ EXTRA_OECONF:class-native = "--localstatedir=/${@os.path.relpath('${localstatedi do_install:append () { install -d ${D}${sysconfdir}/opkg install -m 0644 ${WORKDIR}/opkg.conf ${D}${sysconfdir}/opkg/opkg.conf - echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf + echo "option lists_dir ${OPKGLIBDIR}/opkg/lists" >>${D}${sysconfdir}/opkg/opkg.conf + echo "option info_dir ${OPKGLIBDIR}/opkg/info" >>${D}${sysconfdir}/opkg/opkg.conf + echo "option status_file ${OPKGLIBDIR}/opkg/status" >>${D}${sysconfdir}/opkg/opkg.conf # We need to create the lock directory install -d ${D}${OPKGLIBDIR}/opkg From patchwork Thu Dec 8 22:42:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16564 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4C5A2C10F31 for ; Thu, 8 Dec 2022 22:43:24 +0000 (UTC) Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) by mx.groups.io with SMTP id smtpd.web10.4563.1670539384446843153 for ; Thu, 08 Dec 2022 14:43:17 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=ydb2a0Ld; spf=softfail (domain: sakoman.com, ip: 209.85.216.52, mailfrom: steve@sakoman.com) Received: by mail-pj1-f52.google.com with SMTP id u5so2932381pjy.5 for ; Thu, 08 Dec 2022 14:43:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=jnNzPWvRzX/fqhuu0FRrDh4UjSinyJlwvDgtBlVYy8M=; b=ydb2a0LdLagfOYviGOMhXHsyjICZVEEDiBL462ckPYkKhfWWaGldyB8HyAsaw03V4k AJZYpGglnGtNJh3nX3pQqzEDuOzaBnZH3aPDnggL5FSNnxTfcFCDBtty53zbfo0AlmhL yTxe2F0g9muLaUWpOX3y6yKNWK6ibccuTWVS4ES7JEg+V3d/yM1FsulF+z16PR2vBktj pljyAN68NQPO535JCzLpeuDfvTsDx+bOCyGYF+hjfmPfNaoQGtbRdA9wbDXOfJOtZmBE 8jleU6vYifS9t6TVyV4HYZCRv7UmkrjEj1ozOdwkebfhSV0/QWQMTsQZ+I/ItLro3RrP Kzuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jnNzPWvRzX/fqhuu0FRrDh4UjSinyJlwvDgtBlVYy8M=; b=ZlMrVxEsjsK9wz8i4Iu7eQcS0/EZRLedoBFIOziV9VQPIIEz//6bwuoImERxm/emr2 XJZZ+jtjxlTtdUfPZYPGSDrJgfLoTZRBNuCE2XDPWHXWj4+yG2yCouO6r9GVG59TOYHS t+TJW88Nxk7g8eX8obyImQC0NuJ1ZCL/IzhlCDJYsL9t5ZaRlJgzBedJr7d2/HAgPo+C xahxVX6PVHinAs3k/DewhFvRu2yiX6Yo4IBvk42yREIG/Anw7vAAGEEqF7Pdg50ViwlJ KwhatGpLS7ymVbkZE+0rYjdvo+5ak2qmW91XQ/1WJ3rBfYl3tV8h/plyFTv6o2YBSZG0 FCEg== X-Gm-Message-State: ANoB5pkvlnGWNkeW1jShDsGXyy2UsOfJYkpOur3YV8xkMUA8x4MrEodM 2DIAV9bONZF9CSt0dHuj5mPEo9uRUPFnDcpC8FbdAg== X-Google-Smtp-Source: AA0mqf4jJUSVkf/wM2lLzkxnlDPhFrO1rUQNwrt8SFaxwKNNEDgo4gtP3wIU4cUCTsSHPWceDNn7ZA== X-Received: by 2002:a17:903:1209:b0:185:441e:90b4 with SMTP id l9-20020a170903120900b00185441e90b4mr5052245plh.26.1670539396734; Thu, 08 Dec 2022 14:43:16 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.15 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:16 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 08/12] valgrind: remove most hidden tests for arm64 Date: Thu, 8 Dec 2022 12:42:49 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174421 From: "Qiu, Zheng" An earlier version of valgrind fixed the defunct processes bug, so those tests that were skipped specifically for arm can pass now in master, kirkstone, honister, hardknott, and dunfell. Detailed test result with remove-for-aarch64 skipped on qemuarm64: Commit Pass Fail Skip master 624 9 21 kirkstone 618 10 20 honister 616 10 19 hardknott 609 13 18 dunfell 598 16 17 zeus Out of memory: Killed (with many defunct processes) There are now only 12 skipped by remove-for-aarch64 because 9 fail on qemuarm64 and 3 more fail on raspberry pi. These are tracked by: https://bugzilla.yoctoproject.org/show_bug.cgi?id=14960 Signed-off-by: Zheng Qiu Signed-off-by: Randy MacLeod Signed-off-by: Alexandre Belloni (cherry picked from commit cbeb9418c43ec834868aa65b774dc09e983d26d9) Signed-off-by: Steve Sakoman --- .../valgrind/valgrind/remove-for-aarch64 | 227 +----------------- 1 file changed, 3 insertions(+), 224 deletions(-) diff --git a/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 index 887bfd2766..a9809e5d8c 100644 --- a/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 +++ b/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 @@ -1,211 +1,6 @@ gdbserver_tests/hgtls -cachegrind/tests/ann1 -callgrind/tests/simwork1 -callgrind/tests/simwork2 -callgrind/tests/simwork3 -callgrind/tests/simwork-both -callgrind/tests/simwork-cache -callgrind/tests/threads -callgrind/tests/threads-use -drd/tests/annotate_barrier -drd/tests/annotate_barrier_xml -drd/tests/annotate_hbefore -drd/tests/annotate_hb_err -drd/tests/annotate_hb_race -drd/tests/annotate_ignore_read -drd/tests/annotate_ignore_rw -drd/tests/annotate_ignore_rw2 -drd/tests/annotate_ignore_write -drd/tests/annotate_ignore_write2 -drd/tests/annotate_order_1 -drd/tests/annotate_order_2 -drd/tests/annotate_order_3 -drd/tests/annotate_publish_hg -drd/tests/annotate_rwlock -drd/tests/annotate_rwlock_hg -drd/tests/annotate_sem -drd/tests/annotate_smart_pointer -drd/tests/annotate_smart_pointer2 -drd/tests/annotate_spinlock -drd/tests/annotate_static -drd/tests/annotate_trace_memory -drd/tests/annotate_trace_memory_xml -drd/tests/atomic_var -drd/tests/bar_bad -drd/tests/bar_trivial -drd/tests/boost_thread -drd/tests/bug-235681 -drd/tests/bug322621 -drd/tests/circular_buffer -drd/tests/concurrent_close -drd/tests/custom_alloc -drd/tests/custom_alloc_fiw -drd/tests/dlopen -drd/tests/fork-parallel -drd/tests/fork-serial -drd/tests/fp_race -drd/tests/fp_race2 -drd/tests/fp_race_xml -drd/tests/free_is_write -drd/tests/free_is_write2 -drd/tests/hg01_all_ok -drd/tests/hg02_deadlock -drd/tests/hg03_inherit -drd/tests/hg04_race -drd/tests/hg05_race2 -drd/tests/hg06_readshared -drd/tests/hold_lock_1 -drd/tests/hold_lock_2 -drd/tests/linuxthreads_det -drd/tests/matinv -drd/tests/memory_allocation -drd/tests/monitor_example -drd/tests/new_delete -drd/tests/pth_barrier -drd/tests/pth_barrier2 -drd/tests/pth_barrier3 -drd/tests/pth_barrier_race -drd/tests/pth_barrier_reinit -drd/tests/pth_broadcast -drd/tests/pth_cancel_locked -drd/tests/pth_cleanup_handler -drd/tests/pth_cond_race -drd/tests/pth_cond_race2 -drd/tests/pth_detached2 -drd/tests/pth_detached3 -drd/tests/pth_detached_sem -drd/tests/pth_inconsistent_cond_wait -drd/tests/pth_mutex_reinit -drd/tests/pth_once -drd/tests/pth_process_shared_mutex -drd/tests/pth_spinlock -drd/tests/pth_uninitialized_cond -drd/tests/read_and_free_race -drd/tests/recursive_mutex -drd/tests/rwlock_race -drd/tests/rwlock_test -drd/tests/rwlock_type_checking -drd/tests/sem_as_mutex -drd/tests/sem_as_mutex2 -drd/tests/sem_as_mutex3 -drd/tests/sem_open -drd/tests/sem_open2 -drd/tests/sem_open3 -drd/tests/sem_open_traced -drd/tests/sem_wait -drd/tests/sigalrm -drd/tests/sigaltstack -drd/tests/std_atomic -drd/tests/std_string -drd/tests/std_thread -drd/tests/std_thread2 -drd/tests/str_tester -drd/tests/tc01_simple_race -drd/tests/tc02_simple_tls -drd/tests/tc03_re_excl -drd/tests/tc04_free_lock -drd/tests/tc05_simple_race -drd/tests/tc06_two_races -drd/tests/tc07_hbl1 -drd/tests/tc08_hbl2 -drd/tests/tc10_rec_lock -drd/tests/tc11_XCHG -drd/tests/tc12_rwl_trivial -drd/tests/tc13_laog1 -drd/tests/tc15_laog_lockdel -drd/tests/tc16_byterace -drd/tests/tc17_sembar -drd/tests/tc18_semabuse -drd/tests/tc19_shadowmem -drd/tests/tc21_pthonce -drd/tests/tc22_exit_w_lock -drd/tests/tc23_bogus_condwait -helgrind/tests/annotate_rwlock -helgrind/tests/annotate_smart_pointer -helgrind/tests/bar_bad -helgrind/tests/bar_trivial -helgrind/tests/bug322621 -helgrind/tests/cond_init_destroy -helgrind/tests/cond_timedwait_invalid -helgrind/tests/cond_timedwait_test -helgrind/tests/free_is_write -helgrind/tests/hg01_all_ok -helgrind/tests/hg03_inherit -helgrind/tests/hg04_race -helgrind/tests/hg05_race2 -helgrind/tests/hg06_readshared -helgrind/tests/locked_vs_unlocked1_fwd -helgrind/tests/locked_vs_unlocked1_rev -helgrind/tests/locked_vs_unlocked2 -helgrind/tests/locked_vs_unlocked3 -helgrind/tests/pth_barrier1 -helgrind/tests/pth_barrier2 -helgrind/tests/pth_barrier3 -helgrind/tests/pth_destroy_cond -helgrind/tests/rwlock_race -helgrind/tests/rwlock_test -helgrind/tests/shmem_abits -helgrind/tests/stackteardown -helgrind/tests/t2t_laog -helgrind/tests/tc01_simple_race -helgrind/tests/tc02_simple_tls -helgrind/tests/tc03_re_excl -helgrind/tests/tc04_free_lock -helgrind/tests/tc05_simple_race -helgrind/tests/tc06_two_races -helgrind/tests/tc06_two_races_xml -helgrind/tests/tc07_hbl1 -helgrind/tests/tc08_hbl2 -helgrind/tests/tc09_bad_unlock -helgrind/tests/tc10_rec_lock -helgrind/tests/tc11_XCHG -helgrind/tests/tc12_rwl_trivial -helgrind/tests/tc13_laog1 -helgrind/tests/tc14_laog_dinphils -helgrind/tests/tc15_laog_lockdel -helgrind/tests/tc16_byterace -helgrind/tests/tc17_sembar -helgrind/tests/tc18_semabuse -helgrind/tests/tc19_shadowmem -helgrind/tests/tc20_verifywrap -helgrind/tests/tc21_pthonce -helgrind/tests/tc22_exit_w_lock -helgrind/tests/tc23_bogus_condwait -helgrind/tests/tc24_nonzero_sem -memcheck/tests/accounting -memcheck/tests/addressable -memcheck/tests/arm64-linux/scalar -memcheck/tests/atomic_incs -memcheck/tests/badaddrvalue -memcheck/tests/badfree -memcheck/tests/badfree-2trace -memcheck/tests/badfree3 -memcheck/tests/badjump -memcheck/tests/badjump2 -memcheck/tests/badloop -memcheck/tests/badpoll -memcheck/tests/badrw -memcheck/tests/big_blocks_freed_list -memcheck/tests/brk2 memcheck/tests/dw4 -memcheck/tests/err_disable4 -memcheck/tests/err_disable_arange1 -memcheck/tests/leak-autofreepool-5 -memcheck/tests/linux/lsframe1 -memcheck/tests/linux/lsframe2 -memcheck/tests/linux/with-space -memcheck/tests/origin5-bz2 -memcheck/tests/origin6-fp -memcheck/tests/partial_load_dflt -memcheck/tests/pdb-realloc2 -memcheck/tests/sh-mem -memcheck/tests/sh-mem-random -memcheck/tests/sigaltstack -memcheck/tests/sigkill -memcheck/tests/signal2 -memcheck/tests/threadname -memcheck/tests/threadname_xml -memcheck/tests/unit_oset +memcheck/tests/leak_cpp_interior memcheck/tests/varinfo1 memcheck/tests/varinfo2 memcheck/tests/varinfo3 @@ -213,21 +8,5 @@ memcheck/tests/varinfo4 memcheck/tests/varinfo5 memcheck/tests/varinfo6 memcheck/tests/varinforestrict -memcheck/tests/vcpu_bz2 -memcheck/tests/vcpu_fbench -memcheck/tests/vcpu_fnfns -memcheck/tests/wcs -memcheck/tests/wrap1 -memcheck/tests/wrap2 -memcheck/tests/wrap3 -memcheck/tests/wrap4 -memcheck/tests/wrap5 -memcheck/tests/wrap6 -memcheck/tests/wrap7 -memcheck/tests/wrap8 -memcheck/tests/wrapmalloc -memcheck/tests/wrapmallocstatic -memcheck/tests/writev1 -memcheck/tests/xml1 -memcheck/tests/linux/stack_changes -memcheck/tests/linux/timerfd-syscall +helgrind/tests/hg05_race2 +helgrind/tests/tc20_verifywrap From patchwork Thu Dec 8 22:42:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16561 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4BC38C10F1B for ; Thu, 8 Dec 2022 22:43:24 +0000 (UTC) Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) by mx.groups.io with SMTP id smtpd.web11.4585.1670539399832015754 for ; Thu, 08 Dec 2022 14:43:19 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=vw3icL68; spf=softfail (domain: sakoman.com, ip: 209.85.214.177, mailfrom: steve@sakoman.com) Received: by mail-pl1-f177.google.com with SMTP id y4so2991899plb.2 for ; Thu, 08 Dec 2022 14:43:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=aZDobzW2H7yWG2aStgDge3AS98VMniogn18KVHxZJdU=; b=vw3icL68y2KUvcJ5zNl+JPI0M0ApXKMQi7IdCT2iLAkBVgNe981wvM5Vkgj1fujsED ae9BDXbZJoumcv+/9A2AZaGgjq1Pza9DIm1VWZOtSSSARkQWxulckrRgSnYc6gRxPfDx A8m7Nf8UviUr+ywNEivbXOfOBIJk84VSkA0BgMTcXOZ5WpilWndiu/aMue4fficqkL0M D5bdJ+2UPe1MIIUTQNVbB6M2/ZEoXGGrmnH3eJumyCoENQQ6Ma44xrsJZh97ImEg8E8r M4AiK/f36YUzIQQfNGU56J2+UE70HdQmpp+OI2ICvCoe5ylac2Dgvl36vx9qMmuZCrgO 11iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=aZDobzW2H7yWG2aStgDge3AS98VMniogn18KVHxZJdU=; b=PBbBjYASgCUs6O3dvcI/5Nrp9hz+2iJM4EMGgkCAyHyDCiyiLVjrZ3D1Zy9+uYPB4V pZ236zAEgtOSI5AplQiRYTRB3F1QQv0T+wjTiV5/UWGCTlVwr02jD8mgVROX120UREIX 3/E2K7r3yZx1RoDMOFQdXK0a2x3vAT7e/4y4icoWzDFr/2m+c5EEBzHzaGyAd3OzOcQZ Cez5gZgEcjPBpDMeqQLT+0TNKC4QBH4V9jl5U/Wj795U8d22itcNFx65OD3DW0nbCb2F hg15FieW3VXb7SMKKQy7qCW6zW4TtSFPmRoeAt6my0lKIosbroOo28Xk2jfpwXKzmp5G hvlg== X-Gm-Message-State: ANoB5plhac1OzXIID1MJQIGEMkHDHhKzJeLbcVehAeNmeU9rRJdtW34C R+GqE4XDO5lSxEecj/wA7u/o+5D7tDwf0E6YVqdrfA== X-Google-Smtp-Source: AA0mqf7TTJeWMg8ogBjKS236vo7RF2Llgewqxc45tHV28HrFgetUgm4NSycRT8mAUKbJkVkwg5XwZQ== X-Received: by 2002:a17:902:e212:b0:189:80e4:6920 with SMTP id u18-20020a170902e21200b0018980e46920mr2803674plb.42.1670539398621; Thu, 08 Dec 2022 14:43:18 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.17 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:18 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 09/12] scripts: convert-overrides: Allow command-line customizations Date: Thu, 8 Dec 2022 12:42:50 -1000 Message-Id: <822ef2445630f6aab66b7c00fc79909347543c16.1670539236.git.steve@sakoman.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174422 From: Joshua Watt Adds argument parsing to the conversion script so that the fields that the script uses to do conversions can be customized on the command line. The intention is to allows easier customization without having to fork the script, and allow automated checking on 3rd party layers via CI without false positives Signed-off-by: Joshua Watt Signed-off-by: Alexandre Belloni (cherry picked from commit b9551f9180bf9f13fb1c480b5b7892fdc831ffcd) Signed-off-by: Steve Sakoman --- scripts/contrib/convert-overrides.py | 103 +++++++++++++++------------ 1 file changed, 57 insertions(+), 46 deletions(-) diff --git a/scripts/contrib/convert-overrides.py b/scripts/contrib/convert-overrides.py index 4d41a4c475..1939757f1b 100755 --- a/scripts/contrib/convert-overrides.py +++ b/scripts/contrib/convert-overrides.py @@ -22,50 +22,62 @@ import sys import tempfile import shutil import mimetypes +import argparse -if len(sys.argv) < 2: - print("Please specify a directory to run the conversion script against.") - sys.exit(1) +parser = argparse.ArgumentParser(description="Convert override syntax") +parser.add_argument("--override", "-o", action="append", default=[], help="Add additional strings to consider as an override (e.g. custom machines/distros") +parser.add_argument("--skip", "-s", action="append", default=[], help="Add additional string to skip and not consider an override") +parser.add_argument("--skip-ext", "-e", action="append", default=[], help="Additional file suffixes to skip when processing (e.g. '.foo')") +parser.add_argument("--package-vars", action="append", default=[], help="Additional variables to treat as package variables") +parser.add_argument("--image-vars", action="append", default=[], help="Additional variables to treat as image variables") +parser.add_argument("--short-override", action="append", default=[], help="Additional strings to treat as short overrides") +parser.add_argument("path", nargs="+", help="Paths to convert") + +args = parser.parse_args() # List of strings to treat as overrides -vars = ["append", "prepend", "remove"] -vars = vars + ["qemuarm", "qemux86", "qemumips", "qemuppc", "qemuriscv", "qemuall"] -vars = vars + ["genericx86", "edgerouter", "beaglebone-yocto"] -vars = vars + ["armeb", "arm", "armv5", "armv6", "armv4", "powerpc64", "aarch64", "riscv32", "riscv64", "x86", "mips64", "powerpc"] -vars = vars + ["mipsarch", "x86-x32", "mips16e", "microblaze", "e5500-64b", "mipsisa32", "mipsisa64"] -vars = vars + ["class-native", "class-target", "class-cross-canadian", "class-cross", "class-devupstream"] -vars = vars + ["tune-", "pn-", "forcevariable"] -vars = vars + ["libc-musl", "libc-glibc", "libc-newlib","libc-baremetal"] -vars = vars + ["task-configure", "task-compile", "task-install", "task-clean", "task-image-qa", "task-rm_work", "task-image-complete", "task-populate-sdk"] -vars = vars + ["toolchain-clang", "mydistro", "nios2", "sdkmingw32", "overrideone", "overridetwo"] -vars = vars + ["linux-gnux32", "linux-muslx32", "linux-gnun32", "mingw32", "poky", "darwin", "linuxstdbase"] -vars = vars + ["linux-gnueabi", "eabi"] -vars = vars + ["virtclass-multilib", "virtclass-mcextend"] +vars = args.override +vars += ["append", "prepend", "remove"] +vars += ["qemuarm", "qemux86", "qemumips", "qemuppc", "qemuriscv", "qemuall"] +vars += ["genericx86", "edgerouter", "beaglebone-yocto"] +vars += ["armeb", "arm", "armv5", "armv6", "armv4", "powerpc64", "aarch64", "riscv32", "riscv64", "x86", "mips64", "powerpc"] +vars += ["mipsarch", "x86-x32", "mips16e", "microblaze", "e5500-64b", "mipsisa32", "mipsisa64"] +vars += ["class-native", "class-target", "class-cross-canadian", "class-cross", "class-devupstream"] +vars += ["tune-", "pn-", "forcevariable"] +vars += ["libc-musl", "libc-glibc", "libc-newlib","libc-baremetal"] +vars += ["task-configure", "task-compile", "task-install", "task-clean", "task-image-qa", "task-rm_work", "task-image-complete", "task-populate-sdk"] +vars += ["toolchain-clang", "mydistro", "nios2", "sdkmingw32", "overrideone", "overridetwo"] +vars += ["linux-gnux32", "linux-muslx32", "linux-gnun32", "mingw32", "poky", "darwin", "linuxstdbase"] +vars += ["linux-gnueabi", "eabi"] +vars += ["virtclass-multilib", "virtclass-mcextend"] # List of strings to treat as overrides but only with whitespace following or another override (more restricted matching). # Handles issues with arc matching arch. -shortvars = ["arc", "mips", "mipsel", "sh4"] +shortvars = ["arc", "mips", "mipsel", "sh4"] + args.short_override # Variables which take packagenames as an override packagevars = ["FILES", "RDEPENDS", "RRECOMMENDS", "SUMMARY", "DESCRIPTION", "RSUGGESTS", "RPROVIDES", "RCONFLICTS", "PKG", "ALLOW_EMPTY", "pkg_postrm", "pkg_postinst_ontarget", "pkg_postinst", "INITSCRIPT_NAME", "INITSCRIPT_PARAMS", "DEBIAN_NOAUTONAME", "ALTERNATIVE", "PKGE", "PKGV", "PKGR", "USERADD_PARAM", "GROUPADD_PARAM", "CONFFILES", "SYSTEMD_SERVICE", "LICENSE", "SECTION", "pkg_preinst", "pkg_prerm", "RREPLACES", "GROUPMEMS_PARAM", "SYSTEMD_AUTO_ENABLE", "SKIP_FILEDEPS", "PRIVATE_LIBS", "PACKAGE_ADD_METADATA", - "INSANE_SKIP", "DEBIANNAME", "SYSTEMD_SERVICE_ESCAPED"] + "INSANE_SKIP", "DEBIANNAME", "SYSTEMD_SERVICE_ESCAPED"] + args.package_vars # Expressions to skip if encountered, these are not overrides -skips = ["parser_append", "recipe_to_append", "extra_append", "to_remove", "show_appends", "applied_appends", "file_appends", "handle_remove"] -skips = skips + ["expanded_removes", "color_remove", "test_remove", "empty_remove", "toaster_prepend", "num_removed", "licfiles_append", "_write_append"] -skips = skips + ["no_report_remove", "test_prepend", "test_append", "multiple_append", "test_remove", "shallow_remove", "do_remove_layer", "first_append"] -skips = skips + ["parser_remove", "to_append", "no_remove", "bblayers_add_remove", "bblayers_remove", "apply_append", "is_x86", "base_dep_prepend"] -skips = skips + ["autotools_dep_prepend", "go_map_arm", "alt_remove_links", "systemd_append_file", "file_append", "process_file_darwin"] -skips = skips + ["run_loaddata_poky", "determine_if_poky_env", "do_populate_poky_src", "libc_cv_include_x86_isa_level", "test_rpm_remove", "do_install_armmultilib"] -skips = skips + ["get_appends_for_files", "test_doubleref_remove", "test_bitbakelayers_add_remove", "elf32_x86_64", "colour_remove", "revmap_remove"] -skips = skips + ["test_rpm_remove", "test_bitbakelayers_add_remove", "recipe_append_file", "log_data_removed", "recipe_append", "systemd_machine_unit_append"] -skips = skips + ["recipetool_append", "changetype_remove", "try_appendfile_wc", "test_qemux86_directdisk", "test_layer_appends", "tgz_removed"] - -imagevars = ["IMAGE_CMD", "EXTRA_IMAGECMD", "IMAGE_TYPEDEP", "CONVERSION_CMD", "COMPRESS_CMD"] -packagevars = packagevars + imagevars +skips = args.skip +skips += ["parser_append", "recipe_to_append", "extra_append", "to_remove", "show_appends", "applied_appends", "file_appends", "handle_remove"] +skips += ["expanded_removes", "color_remove", "test_remove", "empty_remove", "toaster_prepend", "num_removed", "licfiles_append", "_write_append"] +skips += ["no_report_remove", "test_prepend", "test_append", "multiple_append", "test_remove", "shallow_remove", "do_remove_layer", "first_append"] +skips += ["parser_remove", "to_append", "no_remove", "bblayers_add_remove", "bblayers_remove", "apply_append", "is_x86", "base_dep_prepend"] +skips += ["autotools_dep_prepend", "go_map_arm", "alt_remove_links", "systemd_append_file", "file_append", "process_file_darwin"] +skips += ["run_loaddata_poky", "determine_if_poky_env", "do_populate_poky_src", "libc_cv_include_x86_isa_level", "test_rpm_remove", "do_install_armmultilib"] +skips += ["get_appends_for_files", "test_doubleref_remove", "test_bitbakelayers_add_remove", "elf32_x86_64", "colour_remove", "revmap_remove"] +skips += ["test_rpm_remove", "test_bitbakelayers_add_remove", "recipe_append_file", "log_data_removed", "recipe_append", "systemd_machine_unit_append"] +skips += ["recipetool_append", "changetype_remove", "try_appendfile_wc", "test_qemux86_directdisk", "test_layer_appends", "tgz_removed"] + +imagevars = ["IMAGE_CMD", "EXTRA_IMAGECMD", "IMAGE_TYPEDEP", "CONVERSION_CMD", "COMPRESS_CMD"] + args.image_vars +packagevars += imagevars + +skip_ext = [".html", ".patch", ".m4", ".diff"] + args.skip_ext vars_re = {} for exp in vars: @@ -124,21 +136,20 @@ def processfile(fn): ourname = os.path.basename(sys.argv[0]) ourversion = "0.9.3" -if os.path.isfile(sys.argv[1]): - processfile(sys.argv[1]) - sys.exit(0) - -for targetdir in sys.argv[1:]: - print("processing directory '%s'" % targetdir) - for root, dirs, files in os.walk(targetdir): - for name in files: - if name == ourname: - continue - fn = os.path.join(root, name) - if os.path.islink(fn): - continue - if "/.git/" in fn or fn.endswith(".html") or fn.endswith(".patch") or fn.endswith(".m4") or fn.endswith(".diff"): - continue - processfile(fn) +for p in args.path: + if os.path.isfile(p): + processfile(p) + else: + print("processing directory '%s'" % p) + for root, dirs, files in os.walk(p): + for name in files: + if name == ourname: + continue + fn = os.path.join(root, name) + if os.path.islink(fn): + continue + if "/.git/" in fn or any(fn.endswith(ext) for ext in skip_ext): + continue + processfile(fn) print("All files processed with version %s" % ourversion) From patchwork Thu Dec 8 22:42:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16562 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3F83BC4332F for ; Thu, 8 Dec 2022 22:43:24 +0000 (UTC) Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) by mx.groups.io with SMTP id smtpd.web11.4587.1670539401547272448 for ; Thu, 08 Dec 2022 14:43:21 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=dWopbV4P; spf=softfail (domain: sakoman.com, ip: 209.85.216.53, mailfrom: steve@sakoman.com) Received: by mail-pj1-f53.google.com with SMTP id o1-20020a17090a678100b00219cf69e5f0so6170181pjj.2 for ; Thu, 08 Dec 2022 14:43:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=XYpu9m/Y7zssU+vmNrOZYju82zhxqPAY0ai2LyYZvG8=; b=dWopbV4PBo2g0kBvb2NgmYJNQjkNDUAdxIDWMVj5x68kL1a8KdSHrEao5+JKSIXS3q nqRPuvrasbji/y2+bEsmJDCU87/jFWoqX3khqM/oeUah0sBzmY4qbQVD2g48DJF5A8dS Mfs4rLAAgQeAcd72cIdE+fgo8pXnDCuxWKqZP8ykrPfOraI97CcRqHWi2IL3tCXlqDN4 QLxLPlcIXz9Pcvzs5S7qqX0l2feTMzV4yZToGFzz8zvKKtBfDpGMWs+WCA5pl/5vOMQ+ bgxKQzA8UDzzDxjxgCTrAghtxLp0H/FZp203tP5xwzSpyAo++HSTVug0lE8w9CFLbAmK dbXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=XYpu9m/Y7zssU+vmNrOZYju82zhxqPAY0ai2LyYZvG8=; b=RT8v05nmKwzxUrMN0iRygGIjmngQwekdvTSs4SYz0paOexon+OofrSUXrLy/kRzGng 9qOGVLVwqKXW8fndFLfxFaJ5qfHvk/vych4xghi2NMI974pwICGjDxRnbe/eMtZpwiEF ncOgRp+TpF6x3xK5m7hON3FkFqX9mKzjMJNV9MIsJ16CRuVw80IYlmziV8BBipl2U6DI O4mkZjZ3i/aX+Xg8MmOBqokquq0qUufqpt2ataK6CEXAW1xaMFvfqVVD0gvXykDx8tg2 8nq4DSZS4CMz50yYOb2SHKO+82A2tra03j1QnEWuLMkMx62ikE8JAOPL+dCqqp4Vqf1+ mIQg== X-Gm-Message-State: ANoB5pnC6tWptjoMhHUpaXDZuXblyb6DIlaEJq+1VIT53u9AD/20amHQ O6SUvDSWEcP+/ahdkHLLaohIsz9TJvTrctFLqiLHXg== X-Google-Smtp-Source: AA0mqf5F1wZ37QhWybxnVS3pH3iRiisrwPVIFmKLysGX6jHVBHq17xAU0BDtFv5nVu+tfNuU5zU+Qg== X-Received: by 2002:a17:902:d50c:b0:186:8d4c:1399 with SMTP id b12-20020a170902d50c00b001868d4c1399mr4728805plg.31.1670539400528; Thu, 08 Dec 2022 14:43:20 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.19 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:20 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 10/12] classes: make TOOLCHAIN more permissive for kernel Date: Thu, 8 Dec 2022 12:42:51 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174423 From: Alexey Smirnov Currently TOOLCHAIN is strictly set to gcc in kernel-arch.bbclass. And this prevents any TOOLCHAIN changes for any kernel recipe. This change makes TOOLCHAIN configurable as usual. Signed-off-by: Alexey Smirnov Signed-off-by: Alexandre Belloni (cherry picked from commit be1634fc35dcc81f0301d942064a6eed584e0704) Signed-off-by: Steve Sakoman --- meta/classes/kernel-arch.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass index 348a3adf22..4cd08b96fb 100644 --- a/meta/classes/kernel-arch.bbclass +++ b/meta/classes/kernel-arch.bbclass @@ -64,5 +64,5 @@ HOST_AR_KERNEL_ARCH ?= "${TARGET_AR_KERNEL_ARCH}" KERNEL_CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_KERNEL_ARCH} -fuse-ld=bfd ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH} -fdebug-prefix-map=${STAGING_KERNEL_BUILDDIR}=${KERNEL_SRC_PATH}" KERNEL_LD = "${CCACHE}${HOST_PREFIX}ld.bfd ${HOST_LD_KERNEL_ARCH}" KERNEL_AR = "${CCACHE}${HOST_PREFIX}ar ${HOST_AR_KERNEL_ARCH}" -TOOLCHAIN = "gcc" +TOOLCHAIN ?= "gcc" From patchwork Thu Dec 8 22:42:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16560 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3FB78C001B2 for ; Thu, 8 Dec 2022 22:43:24 +0000 (UTC) Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by mx.groups.io with SMTP id smtpd.web10.4578.1670539403306978227 for ; Thu, 08 Dec 2022 14:43:23 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=PQjo1mTc; spf=softfail (domain: sakoman.com, ip: 209.85.214.171, mailfrom: steve@sakoman.com) Received: by mail-pl1-f171.google.com with SMTP id y17so2988143plp.3 for ; Thu, 08 Dec 2022 14:43:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=kqdVRTU3ttke6KL1A8jIOHzndVuNNFFsUM9KDzu3Bzw=; b=PQjo1mTcZKh0K+GDN9RchQ20LTcIXYHYT0U8KUfYqvgLj6Fy8e3/xdFHveU3gks5cD L5yC5ZqU+vc8/UTeXyLKA+CDz2wJzHn+dBWOGQdliTF/bFS/DAcLm3rwKDrMlN2QLxHg UDz27ElAyNq0Lcmhs0nLLbiu8PxsC3r+QqTY2N32sfj/9jChY4FIje4CXsdNOPr3HRNn qi2N4CMkpz3GJP1AES2URS0zUb8qy/pi1qCiTlcyGmnXLT7mNfnQ+nhg4aQEfDB/v+cz EBjV3PttqnKWzOa4IhGeqn2WgnajI0mbCG9Gtm/O+CR+PYHTf1/RQCkFQEe6pWgzeqxj yhXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=kqdVRTU3ttke6KL1A8jIOHzndVuNNFFsUM9KDzu3Bzw=; b=otYr6rl+x0IPDcIDmPaoFFRhFYHTrQ+ny9fTWN9QJGt2DtFcPnpsqP5nySeKt8+2I7 c/AKsbRPPs2lnor8V6UeIbvo+S2+7oLkBdHi03+Y8i2YtyBhfBC12fvsRphE763doPdU Ix89r4TUe8xVDTv0bbnUDI7vj1hu+SKBqaj7iPICK6/KbI/cvmcI5sgk4MFO/CKbc8cc t3ZBCCZzAI8zVVPiKYaVwcIPkzEV+nw4tSvxLwJvqabQ3497Z8Tn3qrkVzk4/gts5noT lMpSfeQY72T/GO2y9Z8WpFb7x4BQh21e6su59WHA7gTMf8QsF1M3IK5j0znR3er9TGO9 Cj+g== X-Gm-Message-State: ANoB5pn7Do+HNeveAZx6wbo+nv7rdQvTPBHWmYEUgmrr6RB+PITKysA9 XXIKIT0R70AAymCLxCJ8XNfa8HKc5gPuH/qc7rUeHg== X-Google-Smtp-Source: AA0mqf4YQVMoVn8+D08ax07RHRf0su0t7GkvUGmfCxvvCKwsSOx6dc/vt1Nja9jhXK8LHsKRaAhdHQ== X-Received: by 2002:a17:902:b215:b0:189:7d5:26f5 with SMTP id t21-20020a170902b21500b0018907d526f5mr2962468plr.23.1670539402309; Thu, 08 Dec 2022 14:43:22 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.21 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:21 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 11/12] psplash: consider the situation of psplash not exist for systemd Date: Thu, 8 Dec 2022 12:42:52 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:24 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174424 From: Chen Qi In current psplash framework, the psplash might not exist at all. For example, in case DSITRO is set to nodistro, the psplash does not exist. In our psplash recipe, we have: SPLASH_IMAGES = "file://psplash-poky-img.h;outsuffix=default" This variable is parsed to if psplash-poky-img.h exists, a package named psplash-default is created and is added to RDEPENDS:${PN}. We can see that the psplash-poky-img.h resides in meta-poky, and in psplash_git.bbappend file in meta-poky, we have: FILESEXTRAPATHS:prepend:poky := "${THISDIR}/files:" So this file is only available in case poky distro is used. To fix this issue, add condition check in the corresponding systemd services. Signed-off-by: Chen Qi Signed-off-by: Alexandre Belloni (cherry picked from commit 7a62ff9ed39c179d2b9b0c40f4f8423ced413063) Signed-off-by: Steve Sakoman --- meta/recipes-core/psplash/files/psplash-start.service | 1 + meta/recipes-core/psplash/files/psplash-systemd.service | 1 + 2 files changed, 2 insertions(+) diff --git a/meta/recipes-core/psplash/files/psplash-start.service b/meta/recipes-core/psplash/files/psplash-start.service index 36c2bb38e0..bec9368427 100644 --- a/meta/recipes-core/psplash/files/psplash-start.service +++ b/meta/recipes-core/psplash/files/psplash-start.service @@ -2,6 +2,7 @@ Description=Start psplash boot splash screen DefaultDependencies=no RequiresMountsFor=/run +ConditionFileIsExecutable=/usr/bin/psplash [Service] Type=notify diff --git a/meta/recipes-core/psplash/files/psplash-systemd.service b/meta/recipes-core/psplash/files/psplash-systemd.service index 082207f232..e93e3deb35 100644 --- a/meta/recipes-core/psplash/files/psplash-systemd.service +++ b/meta/recipes-core/psplash/files/psplash-systemd.service @@ -4,6 +4,7 @@ DefaultDependencies=no After=psplash-start.service Requires=psplash-start.service RequiresMountsFor=/run +ConditionFileIsExecutable=/usr/bin/psplash [Service] ExecStart=/usr/bin/psplash-systemd From patchwork Thu Dec 8 22:42:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Sakoman X-Patchwork-Id: 16565 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3FC54C4332F for ; Thu, 8 Dec 2022 22:43:34 +0000 (UTC) Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) by mx.groups.io with SMTP id smtpd.web11.4590.1670539405252646354 for ; Thu, 08 Dec 2022 14:43:25 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@sakoman-com.20210112.gappssmtp.com header.s=20210112 header.b=PJqi6HV6; spf=softfail (domain: sakoman.com, ip: 209.85.216.43, mailfrom: steve@sakoman.com) Received: by mail-pj1-f43.google.com with SMTP id fa4-20020a17090af0c400b002198d1328a0so6983953pjb.0 for ; Thu, 08 Dec 2022 14:43:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sakoman-com.20210112.gappssmtp.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=PBOP2ylt03dLN95SSzteD6JmIluoIdRRCeet/5gbbaA=; b=PJqi6HV6ajeIijz/5EfS64S8yX8xYTfBBG80sK9J5V2Mz/LblqXwKdaLD/WRW9EgIg OrOYF7b0IPwAzFOfDZY45j6MJ2GDLK790rOBsYGA1xjbJk0pNvsVuabrJQH21/WX93Od cXAQz7ENY4jTHDz8hQqm/sQEWyae8z1XS4ExGNkh3pMsRqX2J1RlN/mQH92fVjHoJQ6S m+k6yhbEQbbgBw14RWpw6jUKZa0PU9qhzZpx8eeZ7xHN3k1wdUHX25+/z3KQVLnxrCdL vgWNU56ZxyfvuDUz2k6W1mNuzJtgbFTDVV+ETw0V0SSYER83ugbnjtb/+rvHtXd46pY5 Uu9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=PBOP2ylt03dLN95SSzteD6JmIluoIdRRCeet/5gbbaA=; b=XA6ojKrl+uhuu0h2J7G3LpvAz3ijufTM2rNQnmFuGqu01EAL8Jst7bb937KnAYpLS3 jSu+cb9Z9IcI291V8+q/nW8FNZXbYw9U92boC1TkQwK4eC6wBFK9jdBW4ND2GHBhGqDd qc8FablYcZE3W5KyGrRxQlNb/upZ17SP/X9+IDSG3hVSbzmhbgIgP6/J8V/waZb3iK5/ hkdj0fp4KqgGRuMdstdz1ByaKqDkeVzcMumsJ5lCNGj0mEW7EJSkSAfmq3UOLYU4Rixh 08P2elrOS3525KWaTizfJJjVnKANEzdkJY4UEl6S2ntg8UpsG10BUjIQBXvfhRxB0h4R /BMA== X-Gm-Message-State: ANoB5plNGj6l4UMftvHuUB32s525YuQAqkBjYonEJPLVN3v05okEM+kw dNBfxZRqNpjCbcGg8NpG+kspLgBk74bfPQZy40D6JA== X-Google-Smtp-Source: AA0mqf7g7D3OxWgTQVVEK4+YMs4GlJhRcgr0cDTFnSn3+FW2Pfpc5wq3LZ7GoKdb9vguGaocL90QcQ== X-Received: by 2002:a17:902:b218:b0:185:441e:2d98 with SMTP id t24-20020a170902b21800b00185441e2d98mr3819076plr.47.1670539404264; Thu, 08 Dec 2022 14:43:24 -0800 (PST) Received: from hexa.router0800d9.com (dhcp-72-253-6-214.hawaiiantel.net. [72.253.6.214]) by smtp.gmail.com with ESMTPSA id p1-20020a1709027ec100b00172973d3cd9sm1675980plb.55.2022.12.08.14.43.23 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Dec 2022 14:43:23 -0800 (PST) From: Steve Sakoman To: openembedded-core@lists.openembedded.org Subject: [OE-core][kirkstone 12/12] oeqa/selftest/tinfoil: Add test for separate config_data with recipe_parse_file() Date: Thu, 8 Dec 2022 12:42:53 -1000 Message-Id: X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Thu, 08 Dec 2022 22:43:34 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/174425 From: Richard Purdie We've seen two different regressions in this API since it is used by layer-index but not be the core code. Add a test for it to try and ensure we don't break it again. Signed-off-by: Richard Purdie Signed-off-by: Alexandre Belloni (cherry picked from commit b07de5de43ec9c9a2c5d496a64940ccdc5b47cf8) Signed-off-by: Steve Sakoman --- meta/lib/oeqa/selftest/cases/tinfoil.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/meta/lib/oeqa/selftest/cases/tinfoil.py b/meta/lib/oeqa/selftest/cases/tinfoil.py index c81d56d82b..4b261dad00 100644 --- a/meta/lib/oeqa/selftest/cases/tinfoil.py +++ b/meta/lib/oeqa/selftest/cases/tinfoil.py @@ -64,6 +64,20 @@ class TinfoilTests(OESelftestTestCase): localdata.setVar('PN', 'hello') self.assertEqual('hello', localdata.getVar('BPN')) + # The config_data API tp parse_recipe_file is used by: + # layerindex-web layerindex/update_layer.py + def test_parse_recipe_custom_data(self): + with bb.tinfoil.Tinfoil() as tinfoil: + tinfoil.prepare(config_only=False, quiet=2) + localdata = bb.data.createCopy(tinfoil.config_data) + localdata.setVar("TESTVAR", "testval") + testrecipe = 'mdadm' + best = tinfoil.find_best_provider(testrecipe) + if not best: + self.fail('Unable to find recipe providing %s' % testrecipe) + rd = tinfoil.parse_recipe_file(best[3], config_data=localdata) + self.assertEqual("testval", rd.getVar('TESTVAR')) + def test_list_recipes(self): with bb.tinfoil.Tinfoil() as tinfoil: tinfoil.prepare(config_only=False, quiet=2)