* [PATCH 07/20] python3-cython: upgrade 0.29.20 -> 0.29.21
From: Richard Purdie @ 2020-07-16 21:07 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20200716210808.7438-1-richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/recipes-devtools/python/python-cython.inc | 2 +-
.../{python3-cython_0.29.20.bb => python3-cython_0.29.21.bb} | 0
2 files changed, 1 insertion(+), 1 deletion(-)
rename meta/recipes-devtools/python/{python3-cython_0.29.20.bb => python3-cython_0.29.21.bb} (100%)
diff --git a/meta/recipes-devtools/python/python-cython.inc b/meta/recipes-devtools/python/python-cython.inc
index a0cd2a5fb46..b1e71f3ccd5 100644
--- a/meta/recipes-devtools/python/python-cython.inc
+++ b/meta/recipes-devtools/python/python-cython.inc
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
PYPI_PACKAGE = "Cython"
BBCLASSEXTEND = "native nativesdk"
-SRC_URI[sha256sum] = "22d91af5fc2253f717a1b80b8bb45acb655f643611983fd6f782b9423f8171c7"
+SRC_URI[sha256sum] = "e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad"
UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
inherit pypi
diff --git a/meta/recipes-devtools/python/python3-cython_0.29.20.bb b/meta/recipes-devtools/python/python3-cython_0.29.21.bb
similarity index 100%
rename from meta/recipes-devtools/python/python3-cython_0.29.20.bb
rename to meta/recipes-devtools/python/python3-cython_0.29.21.bb
--
2.25.1
^ permalink raw reply related
* Re: [PATCH v3 10/12] ppc64/kexec_file: prepare elfcore header for crashing kernel
From: Hari Bathini @ 2020-07-16 21:07 UTC (permalink / raw)
To: Thiago Jung Bauermann
Cc: Pingfan Liu, Nayna Jain, Kexec-ml, Mahesh J Salgaonkar,
Mimi Zohar, lkml, linuxppc-dev, Sourabh Jain, Petr Tesarik,
Andrew Morton, Dave Young, Vivek Goyal, Eric Biederman
In-Reply-To: <87tuy88ai7.fsf@morokweng.localdomain>
On 16/07/20 7:52 am, Thiago Jung Bauermann wrote:
>
> Hari Bathini <hbathini@linux.ibm.com> writes:
>
>> /**
>> + * get_crash_memory_ranges - Get crash memory ranges. This list includes
>> + * first/crashing kernel's memory regions that
>> + * would be exported via an elfcore.
>> + * @mem_ranges: Range list to add the memory ranges to.
>> + *
>> + * Returns 0 on success, negative errno on error.
>> + */
>> +static int get_crash_memory_ranges(struct crash_mem **mem_ranges)
>> +{
>> + struct memblock_region *reg;
>> + struct crash_mem *tmem;
>> + int ret;
>> +
>> + for_each_memblock(memory, reg) {
>> + u64 base, size;
>> +
>> + base = (u64)reg->base;
>> + size = (u64)reg->size;
>> +
>> + /* Skip backup memory region, which needs a separate entry */
>> + if (base == BACKUP_SRC_START) {
>> + if (size > BACKUP_SRC_SIZE) {
>> + base = BACKUP_SRC_END + 1;
>> + size -= BACKUP_SRC_SIZE;
>> + } else
>> + continue;
>> + }
>> +
>> + ret = add_mem_range(mem_ranges, base, size);
>> + if (ret)
>> + goto out;
>> +
>> + /* Try merging adjacent ranges before reallocation attempt */
>> + if ((*mem_ranges)->nr_ranges == (*mem_ranges)->max_nr_ranges)
>> + sort_memory_ranges(*mem_ranges, true);
>> + }
>> +
>> + /* Reallocate memory ranges if there is no space to split ranges */
>> + tmem = *mem_ranges;
>> + if (tmem && (tmem->nr_ranges == tmem->max_nr_ranges)) {
>> + tmem = realloc_mem_ranges(mem_ranges);
>> + if (!tmem)
>> + goto out;
>> + }
>> +
>> + /* Exclude crashkernel region */
>> + ret = crash_exclude_mem_range(tmem, crashk_res.start, crashk_res.end);
>> + if (ret)
>> + goto out;
>> +
>> + ret = add_rtas_mem_range(mem_ranges);
>> + if (ret)
>> + goto out;
>> +
>> + ret = add_opal_mem_range(mem_ranges);
>> + if (ret)
>> + goto out;
>
> Maybe I'm confused, but don't you add the RTAS and OPAL regions as
> usable memory for the crashkernel? In that case they shouldn't show up
> in the core file.
kexec-tools does the same thing. I am not endorsing it but I was trying to stay
in parity to avoid breaking any userspace tools/commands. But as you rightly
pointed, this is NOT right. The right thing to do, to get the rtas/opal data at
the time of crash, is to have a backup region for them just like we have for
the first 64K memory. I was hoping to do that later.
Will check how userspace tools respond to dropping these regions. If that makes
the tools unhappy, will retain the regions with a FIXME. Sorry about the confusion.
Thanks
Hari
^ permalink raw reply
* [PATCH 06/20] dpkg: upgrade 1.20.0 -> 1.20.5
From: Richard Purdie @ 2020-07-16 21:07 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20200716210808.7438-1-richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
.../0001-build.c-ignore-return-of-1-from-tar-cf.patch | 9 +++++----
.../dpkg/{dpkg_1.20.0.bb => dpkg_1.20.5.bb} | 2 +-
2 files changed, 6 insertions(+), 5 deletions(-)
rename meta/recipes-devtools/dpkg/{dpkg_1.20.0.bb => dpkg_1.20.5.bb} (95%)
diff --git a/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch b/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch
index 7c354073648..ffe520c5130 100644
--- a/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch
+++ b/meta/recipes-devtools/dpkg/dpkg/0001-build.c-ignore-return-of-1-from-tar-cf.patch
@@ -1,4 +1,4 @@
-From 450fece894fce750502be8accabfd88c585bda4c Mon Sep 17 00:00:00 2001
+From 15b081cc8bead80c493ab83369ecb3345a24a3dc Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.microsoft.com>
Date: Tue, 16 Jun 2020 03:57:25 +0000
Subject: [PATCH] build.c: ignore return of 1 from tar -cf
@@ -23,15 +23,16 @@ Upstream-Status: Inappropriate [OE specific]
Original patch by RP 2015/3/27, rebased by Paul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@microsoft.com>
+
---
dpkg-deb/build.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dpkg-deb/build.c b/dpkg-deb/build.c
-index a3d1912..1de7f9c 100644
+index 8436839cd..6b44a36f7 100644
--- a/dpkg-deb/build.c
+++ b/dpkg-deb/build.c
-@@ -427,6 +427,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+@@ -434,6 +434,7 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
{
int pipe_filenames[2], pipe_tarball[2];
pid_t pid_tar, pid_comp;
@@ -39,7 +40,7 @@ index a3d1912..1de7f9c 100644
/* Fork off a tar. We will feed it a list of filenames on stdin later. */
m_pipe(pipe_filenames);
-@@ -477,7 +478,9 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
+@@ -486,7 +487,9 @@ tarball_pack(const char *dir, filenames_feed_func *tar_filenames_feeder,
/* All done, clean up wait for tar and <compress> to finish their job. */
close(pipe_filenames[1]);
subproc_reap(pid_comp, _("<compress> from tar -cf"), 0);
diff --git a/meta/recipes-devtools/dpkg/dpkg_1.20.0.bb b/meta/recipes-devtools/dpkg/dpkg_1.20.5.bb
similarity index 95%
rename from meta/recipes-devtools/dpkg/dpkg_1.20.0.bb
rename to meta/recipes-devtools/dpkg/dpkg_1.20.5.bb
index 334294e6f88..d97b69c0b97 100644
--- a/meta/recipes-devtools/dpkg/dpkg_1.20.0.bb
+++ b/meta/recipes-devtools/dpkg/dpkg_1.20.5.bb
@@ -18,6 +18,6 @@ SRC_URI = "git://salsa.debian.org/dpkg-team/dpkg.git;protocol=https \
SRC_URI_append_class-native = " file://0001-build.c-ignore-return-of-1-from-tar-cf.patch"
-SRCREV = "314ac02663c5bd1a82b34745150bf13a39a549a3"
+SRCREV = "823a67d67538b1b403a32d1fef40e6e228265566"
S = "${WORKDIR}/git"
--
2.25.1
^ permalink raw reply related
* [PATCH 05/20] mtd-utils: upgrade 2.1.1 -> 2.1.2
From: Richard Purdie @ 2020-07-16 21:07 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20200716210808.7438-1-richard.purdie@linuxfoundation.org>
Drop backported patch.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
...-utils-Fix-return-value-of-ubiformat.patch | 62 -------------------
meta/recipes-devtools/mtd/mtd-utils_git.bb | 7 +--
2 files changed, 3 insertions(+), 66 deletions(-)
delete mode 100644 meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch
diff --git a/meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch b/meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch
deleted file mode 100644
index d43f7e1a7a0..00000000000
--- a/meta/recipes-devtools/mtd/mtd-utils/0001-mtd-utils-Fix-return-value-of-ubiformat.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 4d19bffcfd66e25d3ee74536ae2d2da7ad52e8e2 Mon Sep 17 00:00:00 2001
-From: Barry Grussling <barry@grussling.com>
-Date: Sun, 12 Jan 2020 12:33:32 -0800
-Subject: [PATCH] mtd-utils: Fix return value of ubiformat
-Organization: O.S. Systems Software LTDA.
-
-This changeset fixes a feature regression in ubiformat. Older versions of
-ubiformat, when invoked with a flash-image, would return 0 in the case no error
-was encountered. Upon upgrading to latest, it was discovered that ubiformat
-returned 255 even without encountering an error condition.
-
-This changeset corrects the above issue and causes ubiformat, when given an
-image file, to return 0 when no errors are detected.
-
-Tested by running through my loading scripts and verifying ubiformat returned
-0.
-
-Upstream-Status: Backport [2.1.2]
-
-Signed-off-by: Barry Grussling <barry@grussling.com>
-Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
----
- ubi-utils/ubiformat.c | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/ubi-utils/ubiformat.c b/ubi-utils/ubiformat.c
-index a90627c..5377b12 100644
---- a/ubi-utils/ubiformat.c
-+++ b/ubi-utils/ubiformat.c
-@@ -550,6 +550,7 @@ static int format(libmtd_t libmtd, const struct mtd_dev_info *mtd,
- struct ubi_vtbl_record *vtbl;
- int eb1 = -1, eb2 = -1;
- long long ec1 = -1, ec2 = -1;
-+ int ret = -1;
-
- write_size = UBI_EC_HDR_SIZE + mtd->subpage_size - 1;
- write_size /= mtd->subpage_size;
-@@ -643,8 +644,10 @@ static int format(libmtd_t libmtd, const struct mtd_dev_info *mtd,
- if (!args.quiet && !args.verbose)
- printf("\n");
-
-- if (novtbl)
-+ if (novtbl) {
-+ ret = 0;
- goto out_free;
-+ }
-
- if (eb1 == -1 || eb2 == -1) {
- errmsg("no eraseblocks for volume table");
-@@ -669,7 +672,7 @@ static int format(libmtd_t libmtd, const struct mtd_dev_info *mtd,
-
- out_free:
- free(hdr);
-- return -1;
-+ return ret;
- }
-
- int main(int argc, char * const argv[])
---
-2.27.0
-
diff --git a/meta/recipes-devtools/mtd/mtd-utils_git.bb b/meta/recipes-devtools/mtd/mtd-utils_git.bb
index d1658a739b4..91814134275 100644
--- a/meta/recipes-devtools/mtd/mtd-utils_git.bb
+++ b/meta/recipes-devtools/mtd/mtd-utils_git.bb
@@ -10,13 +10,12 @@ inherit autotools pkgconfig update-alternatives
DEPENDS = "zlib e2fsprogs util-linux"
RDEPENDS_mtd-utils-tests += "bash"
-PV = "2.1.1"
+PV = "2.1.2"
-SRCREV = "4443221ce9b88440cd9f5bb78e6fe95621d36c8a"
+SRCREV = "7b986779342021bda87c04da3bf729718736d8ab"
SRC_URI = "git://git.infradead.org/mtd-utils.git \
file://add-exclusion-to-mkfs-jffs2-git-2.patch \
- file://0001-mtd-utils-Fix-return-value-of-ubiformat.patch \
-"
+ "
S = "${WORKDIR}/git/"
--
2.25.1
^ permalink raw reply related
* [PATCH 04/20] createrepo-c: upgrade 0.15.11 -> 0.16.0
From: Richard Purdie @ 2020-07-16 21:07 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20200716210808.7438-1-richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
.../{createrepo-c_0.15.11.bb => createrepo-c_0.16.0.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta/recipes-devtools/createrepo-c/{createrepo-c_0.15.11.bb => createrepo-c_0.16.0.bb} (95%)
diff --git a/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.11.bb b/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.0.bb
similarity index 95%
rename from meta/recipes-devtools/createrepo-c/createrepo-c_0.15.11.bb
rename to meta/recipes-devtools/createrepo-c/createrepo-c_0.16.0.bb
index 969894e4486..c6d89630720 100644
--- a/meta/recipes-devtools/createrepo-c/createrepo-c_0.15.11.bb
+++ b/meta/recipes-devtools/createrepo-c/createrepo-c_0.16.0.bb
@@ -8,7 +8,7 @@ SRC_URI = "git://github.com/rpm-software-management/createrepo_c \
file://0001-Do-not-set-PYTHON_INSTALL_DIR-by-running-python.patch \
"
-SRCREV = "ea3bcf302c1a071040e1a8b6ad77861c12a2ae99"
+SRCREV = "bac48ace91c51abe37792415e75452bbabd44d93"
S = "${WORKDIR}/git"
--
2.25.1
^ permalink raw reply related
* [PATCH 03/20] init-system-helpers: upgrade 1.57 -> 1.58
From: Richard Purdie @ 2020-07-16 21:07 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20200716210808.7438-1-richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
...{init-system-helpers_1.57.bb => init-system-helpers_1.58.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta/recipes-core/initscripts/{init-system-helpers_1.57.bb => init-system-helpers_1.58.bb} (96%)
diff --git a/meta/recipes-core/initscripts/init-system-helpers_1.57.bb b/meta/recipes-core/initscripts/init-system-helpers_1.58.bb
similarity index 96%
rename from meta/recipes-core/initscripts/init-system-helpers_1.57.bb
rename to meta/recipes-core/initscripts/init-system-helpers_1.58.bb
index e41ac21a285..b591f412c67 100644
--- a/meta/recipes-core/initscripts/init-system-helpers_1.57.bb
+++ b/meta/recipes-core/initscripts/init-system-helpers_1.58.bb
@@ -16,7 +16,7 @@ SECTION = "base"
LICENSE = "BSD-3-Clause & GPLv2"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=ee2b1830fcfead84d07bc060ec43e072"
-SRCREV = "760c625ec0e1ffebec2e391d891d389da0f65726"
+SRCREV = "6a1860c6f5ad295af605ddf588933544e7c24ce1"
SRC_URI = "git://salsa.debian.org/debian/init-system-helpers.git;protocol=https"
S = "${WORKDIR}/git"
--
2.25.1
^ permalink raw reply related
* [PATCH 02/20] btrfs-tools: upgrade 5.6.1 -> 5.7
From: Richard Purdie @ 2020-07-16 21:07 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <20200716210808.7438-1-richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
.../btrfs-tools/{btrfs-tools_5.6.1.bb => btrfs-tools_5.7.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta/recipes-devtools/btrfs-tools/{btrfs-tools_5.6.1.bb => btrfs-tools_5.7.bb} (97%)
diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.6.1.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.7.bb
similarity index 97%
rename from meta/recipes-devtools/btrfs-tools/btrfs-tools_5.6.1.bb
rename to meta/recipes-devtools/btrfs-tools/btrfs-tools_5.7.bb
index 29f14d90779..e61ea9bf89f 100644
--- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.6.1.bb
+++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.7.bb
@@ -14,7 +14,7 @@ DEPENDS = "util-linux attr e2fsprogs lzo acl"
DEPENDS_append_class-target = " udev"
RDEPENDS_${PN} = "libgcc"
-SRCREV = "2a74d408f4b65d603e42f6e7b6b905ac81825fc9"
+SRCREV = "11acf45eea6dd81e891564967051e2bb10bd25f7"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
"
--
2.25.1
^ permalink raw reply related
* [PATCH 01/20] libuv: upgrade 1.38.0 -> 1.38.1
From: Richard Purdie @ 2020-07-16 21:07 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
.../libuv/{libuv_1.38.0.bb => libuv_1.38.1.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta/recipes-connectivity/libuv/{libuv_1.38.0.bb => libuv_1.38.1.bb} (90%)
diff --git a/meta/recipes-connectivity/libuv/libuv_1.38.0.bb b/meta/recipes-connectivity/libuv/libuv_1.38.1.bb
similarity index 90%
rename from meta/recipes-connectivity/libuv/libuv_1.38.0.bb
rename to meta/recipes-connectivity/libuv/libuv_1.38.1.bb
index afc9b2f2ea8..874546373a1 100644
--- a/meta/recipes-connectivity/libuv/libuv_1.38.0.bb
+++ b/meta/recipes-connectivity/libuv/libuv_1.38.1.bb
@@ -4,7 +4,7 @@ BUGTRACKER = "https://github.com/libuv/libuv/issues"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=a68902a430e32200263d182d44924d47"
-SRCREV = "1ab9ea3790378f9f25c4e78e9e2b511c75f9c9ed"
+SRCREV = "e8b989ea1f7f9d4083511a2caec7791e9abd1871"
SRC_URI = "git://github.com/libuv/libuv;branch=v1.x"
S = "${WORKDIR}/git"
--
2.25.1
^ permalink raw reply related
* [PATCH][next] PCI: Use fallthrough pseudo-keyword
From: Gustavo A. R. Silva @ 2020-07-16 21:13 UTC (permalink / raw)
To: Bjorn Helgaas; +Cc: linux-pci, linux-kernel, Gustavo A. R. Silva
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.
[1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
drivers/pci/hotplug/ibmphp_res.c | 2 +-
drivers/pci/hotplug/pciehp_ctrl.c | 4 ++--
drivers/pci/hotplug/shpchp_ctrl.c | 4 ++--
drivers/pci/pci.c | 4 ++--
drivers/pci/proc.c | 2 +-
drivers/pci/quirks.c | 4 ++--
drivers/pci/setup-bus.c | 2 +-
7 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/pci/hotplug/ibmphp_res.c b/drivers/pci/hotplug/ibmphp_res.c
index 5c93aa14f0de..ae9acc77d14f 100644
--- a/drivers/pci/hotplug/ibmphp_res.c
+++ b/drivers/pci/hotplug/ibmphp_res.c
@@ -1941,7 +1941,7 @@ static int __init update_bridge_ranges(struct bus_node **bus)
break;
case PCI_HEADER_TYPE_BRIDGE:
function = 0x8;
- /* fall through */
+ fallthrough;
case PCI_HEADER_TYPE_MULTIBRIDGE:
/* We assume here that only 1 bus behind the bridge
TO DO: add functionality for several:
diff --git a/drivers/pci/hotplug/pciehp_ctrl.c b/drivers/pci/hotplug/pciehp_ctrl.c
index 6503d15effbb..9f85815b4f53 100644
--- a/drivers/pci/hotplug/pciehp_ctrl.c
+++ b/drivers/pci/hotplug/pciehp_ctrl.c
@@ -236,7 +236,7 @@ void pciehp_handle_presence_or_link_change(struct controller *ctrl, u32 events)
switch (ctrl->state) {
case BLINKINGOFF_STATE:
cancel_delayed_work(&ctrl->button_work);
- /* fall through */
+ fallthrough;
case ON_STATE:
ctrl->state = POWEROFF_STATE;
mutex_unlock(&ctrl->state_lock);
@@ -265,7 +265,7 @@ void pciehp_handle_presence_or_link_change(struct controller *ctrl, u32 events)
switch (ctrl->state) {
case BLINKINGON_STATE:
cancel_delayed_work(&ctrl->button_work);
- /* fall through */
+ fallthrough;
case OFF_STATE:
ctrl->state = POWERON_STATE;
mutex_unlock(&ctrl->state_lock);
diff --git a/drivers/pci/hotplug/shpchp_ctrl.c b/drivers/pci/hotplug/shpchp_ctrl.c
index afdc52d1cae7..65502e3f7b4f 100644
--- a/drivers/pci/hotplug/shpchp_ctrl.c
+++ b/drivers/pci/hotplug/shpchp_ctrl.c
@@ -642,7 +642,7 @@ int shpchp_sysfs_enable_slot(struct slot *p_slot)
switch (p_slot->state) {
case BLINKINGON_STATE:
cancel_delayed_work(&p_slot->work);
- /* fall through */
+ fallthrough;
case STATIC_STATE:
p_slot->state = POWERON_STATE;
mutex_unlock(&p_slot->lock);
@@ -678,7 +678,7 @@ int shpchp_sysfs_disable_slot(struct slot *p_slot)
switch (p_slot->state) {
case BLINKINGOFF_STATE:
cancel_delayed_work(&p_slot->work);
- /* fall through */
+ fallthrough;
case STATIC_STATE:
p_slot->state = POWEROFF_STATE;
mutex_unlock(&p_slot->lock);
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
index 45c51aff9c03..b02c5e6f5b67 100644
--- a/drivers/pci/pci.c
+++ b/drivers/pci/pci.c
@@ -922,7 +922,7 @@ static int pci_raw_set_power_state(struct pci_dev *dev, pci_power_t state)
if ((pmcsr & PCI_PM_CTRL_STATE_MASK) == PCI_D3hot
&& !(pmcsr & PCI_PM_CTRL_NO_SOFT_RESET))
need_restore = true;
- /* Fall-through - force to D0 */
+ fallthrough; /* force to D0 */
default:
pmcsr = 0;
break;
@@ -2406,7 +2406,7 @@ static pci_power_t pci_target_state(struct pci_dev *dev, bool wakeup)
case PCI_D2:
if (pci_no_d1d2(dev))
break;
- /* else, fall through */
+ fallthrough;
default:
target_state = state;
}
diff --git a/drivers/pci/proc.c b/drivers/pci/proc.c
index bd2b691fa7a3..d35186b01d98 100644
--- a/drivers/pci/proc.c
+++ b/drivers/pci/proc.c
@@ -231,7 +231,7 @@ static long proc_bus_pci_ioctl(struct file *file, unsigned int cmd,
}
/* If arch decided it can't, fall through... */
#endif /* HAVE_PCI_MMAP */
- /* fall through */
+ fallthrough;
default:
ret = -EINVAL;
break;
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c
index 9d7a43261613..0f18237e57a8 100644
--- a/drivers/pci/quirks.c
+++ b/drivers/pci/quirks.c
@@ -1730,7 +1730,7 @@ static void quirk_jmicron_ata(struct pci_dev *pdev)
case PCI_DEVICE_ID_JMICRON_JMB366:
/* Redirect IDE second PATA port to the right spot */
conf5 |= (1 << 24);
- /* Fall through */
+ fallthrough;
case PCI_DEVICE_ID_JMICRON_JMB361:
case PCI_DEVICE_ID_JMICRON_JMB363:
case PCI_DEVICE_ID_JMICRON_JMB369:
@@ -2224,7 +2224,7 @@ static void quirk_netmos(struct pci_dev *dev)
if (dev->subsystem_vendor == PCI_VENDOR_ID_IBM &&
dev->subsystem_device == 0x0299)
return;
- /* else, fall through */
+ fallthrough;
case PCI_DEVICE_ID_NETMOS_9735:
case PCI_DEVICE_ID_NETMOS_9745:
case PCI_DEVICE_ID_NETMOS_9845:
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 9b94b1f16d80..bd04a6a916d4 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -1252,7 +1252,7 @@ void __pci_bus_size_bridges(struct pci_bus *bus, struct list_head *realloc_head)
additional_mmio_size = pci_hotplug_mmio_size;
additional_mmio_pref_size = pci_hotplug_mmio_pref_size;
}
- /* Fall through */
+ fallthrough;
default:
pbus_size_io(bus, realloc_head ? 0 : additional_io_size,
additional_io_size, realloc_head);
--
2.27.0
^ permalink raw reply related
* Re: [patch] mm, memcg: provide an anon_reclaimable stat
From: Shakeel Butt @ 2020-07-16 21:07 UTC (permalink / raw)
To: David Rientjes
Cc: SeongJae Park, Andrew Morton, Yang Shi, Michal Hocko, Yang Shi,
Roman Gushchin, Greg Thelen, Johannes Weiner, Vladimir Davydov,
Cgroups, Linux MM
In-Reply-To: <alpine.DEB.2.23.453.2007161357490.3209847@chino.kir.corp.google.com>
On Thu, Jul 16, 2020 at 1:58 PM David Rientjes <rientjes@google.com> wrote:
>
> Userspace can lack insight into the amount of memory that can be reclaimed
> from a memcg based on values from memory.stat. Two specific examples:
>
> - Lazy freeable memory (MADV_FREE) that are clean anonymous pages on the
> inactive file LRU that can be quickly reclaimed under memory pressure
> but otherwise shows up as mapped anon in memory.stat, and
>
> - Memory on deferred split queues (thp) that are compound pages that can
> be split and uncharged from the memcg under memory pressure, but
> otherwise shows up as charged anon LRU memory in memory.stat.
>
> Both of this anonymous usage is also charged to memory.current.
>
> Userspace can currently derive this information but it depends on kernel
> implementation details for how this memory is handled for the purposes of
> reclaim (anon on inactive file LRU or unmapped anon on the LRU).
>
> For the purposes of writing portable userspace code that does not need to
> have insight into the kernel implementation for reclaimable memory, this
> exports a stat that reveals the amount of anonymous memory that can be
> reclaimed and uncharged from the memcg to start new applications.
>
> As the kernel implementation evolves for memory that can be reclaimed
> under memory pressure, this stat can be kept consistent.
>
> Signed-off-by: David Rientjes <rientjes@google.com>
> ---
> Documentation/admin-guide/cgroup-v2.rst | 6 +++++
> mm/memcontrol.c | 31 +++++++++++++++++++++++++
> 2 files changed, 37 insertions(+)
>
> diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
> --- a/Documentation/admin-guide/cgroup-v2.rst
> +++ b/Documentation/admin-guide/cgroup-v2.rst
> @@ -1296,6 +1296,12 @@ PAGE_SIZE multiple when read back.
> Amount of memory used in anonymous mappings backed by
> transparent hugepages
>
> + anon_reclaimable
> + The amount of charged anonymous memory that can be reclaimed
> + under memory pressure without swap. This currently includes
> + lazy freeable memory (MADV_FREE) and compound pages that can be
> + split and uncharged.
> +
> inactive_anon, active_anon, inactive_file, active_file, unevictable
> Amount of memory, swap-backed and filesystem-backed,
> on the internal memory management lists used by the
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1350,6 +1350,32 @@ static bool mem_cgroup_wait_acct_move(struct mem_cgroup *memcg)
> return false;
> }
>
> +/*
> + * Returns the amount of anon memory that is charged to the memcg that is
> + * reclaimable under memory pressure without swap, in pages.
> + */
> +static unsigned long memcg_anon_reclaimable(struct mem_cgroup *memcg)
> +{
> + long deferred, lazyfree;
> +
> + /*
> + * Deferred pages are charged anonymous pages that are on the LRU but
> + * are unmapped. These compound pages are split under memory pressure.
> + */
> + deferred = max_t(long, memcg_page_state(memcg, NR_ACTIVE_ANON) +
> + memcg_page_state(memcg, NR_INACTIVE_ANON) -
> + memcg_page_state(memcg, NR_ANON_MAPPED), 0);
Please note that the NR_ANON_MAPPED does not include tmpfs memory but
NR_[IN]ACTIVE_ANON does include the tmpfs.
> + /*
> + * Lazyfree pages are charged clean anonymous pages that are on the file
> + * LRU and can be reclaimed under memory pressure.
> + */
> + lazyfree = max_t(long, memcg_page_state(memcg, NR_ACTIVE_FILE) +
> + memcg_page_state(memcg, NR_INACTIVE_FILE) -
> + memcg_page_state(memcg, NR_FILE_PAGES), 0);
Similarly NR_FILE_PAGES includes tmpfs memory but NR_[IN]ACTIVE_FILE does not.
^ permalink raw reply
* [PATCH][next] PCI: imx6: Use fallthrough pseudo-keyword
From: Gustavo A. R. Silva @ 2020-07-16 21:10 UTC (permalink / raw)
To: Richard Zhu, Lucas Stach, Lorenzo Pieralisi, Rob Herring,
Bjorn Helgaas, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team
Cc: linux-pci, linux-kernel, linux-arm-kernel, Gustavo A. R. Silva
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.
[1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
drivers/pci/controller/dwc/pci-imx6.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index 4e5c379ae418..1119ded593d0 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -439,7 +439,7 @@ static int imx6_pcie_enable_ref_clk(struct imx6_pcie *imx6_pcie)
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
IMX6SX_GPR12_PCIE_TEST_POWERDOWN, 0);
break;
- case IMX6QP: /* FALLTHROUGH */
+ case IMX6QP:
case IMX6Q:
/* power up core phy and enable ref clock */
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
@@ -642,7 +642,7 @@ static void imx6_pcie_init_phy(struct imx6_pcie *imx6_pcie)
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
IMX6SX_GPR12_PCIE_RX_EQ_MASK,
IMX6SX_GPR12_PCIE_RX_EQ_2);
- /* FALLTHROUGH */
+ fallthrough;
default:
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
IMX6Q_GPR12_PCIE_CTL_2, 0 << 10);
@@ -1107,7 +1107,7 @@ static int imx6_pcie_probe(struct platform_device *pdev)
dev_err(dev, "pcie_aux clock source missing or invalid\n");
return PTR_ERR(imx6_pcie->pcie_aux);
}
- /* fall through */
+ fallthrough;
case IMX7D:
if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR)
imx6_pcie->controller_id = 1;
--
2.27.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related
* Re: [patch] mm, memcg: provide an anon_reclaimable stat
From: Shakeel Butt @ 2020-07-16 21:07 UTC (permalink / raw)
To: David Rientjes
Cc: SeongJae Park, Andrew Morton, Yang Shi, Michal Hocko, Yang Shi,
Roman Gushchin, Greg Thelen, Johannes Weiner, Vladimir Davydov,
Cgroups, Linux MM
In-Reply-To: <alpine.DEB.2.23.453.2007161357490.3209847-X6Q0R45D7oAcqpCFd4KODRPsWskHk0ljAL8bYrjMMd8@public.gmane.org>
On Thu, Jul 16, 2020 at 1:58 PM David Rientjes <rientjes-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org> wrote:
>
> Userspace can lack insight into the amount of memory that can be reclaimed
> from a memcg based on values from memory.stat. Two specific examples:
>
> - Lazy freeable memory (MADV_FREE) that are clean anonymous pages on the
> inactive file LRU that can be quickly reclaimed under memory pressure
> but otherwise shows up as mapped anon in memory.stat, and
>
> - Memory on deferred split queues (thp) that are compound pages that can
> be split and uncharged from the memcg under memory pressure, but
> otherwise shows up as charged anon LRU memory in memory.stat.
>
> Both of this anonymous usage is also charged to memory.current.
>
> Userspace can currently derive this information but it depends on kernel
> implementation details for how this memory is handled for the purposes of
> reclaim (anon on inactive file LRU or unmapped anon on the LRU).
>
> For the purposes of writing portable userspace code that does not need to
> have insight into the kernel implementation for reclaimable memory, this
> exports a stat that reveals the amount of anonymous memory that can be
> reclaimed and uncharged from the memcg to start new applications.
>
> As the kernel implementation evolves for memory that can be reclaimed
> under memory pressure, this stat can be kept consistent.
>
> Signed-off-by: David Rientjes <rientjes-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
> ---
> Documentation/admin-guide/cgroup-v2.rst | 6 +++++
> mm/memcontrol.c | 31 +++++++++++++++++++++++++
> 2 files changed, 37 insertions(+)
>
> diff --git a/Documentation/admin-guide/cgroup-v2.rst b/Documentation/admin-guide/cgroup-v2.rst
> --- a/Documentation/admin-guide/cgroup-v2.rst
> +++ b/Documentation/admin-guide/cgroup-v2.rst
> @@ -1296,6 +1296,12 @@ PAGE_SIZE multiple when read back.
> Amount of memory used in anonymous mappings backed by
> transparent hugepages
>
> + anon_reclaimable
> + The amount of charged anonymous memory that can be reclaimed
> + under memory pressure without swap. This currently includes
> + lazy freeable memory (MADV_FREE) and compound pages that can be
> + split and uncharged.
> +
> inactive_anon, active_anon, inactive_file, active_file, unevictable
> Amount of memory, swap-backed and filesystem-backed,
> on the internal memory management lists used by the
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1350,6 +1350,32 @@ static bool mem_cgroup_wait_acct_move(struct mem_cgroup *memcg)
> return false;
> }
>
> +/*
> + * Returns the amount of anon memory that is charged to the memcg that is
> + * reclaimable under memory pressure without swap, in pages.
> + */
> +static unsigned long memcg_anon_reclaimable(struct mem_cgroup *memcg)
> +{
> + long deferred, lazyfree;
> +
> + /*
> + * Deferred pages are charged anonymous pages that are on the LRU but
> + * are unmapped. These compound pages are split under memory pressure.
> + */
> + deferred = max_t(long, memcg_page_state(memcg, NR_ACTIVE_ANON) +
> + memcg_page_state(memcg, NR_INACTIVE_ANON) -
> + memcg_page_state(memcg, NR_ANON_MAPPED), 0);
Please note that the NR_ANON_MAPPED does not include tmpfs memory but
NR_[IN]ACTIVE_ANON does include the tmpfs.
> + /*
> + * Lazyfree pages are charged clean anonymous pages that are on the file
> + * LRU and can be reclaimed under memory pressure.
> + */
> + lazyfree = max_t(long, memcg_page_state(memcg, NR_ACTIVE_FILE) +
> + memcg_page_state(memcg, NR_INACTIVE_FILE) -
> + memcg_page_state(memcg, NR_FILE_PAGES), 0);
Similarly NR_FILE_PAGES includes tmpfs memory but NR_[IN]ACTIVE_FILE does not.
^ permalink raw reply
* [Buildroot] [PATCH 1/1] package/exim: bump to version 4.94
From: Thomas Petazzoni @ 2020-07-16 21:06 UTC (permalink / raw)
To: buildroot
In-Reply-To: <20200716194011.1961006-1-fontaine.fabrice@gmail.com>
On Thu, 16 Jul 2020 21:40:11 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> - Drop seventh patch (already in version with
> https://git.exim.org/exim.git/commitdiff/302e7912253bd1f1a88f04d9a8a71d8a3c9b93fc)
> - Update indentation in hash file (two spaces)
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
> ...x-version.-h-sh-generation-with-para.patch | 84 -------------------
> package/exim/exim.hash | 10 +--
> package/exim/exim.mk | 4 +-
> 3 files changed, 7 insertions(+), 91 deletions(-)
> delete mode 100644 package/exim/0007-Makefile-Base-fix-version.-h-sh-generation-with-para.patch
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply
* Re: [RFC PATCH v3 16/18] gpu: host1x: mipi: Split tegra_mipi_calibrate and tegra_mipi_wait
From: Sowjanya Komatineni @ 2020-07-16 21:09 UTC (permalink / raw)
To: Dmitry Osipenko, thierry.reding, jonathanh, frankc, hverkuil,
sakari.ailus, robh+dt, helen.koike
Cc: sboyd, gregkh, linux-media, devicetree, linux-tegra, linux-kernel,
linux-i2c
In-Reply-To: <a06dec8f-7042-767b-545b-048685a7683d@gmail.com>
On 7/16/20 1:38 PM, Dmitry Osipenko wrote:
> 15.07.2020 07:20, Sowjanya Komatineni пишет:
>> SW can trigger MIPI pads calibration any time after power on
>> but calibration results will be latched and applied to the pads
>> by MIPI CAL unit only when the link is in LP-11 state and then
>> status register will be updated.
>>
>> For CSI, trigger of pads calibration happen during CSI stream
>> enable where CSI receiver is kept ready prior to sensor or CSI
>> transmitter stream start.
>>
>> So, pads may not be in LP-11 at this time and waiting for the
>> calibration to be done immediate after calibration start will
>> result in timeout.
>>
>> This patch splits tegra_mipi_calibrate() and tegra_mipi_wait()
>> so triggering for calibration and waiting for it to complete can
>> happen at different stages.
>>
>> Signed-off-by: Sowjanya Komatineni <skomatineni@nvidia.com>
>> ---
> ...
>> int tegra_mipi_calibrate(struct tegra_mipi_device *device)
>> {
>> @@ -370,12 +381,10 @@ int tegra_mipi_calibrate(struct tegra_mipi_device *device)
>> value |= MIPI_CAL_CTRL_START;
>> tegra_mipi_writel(device->mipi, value, MIPI_CAL_CTRL);
>>
>> - err = tegra_mipi_wait(device->mipi);
> Doesn't MIPI clock need to be enabled during of the calibration process?
MIPI clock is already enabled in tegra_mipi_calibrate
>
>> mutex_unlock(&device->mipi->lock);
>> clk_disable(device->mipi->clk);
>>
>> - return err;
>> + return 0;
>> }
>> EXPORT_SYMBOL(tegra_mipi_calibrate);
^ permalink raw reply
* [Buildroot] [PATCH 1/1] package/libvncserver: disable gtk example
From: Thomas Petazzoni @ 2020-07-16 21:06 UTC (permalink / raw)
To: buildroot
In-Reply-To: <20200716193610.1924967-1-fontaine.fabrice@gmail.com>
On Thu, 16 Jul 2020 21:36:10 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> gtkvncviewer has been added since version 0.9.13 and
> https://github.com/LibVNC/libvncserver/commit/2650cfc17bb7718e42bfff8510c15f011eda1b1f,
> disable it as it is only an example
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
> package/libvncserver/libvncserver.mk | 1 +
> 1 file changed, 1 insertion(+)
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply
* [Buildroot] [PATCH] package/go: bump version to 1.13.13
From: Thomas Petazzoni @ 2020-07-16 21:06 UTC (permalink / raw)
To: buildroot
In-Reply-To: <20200716185615.1439944-1-christian@paral.in>
On Thu, 16 Jul 2020 11:56:15 -0700
Christian Stewart <christian@paral.in> wrote:
> go1.13.13 (released 2020/07/14) includes security fixes to the
> crypto/x509 and net/http packages.
>
> Signed-off-by: Christian Stewart <christian@paral.in>
> ---
> package/go/go.hash | 2 +-
> package/go/go.mk | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
Applied to master, thanks.
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply
* [Buildroot] [PATCH 1/1] package/refpolicy: needs python3
From: Thomas Petazzoni @ 2020-07-16 21:06 UTC (permalink / raw)
To: buildroot
In-Reply-To: <20200716205939.1965929-1-fontaine.fabrice@gmail.com>
On Thu, 16 Jul 2020 22:59:39 +0200
Fabrice Fontaine <fontaine.fabrice@gmail.com> wrote:
> Commit 09b94b1e8f94d1f49f7a2349b4c8cbfecefa73da forgot to propagate
> python3 dependency from host-setools to refpolicy
>
> Fixes:
> - http://autobuild.buildroot.org/results/fdeaa54355aa0741eccc7864b034a7b07ef0c4bc
>
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
> ---
> package/refpolicy/Config.in | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/package/refpolicy/Config.in b/package/refpolicy/Config.in
> index b50b2f09ff..e374ab1901 100644
> --- a/package/refpolicy/Config.in
> +++ b/package/refpolicy/Config.in
> @@ -1,5 +1,6 @@
> config BR2_PACKAGE_REFPOLICY
> bool "refpolicy"
> + depends on BR2_PACKAGE_PYTHON3 # host-setools
It is not possible for host-setools (a host package) to have a
dependency on python3, which is a target package.
However, what is possible is that when BR2_PACKAGE_PYTHON=y, the
default host Python version is Python 2.x, and therefore host-setools
gets installed for Python 2.x, but the refpolicy build uses
host-python3, so it does not find host-setools.
I think the correct fix is instead to set
HOST_SETOOLS_NEEDS_HOST_PYTHON = python3 since anyway it only works
with Python 3.x.
Antoine: any thoughts on this ?
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
^ permalink raw reply
* Re: [PATCH v4 0/2] Syscall User Redirection
From: Carlos O'Donell @ 2020-07-16 21:06 UTC (permalink / raw)
To: Gabriel Krisman Bertazi, Christian Brauner
Cc: Kees Cook, Andy Lutomirski, Matthew Wilcox, tglx, linux-kernel,
kernel, gofmanp, linux-api, x86, linux-kselftest, shuah, jannh
In-Reply-To: <871rlbjj7r.fsf@collabora.com>
On 7/16/20 4:30 PM, Gabriel Krisman Bertazi wrote:
> Christian Brauner <christian.brauner@ubuntu.com> writes:
>
>> On Thu, Jul 16, 2020 at 01:25:43PM -0700, Kees Cook wrote:
>>> On Thu, Jul 16, 2020 at 10:22:34PM +0200, Christian Brauner wrote:
>>>> On Thu, Jul 16, 2020 at 01:04:38PM -0700, Kees Cook wrote:
>>>>> On Thu, Jul 16, 2020 at 03:31:39PM -0400, Gabriel Krisman Bertazi wrote:
>>>>>> This is v4 of Syscall User Redirection. The implementation itself is
>>>>>> not modified from v3, it only applies the latest round of reviews to the
>>>>>> selftests.
>>>>>>
>>>>>> __NR_syscalls is not really exported in header files other than
>>>>>> asm-generic for every architecture, so it felt safer to optionally
>>>>>> expose it with a fallback to a high value.
>>>>>>
>>>>>> Also, I didn't expose tests for PR_GET as that is not currently
>>>>>> implemented. If possible, I'd have it supported by a future patchset,
>>>>>> since it is not immediately necessary to support this feature.
>>>>>
>>>>> Thanks! That all looks good to me.
>>>>
>>>> Don't have any problem with this but did this ever get exposure on
>>>> linux-api? This is the first time I see this pop up.
>>>
>>> I thought I'd added it to CC in the past, but that might have been other
>>> recent unrelated threads. Does this need a full repost there too, you
>>> think?
>>
>> Nah, wasn't my intention to force a repost. Seems that several people
>> have looked this over. :) Just curious why it didn't get to linux-api
>> and we know quite some people who only do look at linux-api (for sanity). :)
>
> That's my mistake. I didn't think about it when submitting :(
>
> If this get re-spinned again I will make sure to CC linux-api.
Thank you! It helps C library implementors stay up to date and comment
on changes that impact userspace ABIs and APIs. This patch set was new
to me. Interesting new feature.
--
Cheers,
Carlos.
^ permalink raw reply
* Re: [PATCH v4 1/2] kernel: Implement selective syscall userspace redirection
From: Matthew Wilcox @ 2020-07-16 21:06 UTC (permalink / raw)
To: Gabriel Krisman Bertazi
Cc: tglx, linux-kernel, kernel, luto, gofmanp, keescook,
linux-kselftest, shuah
In-Reply-To: <20200716193141.4068476-2-krisman@collabora.com>
On Thu, Jul 16, 2020 at 03:31:40PM -0400, Gabriel Krisman Bertazi wrote:
> selector is an optional pointer to a char-sized userspace memory region
> that has a key switch for the mechanism. This key switch is set to
> either PR_SYS_DISPATCH_ON, PR_SYS_DISPATCH_OFF to enable and disable the
> redirection without calling the kernel.
>
> The feature is meant to be set per-thread and it is disabled on
> fork/clone/execv.
Disabled on exec. Disabled in the child on clone/fork (and vfork, I
think).
That means we don't need to worry about it interacting badly with
a setuid program, right?
^ permalink raw reply
* Re: [PATCH v3 net] net: fec: fix hardware time stamping by external devices
From: Jakub Kicinski @ 2020-07-16 21:06 UTC (permalink / raw)
To: Sergey Organov
Cc: netdev, linux-kernel, Fugang Duan, David S. Miller,
Richard Cochran, Vladimir Oltean
In-Reply-To: <87a6zz9owa.fsf@osv.gnss.ru>
On Thu, 16 Jul 2020 23:38:13 +0300 Sergey Organov wrote:
> > Applied, and added to the stable queue, thanks!
>
> Thanks, and I've also got a no-brainer patch that lets this bug fix
> compile as-is with older kernels, where there were no phy_has_hwtstamp()
> function. Dunno how to properly handle this. Here is the patch (on
> top of v4.9.146), just in case:
I see, I'll only add it to 5.7. By default we backport net fixes to
the two most recent releases, anyway. Could you send a patch that will
work on 4.4 or 4.9 - 5.4 to Greg yourself once this hits Linus's tree
in a week or two?
^ permalink raw reply
* [PATCH v2] libselinux: Use sestatus if open
From: Mike Palmiotto @ 2020-07-16 21:03 UTC (permalink / raw)
To: selinux
Commit bc2a8f418e3b ("libselinux: add selinux_status_* interfaces for
/selinux/status") introduced the sestatus mechanism, which allows for
mmap()'ing of the kernel status page as a replacement for avc_netlink.
The mechanism was initially intended for use by userspace object
managers which were calculating access decisions within their
application and did not rely on the libselinux AVC implementation. In
order to properly make use of sestatus within avc_has_perm(), the status
mechanism needs to properly set avc internals during status events;
else, avc_enforcing is never updated upon sestatus changes.
This commit introduces a new selinux_status_loop() function, which
replaces the default netlink-equivalent, avc_netlink_loop(). The
function watches the kernel status page until an error occurs, at which
point it will close the status page and exit the thread.In the event
that the status page cannot be opened, the thread will continue to
function as before by using a fallback netlink socket.
This allows us to replace the call to avc_netlink_open() in
avc_init_internal() with a call to selinux_status_open() and remove the
avc_netlink_check_nb() call from the critical code path in
avc_has_perm_noaudit(), as well as selinux_check_access().
Userspace object managers wanting a netlink socket can call
avc_netlink_acquire_fd() to open a netlink socket if there is not one
open already.
Update the manpage to reflect the new selinux_status_loop() and
avc_netlink_acquire_fd() functionality.
Signed-off-by: Mike Palmiotto <mike.palmiotto@crunchydata.com>
---
Tested against dbus-daemon v1.12.8 on RHEL8.2 for legacy support.
Patch V2 Changes:
- Added selinux_status_loop function for watcher threads.
- Replaced avc_netlink_open with selinux_status_open.
- Moved avc_netlink_open into avc_netlink_acquire_fd.
- Replaced avc_netlink_check_nb() call in selinux_check_access with sestatus
equivalent.
- Updated manpage and mapfile.
libselinux/include/selinux/avc.h | 6 ++
libselinux/man/man3/avc_netlink_loop.3 | 8 +++
libselinux/man/man3/selinux_status_loop.3 | 1 +
libselinux/man/man3/selinux_status_open.3 | 12 ++++
libselinux/src/avc.c | 15 +++--
libselinux/src/avc_internal.c | 82 ++++++++++++++++-------
libselinux/src/avc_internal.h | 4 ++
libselinux/src/checkAccess.c | 2 +-
libselinux/src/libselinux.map | 1 +
libselinux/src/sestatus.c | 32 ++++++++-
10 files changed, 126 insertions(+), 37 deletions(-)
create mode 100644 libselinux/man/man3/selinux_status_loop.3
diff --git a/libselinux/include/selinux/avc.h b/libselinux/include/selinux/avc.h
index 9b23357a..fd681df4 100644
--- a/libselinux/include/selinux/avc.h
+++ b/libselinux/include/selinux/avc.h
@@ -487,6 +487,12 @@ extern int avc_netlink_check_nb(void);
*/
extern int selinux_status_open(int fallback);
+/**
+ * selinux_status_loop - Watch kernel status page
+ *
+ */
+extern void selinux_status_loop(void);
+
/**
* selinux_status_close - Unmap and close SELinux kernel status page
*
diff --git a/libselinux/man/man3/avc_netlink_loop.3 b/libselinux/man/man3/avc_netlink_loop.3
index c8268a12..f03d7813 100644
--- a/libselinux/man/man3/avc_netlink_loop.3
+++ b/libselinux/man/man3/avc_netlink_loop.3
@@ -54,6 +54,11 @@ closes the netlink socket. This function is called automatically by
returns the netlink socket descriptor number and informs the userspace AVC
not to check the socket descriptor automatically on calls to
.BR avc_has_perm (3).
+If no such socket descriptor exists,
+.BR avc_netlink_acquire_fd (3)
+will first call
+.BR avc_netlink_open (3)
+and then return the resulting fd.
.BR avc_netlink_release_fd ()
returns control of the netlink socket to the userspace AVC, re-enabling
@@ -78,6 +83,9 @@ with a return value return zero on success. On error, \-1 is returned and
.I errno
is set appropriately.
.
+.SH "AUTHOR"
+Originally KaiGai Kohei. Updated by Mike Palmiotto <mike.palmiotto@crunchydata.com>
+.
.SH "SEE ALSO"
.BR avc_open (3),
.BR selinux_set_callback (3),
diff --git a/libselinux/man/man3/selinux_status_loop.3 b/libselinux/man/man3/selinux_status_loop.3
new file mode 100644
index 00000000..52a41690
--- /dev/null
+++ b/libselinux/man/man3/selinux_status_loop.3
@@ -0,0 +1 @@
+.so man3/selinux_status_open.3
diff --git a/libselinux/man/man3/selinux_status_open.3 b/libselinux/man/man3/selinux_status_open.3
index 2d44be57..c7f2eb6c 100644
--- a/libselinux/man/man3/selinux_status_open.3
+++ b/libselinux/man/man3/selinux_status_open.3
@@ -10,6 +10,8 @@ without invocation of system calls
.sp
.BI "int selinux_status_open(int " fallback ");"
.sp
+.BI "void selinux_status_loop(void);"
+.sp
.BI "void selinux_status_close(void);"
.sp
.BI "int selinux_status_updated(void);"
@@ -52,6 +54,16 @@ and overwrite corresponding callbacks ( setenforce and policyload).
Thus, we need to pay attention to the interaction with these interfaces,
when fallback mode is enabled.
.sp
+.BR selinux_status_loop ()
+enters a loop which processes messages by continually checking the kernel
+status page via calls to
+.BR selinux_status_updated (3).
+If the kernel status page was not opened and
+.BR selinux_status_open (3)
+instead opened the fallback netlink socket, that socket will be checked and
+processed. On error, the function exits and unmaps the status page, or closes
+the fallback netlink socket.
+.sp
.BR selinux_status_close ()
unmap the kernel status page and close its file descriptor, or close the
netlink socket if fallbacked.
diff --git a/libselinux/src/avc.c b/libselinux/src/avc.c
index b4648b2d..e36a9a53 100644
--- a/libselinux/src/avc.c
+++ b/libselinux/src/avc.c
@@ -50,7 +50,7 @@ struct avc_callback_node {
struct avc_callback_node *next;
};
-static void *avc_netlink_thread = NULL;
+static void *avc_status_thread = NULL;
static void *avc_lock = NULL;
static void *avc_log_lock = NULL;
static struct avc_node *avc_node_freelist = NULL;
@@ -215,15 +215,15 @@ static int avc_init_internal(const char *prefix,
avc_enforcing = rc;
}
- rc = avc_netlink_open(0);
+ rc = selinux_status_open(1);
if (rc < 0) {
avc_log(SELINUX_ERROR,
- "%s: can't open netlink socket: %d (%s)\n",
+ "%s: could not open selinux status page: %d (%s)\n",
avc_prefix, errno, strerror(errno));
goto out;
}
if (avc_using_threads) {
- avc_netlink_thread = avc_create_thread(&avc_netlink_loop);
+ avc_status_thread = avc_create_thread(&selinux_status_loop);
avc_netlink_trouble = 0;
}
avc_running = 1;
@@ -557,9 +557,10 @@ void avc_destroy(void)
avc_get_lock(avc_lock);
+ selinux_status_close();
+
if (avc_using_threads)
- avc_stop_thread(avc_netlink_thread);
- avc_netlink_close();
+ avc_stop_thread(avc_status_thread);
for (i = 0; i < AVC_CACHE_SLOTS; i++) {
node = avc_cache.slots[i];
@@ -766,7 +767,7 @@ int avc_has_perm_noaudit(security_id_t ssid,
avd_init(avd);
if (!avc_using_threads && !avc_app_main_loop) {
- (void)avc_netlink_check_nb();
+ (void)selinux_status_updated();
}
if (!aeref) {
diff --git a/libselinux/src/avc_internal.c b/libselinux/src/avc_internal.c
index 568a3d92..4ef92452 100644
--- a/libselinux/src/avc_internal.c
+++ b/libselinux/src/avc_internal.c
@@ -53,6 +53,49 @@ int avc_enforcing = 1;
int avc_setenforce = 0;
int avc_netlink_trouble = 0;
+/* process setenforce events for netlink and sestatus */
+int avc_process_setenforce(int enforcing)
+{
+ int rc = 0;
+
+ avc_log(SELINUX_INFO,
+ "%s: received setenforce notice (enforcing=%d)\n",
+ avc_prefix, enforcing);
+ if (avc_setenforce)
+ goto out;
+ avc_enforcing = enforcing;
+ if (avc_enforcing && (rc = avc_ss_reset(0)) < 0) {
+ avc_log(SELINUX_ERROR,
+ "%s: cache reset returned %d (errno %d)\n",
+ avc_prefix, rc, errno);
+ return rc;
+ }
+
+out:
+ return selinux_netlink_setenforce(enforcing);
+}
+
+/* process policyload events for netlink and sestatus */
+int avc_process_policyload(uint32_t seqno)
+{
+ int rc = 0;
+
+ avc_log(SELINUX_INFO,
+ "%s: received policyload notice (seqno=%u)\n",
+ avc_prefix, seqno);
+ rc = avc_ss_reset(seqno);
+ if (rc < 0) {
+ avc_log(SELINUX_ERROR,
+ "%s: cache reset returned %d (errno %d)\n",
+ avc_prefix, rc, errno);
+ return rc;
+ }
+
+ selinux_flush_class_cache();
+
+ return selinux_netlink_policyload(seqno);
+}
+
/* netlink socket code */
static int fd = -1;
@@ -177,20 +220,7 @@ static int avc_netlink_process(void *buf)
case SELNL_MSG_SETENFORCE:{
struct selnl_msg_setenforce *msg = NLMSG_DATA(nlh);
- msg->val = !!msg->val;
- avc_log(SELINUX_INFO,
- "%s: received setenforce notice (enforcing=%d)\n",
- avc_prefix, msg->val);
- if (avc_setenforce)
- break;
- avc_enforcing = msg->val;
- if (avc_enforcing && (rc = avc_ss_reset(0)) < 0) {
- avc_log(SELINUX_ERROR,
- "%s: cache reset returned %d (errno %d)\n",
- avc_prefix, rc, errno);
- return rc;
- }
- rc = selinux_netlink_setenforce(msg->val);
+ rc = avc_process_setenforce(!!msg->val);
if (rc < 0)
return rc;
break;
@@ -198,18 +228,7 @@ static int avc_netlink_process(void *buf)
case SELNL_MSG_POLICYLOAD:{
struct selnl_msg_policyload *msg = NLMSG_DATA(nlh);
- avc_log(SELINUX_INFO,
- "%s: received policyload notice (seqno=%u)\n",
- avc_prefix, msg->seqno);
- rc = avc_ss_reset(msg->seqno);
- if (rc < 0) {
- avc_log(SELINUX_ERROR,
- "%s: cache reset returned %d (errno %d)\n",
- avc_prefix, rc, errno);
- return rc;
- }
- selinux_flush_class_cache();
- rc = selinux_netlink_policyload(msg->seqno);
+ rc = avc_process_policyload(msg->seqno);
if (rc < 0)
return rc;
break;
@@ -284,6 +303,17 @@ void avc_netlink_loop(void)
int avc_netlink_acquire_fd(void)
{
+ if (fd < 0) {
+ int rc = 0;
+ rc = avc_netlink_open(0);
+ if (rc < 0) {
+ avc_log(SELINUX_ERROR,
+ "%s: could not open netlink socket: %d (%s)\n",
+ avc_prefix, errno, strerror(errno));
+ return rc;
+ }
+ }
+
avc_app_main_loop = 1;
return fd;
diff --git a/libselinux/src/avc_internal.h b/libselinux/src/avc_internal.h
index 3f8a6bb1..da67affc 100644
--- a/libselinux/src/avc_internal.h
+++ b/libselinux/src/avc_internal.h
@@ -32,6 +32,10 @@ extern void (*avc_func_get_lock) (void *);
extern void (*avc_func_release_lock) (void *);
extern void (*avc_func_free_lock) (void *);
+/* selinux status processing for netlink and sestatus */
+extern int avc_process_setenforce(int enforcing);
+extern int avc_process_policyload(uint32_t seqno);
+
static inline void set_callbacks(const struct avc_memory_callback *mem_cb,
const struct avc_log_callback *log_cb,
const struct avc_thread_callback *thread_cb,
diff --git a/libselinux/src/checkAccess.c b/libselinux/src/checkAccess.c
index 3491fded..b337ea64 100644
--- a/libselinux/src/checkAccess.c
+++ b/libselinux/src/checkAccess.c
@@ -39,7 +39,7 @@ int selinux_check_access(const char *scon, const char *tcon, const char *class,
if (rc < 0)
return rc;
- (void) avc_netlink_check_nb();
+ (void) selinux_status_updated();
sclass = string_to_security_class(class);
if (sclass == 0) {
diff --git a/libselinux/src/libselinux.map b/libselinux/src/libselinux.map
index 2a368e93..8d8d8fd2 100644
--- a/libselinux/src/libselinux.map
+++ b/libselinux/src/libselinux.map
@@ -203,6 +203,7 @@ LIBSELINUX_1.0 {
selinux_status_close;
selinux_status_deny_unknown;
selinux_status_getenforce;
+ selinux_status_loop;
selinux_status_open;
selinux_status_policyload;
selinux_status_updated;
diff --git a/libselinux/src/sestatus.c b/libselinux/src/sestatus.c
index 86267ff8..6ecb6337 100644
--- a/libselinux/src/sestatus.c
+++ b/libselinux/src/sestatus.c
@@ -39,6 +39,7 @@ struct selinux_status_t
static struct selinux_status_t *selinux_status = NULL;
static int selinux_status_fd;
static uint32_t last_seqno;
+static uint32_t last_policyload;
static uint32_t fallback_sequence;
static int fallback_enforcing;
@@ -116,6 +117,15 @@ int selinux_status_updated(void)
if (last_seqno != curr_seqno)
{
+ if (avc_enforcing != (int) selinux_status->enforcing) {
+ if (avc_process_setenforce(selinux_status->enforcing) < 0)
+ return -1;
+ }
+ if (last_policyload != selinux_status->policyload) {
+ if (avc_process_policyload(selinux_status->policyload) < 0)
+ return -1;
+ last_policyload = selinux_status->policyload;
+ }
last_seqno = curr_seqno;
result = 1;
}
@@ -131,7 +141,6 @@ int selinux_status_updated(void)
int selinux_status_getenforce(void)
{
uint32_t seqno;
- uint32_t enforcing;
if (selinux_status == NULL) {
errno = EINVAL;
@@ -149,11 +158,11 @@ int selinux_status_getenforce(void)
do {
seqno = read_sequence(selinux_status);
- enforcing = selinux_status->enforcing;
+ avc_enforcing = selinux_status->enforcing;
} while (seqno != read_sequence(selinux_status));
- return enforcing ? 1 : 0;
+ return avc_enforcing;
}
/*
@@ -316,6 +325,23 @@ error:
return -1;
}
+/*
+ * selinux_status_loop
+ *
+ * Run routine for checking kernel status page in a listening thread.
+ * Falls back on netlink socket in the event of failure to open status page.
+ */
+void selinux_status_loop(void)
+{
+ /* Check kernel status page until error occurs */
+ while(selinux_status_updated() >= 0);
+
+ avc_log(SELINUX_ERROR,
+ "%s: status thread terminating due to error: %d (%s)\n",
+ avc_prefix, errno, strerror(errno));
+ selinux_status_close();
+}
+
/*
* selinux_status_close
*
--
2.27.0
^ permalink raw reply related
* Re: [PATCH] io_uring: simplify file ref tracking in subm state
From: Jens Axboe @ 2020-07-16 21:05 UTC (permalink / raw)
To: Pavel Begunkov, io-uring
In-Reply-To: <8ad5d1e7c726ee96f0c55061049188fce0f1c445.1594930010.git.asml.silence@gmail.com>
On 7/16/20 2:28 PM, Pavel Begunkov wrote:
> Currently, file refs in struct io_submit_state are tracked with 2 vars:
> @has_refs -- how many refs were initially taken
> @used_refs -- number of refs used
>
> Replace it with a single veriable counting how many refs left at the
> current moment.
Applied, thanks.
--
Jens Axboe
^ permalink raw reply
* [PATCH][next] PCI: imx6: Use fallthrough pseudo-keyword
From: Gustavo A. R. Silva @ 2020-07-16 21:10 UTC (permalink / raw)
To: Richard Zhu, Lucas Stach, Lorenzo Pieralisi, Rob Herring,
Bjorn Helgaas, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team,
Fabio Estevam, NXP Linux Team
Cc: linux-pci, linux-arm-kernel, linux-kernel, Gustavo A. R. Silva
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.
[1] https://www.kernel.org/doc/html/latest/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
drivers/pci/controller/dwc/pci-imx6.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index 4e5c379ae418..1119ded593d0 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -439,7 +439,7 @@ static int imx6_pcie_enable_ref_clk(struct imx6_pcie *imx6_pcie)
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
IMX6SX_GPR12_PCIE_TEST_POWERDOWN, 0);
break;
- case IMX6QP: /* FALLTHROUGH */
+ case IMX6QP:
case IMX6Q:
/* power up core phy and enable ref clock */
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
@@ -642,7 +642,7 @@ static void imx6_pcie_init_phy(struct imx6_pcie *imx6_pcie)
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
IMX6SX_GPR12_PCIE_RX_EQ_MASK,
IMX6SX_GPR12_PCIE_RX_EQ_2);
- /* FALLTHROUGH */
+ fallthrough;
default:
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
IMX6Q_GPR12_PCIE_CTL_2, 0 << 10);
@@ -1107,7 +1107,7 @@ static int imx6_pcie_probe(struct platform_device *pdev)
dev_err(dev, "pcie_aux clock source missing or invalid\n");
return PTR_ERR(imx6_pcie->pcie_aux);
}
- /* fall through */
+ fallthrough;
case IMX7D:
if (dbi_base->start == IMX8MQ_PCIE2_BASE_ADDR)
imx6_pcie->controller_id = 1;
--
2.27.0
^ permalink raw reply related
* [Buildroot] [PATCH 1/3] board/freescale/imx: Add helper to generate fw binary
From: Fabio Estevam @ 2020-07-16 21:04 UTC (permalink / raw)
To: buildroot
In-Reply-To: <20200427211638.6047-1-xroumegue@gmail.com>
Hi Xavier,
On Mon, Apr 27, 2020 at 6:16 PM Xavier Roumegue <xroumegue@gmail.com> wrote:
>
> This script aims to create an imx compatible boot image embedding
> mainline components, using only upstream uboot mkimage tool, avoiding
> dependencies on proprietary imx mkimage.
>
> Mainline u-boot can generate a bootable image, but SPL soc proprietary
> firmware dependencies have to be copied on uboot root dir.
>
> This script prevents additional buildroot uboot recipe hacking to handle
> custom SoC uboot build process.
>
> The script actions summary is:
> - Append DDR4 firmware to uboot spl binary
> - Generate imx mkimage configuration file, extracting entry points from
> relevant elf files on the fly.
> - Generate imx boot image using uboot upstream mkimage tool
>
> Signed-off-by: Xavier Roumegue <xroumegue@gmail.com>
Do you plan to resubmit this patch?
I am looking forward to being able to use a Buildroot generated image
with U-Boot and kernel mainline on i.MX8 boards :-)
^ permalink raw reply
* Re: qemu test-qga failure on mergebuild after VERSION file change: dependency issues??
From: Philippe Mathieu-Daudé @ 2020-07-16 21:03 UTC (permalink / raw)
To: Peter Maydell, Michael Roth; +Cc: Paolo Bonzini, QEMU Developers
In-Reply-To: <CAFEAcA9ejQjNMcChrGH4RMt9pERQpUx2titK527s+PQCmVUEkA@mail.gmail.com>
On 7/16/20 10:15 PM, Peter Maydell wrote:
> On Thu, 16 Jul 2020 at 20:52, Michael Roth <mdroth@linux.vnet.ibm.com> wrote:
>> But is it intermittent, environment-dependent? I'm trying to understand how to
>> replicate Peter's result since it seems like it would be straightforward
>> reproducer.
>
> I blew away all my build trees and recreated them from
> scratch, and the issue went away. I'm suspicious that the
> complete lack of .d files was induced by a failed earlier
> pullreq attempt and left the build tree in a messed up state
> where it wouldn't notice that it needed to rebuild files.
If it happens again, can you try to revert aaa1b70a0b ("Makefile:
simplify MINIKCONF rules") on top of the tag you are testing, and
re-run the testing?
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.