If wakeup event occurred by extcon event, it needs to call
ci_irq again since the first ci_irq calling at extcon notifier
only wakes up controller, but do noop for event handling,
it causes the extcon use case can't work well from low power mode.
Cc: <stable(a)vger.kernel.org>
Fixes: 3ecb3e09b042 ("usb: chipidea: Use extcon framework for VBUS and ID detect")
Reported-by: Philippe Schenker <philippe.schenker(a)toradex.com>
Tested-by: Philippe Schenker <philippe.schenker(a)toradex.com>
Signed-off-by: Peter Chen <peter.chen(a)nxp.com>
---
drivers/usb/chipidea/core.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
index e8ce300ad490..9e10dcfeb98f 100644
--- a/drivers/usb/chipidea/core.c
+++ b/drivers/usb/chipidea/core.c
@@ -1313,6 +1313,29 @@ static void ci_controller_suspend(struct ci_hdrc *ci)
enable_irq(ci->irq);
}
+/*
+ * Handle the wakeup interrupt triggered by extcon connector
+ * We need to call ci_irq again for extcon since the first
+ * interrupt (wakeup int) only let the controller be out of
+ * low power mode, but not handle any interrupts.
+ */
+static void ci_extcon_wakeup_int(struct ci_hdrc *ci)
+{
+ struct ci_hdrc_cable *cable_id, *cable_vbus;
+ u32 otgsc = hw_read_otgsc(ci, ~0);
+
+ cable_id = &ci->platdata->id_extcon;
+ cable_vbus = &ci->platdata->vbus_extcon;
+
+ if (!IS_ERR(cable_id->edev) && ci->is_otg &&
+ (otgsc & OTGSC_IDIE) && (otgsc & OTGSC_IDIS))
+ ci_irq(ci->irq, ci);
+
+ if (!IS_ERR(cable_vbus->edev) && ci->is_otg &&
+ (otgsc & OTGSC_BSVIE) && (otgsc & OTGSC_BSVIS))
+ ci_irq(ci->irq, ci);
+}
+
static int ci_controller_resume(struct device *dev)
{
struct ci_hdrc *ci = dev_get_drvdata(dev);
@@ -1343,6 +1366,7 @@ static int ci_controller_resume(struct device *dev)
enable_irq(ci->irq);
if (ci_otg_is_fsm_mode(ci))
ci_otg_fsm_wakeup_by_srp(ci);
+ ci_extcon_wakeup_int(ci);
}
return 0;
--
2.17.1
The (struct __prci_data).hw_clks.hws is an array with dynamic elements.
Using struct_size(pd, hw_clks.hws, ARRAY_SIZE(__prci_init_clocks))
instead of sizeof(*pd) to get the correct memory size of
struct __prci_data for sifive/fu540-prci. After applying this
modifications, the kernel runs smoothly with CONFIG_SLAB_FREELIST_RANDOM
enabled on the HiFive unleashed board.
Fixes: 30b8e27e3b58 ("clk: sifive: add a driver for the SiFive FU540 PRCI IP block")
Cc: stable(a)vger.kernel.org
Signed-off-by: Vincent Chen <vincent.chen(a)sifive.com>
---
drivers/clk/sifive/fu540-prci.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/clk/sifive/fu540-prci.c b/drivers/clk/sifive/fu540-prci.c
index 6282ee2f361c..a8901f90a61a 100644
--- a/drivers/clk/sifive/fu540-prci.c
+++ b/drivers/clk/sifive/fu540-prci.c
@@ -586,7 +586,10 @@ static int sifive_fu540_prci_probe(struct platform_device *pdev)
struct __prci_data *pd;
int r;
- pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
+ pd = devm_kzalloc(dev,
+ struct_size(pd, hw_clks.hws,
+ ARRAY_SIZE(__prci_init_clocks)),
+ GFP_KERNEL);
if (!pd)
return -ENOMEM;
--
2.7.4
Hello,
With my little script, I found below commits in the mainline tree are more than
1 week old and fixing commits that back-ported in v5.4..v5.4.49 but not merged
in the stable/linux-5.4.y tree. Are those need to be merged in but missed or
dealyed?
9210c075cef2 ("nvme-pci: avoid race between nvme_reap_pending_cqes() and nvme_poll()")
9fecd13202f5 ("btrfs: fix a block group ref counter leak after failure to remove block group")
9d964e1b82d8 ("fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()"")
8ab3a3812aa9 ("drm/i915/gt: Incrementally check for rewinding")
6e2f83884c09 ("bnxt_en: Fix AER reset logic on 57500 chips.")
efb94790852a ("drm/panel-simple: fix connector type for LogicPD Type28 Display")
ff58bbc7b970 ("ALSA: usb-audio: Fix potential use-after-free of streams")
ff58bbc7b970 ("ALSA: usb-audio: Fix potential use-after-free of streams")
8dbe4c5d5e40 ("net: dsa: bcm_sf2: Fix node reference count")
ca8826095e4d ("selftests/net: report etf errors correctly")
5a8d7f126c97 ("of: of_mdio: Correct loop scanning logic")
d35d3660e065 ("binder: fix null deref of proc->context")
The script found several more commits but I exclude those here, because those
seems not applicable on 5.4.y or fixing trivial problems only. If I'm not
following a proper process for this kind of reports, please let me know.
Thanks,
SeongJae Park
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 243bce09c91b0145aeaedd5afba799d81841c030 Mon Sep 17 00:00:00 2001
From: Hugh Dickins <hughd(a)google.com>
Date: Thu, 25 Jun 2020 20:29:59 -0700
Subject: [PATCH] mm: fix swap cache node allocation mask
Chris Murphy reports that a slightly overcommitted load, testing swap
and zram along with i915, splats and keeps on splatting, when it had
better fail less noisily:
gnome-shell: page allocation failure: order:0,
mode:0x400d0(__GFP_IO|__GFP_FS|__GFP_COMP|__GFP_RECLAIMABLE),
nodemask=(null),cpuset=/,mems_allowed=0
CPU: 2 PID: 1155 Comm: gnome-shell Not tainted 5.7.0-1.fc33.x86_64 #1
Call Trace:
dump_stack+0x64/0x88
warn_alloc.cold+0x75/0xd9
__alloc_pages_slowpath.constprop.0+0xcfa/0xd30
__alloc_pages_nodemask+0x2df/0x320
alloc_slab_page+0x195/0x310
allocate_slab+0x3c5/0x440
___slab_alloc+0x40c/0x5f0
__slab_alloc+0x1c/0x30
kmem_cache_alloc+0x20e/0x220
xas_nomem+0x28/0x70
add_to_swap_cache+0x321/0x400
__read_swap_cache_async+0x105/0x240
swap_cluster_readahead+0x22c/0x2e0
shmem_swapin+0x8e/0xc0
shmem_swapin_page+0x196/0x740
shmem_getpage_gfp+0x3a2/0xa60
shmem_read_mapping_page_gfp+0x32/0x60
shmem_get_pages+0x155/0x5e0 [i915]
__i915_gem_object_get_pages+0x68/0xa0 [i915]
i915_vma_pin+0x3fe/0x6c0 [i915]
eb_add_vma+0x10b/0x2c0 [i915]
i915_gem_do_execbuffer+0x704/0x3430 [i915]
i915_gem_execbuffer2_ioctl+0x1ea/0x3e0 [i915]
drm_ioctl_kernel+0x86/0xd0 [drm]
drm_ioctl+0x206/0x390 [drm]
ksys_ioctl+0x82/0xc0
__x64_sys_ioctl+0x16/0x20
do_syscall_64+0x5b/0xf0
entry_SYSCALL_64_after_hwframe+0x44/0xa9
Reported on 5.7, but it goes back really to 3.1: when
shmem_read_mapping_page_gfp() was implemented for use by i915, and
allowed for __GFP_NORETRY and __GFP_NOWARN flags in most places, but
missed swapin's "& GFP_KERNEL" mask for page tree node allocation in
__read_swap_cache_async() - that was to mask off HIGHUSER_MOVABLE bits
from what page cache uses, but GFP_RECLAIM_MASK is now what's needed.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=208085
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.2006151330070.11064@eggly.anvils
Fixes: 68da9f055755 ("tmpfs: pass gfp to shmem_getpage_gfp")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Reviewed-by: Vlastimil Babka <vbabka(a)suse.cz>
Reviewed-by: Matthew Wilcox (Oracle) <willy(a)infradead.org>
Reported-by: Chris Murphy <lists(a)colorremedies.com>
Analyzed-by: Vlastimil Babka <vbabka(a)suse.cz>
Analyzed-by: Matthew Wilcox <willy(a)infradead.org>
Tested-by: Chris Murphy <lists(a)colorremedies.com>
Cc: <stable(a)vger.kernel.org> [3.1+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
diff --git a/mm/swap_state.c b/mm/swap_state.c
index e98ff460e9e9..05889e8e3c97 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -21,7 +21,7 @@
#include <linux/vmalloc.h>
#include <linux/swap_slots.h>
#include <linux/huge_mm.h>
-
+#include "internal.h"
/*
* swapper_space is a fiction, retained to simplify the path through
@@ -429,7 +429,7 @@ struct page *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
__SetPageSwapBacked(page);
/* May fail (-ENOMEM) if XArray node allocation failed. */
- if (add_to_swap_cache(page, entry, gfp_mask & GFP_KERNEL)) {
+ if (add_to_swap_cache(page, entry, gfp_mask & GFP_RECLAIM_MASK)) {
put_swap_page(page, entry);
goto fail_unlock;
}
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 243bce09c91b0145aeaedd5afba799d81841c030 Mon Sep 17 00:00:00 2001
From: Hugh Dickins <hughd(a)google.com>
Date: Thu, 25 Jun 2020 20:29:59 -0700
Subject: [PATCH] mm: fix swap cache node allocation mask
Chris Murphy reports that a slightly overcommitted load, testing swap
and zram along with i915, splats and keeps on splatting, when it had
better fail less noisily:
gnome-shell: page allocation failure: order:0,
mode:0x400d0(__GFP_IO|__GFP_FS|__GFP_COMP|__GFP_RECLAIMABLE),
nodemask=(null),cpuset=/,mems_allowed=0
CPU: 2 PID: 1155 Comm: gnome-shell Not tainted 5.7.0-1.fc33.x86_64 #1
Call Trace:
dump_stack+0x64/0x88
warn_alloc.cold+0x75/0xd9
__alloc_pages_slowpath.constprop.0+0xcfa/0xd30
__alloc_pages_nodemask+0x2df/0x320
alloc_slab_page+0x195/0x310
allocate_slab+0x3c5/0x440
___slab_alloc+0x40c/0x5f0
__slab_alloc+0x1c/0x30
kmem_cache_alloc+0x20e/0x220
xas_nomem+0x28/0x70
add_to_swap_cache+0x321/0x400
__read_swap_cache_async+0x105/0x240
swap_cluster_readahead+0x22c/0x2e0
shmem_swapin+0x8e/0xc0
shmem_swapin_page+0x196/0x740
shmem_getpage_gfp+0x3a2/0xa60
shmem_read_mapping_page_gfp+0x32/0x60
shmem_get_pages+0x155/0x5e0 [i915]
__i915_gem_object_get_pages+0x68/0xa0 [i915]
i915_vma_pin+0x3fe/0x6c0 [i915]
eb_add_vma+0x10b/0x2c0 [i915]
i915_gem_do_execbuffer+0x704/0x3430 [i915]
i915_gem_execbuffer2_ioctl+0x1ea/0x3e0 [i915]
drm_ioctl_kernel+0x86/0xd0 [drm]
drm_ioctl+0x206/0x390 [drm]
ksys_ioctl+0x82/0xc0
__x64_sys_ioctl+0x16/0x20
do_syscall_64+0x5b/0xf0
entry_SYSCALL_64_after_hwframe+0x44/0xa9
Reported on 5.7, but it goes back really to 3.1: when
shmem_read_mapping_page_gfp() was implemented for use by i915, and
allowed for __GFP_NORETRY and __GFP_NOWARN flags in most places, but
missed swapin's "& GFP_KERNEL" mask for page tree node allocation in
__read_swap_cache_async() - that was to mask off HIGHUSER_MOVABLE bits
from what page cache uses, but GFP_RECLAIM_MASK is now what's needed.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=208085
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.2006151330070.11064@eggly.anvils
Fixes: 68da9f055755 ("tmpfs: pass gfp to shmem_getpage_gfp")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Reviewed-by: Vlastimil Babka <vbabka(a)suse.cz>
Reviewed-by: Matthew Wilcox (Oracle) <willy(a)infradead.org>
Reported-by: Chris Murphy <lists(a)colorremedies.com>
Analyzed-by: Vlastimil Babka <vbabka(a)suse.cz>
Analyzed-by: Matthew Wilcox <willy(a)infradead.org>
Tested-by: Chris Murphy <lists(a)colorremedies.com>
Cc: <stable(a)vger.kernel.org> [3.1+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
diff --git a/mm/swap_state.c b/mm/swap_state.c
index e98ff460e9e9..05889e8e3c97 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -21,7 +21,7 @@
#include <linux/vmalloc.h>
#include <linux/swap_slots.h>
#include <linux/huge_mm.h>
-
+#include "internal.h"
/*
* swapper_space is a fiction, retained to simplify the path through
@@ -429,7 +429,7 @@ struct page *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
__SetPageSwapBacked(page);
/* May fail (-ENOMEM) if XArray node allocation failed. */
- if (add_to_swap_cache(page, entry, gfp_mask & GFP_KERNEL)) {
+ if (add_to_swap_cache(page, entry, gfp_mask & GFP_RECLAIM_MASK)) {
put_swap_page(page, entry);
goto fail_unlock;
}
This is a note to let you know that I've just added the patch titled
mei: bus: don't clean driver pointer
to my char-misc git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git
in the char-misc-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From e852c2c251ed9c23ae6e3efebc5ec49adb504207 Mon Sep 17 00:00:00 2001
From: Alexander Usyskin <alexander.usyskin(a)intel.com>
Date: Mon, 29 Jun 2020 01:53:59 +0300
Subject: mei: bus: don't clean driver pointer
It's not needed to set driver to NULL in mei_cl_device_remove()
which is bus_type remove() handler as this is done anyway
in __device_release_driver().
Actually this is causing an endless loop in driver_detach()
on ubuntu patched kernel, while removing (rmmod) the mei_hdcp module.
The reason list_empty(&drv->p->klist_devices.k_list) is always not-empty.
as the check is always true in __device_release_driver()
if (dev->driver != drv)
return;
The non upstream patch is causing this behavior, titled:
'vfio -- release device lock before userspace requests'
Nevertheless the fix is correct also for the upstream.
Link: https://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20180912085046.340…
Cc: <stable(a)vger.kernel.org>
Cc: Andy Whitcroft <apw(a)canonical.com>
Signed-off-by: Alexander Usyskin <alexander.usyskin(a)intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler(a)intel.com>
Link: https://lore.kernel.org/r/20200628225359.2185929-1-tomas.winkler@intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/misc/mei/bus.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c
index 8d468e0a950a..f476dbc7252b 100644
--- a/drivers/misc/mei/bus.c
+++ b/drivers/misc/mei/bus.c
@@ -745,9 +745,8 @@ static int mei_cl_device_remove(struct device *dev)
mei_cl_bus_module_put(cldev);
module_put(THIS_MODULE);
- dev->driver = NULL;
- return ret;
+ return ret;
}
static ssize_t name_show(struct device *dev, struct device_attribute *a,
--
2.27.0
From: Steven Price <steven.price(a)arm.com>
If SVE is enabled then 'ret' can be assigned the return value of
kvm_vcpu_enable_sve() which may be 0 causing future "goto out" sites to
erroneously return 0 on failure rather than -EINVAL as expected.
Remove the initialisation of 'ret' and make setting the return value
explicit to avoid this situation in the future.
Fixes: 9a3cdf26e336 ("KVM: arm64/sve: Allow userspace to enable SVE for vcpus")
Cc: stable(a)vger.kernel.org
Reported-by: James Morse <james.morse(a)arm.com>
Signed-off-by: Steven Price <steven.price(a)arm.com>
Signed-off-by: Marc Zyngier <maz(a)kernel.org>
Link: https://lore.kernel.org/r/20200617105456.28245-1-steven.price@arm.com
---
arch/arm64/kvm/reset.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/kvm/reset.c b/arch/arm64/kvm/reset.c
index d3b209023727..6ed36be51b4b 100644
--- a/arch/arm64/kvm/reset.c
+++ b/arch/arm64/kvm/reset.c
@@ -245,7 +245,7 @@ static int kvm_vcpu_enable_ptrauth(struct kvm_vcpu *vcpu)
*/
int kvm_reset_vcpu(struct kvm_vcpu *vcpu)
{
- int ret = -EINVAL;
+ int ret;
bool loaded;
u32 pstate;
@@ -269,15 +269,19 @@ int kvm_reset_vcpu(struct kvm_vcpu *vcpu)
if (test_bit(KVM_ARM_VCPU_PTRAUTH_ADDRESS, vcpu->arch.features) ||
test_bit(KVM_ARM_VCPU_PTRAUTH_GENERIC, vcpu->arch.features)) {
- if (kvm_vcpu_enable_ptrauth(vcpu))
+ if (kvm_vcpu_enable_ptrauth(vcpu)) {
+ ret = -EINVAL;
goto out;
+ }
}
switch (vcpu->arch.target) {
default:
if (test_bit(KVM_ARM_VCPU_EL1_32BIT, vcpu->arch.features)) {
- if (!cpus_have_const_cap(ARM64_HAS_32BIT_EL1))
+ if (!cpus_have_const_cap(ARM64_HAS_32BIT_EL1)) {
+ ret = -EINVAL;
goto out;
+ }
pstate = VCPU_RESET_PSTATE_SVC;
} else {
pstate = VCPU_RESET_PSTATE_EL1;
--
2.27.0
Hello Greg,
Can you please consider including the following patch in the stable linux-4.14.y and stable linux-5.4.y branch?
This is to fix CVE-2020-12655
d0c7feaf87678371c2c09b3709400be416b2dc62(xfs: add agf freeblocks verify in xfs_agf_verify)
Thanks,
Yishan Chen
Hello
commit[1] introduced regression that will lead blktest nvme/004 failed on v5.7.5, and commits [2] fixed this issue on latest linux tree.
But commit[2] cannot be directly applied to stable tree due to dependceny[3], could you help backport the fix and dependency to stable tree, thanks.
[1]
64f5e9cdd711 nvmet: fix memory leak when removing namespaces and controllers concurrently
[2]
819f7b88b48f nvmet: fail outstanding host posted AEN req
[3]
1cdf9f7670a7 nvmet: cleanups the loop in nvmet_async_events_process
696ece751366 nvmet: add async event tracing support
Best Regards,
Yi Zhang
The patch below does not apply to the 5.7-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 7b2377486767503d47265e4d487a63c651f6b55d Mon Sep 17 00:00:00 2001
From: Hou Tao <houtao1(a)huawei.com>
Date: Mon, 15 Jun 2020 11:33:23 +0800
Subject: [PATCH] dm zoned: assign max_io_len correctly
The unit of max_io_len is sector instead of byte (spotted through
code review), so fix it.
Fixes: 3b1a94c88b79 ("dm zoned: drive-managed zoned block device target")
Cc: stable(a)vger.kernel.org
Signed-off-by: Hou Tao <houtao1(a)huawei.com>
Reviewed-by: Damien Le Moal <damien.lemoal(a)wdc.com>
Signed-off-by: Mike Snitzer <snitzer(a)redhat.com>
diff --git a/drivers/md/dm-zoned-target.c b/drivers/md/dm-zoned-target.c
index a907a9446c0b..cf915009c306 100644
--- a/drivers/md/dm-zoned-target.c
+++ b/drivers/md/dm-zoned-target.c
@@ -890,7 +890,7 @@ static int dmz_ctr(struct dm_target *ti, unsigned int argc, char **argv)
}
/* Set target (no write same support) */
- ti->max_io_len = dmz_zone_nr_sectors(dmz->metadata) << 9;
+ ti->max_io_len = dmz_zone_nr_sectors(dmz->metadata);
ti->num_flush_bios = 1;
ti->num_discard_bios = 1;
ti->num_write_zeroes_bios = 1;
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 7b2377486767503d47265e4d487a63c651f6b55d Mon Sep 17 00:00:00 2001
From: Hou Tao <houtao1(a)huawei.com>
Date: Mon, 15 Jun 2020 11:33:23 +0800
Subject: [PATCH] dm zoned: assign max_io_len correctly
The unit of max_io_len is sector instead of byte (spotted through
code review), so fix it.
Fixes: 3b1a94c88b79 ("dm zoned: drive-managed zoned block device target")
Cc: stable(a)vger.kernel.org
Signed-off-by: Hou Tao <houtao1(a)huawei.com>
Reviewed-by: Damien Le Moal <damien.lemoal(a)wdc.com>
Signed-off-by: Mike Snitzer <snitzer(a)redhat.com>
diff --git a/drivers/md/dm-zoned-target.c b/drivers/md/dm-zoned-target.c
index a907a9446c0b..cf915009c306 100644
--- a/drivers/md/dm-zoned-target.c
+++ b/drivers/md/dm-zoned-target.c
@@ -890,7 +890,7 @@ static int dmz_ctr(struct dm_target *ti, unsigned int argc, char **argv)
}
/* Set target (no write same support) */
- ti->max_io_len = dmz_zone_nr_sectors(dmz->metadata) << 9;
+ ti->max_io_len = dmz_zone_nr_sectors(dmz->metadata);
ti->num_flush_bios = 1;
ti->num_discard_bios = 1;
ti->num_write_zeroes_bios = 1;
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 7b2377486767503d47265e4d487a63c651f6b55d Mon Sep 17 00:00:00 2001
From: Hou Tao <houtao1(a)huawei.com>
Date: Mon, 15 Jun 2020 11:33:23 +0800
Subject: [PATCH] dm zoned: assign max_io_len correctly
The unit of max_io_len is sector instead of byte (spotted through
code review), so fix it.
Fixes: 3b1a94c88b79 ("dm zoned: drive-managed zoned block device target")
Cc: stable(a)vger.kernel.org
Signed-off-by: Hou Tao <houtao1(a)huawei.com>
Reviewed-by: Damien Le Moal <damien.lemoal(a)wdc.com>
Signed-off-by: Mike Snitzer <snitzer(a)redhat.com>
diff --git a/drivers/md/dm-zoned-target.c b/drivers/md/dm-zoned-target.c
index a907a9446c0b..cf915009c306 100644
--- a/drivers/md/dm-zoned-target.c
+++ b/drivers/md/dm-zoned-target.c
@@ -890,7 +890,7 @@ static int dmz_ctr(struct dm_target *ti, unsigned int argc, char **argv)
}
/* Set target (no write same support) */
- ti->max_io_len = dmz_zone_nr_sectors(dmz->metadata) << 9;
+ ti->max_io_len = dmz_zone_nr_sectors(dmz->metadata);
ti->num_flush_bios = 1;
ti->num_discard_bios = 1;
ti->num_write_zeroes_bios = 1;
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ee470bb25d0dcdf126f586ec0ae6dca66cb340a4 Mon Sep 17 00:00:00 2001
From: Borislav Petkov <bp(a)suse.de>
Date: Thu, 18 Jun 2020 20:25:25 +0200
Subject: [PATCH] EDAC/amd64: Read back the scrub rate PCI register on F15h
Commit:
da92110dfdfa ("EDAC, amd64_edac: Extend scrub rate support to F15hM60h")
added support for F15h, model 0x60 CPUs but in doing so, missed to read
back SCRCTRL PCI config register on F15h CPUs which are *not* model
0x60. Add that read so that doing
$ cat /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
can show the previously set DRAM scrub rate.
Fixes: da92110dfdfa ("EDAC, amd64_edac: Extend scrub rate support to F15hM60h")
Reported-by: Anders Andersson <pipatron(a)gmail.com>
Signed-off-by: Borislav Petkov <bp(a)suse.de>
Cc: <stable(a)vger.kernel.org> #v4.4..
Link: https://lkml.kernel.org/r/CAKkunMbNWppx_i6xSdDHLseA2QQmGJqj_crY=NF-GZML5np4…
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index ef90070a9194..6262f6370c5d 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -269,6 +269,8 @@ static int get_scrub_rate(struct mem_ctl_info *mci)
if (pvt->model == 0x60)
amd64_read_pci_cfg(pvt->F2, F15H_M60H_SCRCTRL, &scrubval);
+ else
+ amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
} else {
amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
}
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ee470bb25d0dcdf126f586ec0ae6dca66cb340a4 Mon Sep 17 00:00:00 2001
From: Borislav Petkov <bp(a)suse.de>
Date: Thu, 18 Jun 2020 20:25:25 +0200
Subject: [PATCH] EDAC/amd64: Read back the scrub rate PCI register on F15h
Commit:
da92110dfdfa ("EDAC, amd64_edac: Extend scrub rate support to F15hM60h")
added support for F15h, model 0x60 CPUs but in doing so, missed to read
back SCRCTRL PCI config register on F15h CPUs which are *not* model
0x60. Add that read so that doing
$ cat /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
can show the previously set DRAM scrub rate.
Fixes: da92110dfdfa ("EDAC, amd64_edac: Extend scrub rate support to F15hM60h")
Reported-by: Anders Andersson <pipatron(a)gmail.com>
Signed-off-by: Borislav Petkov <bp(a)suse.de>
Cc: <stable(a)vger.kernel.org> #v4.4..
Link: https://lkml.kernel.org/r/CAKkunMbNWppx_i6xSdDHLseA2QQmGJqj_crY=NF-GZML5np4…
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index ef90070a9194..6262f6370c5d 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -269,6 +269,8 @@ static int get_scrub_rate(struct mem_ctl_info *mci)
if (pvt->model == 0x60)
amd64_read_pci_cfg(pvt->F2, F15H_M60H_SCRCTRL, &scrubval);
+ else
+ amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
} else {
amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
}
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ee470bb25d0dcdf126f586ec0ae6dca66cb340a4 Mon Sep 17 00:00:00 2001
From: Borislav Petkov <bp(a)suse.de>
Date: Thu, 18 Jun 2020 20:25:25 +0200
Subject: [PATCH] EDAC/amd64: Read back the scrub rate PCI register on F15h
Commit:
da92110dfdfa ("EDAC, amd64_edac: Extend scrub rate support to F15hM60h")
added support for F15h, model 0x60 CPUs but in doing so, missed to read
back SCRCTRL PCI config register on F15h CPUs which are *not* model
0x60. Add that read so that doing
$ cat /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
can show the previously set DRAM scrub rate.
Fixes: da92110dfdfa ("EDAC, amd64_edac: Extend scrub rate support to F15hM60h")
Reported-by: Anders Andersson <pipatron(a)gmail.com>
Signed-off-by: Borislav Petkov <bp(a)suse.de>
Cc: <stable(a)vger.kernel.org> #v4.4..
Link: https://lkml.kernel.org/r/CAKkunMbNWppx_i6xSdDHLseA2QQmGJqj_crY=NF-GZML5np4…
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index ef90070a9194..6262f6370c5d 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -269,6 +269,8 @@ static int get_scrub_rate(struct mem_ctl_info *mci)
if (pvt->model == 0x60)
amd64_read_pci_cfg(pvt->F2, F15H_M60H_SCRCTRL, &scrubval);
+ else
+ amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
} else {
amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
}
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ee470bb25d0dcdf126f586ec0ae6dca66cb340a4 Mon Sep 17 00:00:00 2001
From: Borislav Petkov <bp(a)suse.de>
Date: Thu, 18 Jun 2020 20:25:25 +0200
Subject: [PATCH] EDAC/amd64: Read back the scrub rate PCI register on F15h
Commit:
da92110dfdfa ("EDAC, amd64_edac: Extend scrub rate support to F15hM60h")
added support for F15h, model 0x60 CPUs but in doing so, missed to read
back SCRCTRL PCI config register on F15h CPUs which are *not* model
0x60. Add that read so that doing
$ cat /sys/devices/system/edac/mc/mc0/sdram_scrub_rate
can show the previously set DRAM scrub rate.
Fixes: da92110dfdfa ("EDAC, amd64_edac: Extend scrub rate support to F15hM60h")
Reported-by: Anders Andersson <pipatron(a)gmail.com>
Signed-off-by: Borislav Petkov <bp(a)suse.de>
Cc: <stable(a)vger.kernel.org> #v4.4..
Link: https://lkml.kernel.org/r/CAKkunMbNWppx_i6xSdDHLseA2QQmGJqj_crY=NF-GZML5np4…
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c
index ef90070a9194..6262f6370c5d 100644
--- a/drivers/edac/amd64_edac.c
+++ b/drivers/edac/amd64_edac.c
@@ -269,6 +269,8 @@ static int get_scrub_rate(struct mem_ctl_info *mci)
if (pvt->model == 0x60)
amd64_read_pci_cfg(pvt->F2, F15H_M60H_SCRCTRL, &scrubval);
+ else
+ amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
} else {
amd64_read_pci_cfg(pvt->F3, SCRCTRL, &scrubval);
}
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 243bce09c91b0145aeaedd5afba799d81841c030 Mon Sep 17 00:00:00 2001
From: Hugh Dickins <hughd(a)google.com>
Date: Thu, 25 Jun 2020 20:29:59 -0700
Subject: [PATCH] mm: fix swap cache node allocation mask
Chris Murphy reports that a slightly overcommitted load, testing swap
and zram along with i915, splats and keeps on splatting, when it had
better fail less noisily:
gnome-shell: page allocation failure: order:0,
mode:0x400d0(__GFP_IO|__GFP_FS|__GFP_COMP|__GFP_RECLAIMABLE),
nodemask=(null),cpuset=/,mems_allowed=0
CPU: 2 PID: 1155 Comm: gnome-shell Not tainted 5.7.0-1.fc33.x86_64 #1
Call Trace:
dump_stack+0x64/0x88
warn_alloc.cold+0x75/0xd9
__alloc_pages_slowpath.constprop.0+0xcfa/0xd30
__alloc_pages_nodemask+0x2df/0x320
alloc_slab_page+0x195/0x310
allocate_slab+0x3c5/0x440
___slab_alloc+0x40c/0x5f0
__slab_alloc+0x1c/0x30
kmem_cache_alloc+0x20e/0x220
xas_nomem+0x28/0x70
add_to_swap_cache+0x321/0x400
__read_swap_cache_async+0x105/0x240
swap_cluster_readahead+0x22c/0x2e0
shmem_swapin+0x8e/0xc0
shmem_swapin_page+0x196/0x740
shmem_getpage_gfp+0x3a2/0xa60
shmem_read_mapping_page_gfp+0x32/0x60
shmem_get_pages+0x155/0x5e0 [i915]
__i915_gem_object_get_pages+0x68/0xa0 [i915]
i915_vma_pin+0x3fe/0x6c0 [i915]
eb_add_vma+0x10b/0x2c0 [i915]
i915_gem_do_execbuffer+0x704/0x3430 [i915]
i915_gem_execbuffer2_ioctl+0x1ea/0x3e0 [i915]
drm_ioctl_kernel+0x86/0xd0 [drm]
drm_ioctl+0x206/0x390 [drm]
ksys_ioctl+0x82/0xc0
__x64_sys_ioctl+0x16/0x20
do_syscall_64+0x5b/0xf0
entry_SYSCALL_64_after_hwframe+0x44/0xa9
Reported on 5.7, but it goes back really to 3.1: when
shmem_read_mapping_page_gfp() was implemented for use by i915, and
allowed for __GFP_NORETRY and __GFP_NOWARN flags in most places, but
missed swapin's "& GFP_KERNEL" mask for page tree node allocation in
__read_swap_cache_async() - that was to mask off HIGHUSER_MOVABLE bits
from what page cache uses, but GFP_RECLAIM_MASK is now what's needed.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=208085
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.2006151330070.11064@eggly.anvils
Fixes: 68da9f055755 ("tmpfs: pass gfp to shmem_getpage_gfp")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Reviewed-by: Vlastimil Babka <vbabka(a)suse.cz>
Reviewed-by: Matthew Wilcox (Oracle) <willy(a)infradead.org>
Reported-by: Chris Murphy <lists(a)colorremedies.com>
Analyzed-by: Vlastimil Babka <vbabka(a)suse.cz>
Analyzed-by: Matthew Wilcox <willy(a)infradead.org>
Tested-by: Chris Murphy <lists(a)colorremedies.com>
Cc: <stable(a)vger.kernel.org> [3.1+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
diff --git a/mm/swap_state.c b/mm/swap_state.c
index e98ff460e9e9..05889e8e3c97 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -21,7 +21,7 @@
#include <linux/vmalloc.h>
#include <linux/swap_slots.h>
#include <linux/huge_mm.h>
-
+#include "internal.h"
/*
* swapper_space is a fiction, retained to simplify the path through
@@ -429,7 +429,7 @@ struct page *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
__SetPageSwapBacked(page);
/* May fail (-ENOMEM) if XArray node allocation failed. */
- if (add_to_swap_cache(page, entry, gfp_mask & GFP_KERNEL)) {
+ if (add_to_swap_cache(page, entry, gfp_mask & GFP_RECLAIM_MASK)) {
put_swap_page(page, entry);
goto fail_unlock;
}
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 243bce09c91b0145aeaedd5afba799d81841c030 Mon Sep 17 00:00:00 2001
From: Hugh Dickins <hughd(a)google.com>
Date: Thu, 25 Jun 2020 20:29:59 -0700
Subject: [PATCH] mm: fix swap cache node allocation mask
Chris Murphy reports that a slightly overcommitted load, testing swap
and zram along with i915, splats and keeps on splatting, when it had
better fail less noisily:
gnome-shell: page allocation failure: order:0,
mode:0x400d0(__GFP_IO|__GFP_FS|__GFP_COMP|__GFP_RECLAIMABLE),
nodemask=(null),cpuset=/,mems_allowed=0
CPU: 2 PID: 1155 Comm: gnome-shell Not tainted 5.7.0-1.fc33.x86_64 #1
Call Trace:
dump_stack+0x64/0x88
warn_alloc.cold+0x75/0xd9
__alloc_pages_slowpath.constprop.0+0xcfa/0xd30
__alloc_pages_nodemask+0x2df/0x320
alloc_slab_page+0x195/0x310
allocate_slab+0x3c5/0x440
___slab_alloc+0x40c/0x5f0
__slab_alloc+0x1c/0x30
kmem_cache_alloc+0x20e/0x220
xas_nomem+0x28/0x70
add_to_swap_cache+0x321/0x400
__read_swap_cache_async+0x105/0x240
swap_cluster_readahead+0x22c/0x2e0
shmem_swapin+0x8e/0xc0
shmem_swapin_page+0x196/0x740
shmem_getpage_gfp+0x3a2/0xa60
shmem_read_mapping_page_gfp+0x32/0x60
shmem_get_pages+0x155/0x5e0 [i915]
__i915_gem_object_get_pages+0x68/0xa0 [i915]
i915_vma_pin+0x3fe/0x6c0 [i915]
eb_add_vma+0x10b/0x2c0 [i915]
i915_gem_do_execbuffer+0x704/0x3430 [i915]
i915_gem_execbuffer2_ioctl+0x1ea/0x3e0 [i915]
drm_ioctl_kernel+0x86/0xd0 [drm]
drm_ioctl+0x206/0x390 [drm]
ksys_ioctl+0x82/0xc0
__x64_sys_ioctl+0x16/0x20
do_syscall_64+0x5b/0xf0
entry_SYSCALL_64_after_hwframe+0x44/0xa9
Reported on 5.7, but it goes back really to 3.1: when
shmem_read_mapping_page_gfp() was implemented for use by i915, and
allowed for __GFP_NORETRY and __GFP_NOWARN flags in most places, but
missed swapin's "& GFP_KERNEL" mask for page tree node allocation in
__read_swap_cache_async() - that was to mask off HIGHUSER_MOVABLE bits
from what page cache uses, but GFP_RECLAIM_MASK is now what's needed.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=208085
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.2006151330070.11064@eggly.anvils
Fixes: 68da9f055755 ("tmpfs: pass gfp to shmem_getpage_gfp")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Reviewed-by: Vlastimil Babka <vbabka(a)suse.cz>
Reviewed-by: Matthew Wilcox (Oracle) <willy(a)infradead.org>
Reported-by: Chris Murphy <lists(a)colorremedies.com>
Analyzed-by: Vlastimil Babka <vbabka(a)suse.cz>
Analyzed-by: Matthew Wilcox <willy(a)infradead.org>
Tested-by: Chris Murphy <lists(a)colorremedies.com>
Cc: <stable(a)vger.kernel.org> [3.1+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
diff --git a/mm/swap_state.c b/mm/swap_state.c
index e98ff460e9e9..05889e8e3c97 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -21,7 +21,7 @@
#include <linux/vmalloc.h>
#include <linux/swap_slots.h>
#include <linux/huge_mm.h>
-
+#include "internal.h"
/*
* swapper_space is a fiction, retained to simplify the path through
@@ -429,7 +429,7 @@ struct page *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
__SetPageSwapBacked(page);
/* May fail (-ENOMEM) if XArray node allocation failed. */
- if (add_to_swap_cache(page, entry, gfp_mask & GFP_KERNEL)) {
+ if (add_to_swap_cache(page, entry, gfp_mask & GFP_RECLAIM_MASK)) {
put_swap_page(page, entry);
goto fail_unlock;
}
The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 243bce09c91b0145aeaedd5afba799d81841c030 Mon Sep 17 00:00:00 2001
From: Hugh Dickins <hughd(a)google.com>
Date: Thu, 25 Jun 2020 20:29:59 -0700
Subject: [PATCH] mm: fix swap cache node allocation mask
Chris Murphy reports that a slightly overcommitted load, testing swap
and zram along with i915, splats and keeps on splatting, when it had
better fail less noisily:
gnome-shell: page allocation failure: order:0,
mode:0x400d0(__GFP_IO|__GFP_FS|__GFP_COMP|__GFP_RECLAIMABLE),
nodemask=(null),cpuset=/,mems_allowed=0
CPU: 2 PID: 1155 Comm: gnome-shell Not tainted 5.7.0-1.fc33.x86_64 #1
Call Trace:
dump_stack+0x64/0x88
warn_alloc.cold+0x75/0xd9
__alloc_pages_slowpath.constprop.0+0xcfa/0xd30
__alloc_pages_nodemask+0x2df/0x320
alloc_slab_page+0x195/0x310
allocate_slab+0x3c5/0x440
___slab_alloc+0x40c/0x5f0
__slab_alloc+0x1c/0x30
kmem_cache_alloc+0x20e/0x220
xas_nomem+0x28/0x70
add_to_swap_cache+0x321/0x400
__read_swap_cache_async+0x105/0x240
swap_cluster_readahead+0x22c/0x2e0
shmem_swapin+0x8e/0xc0
shmem_swapin_page+0x196/0x740
shmem_getpage_gfp+0x3a2/0xa60
shmem_read_mapping_page_gfp+0x32/0x60
shmem_get_pages+0x155/0x5e0 [i915]
__i915_gem_object_get_pages+0x68/0xa0 [i915]
i915_vma_pin+0x3fe/0x6c0 [i915]
eb_add_vma+0x10b/0x2c0 [i915]
i915_gem_do_execbuffer+0x704/0x3430 [i915]
i915_gem_execbuffer2_ioctl+0x1ea/0x3e0 [i915]
drm_ioctl_kernel+0x86/0xd0 [drm]
drm_ioctl+0x206/0x390 [drm]
ksys_ioctl+0x82/0xc0
__x64_sys_ioctl+0x16/0x20
do_syscall_64+0x5b/0xf0
entry_SYSCALL_64_after_hwframe+0x44/0xa9
Reported on 5.7, but it goes back really to 3.1: when
shmem_read_mapping_page_gfp() was implemented for use by i915, and
allowed for __GFP_NORETRY and __GFP_NOWARN flags in most places, but
missed swapin's "& GFP_KERNEL" mask for page tree node allocation in
__read_swap_cache_async() - that was to mask off HIGHUSER_MOVABLE bits
from what page cache uses, but GFP_RECLAIM_MASK is now what's needed.
Link: https://bugzilla.kernel.org/show_bug.cgi?id=208085
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.2006151330070.11064@eggly.anvils
Fixes: 68da9f055755 ("tmpfs: pass gfp to shmem_getpage_gfp")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Reviewed-by: Vlastimil Babka <vbabka(a)suse.cz>
Reviewed-by: Matthew Wilcox (Oracle) <willy(a)infradead.org>
Reported-by: Chris Murphy <lists(a)colorremedies.com>
Analyzed-by: Vlastimil Babka <vbabka(a)suse.cz>
Analyzed-by: Matthew Wilcox <willy(a)infradead.org>
Tested-by: Chris Murphy <lists(a)colorremedies.com>
Cc: <stable(a)vger.kernel.org> [3.1+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
diff --git a/mm/swap_state.c b/mm/swap_state.c
index e98ff460e9e9..05889e8e3c97 100644
--- a/mm/swap_state.c
+++ b/mm/swap_state.c
@@ -21,7 +21,7 @@
#include <linux/vmalloc.h>
#include <linux/swap_slots.h>
#include <linux/huge_mm.h>
-
+#include "internal.h"
/*
* swapper_space is a fiction, retained to simplify the path through
@@ -429,7 +429,7 @@ struct page *__read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask,
__SetPageSwapBacked(page);
/* May fail (-ENOMEM) if XArray node allocation failed. */
- if (add_to_swap_cache(page, entry, gfp_mask & GFP_KERNEL)) {
+ if (add_to_swap_cache(page, entry, gfp_mask & GFP_RECLAIM_MASK)) {
put_swap_page(page, entry);
goto fail_unlock;
}
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 260a63395f90f67d6ab89e4266af9e3dc34a77e9 Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 15 Jun 2020 18:49:13 +0100
Subject: [PATCH] btrfs: fix RWF_NOWAIT write not failling when we need to cow
If we attempt to do a RWF_NOWAIT write against a file range for which we
can only do NOCOW for a part of it, due to the existence of holes or
shared extents for example, we proceed with the write as if it were
possible to NOCOW the whole range.
Example:
$ mkfs.btrfs -f /dev/sdb
$ mount /dev/sdb /mnt
$ touch /mnt/sdj/bar
$ chattr +C /mnt/sdj/bar
$ xfs_io -d -c "pwrite -S 0xab -b 256K 0 256K" /mnt/bar
wrote 262144/262144 bytes at offset 0
256 KiB, 1 ops; 0.0003 sec (694.444 MiB/sec and 2777.7778 ops/sec)
$ xfs_io -c "fpunch 64K 64K" /mnt/bar
$ sync
$ xfs_io -d -c "pwrite -N -V 1 -b 128K -S 0xfe 0 128K" /mnt/bar
wrote 131072/131072 bytes at offset 0
128 KiB, 1 ops; 0.0007 sec (160.051 MiB/sec and 1280.4097 ops/sec)
This last write should fail with -EAGAIN since the file range from 64K to
128K is a hole. On xfs it fails, as expected, but on ext4 it currently
succeeds because apparently it is expensive to check if there are extents
allocated for the whole range, but I'll check with the ext4 people.
Fix the issue by checking if check_can_nocow() returns a number of
NOCOW'able bytes smaller then the requested number of bytes, and if it
does return -EAGAIN.
Fixes: edf064e7c6fec3 ("btrfs: nowait aio support")
CC: stable(a)vger.kernel.org # 4.14+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 04faa04fccd1..6d5d905281c6 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1904,18 +1904,29 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb,
pos = iocb->ki_pos;
count = iov_iter_count(from);
if (iocb->ki_flags & IOCB_NOWAIT) {
+ size_t nocow_bytes = count;
+
/*
* We will allocate space in case nodatacow is not set,
* so bail
*/
if (!(BTRFS_I(inode)->flags & (BTRFS_INODE_NODATACOW |
BTRFS_INODE_PREALLOC)) ||
- check_can_nocow(BTRFS_I(inode), pos, &count) <= 0) {
+ check_can_nocow(BTRFS_I(inode), pos, &nocow_bytes) <= 0) {
inode_unlock(inode);
return -EAGAIN;
}
/* check_can_nocow() locks the snapshot lock on success */
btrfs_drew_write_unlock(&root->snapshot_lock);
+ /*
+ * There are holes in the range or parts of the range that must
+ * be COWed (shared extents, RO block groups, etc), so just bail
+ * out.
+ */
+ if (nocow_bytes < count) {
+ inode_unlock(inode);
+ return -EAGAIN;
+ }
}
current->backing_dev_info = inode_to_bdi(inode);
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 260a63395f90f67d6ab89e4266af9e3dc34a77e9 Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 15 Jun 2020 18:49:13 +0100
Subject: [PATCH] btrfs: fix RWF_NOWAIT write not failling when we need to cow
If we attempt to do a RWF_NOWAIT write against a file range for which we
can only do NOCOW for a part of it, due to the existence of holes or
shared extents for example, we proceed with the write as if it were
possible to NOCOW the whole range.
Example:
$ mkfs.btrfs -f /dev/sdb
$ mount /dev/sdb /mnt
$ touch /mnt/sdj/bar
$ chattr +C /mnt/sdj/bar
$ xfs_io -d -c "pwrite -S 0xab -b 256K 0 256K" /mnt/bar
wrote 262144/262144 bytes at offset 0
256 KiB, 1 ops; 0.0003 sec (694.444 MiB/sec and 2777.7778 ops/sec)
$ xfs_io -c "fpunch 64K 64K" /mnt/bar
$ sync
$ xfs_io -d -c "pwrite -N -V 1 -b 128K -S 0xfe 0 128K" /mnt/bar
wrote 131072/131072 bytes at offset 0
128 KiB, 1 ops; 0.0007 sec (160.051 MiB/sec and 1280.4097 ops/sec)
This last write should fail with -EAGAIN since the file range from 64K to
128K is a hole. On xfs it fails, as expected, but on ext4 it currently
succeeds because apparently it is expensive to check if there are extents
allocated for the whole range, but I'll check with the ext4 people.
Fix the issue by checking if check_can_nocow() returns a number of
NOCOW'able bytes smaller then the requested number of bytes, and if it
does return -EAGAIN.
Fixes: edf064e7c6fec3 ("btrfs: nowait aio support")
CC: stable(a)vger.kernel.org # 4.14+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 04faa04fccd1..6d5d905281c6 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1904,18 +1904,29 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb,
pos = iocb->ki_pos;
count = iov_iter_count(from);
if (iocb->ki_flags & IOCB_NOWAIT) {
+ size_t nocow_bytes = count;
+
/*
* We will allocate space in case nodatacow is not set,
* so bail
*/
if (!(BTRFS_I(inode)->flags & (BTRFS_INODE_NODATACOW |
BTRFS_INODE_PREALLOC)) ||
- check_can_nocow(BTRFS_I(inode), pos, &count) <= 0) {
+ check_can_nocow(BTRFS_I(inode), pos, &nocow_bytes) <= 0) {
inode_unlock(inode);
return -EAGAIN;
}
/* check_can_nocow() locks the snapshot lock on success */
btrfs_drew_write_unlock(&root->snapshot_lock);
+ /*
+ * There are holes in the range or parts of the range that must
+ * be COWed (shared extents, RO block groups, etc), so just bail
+ * out.
+ */
+ if (nocow_bytes < count) {
+ inode_unlock(inode);
+ return -EAGAIN;
+ }
}
current->backing_dev_info = inode_to_bdi(inode);
The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 260a63395f90f67d6ab89e4266af9e3dc34a77e9 Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 15 Jun 2020 18:49:13 +0100
Subject: [PATCH] btrfs: fix RWF_NOWAIT write not failling when we need to cow
If we attempt to do a RWF_NOWAIT write against a file range for which we
can only do NOCOW for a part of it, due to the existence of holes or
shared extents for example, we proceed with the write as if it were
possible to NOCOW the whole range.
Example:
$ mkfs.btrfs -f /dev/sdb
$ mount /dev/sdb /mnt
$ touch /mnt/sdj/bar
$ chattr +C /mnt/sdj/bar
$ xfs_io -d -c "pwrite -S 0xab -b 256K 0 256K" /mnt/bar
wrote 262144/262144 bytes at offset 0
256 KiB, 1 ops; 0.0003 sec (694.444 MiB/sec and 2777.7778 ops/sec)
$ xfs_io -c "fpunch 64K 64K" /mnt/bar
$ sync
$ xfs_io -d -c "pwrite -N -V 1 -b 128K -S 0xfe 0 128K" /mnt/bar
wrote 131072/131072 bytes at offset 0
128 KiB, 1 ops; 0.0007 sec (160.051 MiB/sec and 1280.4097 ops/sec)
This last write should fail with -EAGAIN since the file range from 64K to
128K is a hole. On xfs it fails, as expected, but on ext4 it currently
succeeds because apparently it is expensive to check if there are extents
allocated for the whole range, but I'll check with the ext4 people.
Fix the issue by checking if check_can_nocow() returns a number of
NOCOW'able bytes smaller then the requested number of bytes, and if it
does return -EAGAIN.
Fixes: edf064e7c6fec3 ("btrfs: nowait aio support")
CC: stable(a)vger.kernel.org # 4.14+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 04faa04fccd1..6d5d905281c6 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1904,18 +1904,29 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb,
pos = iocb->ki_pos;
count = iov_iter_count(from);
if (iocb->ki_flags & IOCB_NOWAIT) {
+ size_t nocow_bytes = count;
+
/*
* We will allocate space in case nodatacow is not set,
* so bail
*/
if (!(BTRFS_I(inode)->flags & (BTRFS_INODE_NODATACOW |
BTRFS_INODE_PREALLOC)) ||
- check_can_nocow(BTRFS_I(inode), pos, &count) <= 0) {
+ check_can_nocow(BTRFS_I(inode), pos, &nocow_bytes) <= 0) {
inode_unlock(inode);
return -EAGAIN;
}
/* check_can_nocow() locks the snapshot lock on success */
btrfs_drew_write_unlock(&root->snapshot_lock);
+ /*
+ * There are holes in the range or parts of the range that must
+ * be COWed (shared extents, RO block groups, etc), so just bail
+ * out.
+ */
+ if (nocow_bytes < count) {
+ inode_unlock(inode);
+ return -EAGAIN;
+ }
}
current->backing_dev_info = inode_to_bdi(inode);
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From f2cb2f39ccc30fa13d3ac078d461031a63960e5b Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 15 Jun 2020 18:46:01 +0100
Subject: [PATCH] btrfs: fix hang on snapshot creation after RWF_NOWAIT write
If we do a successful RWF_NOWAIT write we end up locking the snapshot lock
of the inode, through a call to check_can_nocow(), but we never unlock it.
This means the next attempt to create a snapshot on the subvolume will
hang forever.
Trivial reproducer:
$ mkfs.btrfs -f /dev/sdb
$ mount /dev/sdb /mnt
$ touch /mnt/foobar
$ chattr +C /mnt/foobar
$ xfs_io -d -c "pwrite -S 0xab 0 64K" /mnt/foobar
$ xfs_io -d -c "pwrite -N -V 1 -S 0xfe 0 64K" /mnt/foobar
$ btrfs subvolume snapshot -r /mnt /mnt/snap
--> hangs
Fix this by unlocking the snapshot lock if check_can_nocow() returned
success.
Fixes: edf064e7c6fec3 ("btrfs: nowait aio support")
CC: stable(a)vger.kernel.org # 4.14+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 2c14312b05e8..04faa04fccd1 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1914,6 +1914,8 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb,
inode_unlock(inode);
return -EAGAIN;
}
+ /* check_can_nocow() locks the snapshot lock on success */
+ btrfs_drew_write_unlock(&root->snapshot_lock);
}
current->backing_dev_info = inode_to_bdi(inode);
The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From f2cb2f39ccc30fa13d3ac078d461031a63960e5b Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 15 Jun 2020 18:46:01 +0100
Subject: [PATCH] btrfs: fix hang on snapshot creation after RWF_NOWAIT write
If we do a successful RWF_NOWAIT write we end up locking the snapshot lock
of the inode, through a call to check_can_nocow(), but we never unlock it.
This means the next attempt to create a snapshot on the subvolume will
hang forever.
Trivial reproducer:
$ mkfs.btrfs -f /dev/sdb
$ mount /dev/sdb /mnt
$ touch /mnt/foobar
$ chattr +C /mnt/foobar
$ xfs_io -d -c "pwrite -S 0xab 0 64K" /mnt/foobar
$ xfs_io -d -c "pwrite -N -V 1 -S 0xfe 0 64K" /mnt/foobar
$ btrfs subvolume snapshot -r /mnt /mnt/snap
--> hangs
Fix this by unlocking the snapshot lock if check_can_nocow() returned
success.
Fixes: edf064e7c6fec3 ("btrfs: nowait aio support")
CC: stable(a)vger.kernel.org # 4.14+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 2c14312b05e8..04faa04fccd1 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1914,6 +1914,8 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb,
inode_unlock(inode);
return -EAGAIN;
}
+ /* check_can_nocow() locks the snapshot lock on success */
+ btrfs_drew_write_unlock(&root->snapshot_lock);
}
current->backing_dev_info = inode_to_bdi(inode);
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From f2cb2f39ccc30fa13d3ac078d461031a63960e5b Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 15 Jun 2020 18:46:01 +0100
Subject: [PATCH] btrfs: fix hang on snapshot creation after RWF_NOWAIT write
If we do a successful RWF_NOWAIT write we end up locking the snapshot lock
of the inode, through a call to check_can_nocow(), but we never unlock it.
This means the next attempt to create a snapshot on the subvolume will
hang forever.
Trivial reproducer:
$ mkfs.btrfs -f /dev/sdb
$ mount /dev/sdb /mnt
$ touch /mnt/foobar
$ chattr +C /mnt/foobar
$ xfs_io -d -c "pwrite -S 0xab 0 64K" /mnt/foobar
$ xfs_io -d -c "pwrite -N -V 1 -S 0xfe 0 64K" /mnt/foobar
$ btrfs subvolume snapshot -r /mnt /mnt/snap
--> hangs
Fix this by unlocking the snapshot lock if check_can_nocow() returned
success.
Fixes: edf064e7c6fec3 ("btrfs: nowait aio support")
CC: stable(a)vger.kernel.org # 4.14+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index 2c14312b05e8..04faa04fccd1 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -1914,6 +1914,8 @@ static ssize_t btrfs_file_write_iter(struct kiocb *iocb,
inode_unlock(inode);
return -EAGAIN;
}
+ /* check_can_nocow() locks the snapshot lock on success */
+ btrfs_drew_write_unlock(&root->snapshot_lock);
}
current->backing_dev_info = inode_to_bdi(inode);
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 432cd2a10f1c10cead91fe706ff5dc52f06d642a Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 8 Jun 2020 13:32:55 +0100
Subject: [PATCH] btrfs: fix data block group relocation failure due to
concurrent scrub
When running relocation of a data block group while scrub is running in
parallel, it is possible that the relocation will fail and abort the
current transaction with an -EINVAL error:
[134243.988595] BTRFS info (device sdc): found 14 extents, stage: move data extents
[134243.999871] ------------[ cut here ]------------
[134244.000741] BTRFS: Transaction aborted (error -22)
[134244.001692] WARNING: CPU: 0 PID: 26954 at fs/btrfs/ctree.c:1071 __btrfs_cow_block+0x6a7/0x790 [btrfs]
[134244.003380] Modules linked in: btrfs blake2b_generic xor raid6_pq (...)
[134244.012577] CPU: 0 PID: 26954 Comm: btrfs Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
[134244.014162] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
[134244.016184] RIP: 0010:__btrfs_cow_block+0x6a7/0x790 [btrfs]
[134244.017151] Code: 48 c7 c7 (...)
[134244.020549] RSP: 0018:ffffa41607863888 EFLAGS: 00010286
[134244.021515] RAX: 0000000000000000 RBX: ffff9614bdfe09c8 RCX: 0000000000000000
[134244.022822] RDX: 0000000000000001 RSI: ffffffffb3d63980 RDI: 0000000000000001
[134244.024124] RBP: ffff961589e8c000 R08: 0000000000000000 R09: 0000000000000001
[134244.025424] R10: ffffffffc0ae5955 R11: 0000000000000000 R12: ffff9614bd530d08
[134244.026725] R13: ffff9614ced41b88 R14: ffff9614bdfe2a48 R15: 0000000000000000
[134244.028024] FS: 00007f29b63c08c0(0000) GS:ffff9615ba600000(0000) knlGS:0000000000000000
[134244.029491] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[134244.030560] CR2: 00007f4eb339b000 CR3: 0000000130d6e006 CR4: 00000000003606f0
[134244.031997] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[134244.033153] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[134244.034484] Call Trace:
[134244.034984] btrfs_cow_block+0x12b/0x2b0 [btrfs]
[134244.035859] do_relocation+0x30b/0x790 [btrfs]
[134244.036681] ? do_raw_spin_unlock+0x49/0xc0
[134244.037460] ? _raw_spin_unlock+0x29/0x40
[134244.038235] relocate_tree_blocks+0x37b/0x730 [btrfs]
[134244.039245] relocate_block_group+0x388/0x770 [btrfs]
[134244.040228] btrfs_relocate_block_group+0x161/0x2e0 [btrfs]
[134244.041323] btrfs_relocate_chunk+0x36/0x110 [btrfs]
[134244.041345] btrfs_balance+0xc06/0x1860 [btrfs]
[134244.043382] ? btrfs_ioctl_balance+0x27c/0x310 [btrfs]
[134244.045586] btrfs_ioctl_balance+0x1ed/0x310 [btrfs]
[134244.045611] btrfs_ioctl+0x1880/0x3760 [btrfs]
[134244.049043] ? do_raw_spin_unlock+0x49/0xc0
[134244.049838] ? _raw_spin_unlock+0x29/0x40
[134244.050587] ? __handle_mm_fault+0x11b3/0x14b0
[134244.051417] ? ksys_ioctl+0x92/0xb0
[134244.052070] ksys_ioctl+0x92/0xb0
[134244.052701] ? trace_hardirqs_off_thunk+0x1a/0x1c
[134244.053511] __x64_sys_ioctl+0x16/0x20
[134244.054206] do_syscall_64+0x5c/0x280
[134244.054891] entry_SYSCALL_64_after_hwframe+0x49/0xbe
[134244.055819] RIP: 0033:0x7f29b51c9dd7
[134244.056491] Code: 00 00 00 (...)
[134244.059767] RSP: 002b:00007ffcccc1dd08 EFLAGS: 00000202 ORIG_RAX: 0000000000000010
[134244.061168] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f29b51c9dd7
[134244.062474] RDX: 00007ffcccc1dda0 RSI: 00000000c4009420 RDI: 0000000000000003
[134244.063771] RBP: 0000000000000003 R08: 00005565cea4b000 R09: 0000000000000000
[134244.065032] R10: 0000000000000541 R11: 0000000000000202 R12: 00007ffcccc2060a
[134244.066327] R13: 00007ffcccc1dda0 R14: 0000000000000002 R15: 00007ffcccc1dec0
[134244.067626] irq event stamp: 0
[134244.068202] hardirqs last enabled at (0): [<0000000000000000>] 0x0
[134244.069351] hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134244.070909] softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134244.072392] softirqs last disabled at (0): [<0000000000000000>] 0x0
[134244.073432] ---[ end trace bd7c03622e0b0a99 ]---
The -EINVAL error comes from the following chain of function calls:
__btrfs_cow_block() <-- aborts the transaction
btrfs_reloc_cow_block()
replace_file_extents()
get_new_location() <-- returns -EINVAL
When relocating a data block group, for each allocated extent of the block
group, we preallocate another extent (at prealloc_file_extent_cluster()),
associated with the data relocation inode, and then dirty all its pages.
These preallocated extents have, and must have, the same size that extents
from the data block group being relocated have.
Later before we start the relocation stage that updates pointers (bytenr
field of file extent items) to point to the the new extents, we trigger
writeback for the data relocation inode. The expectation is that writeback
will write the pages to the previously preallocated extents, that it
follows the NOCOW path. That is generally the case, however, if a scrub
is running it may have turned the block group that contains those extents
into RO mode, in which case writeback falls back to the COW path.
However in the COW path instead of allocating exactly one extent with the
expected size, the allocator may end up allocating several smaller extents
due to free space fragmentation - because we tell it at cow_file_range()
that the minimum allocation size can match the filesystem's sector size.
This later breaks the relocation's expectation that an extent associated
to a file extent item in the data relocation inode has the same size as
the respective extent pointed by a file extent item in another tree - in
this case the extent to which the relocation inode poins to is smaller,
causing relocation.c:get_new_location() to return -EINVAL.
For example, if we are relocating a data block group X that has a logical
address of X and the block group has an extent allocated at the logical
address X + 128KiB with a size of 64KiB:
1) At prealloc_file_extent_cluster() we allocate an extent for the data
relocation inode with a size of 64KiB and associate it to the file
offset 128KiB (X + 128KiB - X) of the data relocation inode. This
preallocated extent was allocated at block group Z;
2) A scrub running in parallel turns block group Z into RO mode and
starts scrubing its extents;
3) Relocation triggers writeback for the data relocation inode;
4) When running delalloc (btrfs_run_delalloc_range()), we try first the
NOCOW path because the data relocation inode has BTRFS_INODE_PREALLOC
set in its flags. However, because block group Z is in RO mode, the
NOCOW path (run_delalloc_nocow()) falls back into the COW path, by
calling cow_file_range();
5) At cow_file_range(), in the first iteration of the while loop we call
btrfs_reserve_extent() to allocate a 64KiB extent and pass it a minimum
allocation size of 4KiB (fs_info->sectorsize). Due to free space
fragmentation, btrfs_reserve_extent() ends up allocating two extents
of 32KiB each, each one on a different iteration of that while loop;
6) Writeback of the data relocation inode completes;
7) Relocation proceeds and ends up at relocation.c:replace_file_extents(),
with a leaf which has a file extent item that points to the data extent
from block group X, that has a logical address (bytenr) of X + 128KiB
and a size of 64KiB. Then it calls get_new_location(), which does a
lookup in the data relocation tree for a file extent item starting at
offset 128KiB (X + 128KiB - X) and belonging to the data relocation
inode. It finds a corresponding file extent item, however that item
points to an extent that has a size of 32KiB, which doesn't match the
expected size of 64KiB, resuling in -EINVAL being returned from this
function and propagated up to __btrfs_cow_block(), which aborts the
current transaction.
To fix this make sure that at cow_file_range() when we call the allocator
we pass it a minimum allocation size corresponding the desired extent size
if the inode belongs to the data relocation tree, otherwise pass it the
filesystem's sector size as the minimum allocation size.
CC: stable(a)vger.kernel.org # 4.4+
Reviewed-by: Josef Bacik <josef(a)toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 12b5d61f23bb..62c3f4972ff6 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -985,6 +985,7 @@ static noinline int cow_file_range(struct inode *inode,
u64 num_bytes;
unsigned long ram_size;
u64 cur_alloc_size = 0;
+ u64 min_alloc_size;
u64 blocksize = fs_info->sectorsize;
struct btrfs_key ins;
struct extent_map *em;
@@ -1035,10 +1036,26 @@ static noinline int cow_file_range(struct inode *inode,
btrfs_drop_extent_cache(BTRFS_I(inode), start,
start + num_bytes - 1, 0);
+ /*
+ * Relocation relies on the relocated extents to have exactly the same
+ * size as the original extents. Normally writeback for relocation data
+ * extents follows a NOCOW path because relocation preallocates the
+ * extents. However, due to an operation such as scrub turning a block
+ * group to RO mode, it may fallback to COW mode, so we must make sure
+ * an extent allocated during COW has exactly the requested size and can
+ * not be split into smaller extents, otherwise relocation breaks and
+ * fails during the stage where it updates the bytenr of file extent
+ * items.
+ */
+ if (root->root_key.objectid == BTRFS_DATA_RELOC_TREE_OBJECTID)
+ min_alloc_size = num_bytes;
+ else
+ min_alloc_size = fs_info->sectorsize;
+
while (num_bytes > 0) {
cur_alloc_size = num_bytes;
ret = btrfs_reserve_extent(root, cur_alloc_size, cur_alloc_size,
- fs_info->sectorsize, 0, alloc_hint,
+ min_alloc_size, 0, alloc_hint,
&ins, 1, 1);
if (ret < 0)
goto out_unlock;
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 432cd2a10f1c10cead91fe706ff5dc52f06d642a Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 8 Jun 2020 13:32:55 +0100
Subject: [PATCH] btrfs: fix data block group relocation failure due to
concurrent scrub
When running relocation of a data block group while scrub is running in
parallel, it is possible that the relocation will fail and abort the
current transaction with an -EINVAL error:
[134243.988595] BTRFS info (device sdc): found 14 extents, stage: move data extents
[134243.999871] ------------[ cut here ]------------
[134244.000741] BTRFS: Transaction aborted (error -22)
[134244.001692] WARNING: CPU: 0 PID: 26954 at fs/btrfs/ctree.c:1071 __btrfs_cow_block+0x6a7/0x790 [btrfs]
[134244.003380] Modules linked in: btrfs blake2b_generic xor raid6_pq (...)
[134244.012577] CPU: 0 PID: 26954 Comm: btrfs Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
[134244.014162] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
[134244.016184] RIP: 0010:__btrfs_cow_block+0x6a7/0x790 [btrfs]
[134244.017151] Code: 48 c7 c7 (...)
[134244.020549] RSP: 0018:ffffa41607863888 EFLAGS: 00010286
[134244.021515] RAX: 0000000000000000 RBX: ffff9614bdfe09c8 RCX: 0000000000000000
[134244.022822] RDX: 0000000000000001 RSI: ffffffffb3d63980 RDI: 0000000000000001
[134244.024124] RBP: ffff961589e8c000 R08: 0000000000000000 R09: 0000000000000001
[134244.025424] R10: ffffffffc0ae5955 R11: 0000000000000000 R12: ffff9614bd530d08
[134244.026725] R13: ffff9614ced41b88 R14: ffff9614bdfe2a48 R15: 0000000000000000
[134244.028024] FS: 00007f29b63c08c0(0000) GS:ffff9615ba600000(0000) knlGS:0000000000000000
[134244.029491] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[134244.030560] CR2: 00007f4eb339b000 CR3: 0000000130d6e006 CR4: 00000000003606f0
[134244.031997] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[134244.033153] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[134244.034484] Call Trace:
[134244.034984] btrfs_cow_block+0x12b/0x2b0 [btrfs]
[134244.035859] do_relocation+0x30b/0x790 [btrfs]
[134244.036681] ? do_raw_spin_unlock+0x49/0xc0
[134244.037460] ? _raw_spin_unlock+0x29/0x40
[134244.038235] relocate_tree_blocks+0x37b/0x730 [btrfs]
[134244.039245] relocate_block_group+0x388/0x770 [btrfs]
[134244.040228] btrfs_relocate_block_group+0x161/0x2e0 [btrfs]
[134244.041323] btrfs_relocate_chunk+0x36/0x110 [btrfs]
[134244.041345] btrfs_balance+0xc06/0x1860 [btrfs]
[134244.043382] ? btrfs_ioctl_balance+0x27c/0x310 [btrfs]
[134244.045586] btrfs_ioctl_balance+0x1ed/0x310 [btrfs]
[134244.045611] btrfs_ioctl+0x1880/0x3760 [btrfs]
[134244.049043] ? do_raw_spin_unlock+0x49/0xc0
[134244.049838] ? _raw_spin_unlock+0x29/0x40
[134244.050587] ? __handle_mm_fault+0x11b3/0x14b0
[134244.051417] ? ksys_ioctl+0x92/0xb0
[134244.052070] ksys_ioctl+0x92/0xb0
[134244.052701] ? trace_hardirqs_off_thunk+0x1a/0x1c
[134244.053511] __x64_sys_ioctl+0x16/0x20
[134244.054206] do_syscall_64+0x5c/0x280
[134244.054891] entry_SYSCALL_64_after_hwframe+0x49/0xbe
[134244.055819] RIP: 0033:0x7f29b51c9dd7
[134244.056491] Code: 00 00 00 (...)
[134244.059767] RSP: 002b:00007ffcccc1dd08 EFLAGS: 00000202 ORIG_RAX: 0000000000000010
[134244.061168] RAX: ffffffffffffffda RBX: 0000000000000001 RCX: 00007f29b51c9dd7
[134244.062474] RDX: 00007ffcccc1dda0 RSI: 00000000c4009420 RDI: 0000000000000003
[134244.063771] RBP: 0000000000000003 R08: 00005565cea4b000 R09: 0000000000000000
[134244.065032] R10: 0000000000000541 R11: 0000000000000202 R12: 00007ffcccc2060a
[134244.066327] R13: 00007ffcccc1dda0 R14: 0000000000000002 R15: 00007ffcccc1dec0
[134244.067626] irq event stamp: 0
[134244.068202] hardirqs last enabled at (0): [<0000000000000000>] 0x0
[134244.069351] hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134244.070909] softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134244.072392] softirqs last disabled at (0): [<0000000000000000>] 0x0
[134244.073432] ---[ end trace bd7c03622e0b0a99 ]---
The -EINVAL error comes from the following chain of function calls:
__btrfs_cow_block() <-- aborts the transaction
btrfs_reloc_cow_block()
replace_file_extents()
get_new_location() <-- returns -EINVAL
When relocating a data block group, for each allocated extent of the block
group, we preallocate another extent (at prealloc_file_extent_cluster()),
associated with the data relocation inode, and then dirty all its pages.
These preallocated extents have, and must have, the same size that extents
from the data block group being relocated have.
Later before we start the relocation stage that updates pointers (bytenr
field of file extent items) to point to the the new extents, we trigger
writeback for the data relocation inode. The expectation is that writeback
will write the pages to the previously preallocated extents, that it
follows the NOCOW path. That is generally the case, however, if a scrub
is running it may have turned the block group that contains those extents
into RO mode, in which case writeback falls back to the COW path.
However in the COW path instead of allocating exactly one extent with the
expected size, the allocator may end up allocating several smaller extents
due to free space fragmentation - because we tell it at cow_file_range()
that the minimum allocation size can match the filesystem's sector size.
This later breaks the relocation's expectation that an extent associated
to a file extent item in the data relocation inode has the same size as
the respective extent pointed by a file extent item in another tree - in
this case the extent to which the relocation inode poins to is smaller,
causing relocation.c:get_new_location() to return -EINVAL.
For example, if we are relocating a data block group X that has a logical
address of X and the block group has an extent allocated at the logical
address X + 128KiB with a size of 64KiB:
1) At prealloc_file_extent_cluster() we allocate an extent for the data
relocation inode with a size of 64KiB and associate it to the file
offset 128KiB (X + 128KiB - X) of the data relocation inode. This
preallocated extent was allocated at block group Z;
2) A scrub running in parallel turns block group Z into RO mode and
starts scrubing its extents;
3) Relocation triggers writeback for the data relocation inode;
4) When running delalloc (btrfs_run_delalloc_range()), we try first the
NOCOW path because the data relocation inode has BTRFS_INODE_PREALLOC
set in its flags. However, because block group Z is in RO mode, the
NOCOW path (run_delalloc_nocow()) falls back into the COW path, by
calling cow_file_range();
5) At cow_file_range(), in the first iteration of the while loop we call
btrfs_reserve_extent() to allocate a 64KiB extent and pass it a minimum
allocation size of 4KiB (fs_info->sectorsize). Due to free space
fragmentation, btrfs_reserve_extent() ends up allocating two extents
of 32KiB each, each one on a different iteration of that while loop;
6) Writeback of the data relocation inode completes;
7) Relocation proceeds and ends up at relocation.c:replace_file_extents(),
with a leaf which has a file extent item that points to the data extent
from block group X, that has a logical address (bytenr) of X + 128KiB
and a size of 64KiB. Then it calls get_new_location(), which does a
lookup in the data relocation tree for a file extent item starting at
offset 128KiB (X + 128KiB - X) and belonging to the data relocation
inode. It finds a corresponding file extent item, however that item
points to an extent that has a size of 32KiB, which doesn't match the
expected size of 64KiB, resuling in -EINVAL being returned from this
function and propagated up to __btrfs_cow_block(), which aborts the
current transaction.
To fix this make sure that at cow_file_range() when we call the allocator
we pass it a minimum allocation size corresponding the desired extent size
if the inode belongs to the data relocation tree, otherwise pass it the
filesystem's sector size as the minimum allocation size.
CC: stable(a)vger.kernel.org # 4.4+
Reviewed-by: Josef Bacik <josef(a)toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 12b5d61f23bb..62c3f4972ff6 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -985,6 +985,7 @@ static noinline int cow_file_range(struct inode *inode,
u64 num_bytes;
unsigned long ram_size;
u64 cur_alloc_size = 0;
+ u64 min_alloc_size;
u64 blocksize = fs_info->sectorsize;
struct btrfs_key ins;
struct extent_map *em;
@@ -1035,10 +1036,26 @@ static noinline int cow_file_range(struct inode *inode,
btrfs_drop_extent_cache(BTRFS_I(inode), start,
start + num_bytes - 1, 0);
+ /*
+ * Relocation relies on the relocated extents to have exactly the same
+ * size as the original extents. Normally writeback for relocation data
+ * extents follows a NOCOW path because relocation preallocates the
+ * extents. However, due to an operation such as scrub turning a block
+ * group to RO mode, it may fallback to COW mode, so we must make sure
+ * an extent allocated during COW has exactly the requested size and can
+ * not be split into smaller extents, otherwise relocation breaks and
+ * fails during the stage where it updates the bytenr of file extent
+ * items.
+ */
+ if (root->root_key.objectid == BTRFS_DATA_RELOC_TREE_OBJECTID)
+ min_alloc_size = num_bytes;
+ else
+ min_alloc_size = fs_info->sectorsize;
+
while (num_bytes > 0) {
cur_alloc_size = num_bytes;
ret = btrfs_reserve_extent(root, cur_alloc_size, cur_alloc_size,
- fs_info->sectorsize, 0, alloc_hint,
+ min_alloc_size, 0, alloc_hint,
&ins, 1, 1);
if (ret < 0)
goto out_unlock;
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ffcb9d44572afbaf8fa6dbf5115bff6dab7b299e Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 1 Jun 2020 19:12:19 +0100
Subject: [PATCH] btrfs: fix race between block group removal and block group
creation
There is a race between block group removal and block group creation
when the removal is completed by a task running fitrim or scrub. When
this happens we end up failing the block group creation with an error
-EEXIST since we attempt to insert a duplicate block group item key
in the extent tree. That results in a transaction abort.
The race happens like this:
1) Task A is doing a fitrim, and at btrfs_trim_block_group() it freezes
block group X with btrfs_freeze_block_group() (until very recently
that was named btrfs_get_block_group_trimming());
2) Task B starts removing block group X, either because it's now unused
or due to relocation for example. So at btrfs_remove_block_group(),
while holding the chunk mutex and the block group's lock, it sets
the 'removed' flag of the block group and it sets the local variable
'remove_em' to false, because the block group is currently frozen
(its 'frozen' counter is > 0, until very recently this counter was
named 'trimming');
3) Task B unlocks the block group and the chunk mutex;
4) Task A is done trimming the block group and unfreezes the block group
by calling btrfs_unfreeze_block_group() (until very recently this was
named btrfs_put_block_group_trimming()). In this function we lock the
block group and set the local variable 'cleanup' to true because we
were able to decrement the block group's 'frozen' counter down to 0 and
the flag 'removed' is set in the block group.
Since 'cleanup' is set to true, it locks the chunk mutex and removes
the extent mapping representing the block group from the mapping tree;
5) Task C allocates a new block group Y and it picks up the logical address
that block group X had as the logical address for Y, because X was the
block group with the highest logical address and now the second block
group with the highest logical address, the last in the fs mapping tree,
ends at an offset corresponding to block group X's logical address (this
logical address selection is done at volumes.c:find_next_chunk()).
At this point the new block group Y does not have yet its item added
to the extent tree (nor the corresponding device extent items and
chunk item in the device and chunk trees). The new group Y is added to
the list of pending block groups in the transaction handle;
6) Before task B proceeds to removing the block group item for block
group X from the extent tree, which has a key matching:
(X logical offset, BTRFS_BLOCK_GROUP_ITEM_KEY, length)
task C while ending its transaction handle calls
btrfs_create_pending_block_groups(), which finds block group Y and
tries to insert the block group item for Y into the exten tree, which
fails with -EEXIST since logical offset is the same that X had and
task B hasn't yet deleted the key from the extent tree.
This failure results in a transaction abort, producing a stack like
the following:
------------[ cut here ]------------
BTRFS: Transaction aborted (error -17)
WARNING: CPU: 2 PID: 19736 at fs/btrfs/block-group.c:2074 btrfs_create_pending_block_groups+0x1eb/0x260 [btrfs]
Modules linked in: btrfs blake2b_generic xor raid6_pq (...)
CPU: 2 PID: 19736 Comm: fsstress Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
RIP: 0010:btrfs_create_pending_block_groups+0x1eb/0x260 [btrfs]
Code: ff ff ff 48 8b 55 50 f0 48 (...)
RSP: 0018:ffffa4160a1c7d58 EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff961581909d98 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffffffffb3d63990 RDI: 0000000000000001
RBP: ffff9614f3356a58 R08: 0000000000000000 R09: 0000000000000001
R10: ffff9615b65b0040 R11: 0000000000000000 R12: ffff961581909c10
R13: ffff9615b0c32000 R14: ffff9614f3356ab0 R15: ffff9614be779000
FS: 00007f2ce2841e80(0000) GS:ffff9615bae00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555f18780000 CR3: 0000000131d34005 CR4: 00000000003606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
btrfs_start_dirty_block_groups+0x398/0x4e0 [btrfs]
btrfs_commit_transaction+0xd0/0xc50 [btrfs]
? btrfs_attach_transaction_barrier+0x1e/0x50 [btrfs]
? __ia32_sys_fdatasync+0x20/0x20
iterate_supers+0xdb/0x180
ksys_sync+0x60/0xb0
__ia32_sys_sync+0xa/0x10
do_syscall_64+0x5c/0x280
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f2ce1d4d5b7
Code: 83 c4 08 48 3d 01 (...)
RSP: 002b:00007ffd8b558c58 EFLAGS: 00000202 ORIG_RAX: 00000000000000a2
RAX: ffffffffffffffda RBX: 000000000000002c RCX: 00007f2ce1d4d5b7
RDX: 00000000ffffffff RSI: 00000000186ba07b RDI: 000000000000002c
RBP: 0000555f17b9e520 R08: 0000000000000012 R09: 000000000000ce00
R10: 0000000000000078 R11: 0000000000000202 R12: 0000000000000032
R13: 0000000051eb851f R14: 00007ffd8b558cd0 R15: 0000555f1798ec20
irq event stamp: 0
hardirqs last enabled at (0): [<0000000000000000>] 0x0
hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
softirqs last disabled at (0): [<0000000000000000>] 0x0
---[ end trace bd7c03622e0b0a9c ]---
Fix this simply by making btrfs_remove_block_group() remove the block
group's item from the extent tree before it flags the block group as
removed. Also make the free space deletion from the free space tree
before flagging the block group as removed, to avoid a similar race
with adding and removing free space entries for the free space tree.
Fixes: 04216820fe83d5 ("Btrfs: fix race between fs trimming and block group remove/allocation")
CC: stable(a)vger.kernel.org # 4.4+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 6462dd0b155c..c037ef514b64 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -1092,6 +1092,25 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
spin_unlock(&block_group->space_info->lock);
+ /*
+ * Remove the free space for the block group from the free space tree
+ * and the block group's item from the extent tree before marking the
+ * block group as removed. This is to prevent races with tasks that
+ * freeze and unfreeze a block group, this task and another task
+ * allocating a new block group - the unfreeze task ends up removing
+ * the block group's extent map before the task calling this function
+ * deletes the block group item from the extent tree, allowing for
+ * another task to attempt to create another block group with the same
+ * item key (and failing with -EEXIST and a transaction abort).
+ */
+ ret = remove_block_group_free_space(trans, block_group);
+ if (ret)
+ goto out;
+
+ ret = remove_block_group_item(trans, path, block_group);
+ if (ret < 0)
+ goto out;
+
mutex_lock(&fs_info->chunk_mutex);
spin_lock(&block_group->lock);
block_group->removed = 1;
@@ -1126,14 +1145,6 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
mutex_unlock(&fs_info->chunk_mutex);
- ret = remove_block_group_free_space(trans, block_group);
- if (ret)
- goto out;
-
- ret = remove_block_group_item(trans, path, block_group);
- if (ret < 0)
- goto out;
-
if (remove_em) {
struct extent_map_tree *em_tree;
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ffcb9d44572afbaf8fa6dbf5115bff6dab7b299e Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 1 Jun 2020 19:12:19 +0100
Subject: [PATCH] btrfs: fix race between block group removal and block group
creation
There is a race between block group removal and block group creation
when the removal is completed by a task running fitrim or scrub. When
this happens we end up failing the block group creation with an error
-EEXIST since we attempt to insert a duplicate block group item key
in the extent tree. That results in a transaction abort.
The race happens like this:
1) Task A is doing a fitrim, and at btrfs_trim_block_group() it freezes
block group X with btrfs_freeze_block_group() (until very recently
that was named btrfs_get_block_group_trimming());
2) Task B starts removing block group X, either because it's now unused
or due to relocation for example. So at btrfs_remove_block_group(),
while holding the chunk mutex and the block group's lock, it sets
the 'removed' flag of the block group and it sets the local variable
'remove_em' to false, because the block group is currently frozen
(its 'frozen' counter is > 0, until very recently this counter was
named 'trimming');
3) Task B unlocks the block group and the chunk mutex;
4) Task A is done trimming the block group and unfreezes the block group
by calling btrfs_unfreeze_block_group() (until very recently this was
named btrfs_put_block_group_trimming()). In this function we lock the
block group and set the local variable 'cleanup' to true because we
were able to decrement the block group's 'frozen' counter down to 0 and
the flag 'removed' is set in the block group.
Since 'cleanup' is set to true, it locks the chunk mutex and removes
the extent mapping representing the block group from the mapping tree;
5) Task C allocates a new block group Y and it picks up the logical address
that block group X had as the logical address for Y, because X was the
block group with the highest logical address and now the second block
group with the highest logical address, the last in the fs mapping tree,
ends at an offset corresponding to block group X's logical address (this
logical address selection is done at volumes.c:find_next_chunk()).
At this point the new block group Y does not have yet its item added
to the extent tree (nor the corresponding device extent items and
chunk item in the device and chunk trees). The new group Y is added to
the list of pending block groups in the transaction handle;
6) Before task B proceeds to removing the block group item for block
group X from the extent tree, which has a key matching:
(X logical offset, BTRFS_BLOCK_GROUP_ITEM_KEY, length)
task C while ending its transaction handle calls
btrfs_create_pending_block_groups(), which finds block group Y and
tries to insert the block group item for Y into the exten tree, which
fails with -EEXIST since logical offset is the same that X had and
task B hasn't yet deleted the key from the extent tree.
This failure results in a transaction abort, producing a stack like
the following:
------------[ cut here ]------------
BTRFS: Transaction aborted (error -17)
WARNING: CPU: 2 PID: 19736 at fs/btrfs/block-group.c:2074 btrfs_create_pending_block_groups+0x1eb/0x260 [btrfs]
Modules linked in: btrfs blake2b_generic xor raid6_pq (...)
CPU: 2 PID: 19736 Comm: fsstress Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
RIP: 0010:btrfs_create_pending_block_groups+0x1eb/0x260 [btrfs]
Code: ff ff ff 48 8b 55 50 f0 48 (...)
RSP: 0018:ffffa4160a1c7d58 EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff961581909d98 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffffffffb3d63990 RDI: 0000000000000001
RBP: ffff9614f3356a58 R08: 0000000000000000 R09: 0000000000000001
R10: ffff9615b65b0040 R11: 0000000000000000 R12: ffff961581909c10
R13: ffff9615b0c32000 R14: ffff9614f3356ab0 R15: ffff9614be779000
FS: 00007f2ce2841e80(0000) GS:ffff9615bae00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555f18780000 CR3: 0000000131d34005 CR4: 00000000003606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
btrfs_start_dirty_block_groups+0x398/0x4e0 [btrfs]
btrfs_commit_transaction+0xd0/0xc50 [btrfs]
? btrfs_attach_transaction_barrier+0x1e/0x50 [btrfs]
? __ia32_sys_fdatasync+0x20/0x20
iterate_supers+0xdb/0x180
ksys_sync+0x60/0xb0
__ia32_sys_sync+0xa/0x10
do_syscall_64+0x5c/0x280
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f2ce1d4d5b7
Code: 83 c4 08 48 3d 01 (...)
RSP: 002b:00007ffd8b558c58 EFLAGS: 00000202 ORIG_RAX: 00000000000000a2
RAX: ffffffffffffffda RBX: 000000000000002c RCX: 00007f2ce1d4d5b7
RDX: 00000000ffffffff RSI: 00000000186ba07b RDI: 000000000000002c
RBP: 0000555f17b9e520 R08: 0000000000000012 R09: 000000000000ce00
R10: 0000000000000078 R11: 0000000000000202 R12: 0000000000000032
R13: 0000000051eb851f R14: 00007ffd8b558cd0 R15: 0000555f1798ec20
irq event stamp: 0
hardirqs last enabled at (0): [<0000000000000000>] 0x0
hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
softirqs last disabled at (0): [<0000000000000000>] 0x0
---[ end trace bd7c03622e0b0a9c ]---
Fix this simply by making btrfs_remove_block_group() remove the block
group's item from the extent tree before it flags the block group as
removed. Also make the free space deletion from the free space tree
before flagging the block group as removed, to avoid a similar race
with adding and removing free space entries for the free space tree.
Fixes: 04216820fe83d5 ("Btrfs: fix race between fs trimming and block group remove/allocation")
CC: stable(a)vger.kernel.org # 4.4+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 6462dd0b155c..c037ef514b64 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -1092,6 +1092,25 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
spin_unlock(&block_group->space_info->lock);
+ /*
+ * Remove the free space for the block group from the free space tree
+ * and the block group's item from the extent tree before marking the
+ * block group as removed. This is to prevent races with tasks that
+ * freeze and unfreeze a block group, this task and another task
+ * allocating a new block group - the unfreeze task ends up removing
+ * the block group's extent map before the task calling this function
+ * deletes the block group item from the extent tree, allowing for
+ * another task to attempt to create another block group with the same
+ * item key (and failing with -EEXIST and a transaction abort).
+ */
+ ret = remove_block_group_free_space(trans, block_group);
+ if (ret)
+ goto out;
+
+ ret = remove_block_group_item(trans, path, block_group);
+ if (ret < 0)
+ goto out;
+
mutex_lock(&fs_info->chunk_mutex);
spin_lock(&block_group->lock);
block_group->removed = 1;
@@ -1126,14 +1145,6 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
mutex_unlock(&fs_info->chunk_mutex);
- ret = remove_block_group_free_space(trans, block_group);
- if (ret)
- goto out;
-
- ret = remove_block_group_item(trans, path, block_group);
- if (ret < 0)
- goto out;
-
if (remove_em) {
struct extent_map_tree *em_tree;
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ffcb9d44572afbaf8fa6dbf5115bff6dab7b299e Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 1 Jun 2020 19:12:19 +0100
Subject: [PATCH] btrfs: fix race between block group removal and block group
creation
There is a race between block group removal and block group creation
when the removal is completed by a task running fitrim or scrub. When
this happens we end up failing the block group creation with an error
-EEXIST since we attempt to insert a duplicate block group item key
in the extent tree. That results in a transaction abort.
The race happens like this:
1) Task A is doing a fitrim, and at btrfs_trim_block_group() it freezes
block group X with btrfs_freeze_block_group() (until very recently
that was named btrfs_get_block_group_trimming());
2) Task B starts removing block group X, either because it's now unused
or due to relocation for example. So at btrfs_remove_block_group(),
while holding the chunk mutex and the block group's lock, it sets
the 'removed' flag of the block group and it sets the local variable
'remove_em' to false, because the block group is currently frozen
(its 'frozen' counter is > 0, until very recently this counter was
named 'trimming');
3) Task B unlocks the block group and the chunk mutex;
4) Task A is done trimming the block group and unfreezes the block group
by calling btrfs_unfreeze_block_group() (until very recently this was
named btrfs_put_block_group_trimming()). In this function we lock the
block group and set the local variable 'cleanup' to true because we
were able to decrement the block group's 'frozen' counter down to 0 and
the flag 'removed' is set in the block group.
Since 'cleanup' is set to true, it locks the chunk mutex and removes
the extent mapping representing the block group from the mapping tree;
5) Task C allocates a new block group Y and it picks up the logical address
that block group X had as the logical address for Y, because X was the
block group with the highest logical address and now the second block
group with the highest logical address, the last in the fs mapping tree,
ends at an offset corresponding to block group X's logical address (this
logical address selection is done at volumes.c:find_next_chunk()).
At this point the new block group Y does not have yet its item added
to the extent tree (nor the corresponding device extent items and
chunk item in the device and chunk trees). The new group Y is added to
the list of pending block groups in the transaction handle;
6) Before task B proceeds to removing the block group item for block
group X from the extent tree, which has a key matching:
(X logical offset, BTRFS_BLOCK_GROUP_ITEM_KEY, length)
task C while ending its transaction handle calls
btrfs_create_pending_block_groups(), which finds block group Y and
tries to insert the block group item for Y into the exten tree, which
fails with -EEXIST since logical offset is the same that X had and
task B hasn't yet deleted the key from the extent tree.
This failure results in a transaction abort, producing a stack like
the following:
------------[ cut here ]------------
BTRFS: Transaction aborted (error -17)
WARNING: CPU: 2 PID: 19736 at fs/btrfs/block-group.c:2074 btrfs_create_pending_block_groups+0x1eb/0x260 [btrfs]
Modules linked in: btrfs blake2b_generic xor raid6_pq (...)
CPU: 2 PID: 19736 Comm: fsstress Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
RIP: 0010:btrfs_create_pending_block_groups+0x1eb/0x260 [btrfs]
Code: ff ff ff 48 8b 55 50 f0 48 (...)
RSP: 0018:ffffa4160a1c7d58 EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff961581909d98 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffffffffb3d63990 RDI: 0000000000000001
RBP: ffff9614f3356a58 R08: 0000000000000000 R09: 0000000000000001
R10: ffff9615b65b0040 R11: 0000000000000000 R12: ffff961581909c10
R13: ffff9615b0c32000 R14: ffff9614f3356ab0 R15: ffff9614be779000
FS: 00007f2ce2841e80(0000) GS:ffff9615bae00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555f18780000 CR3: 0000000131d34005 CR4: 00000000003606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
btrfs_start_dirty_block_groups+0x398/0x4e0 [btrfs]
btrfs_commit_transaction+0xd0/0xc50 [btrfs]
? btrfs_attach_transaction_barrier+0x1e/0x50 [btrfs]
? __ia32_sys_fdatasync+0x20/0x20
iterate_supers+0xdb/0x180
ksys_sync+0x60/0xb0
__ia32_sys_sync+0xa/0x10
do_syscall_64+0x5c/0x280
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f2ce1d4d5b7
Code: 83 c4 08 48 3d 01 (...)
RSP: 002b:00007ffd8b558c58 EFLAGS: 00000202 ORIG_RAX: 00000000000000a2
RAX: ffffffffffffffda RBX: 000000000000002c RCX: 00007f2ce1d4d5b7
RDX: 00000000ffffffff RSI: 00000000186ba07b RDI: 000000000000002c
RBP: 0000555f17b9e520 R08: 0000000000000012 R09: 000000000000ce00
R10: 0000000000000078 R11: 0000000000000202 R12: 0000000000000032
R13: 0000000051eb851f R14: 00007ffd8b558cd0 R15: 0000555f1798ec20
irq event stamp: 0
hardirqs last enabled at (0): [<0000000000000000>] 0x0
hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
softirqs last disabled at (0): [<0000000000000000>] 0x0
---[ end trace bd7c03622e0b0a9c ]---
Fix this simply by making btrfs_remove_block_group() remove the block
group's item from the extent tree before it flags the block group as
removed. Also make the free space deletion from the free space tree
before flagging the block group as removed, to avoid a similar race
with adding and removing free space entries for the free space tree.
Fixes: 04216820fe83d5 ("Btrfs: fix race between fs trimming and block group remove/allocation")
CC: stable(a)vger.kernel.org # 4.4+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 6462dd0b155c..c037ef514b64 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -1092,6 +1092,25 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
spin_unlock(&block_group->space_info->lock);
+ /*
+ * Remove the free space for the block group from the free space tree
+ * and the block group's item from the extent tree before marking the
+ * block group as removed. This is to prevent races with tasks that
+ * freeze and unfreeze a block group, this task and another task
+ * allocating a new block group - the unfreeze task ends up removing
+ * the block group's extent map before the task calling this function
+ * deletes the block group item from the extent tree, allowing for
+ * another task to attempt to create another block group with the same
+ * item key (and failing with -EEXIST and a transaction abort).
+ */
+ ret = remove_block_group_free_space(trans, block_group);
+ if (ret)
+ goto out;
+
+ ret = remove_block_group_item(trans, path, block_group);
+ if (ret < 0)
+ goto out;
+
mutex_lock(&fs_info->chunk_mutex);
spin_lock(&block_group->lock);
block_group->removed = 1;
@@ -1126,14 +1145,6 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
mutex_unlock(&fs_info->chunk_mutex);
- ret = remove_block_group_free_space(trans, block_group);
- if (ret)
- goto out;
-
- ret = remove_block_group_item(trans, path, block_group);
- if (ret < 0)
- goto out;
-
if (remove_em) {
struct extent_map_tree *em_tree;
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ffcb9d44572afbaf8fa6dbf5115bff6dab7b299e Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 1 Jun 2020 19:12:19 +0100
Subject: [PATCH] btrfs: fix race between block group removal and block group
creation
There is a race between block group removal and block group creation
when the removal is completed by a task running fitrim or scrub. When
this happens we end up failing the block group creation with an error
-EEXIST since we attempt to insert a duplicate block group item key
in the extent tree. That results in a transaction abort.
The race happens like this:
1) Task A is doing a fitrim, and at btrfs_trim_block_group() it freezes
block group X with btrfs_freeze_block_group() (until very recently
that was named btrfs_get_block_group_trimming());
2) Task B starts removing block group X, either because it's now unused
or due to relocation for example. So at btrfs_remove_block_group(),
while holding the chunk mutex and the block group's lock, it sets
the 'removed' flag of the block group and it sets the local variable
'remove_em' to false, because the block group is currently frozen
(its 'frozen' counter is > 0, until very recently this counter was
named 'trimming');
3) Task B unlocks the block group and the chunk mutex;
4) Task A is done trimming the block group and unfreezes the block group
by calling btrfs_unfreeze_block_group() (until very recently this was
named btrfs_put_block_group_trimming()). In this function we lock the
block group and set the local variable 'cleanup' to true because we
were able to decrement the block group's 'frozen' counter down to 0 and
the flag 'removed' is set in the block group.
Since 'cleanup' is set to true, it locks the chunk mutex and removes
the extent mapping representing the block group from the mapping tree;
5) Task C allocates a new block group Y and it picks up the logical address
that block group X had as the logical address for Y, because X was the
block group with the highest logical address and now the second block
group with the highest logical address, the last in the fs mapping tree,
ends at an offset corresponding to block group X's logical address (this
logical address selection is done at volumes.c:find_next_chunk()).
At this point the new block group Y does not have yet its item added
to the extent tree (nor the corresponding device extent items and
chunk item in the device and chunk trees). The new group Y is added to
the list of pending block groups in the transaction handle;
6) Before task B proceeds to removing the block group item for block
group X from the extent tree, which has a key matching:
(X logical offset, BTRFS_BLOCK_GROUP_ITEM_KEY, length)
task C while ending its transaction handle calls
btrfs_create_pending_block_groups(), which finds block group Y and
tries to insert the block group item for Y into the exten tree, which
fails with -EEXIST since logical offset is the same that X had and
task B hasn't yet deleted the key from the extent tree.
This failure results in a transaction abort, producing a stack like
the following:
------------[ cut here ]------------
BTRFS: Transaction aborted (error -17)
WARNING: CPU: 2 PID: 19736 at fs/btrfs/block-group.c:2074 btrfs_create_pending_block_groups+0x1eb/0x260 [btrfs]
Modules linked in: btrfs blake2b_generic xor raid6_pq (...)
CPU: 2 PID: 19736 Comm: fsstress Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
RIP: 0010:btrfs_create_pending_block_groups+0x1eb/0x260 [btrfs]
Code: ff ff ff 48 8b 55 50 f0 48 (...)
RSP: 0018:ffffa4160a1c7d58 EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff961581909d98 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffffffffb3d63990 RDI: 0000000000000001
RBP: ffff9614f3356a58 R08: 0000000000000000 R09: 0000000000000001
R10: ffff9615b65b0040 R11: 0000000000000000 R12: ffff961581909c10
R13: ffff9615b0c32000 R14: ffff9614f3356ab0 R15: ffff9614be779000
FS: 00007f2ce2841e80(0000) GS:ffff9615bae00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555f18780000 CR3: 0000000131d34005 CR4: 00000000003606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
btrfs_start_dirty_block_groups+0x398/0x4e0 [btrfs]
btrfs_commit_transaction+0xd0/0xc50 [btrfs]
? btrfs_attach_transaction_barrier+0x1e/0x50 [btrfs]
? __ia32_sys_fdatasync+0x20/0x20
iterate_supers+0xdb/0x180
ksys_sync+0x60/0xb0
__ia32_sys_sync+0xa/0x10
do_syscall_64+0x5c/0x280
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f2ce1d4d5b7
Code: 83 c4 08 48 3d 01 (...)
RSP: 002b:00007ffd8b558c58 EFLAGS: 00000202 ORIG_RAX: 00000000000000a2
RAX: ffffffffffffffda RBX: 000000000000002c RCX: 00007f2ce1d4d5b7
RDX: 00000000ffffffff RSI: 00000000186ba07b RDI: 000000000000002c
RBP: 0000555f17b9e520 R08: 0000000000000012 R09: 000000000000ce00
R10: 0000000000000078 R11: 0000000000000202 R12: 0000000000000032
R13: 0000000051eb851f R14: 00007ffd8b558cd0 R15: 0000555f1798ec20
irq event stamp: 0
hardirqs last enabled at (0): [<0000000000000000>] 0x0
hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
softirqs last disabled at (0): [<0000000000000000>] 0x0
---[ end trace bd7c03622e0b0a9c ]---
Fix this simply by making btrfs_remove_block_group() remove the block
group's item from the extent tree before it flags the block group as
removed. Also make the free space deletion from the free space tree
before flagging the block group as removed, to avoid a similar race
with adding and removing free space entries for the free space tree.
Fixes: 04216820fe83d5 ("Btrfs: fix race between fs trimming and block group remove/allocation")
CC: stable(a)vger.kernel.org # 4.4+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 6462dd0b155c..c037ef514b64 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -1092,6 +1092,25 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
spin_unlock(&block_group->space_info->lock);
+ /*
+ * Remove the free space for the block group from the free space tree
+ * and the block group's item from the extent tree before marking the
+ * block group as removed. This is to prevent races with tasks that
+ * freeze and unfreeze a block group, this task and another task
+ * allocating a new block group - the unfreeze task ends up removing
+ * the block group's extent map before the task calling this function
+ * deletes the block group item from the extent tree, allowing for
+ * another task to attempt to create another block group with the same
+ * item key (and failing with -EEXIST and a transaction abort).
+ */
+ ret = remove_block_group_free_space(trans, block_group);
+ if (ret)
+ goto out;
+
+ ret = remove_block_group_item(trans, path, block_group);
+ if (ret < 0)
+ goto out;
+
mutex_lock(&fs_info->chunk_mutex);
spin_lock(&block_group->lock);
block_group->removed = 1;
@@ -1126,14 +1145,6 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
mutex_unlock(&fs_info->chunk_mutex);
- ret = remove_block_group_free_space(trans, block_group);
- if (ret)
- goto out;
-
- ret = remove_block_group_item(trans, path, block_group);
- if (ret < 0)
- goto out;
-
if (remove_em) {
struct extent_map_tree *em_tree;
The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From ffcb9d44572afbaf8fa6dbf5115bff6dab7b299e Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 1 Jun 2020 19:12:19 +0100
Subject: [PATCH] btrfs: fix race between block group removal and block group
creation
There is a race between block group removal and block group creation
when the removal is completed by a task running fitrim or scrub. When
this happens we end up failing the block group creation with an error
-EEXIST since we attempt to insert a duplicate block group item key
in the extent tree. That results in a transaction abort.
The race happens like this:
1) Task A is doing a fitrim, and at btrfs_trim_block_group() it freezes
block group X with btrfs_freeze_block_group() (until very recently
that was named btrfs_get_block_group_trimming());
2) Task B starts removing block group X, either because it's now unused
or due to relocation for example. So at btrfs_remove_block_group(),
while holding the chunk mutex and the block group's lock, it sets
the 'removed' flag of the block group and it sets the local variable
'remove_em' to false, because the block group is currently frozen
(its 'frozen' counter is > 0, until very recently this counter was
named 'trimming');
3) Task B unlocks the block group and the chunk mutex;
4) Task A is done trimming the block group and unfreezes the block group
by calling btrfs_unfreeze_block_group() (until very recently this was
named btrfs_put_block_group_trimming()). In this function we lock the
block group and set the local variable 'cleanup' to true because we
were able to decrement the block group's 'frozen' counter down to 0 and
the flag 'removed' is set in the block group.
Since 'cleanup' is set to true, it locks the chunk mutex and removes
the extent mapping representing the block group from the mapping tree;
5) Task C allocates a new block group Y and it picks up the logical address
that block group X had as the logical address for Y, because X was the
block group with the highest logical address and now the second block
group with the highest logical address, the last in the fs mapping tree,
ends at an offset corresponding to block group X's logical address (this
logical address selection is done at volumes.c:find_next_chunk()).
At this point the new block group Y does not have yet its item added
to the extent tree (nor the corresponding device extent items and
chunk item in the device and chunk trees). The new group Y is added to
the list of pending block groups in the transaction handle;
6) Before task B proceeds to removing the block group item for block
group X from the extent tree, which has a key matching:
(X logical offset, BTRFS_BLOCK_GROUP_ITEM_KEY, length)
task C while ending its transaction handle calls
btrfs_create_pending_block_groups(), which finds block group Y and
tries to insert the block group item for Y into the exten tree, which
fails with -EEXIST since logical offset is the same that X had and
task B hasn't yet deleted the key from the extent tree.
This failure results in a transaction abort, producing a stack like
the following:
------------[ cut here ]------------
BTRFS: Transaction aborted (error -17)
WARNING: CPU: 2 PID: 19736 at fs/btrfs/block-group.c:2074 btrfs_create_pending_block_groups+0x1eb/0x260 [btrfs]
Modules linked in: btrfs blake2b_generic xor raid6_pq (...)
CPU: 2 PID: 19736 Comm: fsstress Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
RIP: 0010:btrfs_create_pending_block_groups+0x1eb/0x260 [btrfs]
Code: ff ff ff 48 8b 55 50 f0 48 (...)
RSP: 0018:ffffa4160a1c7d58 EFLAGS: 00010286
RAX: 0000000000000000 RBX: ffff961581909d98 RCX: 0000000000000000
RDX: 0000000000000001 RSI: ffffffffb3d63990 RDI: 0000000000000001
RBP: ffff9614f3356a58 R08: 0000000000000000 R09: 0000000000000001
R10: ffff9615b65b0040 R11: 0000000000000000 R12: ffff961581909c10
R13: ffff9615b0c32000 R14: ffff9614f3356ab0 R15: ffff9614be779000
FS: 00007f2ce2841e80(0000) GS:ffff9615bae00000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000555f18780000 CR3: 0000000131d34005 CR4: 00000000003606e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
btrfs_start_dirty_block_groups+0x398/0x4e0 [btrfs]
btrfs_commit_transaction+0xd0/0xc50 [btrfs]
? btrfs_attach_transaction_barrier+0x1e/0x50 [btrfs]
? __ia32_sys_fdatasync+0x20/0x20
iterate_supers+0xdb/0x180
ksys_sync+0x60/0xb0
__ia32_sys_sync+0xa/0x10
do_syscall_64+0x5c/0x280
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x7f2ce1d4d5b7
Code: 83 c4 08 48 3d 01 (...)
RSP: 002b:00007ffd8b558c58 EFLAGS: 00000202 ORIG_RAX: 00000000000000a2
RAX: ffffffffffffffda RBX: 000000000000002c RCX: 00007f2ce1d4d5b7
RDX: 00000000ffffffff RSI: 00000000186ba07b RDI: 000000000000002c
RBP: 0000555f17b9e520 R08: 0000000000000012 R09: 000000000000ce00
R10: 0000000000000078 R11: 0000000000000202 R12: 0000000000000032
R13: 0000000051eb851f R14: 00007ffd8b558cd0 R15: 0000555f1798ec20
irq event stamp: 0
hardirqs last enabled at (0): [<0000000000000000>] 0x0
hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
softirqs last disabled at (0): [<0000000000000000>] 0x0
---[ end trace bd7c03622e0b0a9c ]---
Fix this simply by making btrfs_remove_block_group() remove the block
group's item from the extent tree before it flags the block group as
removed. Also make the free space deletion from the free space tree
before flagging the block group as removed, to avoid a similar race
with adding and removing free space entries for the free space tree.
Fixes: 04216820fe83d5 ("Btrfs: fix race between fs trimming and block group remove/allocation")
CC: stable(a)vger.kernel.org # 4.4+
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 6462dd0b155c..c037ef514b64 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -1092,6 +1092,25 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
spin_unlock(&block_group->space_info->lock);
+ /*
+ * Remove the free space for the block group from the free space tree
+ * and the block group's item from the extent tree before marking the
+ * block group as removed. This is to prevent races with tasks that
+ * freeze and unfreeze a block group, this task and another task
+ * allocating a new block group - the unfreeze task ends up removing
+ * the block group's extent map before the task calling this function
+ * deletes the block group item from the extent tree, allowing for
+ * another task to attempt to create another block group with the same
+ * item key (and failing with -EEXIST and a transaction abort).
+ */
+ ret = remove_block_group_free_space(trans, block_group);
+ if (ret)
+ goto out;
+
+ ret = remove_block_group_item(trans, path, block_group);
+ if (ret < 0)
+ goto out;
+
mutex_lock(&fs_info->chunk_mutex);
spin_lock(&block_group->lock);
block_group->removed = 1;
@@ -1126,14 +1145,6 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
mutex_unlock(&fs_info->chunk_mutex);
- ret = remove_block_group_free_space(trans, block_group);
- if (ret)
- goto out;
-
- ret = remove_block_group_item(trans, path, block_group);
- if (ret < 0)
- goto out;
-
if (remove_em) {
struct extent_map_tree *em_tree;
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 6bd335b469f945f75474c11e3f577f85409f39c3 Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 8 Jun 2020 13:33:05 +0100
Subject: [PATCH] btrfs: fix bytes_may_use underflow when running balance and
scrub in parallel
When balance and scrub are running in parallel it is possible to end up
with an underflow of the bytes_may_use counter of the data space_info
object, which triggers a warning like the following:
[134243.793196] BTRFS info (device sdc): relocating block group 1104150528 flags data
[134243.806891] ------------[ cut here ]------------
[134243.807561] WARNING: CPU: 1 PID: 26884 at fs/btrfs/space-info.h:125 btrfs_add_reserved_bytes+0x1da/0x280 [btrfs]
[134243.808819] Modules linked in: btrfs blake2b_generic xor (...)
[134243.815779] CPU: 1 PID: 26884 Comm: kworker/u8:8 Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
[134243.816944] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
[134243.818389] Workqueue: writeback wb_workfn (flush-btrfs-108483)
[134243.819186] RIP: 0010:btrfs_add_reserved_bytes+0x1da/0x280 [btrfs]
[134243.819963] Code: 0b f2 85 (...)
[134243.822271] RSP: 0018:ffffa4160aae7510 EFLAGS: 00010287
[134243.822929] RAX: 000000000000c000 RBX: ffff96159a8c1000 RCX: 0000000000000000
[134243.823816] RDX: 0000000000008000 RSI: 0000000000000000 RDI: ffff96158067a810
[134243.824742] RBP: ffff96158067a800 R08: 0000000000000001 R09: 0000000000000000
[134243.825636] R10: ffff961501432a40 R11: 0000000000000000 R12: 000000000000c000
[134243.826532] R13: 0000000000000001 R14: ffffffffffff4000 R15: ffff96158067a810
[134243.827432] FS: 0000000000000000(0000) GS:ffff9615baa00000(0000) knlGS:0000000000000000
[134243.828451] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[134243.829184] CR2: 000055bd7e414000 CR3: 00000001077be004 CR4: 00000000003606e0
[134243.830083] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[134243.830975] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[134243.831867] Call Trace:
[134243.832211] find_free_extent+0x4a0/0x16c0 [btrfs]
[134243.832846] btrfs_reserve_extent+0x91/0x180 [btrfs]
[134243.833487] cow_file_range+0x12d/0x490 [btrfs]
[134243.834080] fallback_to_cow+0x82/0x1b0 [btrfs]
[134243.834689] ? release_extent_buffer+0x121/0x170 [btrfs]
[134243.835370] run_delalloc_nocow+0x33f/0xa30 [btrfs]
[134243.836032] btrfs_run_delalloc_range+0x1ea/0x6d0 [btrfs]
[134243.836725] ? find_lock_delalloc_range+0x221/0x250 [btrfs]
[134243.837450] writepage_delalloc+0xe8/0x150 [btrfs]
[134243.838059] __extent_writepage+0xe8/0x4c0 [btrfs]
[134243.838674] extent_write_cache_pages+0x237/0x530 [btrfs]
[134243.839364] extent_writepages+0x44/0xa0 [btrfs]
[134243.839946] do_writepages+0x23/0x80
[134243.840401] __writeback_single_inode+0x59/0x700
[134243.841006] writeback_sb_inodes+0x267/0x5f0
[134243.841548] __writeback_inodes_wb+0x87/0xe0
[134243.842091] wb_writeback+0x382/0x590
[134243.842574] ? wb_workfn+0x4a2/0x6c0
[134243.843030] wb_workfn+0x4a2/0x6c0
[134243.843468] process_one_work+0x26d/0x6a0
[134243.843978] worker_thread+0x4f/0x3e0
[134243.844452] ? process_one_work+0x6a0/0x6a0
[134243.844981] kthread+0x103/0x140
[134243.845400] ? kthread_create_worker_on_cpu+0x70/0x70
[134243.846030] ret_from_fork+0x3a/0x50
[134243.846494] irq event stamp: 0
[134243.846892] hardirqs last enabled at (0): [<0000000000000000>] 0x0
[134243.847682] hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134243.848687] softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134243.849913] softirqs last disabled at (0): [<0000000000000000>] 0x0
[134243.850698] ---[ end trace bd7c03622e0b0a96 ]---
[134243.851335] ------------[ cut here ]------------
When relocating a data block group, for each extent allocated in the
block group we preallocate another extent with the same size for the
data relocation inode (we do it at prealloc_file_extent_cluster()).
We reserve space by calling btrfs_check_data_free_space(), which ends
up incrementing the data space_info's bytes_may_use counter, and
then call btrfs_prealloc_file_range() to allocate the extent, which
always decrements the bytes_may_use counter by the same amount.
The expectation is that writeback of the data relocation inode always
follows a NOCOW path, by writing into the preallocated extents. However,
when starting writeback we might end up falling back into the COW path,
because the block group that contains the preallocated extent was turned
into RO mode by a scrub running in parallel. The COW path then calls the
extent allocator which ends up calling btrfs_add_reserved_bytes(), and
this function decrements the bytes_may_use counter of the data space_info
object by an amount corresponding to the size of the allocated extent,
despite we haven't previously incremented it. When the counter currently
has a value smaller then the allocated extent we reset the counter to 0
and emit a warning, otherwise we just decrement it and slowly mess up
with this counter which is crucial for space reservation, the end result
can be granting reserved space to tasks when there isn't really enough
free space, and having the tasks fail later in critical places where
error handling consists of a transaction abort or hitting a BUG_ON().
Fix this by making sure that if we fallback to the COW path for a data
relocation inode, we increment the bytes_may_use counter of the data
space_info object. The COW path will then decrement it at
btrfs_add_reserved_bytes() on success or through its error handling part
by a call to extent_clear_unlock_delalloc() (which ends up calling
btrfs_clear_delalloc_extent() that does the decrement operation) in case
of an error.
Test case btrfs/061 from fstests could sporadically trigger this.
CC: stable(a)vger.kernel.org # 4.4+
Reviewed-by: Josef Bacik <josef(a)toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 62c3f4972ff6..62b49d2db928 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1378,6 +1378,8 @@ static int fallback_to_cow(struct inode *inode, struct page *locked_page,
int *page_started, unsigned long *nr_written)
{
const bool is_space_ino = btrfs_is_free_space_inode(BTRFS_I(inode));
+ const bool is_reloc_ino = (BTRFS_I(inode)->root->root_key.objectid ==
+ BTRFS_DATA_RELOC_TREE_OBJECTID);
const u64 range_bytes = end + 1 - start;
struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
u64 range_start = start;
@@ -1408,18 +1410,23 @@ static int fallback_to_cow(struct inode *inode, struct page *locked_page,
* data space info, which we incremented in the step above.
*
* If we need to fallback to cow and the inode corresponds to a free
- * space cache inode, we must also increment bytes_may_use of the data
- * space_info for the same reason. Space caches always get a prealloc
+ * space cache inode or an inode of the data relocation tree, we must
+ * also increment bytes_may_use of the data space_info for the same
+ * reason. Space caches and relocated data extents always get a prealloc
* extent for them, however scrub or balance may have set the block
- * group that contains that extent to RO mode.
+ * group that contains that extent to RO mode and therefore force COW
+ * when starting writeback.
*/
count = count_range_bits(io_tree, &range_start, end, range_bytes,
EXTENT_NORESERVE, 0);
- if (count > 0 || is_space_ino) {
- const u64 bytes = is_space_ino ? range_bytes : count;
+ if (count > 0 || is_space_ino || is_reloc_ino) {
+ u64 bytes = count;
struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
struct btrfs_space_info *sinfo = fs_info->data_sinfo;
+ if (is_space_ino || is_reloc_ino)
+ bytes = range_bytes;
+
spin_lock(&sinfo->lock);
btrfs_space_info_update_bytes_may_use(fs_info, sinfo, bytes);
spin_unlock(&sinfo->lock);
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 6bd335b469f945f75474c11e3f577f85409f39c3 Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 8 Jun 2020 13:33:05 +0100
Subject: [PATCH] btrfs: fix bytes_may_use underflow when running balance and
scrub in parallel
When balance and scrub are running in parallel it is possible to end up
with an underflow of the bytes_may_use counter of the data space_info
object, which triggers a warning like the following:
[134243.793196] BTRFS info (device sdc): relocating block group 1104150528 flags data
[134243.806891] ------------[ cut here ]------------
[134243.807561] WARNING: CPU: 1 PID: 26884 at fs/btrfs/space-info.h:125 btrfs_add_reserved_bytes+0x1da/0x280 [btrfs]
[134243.808819] Modules linked in: btrfs blake2b_generic xor (...)
[134243.815779] CPU: 1 PID: 26884 Comm: kworker/u8:8 Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
[134243.816944] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
[134243.818389] Workqueue: writeback wb_workfn (flush-btrfs-108483)
[134243.819186] RIP: 0010:btrfs_add_reserved_bytes+0x1da/0x280 [btrfs]
[134243.819963] Code: 0b f2 85 (...)
[134243.822271] RSP: 0018:ffffa4160aae7510 EFLAGS: 00010287
[134243.822929] RAX: 000000000000c000 RBX: ffff96159a8c1000 RCX: 0000000000000000
[134243.823816] RDX: 0000000000008000 RSI: 0000000000000000 RDI: ffff96158067a810
[134243.824742] RBP: ffff96158067a800 R08: 0000000000000001 R09: 0000000000000000
[134243.825636] R10: ffff961501432a40 R11: 0000000000000000 R12: 000000000000c000
[134243.826532] R13: 0000000000000001 R14: ffffffffffff4000 R15: ffff96158067a810
[134243.827432] FS: 0000000000000000(0000) GS:ffff9615baa00000(0000) knlGS:0000000000000000
[134243.828451] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[134243.829184] CR2: 000055bd7e414000 CR3: 00000001077be004 CR4: 00000000003606e0
[134243.830083] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[134243.830975] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[134243.831867] Call Trace:
[134243.832211] find_free_extent+0x4a0/0x16c0 [btrfs]
[134243.832846] btrfs_reserve_extent+0x91/0x180 [btrfs]
[134243.833487] cow_file_range+0x12d/0x490 [btrfs]
[134243.834080] fallback_to_cow+0x82/0x1b0 [btrfs]
[134243.834689] ? release_extent_buffer+0x121/0x170 [btrfs]
[134243.835370] run_delalloc_nocow+0x33f/0xa30 [btrfs]
[134243.836032] btrfs_run_delalloc_range+0x1ea/0x6d0 [btrfs]
[134243.836725] ? find_lock_delalloc_range+0x221/0x250 [btrfs]
[134243.837450] writepage_delalloc+0xe8/0x150 [btrfs]
[134243.838059] __extent_writepage+0xe8/0x4c0 [btrfs]
[134243.838674] extent_write_cache_pages+0x237/0x530 [btrfs]
[134243.839364] extent_writepages+0x44/0xa0 [btrfs]
[134243.839946] do_writepages+0x23/0x80
[134243.840401] __writeback_single_inode+0x59/0x700
[134243.841006] writeback_sb_inodes+0x267/0x5f0
[134243.841548] __writeback_inodes_wb+0x87/0xe0
[134243.842091] wb_writeback+0x382/0x590
[134243.842574] ? wb_workfn+0x4a2/0x6c0
[134243.843030] wb_workfn+0x4a2/0x6c0
[134243.843468] process_one_work+0x26d/0x6a0
[134243.843978] worker_thread+0x4f/0x3e0
[134243.844452] ? process_one_work+0x6a0/0x6a0
[134243.844981] kthread+0x103/0x140
[134243.845400] ? kthread_create_worker_on_cpu+0x70/0x70
[134243.846030] ret_from_fork+0x3a/0x50
[134243.846494] irq event stamp: 0
[134243.846892] hardirqs last enabled at (0): [<0000000000000000>] 0x0
[134243.847682] hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134243.848687] softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134243.849913] softirqs last disabled at (0): [<0000000000000000>] 0x0
[134243.850698] ---[ end trace bd7c03622e0b0a96 ]---
[134243.851335] ------------[ cut here ]------------
When relocating a data block group, for each extent allocated in the
block group we preallocate another extent with the same size for the
data relocation inode (we do it at prealloc_file_extent_cluster()).
We reserve space by calling btrfs_check_data_free_space(), which ends
up incrementing the data space_info's bytes_may_use counter, and
then call btrfs_prealloc_file_range() to allocate the extent, which
always decrements the bytes_may_use counter by the same amount.
The expectation is that writeback of the data relocation inode always
follows a NOCOW path, by writing into the preallocated extents. However,
when starting writeback we might end up falling back into the COW path,
because the block group that contains the preallocated extent was turned
into RO mode by a scrub running in parallel. The COW path then calls the
extent allocator which ends up calling btrfs_add_reserved_bytes(), and
this function decrements the bytes_may_use counter of the data space_info
object by an amount corresponding to the size of the allocated extent,
despite we haven't previously incremented it. When the counter currently
has a value smaller then the allocated extent we reset the counter to 0
and emit a warning, otherwise we just decrement it and slowly mess up
with this counter which is crucial for space reservation, the end result
can be granting reserved space to tasks when there isn't really enough
free space, and having the tasks fail later in critical places where
error handling consists of a transaction abort or hitting a BUG_ON().
Fix this by making sure that if we fallback to the COW path for a data
relocation inode, we increment the bytes_may_use counter of the data
space_info object. The COW path will then decrement it at
btrfs_add_reserved_bytes() on success or through its error handling part
by a call to extent_clear_unlock_delalloc() (which ends up calling
btrfs_clear_delalloc_extent() that does the decrement operation) in case
of an error.
Test case btrfs/061 from fstests could sporadically trigger this.
CC: stable(a)vger.kernel.org # 4.4+
Reviewed-by: Josef Bacik <josef(a)toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 62c3f4972ff6..62b49d2db928 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1378,6 +1378,8 @@ static int fallback_to_cow(struct inode *inode, struct page *locked_page,
int *page_started, unsigned long *nr_written)
{
const bool is_space_ino = btrfs_is_free_space_inode(BTRFS_I(inode));
+ const bool is_reloc_ino = (BTRFS_I(inode)->root->root_key.objectid ==
+ BTRFS_DATA_RELOC_TREE_OBJECTID);
const u64 range_bytes = end + 1 - start;
struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
u64 range_start = start;
@@ -1408,18 +1410,23 @@ static int fallback_to_cow(struct inode *inode, struct page *locked_page,
* data space info, which we incremented in the step above.
*
* If we need to fallback to cow and the inode corresponds to a free
- * space cache inode, we must also increment bytes_may_use of the data
- * space_info for the same reason. Space caches always get a prealloc
+ * space cache inode or an inode of the data relocation tree, we must
+ * also increment bytes_may_use of the data space_info for the same
+ * reason. Space caches and relocated data extents always get a prealloc
* extent for them, however scrub or balance may have set the block
- * group that contains that extent to RO mode.
+ * group that contains that extent to RO mode and therefore force COW
+ * when starting writeback.
*/
count = count_range_bits(io_tree, &range_start, end, range_bytes,
EXTENT_NORESERVE, 0);
- if (count > 0 || is_space_ino) {
- const u64 bytes = is_space_ino ? range_bytes : count;
+ if (count > 0 || is_space_ino || is_reloc_ino) {
+ u64 bytes = count;
struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
struct btrfs_space_info *sinfo = fs_info->data_sinfo;
+ if (is_space_ino || is_reloc_ino)
+ bytes = range_bytes;
+
spin_lock(&sinfo->lock);
btrfs_space_info_update_bytes_may_use(fs_info, sinfo, bytes);
spin_unlock(&sinfo->lock);
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 6bd335b469f945f75474c11e3f577f85409f39c3 Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 8 Jun 2020 13:33:05 +0100
Subject: [PATCH] btrfs: fix bytes_may_use underflow when running balance and
scrub in parallel
When balance and scrub are running in parallel it is possible to end up
with an underflow of the bytes_may_use counter of the data space_info
object, which triggers a warning like the following:
[134243.793196] BTRFS info (device sdc): relocating block group 1104150528 flags data
[134243.806891] ------------[ cut here ]------------
[134243.807561] WARNING: CPU: 1 PID: 26884 at fs/btrfs/space-info.h:125 btrfs_add_reserved_bytes+0x1da/0x280 [btrfs]
[134243.808819] Modules linked in: btrfs blake2b_generic xor (...)
[134243.815779] CPU: 1 PID: 26884 Comm: kworker/u8:8 Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
[134243.816944] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
[134243.818389] Workqueue: writeback wb_workfn (flush-btrfs-108483)
[134243.819186] RIP: 0010:btrfs_add_reserved_bytes+0x1da/0x280 [btrfs]
[134243.819963] Code: 0b f2 85 (...)
[134243.822271] RSP: 0018:ffffa4160aae7510 EFLAGS: 00010287
[134243.822929] RAX: 000000000000c000 RBX: ffff96159a8c1000 RCX: 0000000000000000
[134243.823816] RDX: 0000000000008000 RSI: 0000000000000000 RDI: ffff96158067a810
[134243.824742] RBP: ffff96158067a800 R08: 0000000000000001 R09: 0000000000000000
[134243.825636] R10: ffff961501432a40 R11: 0000000000000000 R12: 000000000000c000
[134243.826532] R13: 0000000000000001 R14: ffffffffffff4000 R15: ffff96158067a810
[134243.827432] FS: 0000000000000000(0000) GS:ffff9615baa00000(0000) knlGS:0000000000000000
[134243.828451] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[134243.829184] CR2: 000055bd7e414000 CR3: 00000001077be004 CR4: 00000000003606e0
[134243.830083] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[134243.830975] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[134243.831867] Call Trace:
[134243.832211] find_free_extent+0x4a0/0x16c0 [btrfs]
[134243.832846] btrfs_reserve_extent+0x91/0x180 [btrfs]
[134243.833487] cow_file_range+0x12d/0x490 [btrfs]
[134243.834080] fallback_to_cow+0x82/0x1b0 [btrfs]
[134243.834689] ? release_extent_buffer+0x121/0x170 [btrfs]
[134243.835370] run_delalloc_nocow+0x33f/0xa30 [btrfs]
[134243.836032] btrfs_run_delalloc_range+0x1ea/0x6d0 [btrfs]
[134243.836725] ? find_lock_delalloc_range+0x221/0x250 [btrfs]
[134243.837450] writepage_delalloc+0xe8/0x150 [btrfs]
[134243.838059] __extent_writepage+0xe8/0x4c0 [btrfs]
[134243.838674] extent_write_cache_pages+0x237/0x530 [btrfs]
[134243.839364] extent_writepages+0x44/0xa0 [btrfs]
[134243.839946] do_writepages+0x23/0x80
[134243.840401] __writeback_single_inode+0x59/0x700
[134243.841006] writeback_sb_inodes+0x267/0x5f0
[134243.841548] __writeback_inodes_wb+0x87/0xe0
[134243.842091] wb_writeback+0x382/0x590
[134243.842574] ? wb_workfn+0x4a2/0x6c0
[134243.843030] wb_workfn+0x4a2/0x6c0
[134243.843468] process_one_work+0x26d/0x6a0
[134243.843978] worker_thread+0x4f/0x3e0
[134243.844452] ? process_one_work+0x6a0/0x6a0
[134243.844981] kthread+0x103/0x140
[134243.845400] ? kthread_create_worker_on_cpu+0x70/0x70
[134243.846030] ret_from_fork+0x3a/0x50
[134243.846494] irq event stamp: 0
[134243.846892] hardirqs last enabled at (0): [<0000000000000000>] 0x0
[134243.847682] hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134243.848687] softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134243.849913] softirqs last disabled at (0): [<0000000000000000>] 0x0
[134243.850698] ---[ end trace bd7c03622e0b0a96 ]---
[134243.851335] ------------[ cut here ]------------
When relocating a data block group, for each extent allocated in the
block group we preallocate another extent with the same size for the
data relocation inode (we do it at prealloc_file_extent_cluster()).
We reserve space by calling btrfs_check_data_free_space(), which ends
up incrementing the data space_info's bytes_may_use counter, and
then call btrfs_prealloc_file_range() to allocate the extent, which
always decrements the bytes_may_use counter by the same amount.
The expectation is that writeback of the data relocation inode always
follows a NOCOW path, by writing into the preallocated extents. However,
when starting writeback we might end up falling back into the COW path,
because the block group that contains the preallocated extent was turned
into RO mode by a scrub running in parallel. The COW path then calls the
extent allocator which ends up calling btrfs_add_reserved_bytes(), and
this function decrements the bytes_may_use counter of the data space_info
object by an amount corresponding to the size of the allocated extent,
despite we haven't previously incremented it. When the counter currently
has a value smaller then the allocated extent we reset the counter to 0
and emit a warning, otherwise we just decrement it and slowly mess up
with this counter which is crucial for space reservation, the end result
can be granting reserved space to tasks when there isn't really enough
free space, and having the tasks fail later in critical places where
error handling consists of a transaction abort or hitting a BUG_ON().
Fix this by making sure that if we fallback to the COW path for a data
relocation inode, we increment the bytes_may_use counter of the data
space_info object. The COW path will then decrement it at
btrfs_add_reserved_bytes() on success or through its error handling part
by a call to extent_clear_unlock_delalloc() (which ends up calling
btrfs_clear_delalloc_extent() that does the decrement operation) in case
of an error.
Test case btrfs/061 from fstests could sporadically trigger this.
CC: stable(a)vger.kernel.org # 4.4+
Reviewed-by: Josef Bacik <josef(a)toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 62c3f4972ff6..62b49d2db928 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1378,6 +1378,8 @@ static int fallback_to_cow(struct inode *inode, struct page *locked_page,
int *page_started, unsigned long *nr_written)
{
const bool is_space_ino = btrfs_is_free_space_inode(BTRFS_I(inode));
+ const bool is_reloc_ino = (BTRFS_I(inode)->root->root_key.objectid ==
+ BTRFS_DATA_RELOC_TREE_OBJECTID);
const u64 range_bytes = end + 1 - start;
struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
u64 range_start = start;
@@ -1408,18 +1410,23 @@ static int fallback_to_cow(struct inode *inode, struct page *locked_page,
* data space info, which we incremented in the step above.
*
* If we need to fallback to cow and the inode corresponds to a free
- * space cache inode, we must also increment bytes_may_use of the data
- * space_info for the same reason. Space caches always get a prealloc
+ * space cache inode or an inode of the data relocation tree, we must
+ * also increment bytes_may_use of the data space_info for the same
+ * reason. Space caches and relocated data extents always get a prealloc
* extent for them, however scrub or balance may have set the block
- * group that contains that extent to RO mode.
+ * group that contains that extent to RO mode and therefore force COW
+ * when starting writeback.
*/
count = count_range_bits(io_tree, &range_start, end, range_bytes,
EXTENT_NORESERVE, 0);
- if (count > 0 || is_space_ino) {
- const u64 bytes = is_space_ino ? range_bytes : count;
+ if (count > 0 || is_space_ino || is_reloc_ino) {
+ u64 bytes = count;
struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
struct btrfs_space_info *sinfo = fs_info->data_sinfo;
+ if (is_space_ino || is_reloc_ino)
+ bytes = range_bytes;
+
spin_lock(&sinfo->lock);
btrfs_space_info_update_bytes_may_use(fs_info, sinfo, bytes);
spin_unlock(&sinfo->lock);
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 6bd335b469f945f75474c11e3f577f85409f39c3 Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 8 Jun 2020 13:33:05 +0100
Subject: [PATCH] btrfs: fix bytes_may_use underflow when running balance and
scrub in parallel
When balance and scrub are running in parallel it is possible to end up
with an underflow of the bytes_may_use counter of the data space_info
object, which triggers a warning like the following:
[134243.793196] BTRFS info (device sdc): relocating block group 1104150528 flags data
[134243.806891] ------------[ cut here ]------------
[134243.807561] WARNING: CPU: 1 PID: 26884 at fs/btrfs/space-info.h:125 btrfs_add_reserved_bytes+0x1da/0x280 [btrfs]
[134243.808819] Modules linked in: btrfs blake2b_generic xor (...)
[134243.815779] CPU: 1 PID: 26884 Comm: kworker/u8:8 Tainted: G W 5.6.0-rc7-btrfs-next-58 #5
[134243.816944] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.12.0-59-gc9ba5276e321-prebuilt.qemu.org 04/01/2014
[134243.818389] Workqueue: writeback wb_workfn (flush-btrfs-108483)
[134243.819186] RIP: 0010:btrfs_add_reserved_bytes+0x1da/0x280 [btrfs]
[134243.819963] Code: 0b f2 85 (...)
[134243.822271] RSP: 0018:ffffa4160aae7510 EFLAGS: 00010287
[134243.822929] RAX: 000000000000c000 RBX: ffff96159a8c1000 RCX: 0000000000000000
[134243.823816] RDX: 0000000000008000 RSI: 0000000000000000 RDI: ffff96158067a810
[134243.824742] RBP: ffff96158067a800 R08: 0000000000000001 R09: 0000000000000000
[134243.825636] R10: ffff961501432a40 R11: 0000000000000000 R12: 000000000000c000
[134243.826532] R13: 0000000000000001 R14: ffffffffffff4000 R15: ffff96158067a810
[134243.827432] FS: 0000000000000000(0000) GS:ffff9615baa00000(0000) knlGS:0000000000000000
[134243.828451] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[134243.829184] CR2: 000055bd7e414000 CR3: 00000001077be004 CR4: 00000000003606e0
[134243.830083] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[134243.830975] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[134243.831867] Call Trace:
[134243.832211] find_free_extent+0x4a0/0x16c0 [btrfs]
[134243.832846] btrfs_reserve_extent+0x91/0x180 [btrfs]
[134243.833487] cow_file_range+0x12d/0x490 [btrfs]
[134243.834080] fallback_to_cow+0x82/0x1b0 [btrfs]
[134243.834689] ? release_extent_buffer+0x121/0x170 [btrfs]
[134243.835370] run_delalloc_nocow+0x33f/0xa30 [btrfs]
[134243.836032] btrfs_run_delalloc_range+0x1ea/0x6d0 [btrfs]
[134243.836725] ? find_lock_delalloc_range+0x221/0x250 [btrfs]
[134243.837450] writepage_delalloc+0xe8/0x150 [btrfs]
[134243.838059] __extent_writepage+0xe8/0x4c0 [btrfs]
[134243.838674] extent_write_cache_pages+0x237/0x530 [btrfs]
[134243.839364] extent_writepages+0x44/0xa0 [btrfs]
[134243.839946] do_writepages+0x23/0x80
[134243.840401] __writeback_single_inode+0x59/0x700
[134243.841006] writeback_sb_inodes+0x267/0x5f0
[134243.841548] __writeback_inodes_wb+0x87/0xe0
[134243.842091] wb_writeback+0x382/0x590
[134243.842574] ? wb_workfn+0x4a2/0x6c0
[134243.843030] wb_workfn+0x4a2/0x6c0
[134243.843468] process_one_work+0x26d/0x6a0
[134243.843978] worker_thread+0x4f/0x3e0
[134243.844452] ? process_one_work+0x6a0/0x6a0
[134243.844981] kthread+0x103/0x140
[134243.845400] ? kthread_create_worker_on_cpu+0x70/0x70
[134243.846030] ret_from_fork+0x3a/0x50
[134243.846494] irq event stamp: 0
[134243.846892] hardirqs last enabled at (0): [<0000000000000000>] 0x0
[134243.847682] hardirqs last disabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134243.848687] softirqs last enabled at (0): [<ffffffffb2abdedf>] copy_process+0x74f/0x2020
[134243.849913] softirqs last disabled at (0): [<0000000000000000>] 0x0
[134243.850698] ---[ end trace bd7c03622e0b0a96 ]---
[134243.851335] ------------[ cut here ]------------
When relocating a data block group, for each extent allocated in the
block group we preallocate another extent with the same size for the
data relocation inode (we do it at prealloc_file_extent_cluster()).
We reserve space by calling btrfs_check_data_free_space(), which ends
up incrementing the data space_info's bytes_may_use counter, and
then call btrfs_prealloc_file_range() to allocate the extent, which
always decrements the bytes_may_use counter by the same amount.
The expectation is that writeback of the data relocation inode always
follows a NOCOW path, by writing into the preallocated extents. However,
when starting writeback we might end up falling back into the COW path,
because the block group that contains the preallocated extent was turned
into RO mode by a scrub running in parallel. The COW path then calls the
extent allocator which ends up calling btrfs_add_reserved_bytes(), and
this function decrements the bytes_may_use counter of the data space_info
object by an amount corresponding to the size of the allocated extent,
despite we haven't previously incremented it. When the counter currently
has a value smaller then the allocated extent we reset the counter to 0
and emit a warning, otherwise we just decrement it and slowly mess up
with this counter which is crucial for space reservation, the end result
can be granting reserved space to tasks when there isn't really enough
free space, and having the tasks fail later in critical places where
error handling consists of a transaction abort or hitting a BUG_ON().
Fix this by making sure that if we fallback to the COW path for a data
relocation inode, we increment the bytes_may_use counter of the data
space_info object. The COW path will then decrement it at
btrfs_add_reserved_bytes() on success or through its error handling part
by a call to extent_clear_unlock_delalloc() (which ends up calling
btrfs_clear_delalloc_extent() that does the decrement operation) in case
of an error.
Test case btrfs/061 from fstests could sporadically trigger this.
CC: stable(a)vger.kernel.org # 4.4+
Reviewed-by: Josef Bacik <josef(a)toxicpanda.com>
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 62c3f4972ff6..62b49d2db928 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -1378,6 +1378,8 @@ static int fallback_to_cow(struct inode *inode, struct page *locked_page,
int *page_started, unsigned long *nr_written)
{
const bool is_space_ino = btrfs_is_free_space_inode(BTRFS_I(inode));
+ const bool is_reloc_ino = (BTRFS_I(inode)->root->root_key.objectid ==
+ BTRFS_DATA_RELOC_TREE_OBJECTID);
const u64 range_bytes = end + 1 - start;
struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
u64 range_start = start;
@@ -1408,18 +1410,23 @@ static int fallback_to_cow(struct inode *inode, struct page *locked_page,
* data space info, which we incremented in the step above.
*
* If we need to fallback to cow and the inode corresponds to a free
- * space cache inode, we must also increment bytes_may_use of the data
- * space_info for the same reason. Space caches always get a prealloc
+ * space cache inode or an inode of the data relocation tree, we must
+ * also increment bytes_may_use of the data space_info for the same
+ * reason. Space caches and relocated data extents always get a prealloc
* extent for them, however scrub or balance may have set the block
- * group that contains that extent to RO mode.
+ * group that contains that extent to RO mode and therefore force COW
+ * when starting writeback.
*/
count = count_range_bits(io_tree, &range_start, end, range_bytes,
EXTENT_NORESERVE, 0);
- if (count > 0 || is_space_ino) {
- const u64 bytes = is_space_ino ? range_bytes : count;
+ if (count > 0 || is_space_ino || is_reloc_ino) {
+ u64 bytes = count;
struct btrfs_fs_info *fs_info = BTRFS_I(inode)->root->fs_info;
struct btrfs_space_info *sinfo = fs_info->data_sinfo;
+ if (is_space_ino || is_reloc_ino)
+ bytes = range_bytes;
+
spin_lock(&sinfo->lock);
btrfs_space_info_update_bytes_may_use(fs_info, sinfo, bytes);
spin_unlock(&sinfo->lock);
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 9fecd13202f520f3f25d5b1c313adb740fe19773 Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 1 Jun 2020 19:12:06 +0100
Subject: [PATCH] btrfs: fix a block group ref counter leak after failure to
remove block group
When removing a block group, if we fail to delete the block group's item
from the extent tree, we jump to the 'out' label and end up decrementing
the block group's reference count once only (by 1), resulting in a counter
leak because the block group at that point was already removed from the
block group cache rbtree - so we have to decrement the reference count
twice, once for the rbtree and once for our lookup at the start of the
function.
There is a second bug where if removing the free space tree entries (the
call to remove_block_group_free_space()) fails we end up jumping to the
'out_put_group' label but end up decrementing the reference count only
once, when we should have done it twice, since we have already removed
the block group from the block group cache rbtree. This happens because
the reference count decrement for the rbtree reference happens after
attempting to remove the free space tree entries, which is far away from
the place where we remove the block group from the rbtree.
To make things less error prone, decrement the reference count for the
rbtree immediately after removing the block group from it. This also
eleminates the need for two different exit labels on error, renaming
'out_put_label' to just 'out' and removing the old 'out'.
Fixes: f6033c5e333238 ("btrfs: fix block group leak when removing fails")
CC: stable(a)vger.kernel.org # 4.4+
Reviewed-by: Nikolay Borisov <nborisov(a)suse.com>
Reviewed-by: Anand Jain <anand.jain(a)oracle.com>
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 176e8a292fd1..6462dd0b155c 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -940,7 +940,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
path = btrfs_alloc_path();
if (!path) {
ret = -ENOMEM;
- goto out_put_group;
+ goto out;
}
/*
@@ -978,7 +978,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
ret = btrfs_orphan_add(trans, BTRFS_I(inode));
if (ret) {
btrfs_add_delayed_iput(inode);
- goto out_put_group;
+ goto out;
}
clear_nlink(inode);
/* One for the block groups ref */
@@ -1001,13 +1001,13 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
ret = btrfs_search_slot(trans, tree_root, &key, path, -1, 1);
if (ret < 0)
- goto out_put_group;
+ goto out;
if (ret > 0)
btrfs_release_path(path);
if (ret == 0) {
ret = btrfs_del_item(trans, tree_root, path);
if (ret)
- goto out_put_group;
+ goto out;
btrfs_release_path(path);
}
@@ -1016,6 +1016,9 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
&fs_info->block_group_cache_tree);
RB_CLEAR_NODE(&block_group->cache_node);
+ /* Once for the block groups rbtree */
+ btrfs_put_block_group(block_group);
+
if (fs_info->first_logical_byte == block_group->start)
fs_info->first_logical_byte = (u64)-1;
spin_unlock(&fs_info->block_group_cache_lock);
@@ -1125,10 +1128,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
ret = remove_block_group_free_space(trans, block_group);
if (ret)
- goto out_put_group;
-
- /* Once for the block groups rbtree */
- btrfs_put_block_group(block_group);
+ goto out;
ret = remove_block_group_item(trans, path, block_group);
if (ret < 0)
@@ -1145,10 +1145,9 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
free_extent_map(em);
}
-out_put_group:
+out:
/* Once for the lookup reference */
btrfs_put_block_group(block_group);
-out:
if (remove_rsv)
btrfs_delayed_refs_rsv_release(fs_info, 1);
btrfs_free_path(path);
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 9fecd13202f520f3f25d5b1c313adb740fe19773 Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 1 Jun 2020 19:12:06 +0100
Subject: [PATCH] btrfs: fix a block group ref counter leak after failure to
remove block group
When removing a block group, if we fail to delete the block group's item
from the extent tree, we jump to the 'out' label and end up decrementing
the block group's reference count once only (by 1), resulting in a counter
leak because the block group at that point was already removed from the
block group cache rbtree - so we have to decrement the reference count
twice, once for the rbtree and once for our lookup at the start of the
function.
There is a second bug where if removing the free space tree entries (the
call to remove_block_group_free_space()) fails we end up jumping to the
'out_put_group' label but end up decrementing the reference count only
once, when we should have done it twice, since we have already removed
the block group from the block group cache rbtree. This happens because
the reference count decrement for the rbtree reference happens after
attempting to remove the free space tree entries, which is far away from
the place where we remove the block group from the rbtree.
To make things less error prone, decrement the reference count for the
rbtree immediately after removing the block group from it. This also
eleminates the need for two different exit labels on error, renaming
'out_put_label' to just 'out' and removing the old 'out'.
Fixes: f6033c5e333238 ("btrfs: fix block group leak when removing fails")
CC: stable(a)vger.kernel.org # 4.4+
Reviewed-by: Nikolay Borisov <nborisov(a)suse.com>
Reviewed-by: Anand Jain <anand.jain(a)oracle.com>
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 176e8a292fd1..6462dd0b155c 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -940,7 +940,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
path = btrfs_alloc_path();
if (!path) {
ret = -ENOMEM;
- goto out_put_group;
+ goto out;
}
/*
@@ -978,7 +978,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
ret = btrfs_orphan_add(trans, BTRFS_I(inode));
if (ret) {
btrfs_add_delayed_iput(inode);
- goto out_put_group;
+ goto out;
}
clear_nlink(inode);
/* One for the block groups ref */
@@ -1001,13 +1001,13 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
ret = btrfs_search_slot(trans, tree_root, &key, path, -1, 1);
if (ret < 0)
- goto out_put_group;
+ goto out;
if (ret > 0)
btrfs_release_path(path);
if (ret == 0) {
ret = btrfs_del_item(trans, tree_root, path);
if (ret)
- goto out_put_group;
+ goto out;
btrfs_release_path(path);
}
@@ -1016,6 +1016,9 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
&fs_info->block_group_cache_tree);
RB_CLEAR_NODE(&block_group->cache_node);
+ /* Once for the block groups rbtree */
+ btrfs_put_block_group(block_group);
+
if (fs_info->first_logical_byte == block_group->start)
fs_info->first_logical_byte = (u64)-1;
spin_unlock(&fs_info->block_group_cache_lock);
@@ -1125,10 +1128,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
ret = remove_block_group_free_space(trans, block_group);
if (ret)
- goto out_put_group;
-
- /* Once for the block groups rbtree */
- btrfs_put_block_group(block_group);
+ goto out;
ret = remove_block_group_item(trans, path, block_group);
if (ret < 0)
@@ -1145,10 +1145,9 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
free_extent_map(em);
}
-out_put_group:
+out:
/* Once for the lookup reference */
btrfs_put_block_group(block_group);
-out:
if (remove_rsv)
btrfs_delayed_refs_rsv_release(fs_info, 1);
btrfs_free_path(path);
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 9fecd13202f520f3f25d5b1c313adb740fe19773 Mon Sep 17 00:00:00 2001
From: Filipe Manana <fdmanana(a)suse.com>
Date: Mon, 1 Jun 2020 19:12:06 +0100
Subject: [PATCH] btrfs: fix a block group ref counter leak after failure to
remove block group
When removing a block group, if we fail to delete the block group's item
from the extent tree, we jump to the 'out' label and end up decrementing
the block group's reference count once only (by 1), resulting in a counter
leak because the block group at that point was already removed from the
block group cache rbtree - so we have to decrement the reference count
twice, once for the rbtree and once for our lookup at the start of the
function.
There is a second bug where if removing the free space tree entries (the
call to remove_block_group_free_space()) fails we end up jumping to the
'out_put_group' label but end up decrementing the reference count only
once, when we should have done it twice, since we have already removed
the block group from the block group cache rbtree. This happens because
the reference count decrement for the rbtree reference happens after
attempting to remove the free space tree entries, which is far away from
the place where we remove the block group from the rbtree.
To make things less error prone, decrement the reference count for the
rbtree immediately after removing the block group from it. This also
eleminates the need for two different exit labels on error, renaming
'out_put_label' to just 'out' and removing the old 'out'.
Fixes: f6033c5e333238 ("btrfs: fix block group leak when removing fails")
CC: stable(a)vger.kernel.org # 4.4+
Reviewed-by: Nikolay Borisov <nborisov(a)suse.com>
Reviewed-by: Anand Jain <anand.jain(a)oracle.com>
Signed-off-by: Filipe Manana <fdmanana(a)suse.com>
Reviewed-by: David Sterba <dsterba(a)suse.com>
Signed-off-by: David Sterba <dsterba(a)suse.com>
diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c
index 176e8a292fd1..6462dd0b155c 100644
--- a/fs/btrfs/block-group.c
+++ b/fs/btrfs/block-group.c
@@ -940,7 +940,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
path = btrfs_alloc_path();
if (!path) {
ret = -ENOMEM;
- goto out_put_group;
+ goto out;
}
/*
@@ -978,7 +978,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
ret = btrfs_orphan_add(trans, BTRFS_I(inode));
if (ret) {
btrfs_add_delayed_iput(inode);
- goto out_put_group;
+ goto out;
}
clear_nlink(inode);
/* One for the block groups ref */
@@ -1001,13 +1001,13 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
ret = btrfs_search_slot(trans, tree_root, &key, path, -1, 1);
if (ret < 0)
- goto out_put_group;
+ goto out;
if (ret > 0)
btrfs_release_path(path);
if (ret == 0) {
ret = btrfs_del_item(trans, tree_root, path);
if (ret)
- goto out_put_group;
+ goto out;
btrfs_release_path(path);
}
@@ -1016,6 +1016,9 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
&fs_info->block_group_cache_tree);
RB_CLEAR_NODE(&block_group->cache_node);
+ /* Once for the block groups rbtree */
+ btrfs_put_block_group(block_group);
+
if (fs_info->first_logical_byte == block_group->start)
fs_info->first_logical_byte = (u64)-1;
spin_unlock(&fs_info->block_group_cache_lock);
@@ -1125,10 +1128,7 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
ret = remove_block_group_free_space(trans, block_group);
if (ret)
- goto out_put_group;
-
- /* Once for the block groups rbtree */
- btrfs_put_block_group(block_group);
+ goto out;
ret = remove_block_group_item(trans, path, block_group);
if (ret < 0)
@@ -1145,10 +1145,9 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans,
free_extent_map(em);
}
-out_put_group:
+out:
/* Once for the lookup reference */
btrfs_put_block_group(block_group);
-out:
if (remove_rsv)
btrfs_delayed_refs_rsv_release(fs_info, 1);
btrfs_free_path(path);
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From a13b9d0b97211579ea63b96c606de79b963c0f47 Mon Sep 17 00:00:00 2001
From: Kees Cook <keescook(a)chromium.org>
Date: Mon, 8 Jun 2020 20:15:09 -0700
Subject: [PATCH] x86/cpu: Use pinning mask for CR4 bits needing to be 0
The X86_CR4_FSGSBASE bit of CR4 should not change after boot[1]. Older
kernels should enforce this bit to zero, and newer kernels need to
enforce it depending on boot-time configuration (e.g. "nofsgsbase").
To support a pinned bit being either 1 or 0, use an explicit mask in
combination with the expected pinned bit values.
[1] https://lore.kernel.org/lkml/20200527103147.GI325280@hirez.programming.kick…
Signed-off-by: Kees Cook <keescook(a)chromium.org>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Cc: stable(a)vger.kernel.org
Link: https://lkml.kernel.org/r/202006082013.71E29A42@keescook
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 043d93cdcaad..95c090a45b4b 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -347,6 +347,9 @@ static __always_inline void setup_umip(struct cpuinfo_x86 *c)
cr4_clear_bits(X86_CR4_UMIP);
}
+/* These bits should not change their value after CPU init is finished. */
+static const unsigned long cr4_pinned_mask =
+ X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP | X86_CR4_FSGSBASE;
static DEFINE_STATIC_KEY_FALSE_RO(cr_pinning);
static unsigned long cr4_pinned_bits __ro_after_init;
@@ -371,20 +374,20 @@ EXPORT_SYMBOL(native_write_cr0);
void native_write_cr4(unsigned long val)
{
- unsigned long bits_missing = 0;
+ unsigned long bits_changed = 0;
set_register:
asm volatile("mov %0,%%cr4": "+r" (val), "+m" (cr4_pinned_bits));
if (static_branch_likely(&cr_pinning)) {
- if (unlikely((val & cr4_pinned_bits) != cr4_pinned_bits)) {
- bits_missing = ~val & cr4_pinned_bits;
- val |= bits_missing;
+ if (unlikely((val & cr4_pinned_mask) != cr4_pinned_bits)) {
+ bits_changed = (val & cr4_pinned_mask) ^ cr4_pinned_bits;
+ val = (val & ~cr4_pinned_mask) | cr4_pinned_bits;
goto set_register;
}
- /* Warn after we've set the missing bits. */
- WARN_ONCE(bits_missing, "CR4 bits went missing: %lx!?\n",
- bits_missing);
+ /* Warn after we've corrected the changed bits. */
+ WARN_ONCE(bits_changed, "pinned CR4 bits changed: 0x%lx!?\n",
+ bits_changed);
}
}
#if IS_MODULE(CONFIG_LKDTM)
@@ -419,7 +422,7 @@ void cr4_init(void)
if (boot_cpu_has(X86_FEATURE_PCID))
cr4 |= X86_CR4_PCIDE;
if (static_branch_likely(&cr_pinning))
- cr4 |= cr4_pinned_bits;
+ cr4 = (cr4 & ~cr4_pinned_mask) | cr4_pinned_bits;
__write_cr4(cr4);
@@ -434,10 +437,7 @@ void cr4_init(void)
*/
static void __init setup_cr_pinning(void)
{
- unsigned long mask;
-
- mask = (X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP);
- cr4_pinned_bits = this_cpu_read(cpu_tlbstate.cr4) & mask;
+ cr4_pinned_bits = this_cpu_read(cpu_tlbstate.cr4) & cr4_pinned_mask;
static_key_enable(&cr_pinning.key);
}
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From a13b9d0b97211579ea63b96c606de79b963c0f47 Mon Sep 17 00:00:00 2001
From: Kees Cook <keescook(a)chromium.org>
Date: Mon, 8 Jun 2020 20:15:09 -0700
Subject: [PATCH] x86/cpu: Use pinning mask for CR4 bits needing to be 0
The X86_CR4_FSGSBASE bit of CR4 should not change after boot[1]. Older
kernels should enforce this bit to zero, and newer kernels need to
enforce it depending on boot-time configuration (e.g. "nofsgsbase").
To support a pinned bit being either 1 or 0, use an explicit mask in
combination with the expected pinned bit values.
[1] https://lore.kernel.org/lkml/20200527103147.GI325280@hirez.programming.kick…
Signed-off-by: Kees Cook <keescook(a)chromium.org>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Cc: stable(a)vger.kernel.org
Link: https://lkml.kernel.org/r/202006082013.71E29A42@keescook
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 043d93cdcaad..95c090a45b4b 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -347,6 +347,9 @@ static __always_inline void setup_umip(struct cpuinfo_x86 *c)
cr4_clear_bits(X86_CR4_UMIP);
}
+/* These bits should not change their value after CPU init is finished. */
+static const unsigned long cr4_pinned_mask =
+ X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP | X86_CR4_FSGSBASE;
static DEFINE_STATIC_KEY_FALSE_RO(cr_pinning);
static unsigned long cr4_pinned_bits __ro_after_init;
@@ -371,20 +374,20 @@ EXPORT_SYMBOL(native_write_cr0);
void native_write_cr4(unsigned long val)
{
- unsigned long bits_missing = 0;
+ unsigned long bits_changed = 0;
set_register:
asm volatile("mov %0,%%cr4": "+r" (val), "+m" (cr4_pinned_bits));
if (static_branch_likely(&cr_pinning)) {
- if (unlikely((val & cr4_pinned_bits) != cr4_pinned_bits)) {
- bits_missing = ~val & cr4_pinned_bits;
- val |= bits_missing;
+ if (unlikely((val & cr4_pinned_mask) != cr4_pinned_bits)) {
+ bits_changed = (val & cr4_pinned_mask) ^ cr4_pinned_bits;
+ val = (val & ~cr4_pinned_mask) | cr4_pinned_bits;
goto set_register;
}
- /* Warn after we've set the missing bits. */
- WARN_ONCE(bits_missing, "CR4 bits went missing: %lx!?\n",
- bits_missing);
+ /* Warn after we've corrected the changed bits. */
+ WARN_ONCE(bits_changed, "pinned CR4 bits changed: 0x%lx!?\n",
+ bits_changed);
}
}
#if IS_MODULE(CONFIG_LKDTM)
@@ -419,7 +422,7 @@ void cr4_init(void)
if (boot_cpu_has(X86_FEATURE_PCID))
cr4 |= X86_CR4_PCIDE;
if (static_branch_likely(&cr_pinning))
- cr4 |= cr4_pinned_bits;
+ cr4 = (cr4 & ~cr4_pinned_mask) | cr4_pinned_bits;
__write_cr4(cr4);
@@ -434,10 +437,7 @@ void cr4_init(void)
*/
static void __init setup_cr_pinning(void)
{
- unsigned long mask;
-
- mask = (X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP);
- cr4_pinned_bits = this_cpu_read(cpu_tlbstate.cr4) & mask;
+ cr4_pinned_bits = this_cpu_read(cpu_tlbstate.cr4) & cr4_pinned_mask;
static_key_enable(&cr_pinning.key);
}
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From a13b9d0b97211579ea63b96c606de79b963c0f47 Mon Sep 17 00:00:00 2001
From: Kees Cook <keescook(a)chromium.org>
Date: Mon, 8 Jun 2020 20:15:09 -0700
Subject: [PATCH] x86/cpu: Use pinning mask for CR4 bits needing to be 0
The X86_CR4_FSGSBASE bit of CR4 should not change after boot[1]. Older
kernels should enforce this bit to zero, and newer kernels need to
enforce it depending on boot-time configuration (e.g. "nofsgsbase").
To support a pinned bit being either 1 or 0, use an explicit mask in
combination with the expected pinned bit values.
[1] https://lore.kernel.org/lkml/20200527103147.GI325280@hirez.programming.kick…
Signed-off-by: Kees Cook <keescook(a)chromium.org>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Cc: stable(a)vger.kernel.org
Link: https://lkml.kernel.org/r/202006082013.71E29A42@keescook
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 043d93cdcaad..95c090a45b4b 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -347,6 +347,9 @@ static __always_inline void setup_umip(struct cpuinfo_x86 *c)
cr4_clear_bits(X86_CR4_UMIP);
}
+/* These bits should not change their value after CPU init is finished. */
+static const unsigned long cr4_pinned_mask =
+ X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP | X86_CR4_FSGSBASE;
static DEFINE_STATIC_KEY_FALSE_RO(cr_pinning);
static unsigned long cr4_pinned_bits __ro_after_init;
@@ -371,20 +374,20 @@ EXPORT_SYMBOL(native_write_cr0);
void native_write_cr4(unsigned long val)
{
- unsigned long bits_missing = 0;
+ unsigned long bits_changed = 0;
set_register:
asm volatile("mov %0,%%cr4": "+r" (val), "+m" (cr4_pinned_bits));
if (static_branch_likely(&cr_pinning)) {
- if (unlikely((val & cr4_pinned_bits) != cr4_pinned_bits)) {
- bits_missing = ~val & cr4_pinned_bits;
- val |= bits_missing;
+ if (unlikely((val & cr4_pinned_mask) != cr4_pinned_bits)) {
+ bits_changed = (val & cr4_pinned_mask) ^ cr4_pinned_bits;
+ val = (val & ~cr4_pinned_mask) | cr4_pinned_bits;
goto set_register;
}
- /* Warn after we've set the missing bits. */
- WARN_ONCE(bits_missing, "CR4 bits went missing: %lx!?\n",
- bits_missing);
+ /* Warn after we've corrected the changed bits. */
+ WARN_ONCE(bits_changed, "pinned CR4 bits changed: 0x%lx!?\n",
+ bits_changed);
}
}
#if IS_MODULE(CONFIG_LKDTM)
@@ -419,7 +422,7 @@ void cr4_init(void)
if (boot_cpu_has(X86_FEATURE_PCID))
cr4 |= X86_CR4_PCIDE;
if (static_branch_likely(&cr_pinning))
- cr4 |= cr4_pinned_bits;
+ cr4 = (cr4 & ~cr4_pinned_mask) | cr4_pinned_bits;
__write_cr4(cr4);
@@ -434,10 +437,7 @@ void cr4_init(void)
*/
static void __init setup_cr_pinning(void)
{
- unsigned long mask;
-
- mask = (X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP);
- cr4_pinned_bits = this_cpu_read(cpu_tlbstate.cr4) & mask;
+ cr4_pinned_bits = this_cpu_read(cpu_tlbstate.cr4) & cr4_pinned_mask;
static_key_enable(&cr_pinning.key);
}
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From a13b9d0b97211579ea63b96c606de79b963c0f47 Mon Sep 17 00:00:00 2001
From: Kees Cook <keescook(a)chromium.org>
Date: Mon, 8 Jun 2020 20:15:09 -0700
Subject: [PATCH] x86/cpu: Use pinning mask for CR4 bits needing to be 0
The X86_CR4_FSGSBASE bit of CR4 should not change after boot[1]. Older
kernels should enforce this bit to zero, and newer kernels need to
enforce it depending on boot-time configuration (e.g. "nofsgsbase").
To support a pinned bit being either 1 or 0, use an explicit mask in
combination with the expected pinned bit values.
[1] https://lore.kernel.org/lkml/20200527103147.GI325280@hirez.programming.kick…
Signed-off-by: Kees Cook <keescook(a)chromium.org>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Cc: stable(a)vger.kernel.org
Link: https://lkml.kernel.org/r/202006082013.71E29A42@keescook
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 043d93cdcaad..95c090a45b4b 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -347,6 +347,9 @@ static __always_inline void setup_umip(struct cpuinfo_x86 *c)
cr4_clear_bits(X86_CR4_UMIP);
}
+/* These bits should not change their value after CPU init is finished. */
+static const unsigned long cr4_pinned_mask =
+ X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP | X86_CR4_FSGSBASE;
static DEFINE_STATIC_KEY_FALSE_RO(cr_pinning);
static unsigned long cr4_pinned_bits __ro_after_init;
@@ -371,20 +374,20 @@ EXPORT_SYMBOL(native_write_cr0);
void native_write_cr4(unsigned long val)
{
- unsigned long bits_missing = 0;
+ unsigned long bits_changed = 0;
set_register:
asm volatile("mov %0,%%cr4": "+r" (val), "+m" (cr4_pinned_bits));
if (static_branch_likely(&cr_pinning)) {
- if (unlikely((val & cr4_pinned_bits) != cr4_pinned_bits)) {
- bits_missing = ~val & cr4_pinned_bits;
- val |= bits_missing;
+ if (unlikely((val & cr4_pinned_mask) != cr4_pinned_bits)) {
+ bits_changed = (val & cr4_pinned_mask) ^ cr4_pinned_bits;
+ val = (val & ~cr4_pinned_mask) | cr4_pinned_bits;
goto set_register;
}
- /* Warn after we've set the missing bits. */
- WARN_ONCE(bits_missing, "CR4 bits went missing: %lx!?\n",
- bits_missing);
+ /* Warn after we've corrected the changed bits. */
+ WARN_ONCE(bits_changed, "pinned CR4 bits changed: 0x%lx!?\n",
+ bits_changed);
}
}
#if IS_MODULE(CONFIG_LKDTM)
@@ -419,7 +422,7 @@ void cr4_init(void)
if (boot_cpu_has(X86_FEATURE_PCID))
cr4 |= X86_CR4_PCIDE;
if (static_branch_likely(&cr_pinning))
- cr4 |= cr4_pinned_bits;
+ cr4 = (cr4 & ~cr4_pinned_mask) | cr4_pinned_bits;
__write_cr4(cr4);
@@ -434,10 +437,7 @@ void cr4_init(void)
*/
static void __init setup_cr_pinning(void)
{
- unsigned long mask;
-
- mask = (X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP);
- cr4_pinned_bits = this_cpu_read(cpu_tlbstate.cr4) & mask;
+ cr4_pinned_bits = this_cpu_read(cpu_tlbstate.cr4) & cr4_pinned_mask;
static_key_enable(&cr_pinning.key);
}
From: Gao Xiang <hsiangkao(a)redhat.com>
commit 3c597282887fd55181578996dca52ce697d985a5 upstream.
Hongyu reported "id != index" in z_erofs_onlinepage_fixup() with
specific aarch64 environment easily, which wasn't shown before.
After digging into that, I found that high 32 bits of page->private
was set to 0xaaaaaaaa rather than 0 (due to z_erofs_onlinepage_init
behavior with specific compiler options). Actually we only use low
32 bits to keep the page information since page->private is only 4
bytes on most 32-bit platforms. However z_erofs_onlinepage_fixup()
uses the upper 32 bits by mistake.
Let's fix it now.
Reported-and-tested-by: Hongyu Jin <hongyu.jin(a)unisoc.com>
Fixes: 3883a79abd02 ("staging: erofs: introduce VLE decompression support")
Cc: <stable(a)vger.kernel.org> # 4.19+
Reviewed-by: Chao Yu <yuchao0(a)huawei.com>
Link: https://lore.kernel.org/r/20200618234349.22553-1-hsiangkao@aol.com
Signed-off-by: Gao Xiang <hsiangkao(a)redhat.com>
---
This fix has been merged into Linus's tree just now (today).
Since the patch could not directly be applied to 4.19, manually handle this.
drivers/staging/erofs/unzip_vle.h | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/staging/erofs/unzip_vle.h b/drivers/staging/erofs/unzip_vle.h
index 684ff06fc7bf..630fd1f4f123 100644
--- a/drivers/staging/erofs/unzip_vle.h
+++ b/drivers/staging/erofs/unzip_vle.h
@@ -169,22 +169,22 @@ static inline void z_erofs_onlinepage_init(struct page *page)
static inline void z_erofs_onlinepage_fixup(struct page *page,
uintptr_t index, bool down)
{
- unsigned long *p, o, v, id;
-repeat:
- p = &page_private(page);
- o = READ_ONCE(*p);
+ union z_erofs_onlinepage_converter u = { .v = &page_private(page) };
+ int orig, orig_index, val;
- id = o >> Z_EROFS_ONLINEPAGE_INDEX_SHIFT;
- if (id) {
+repeat:
+ orig = atomic_read(u.o);
+ orig_index = orig >> Z_EROFS_ONLINEPAGE_INDEX_SHIFT;
+ if (orig_index) {
if (!index)
return;
- BUG_ON(id != index);
+ DBG_BUGON(orig_index != index);
}
- v = (index << Z_EROFS_ONLINEPAGE_INDEX_SHIFT) |
- ((o & Z_EROFS_ONLINEPAGE_COUNT_MASK) + (unsigned)down);
- if (cmpxchg(p, o, v) != o)
+ val = (index << Z_EROFS_ONLINEPAGE_INDEX_SHIFT) |
+ ((orig & Z_EROFS_ONLINEPAGE_COUNT_MASK) + (unsigned int)down);
+ if (atomic_cmpxchg(u.o, orig, val) != orig)
goto repeat;
}
--
2.24.0
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: c291ca510bff - loop: replace kill_bdev with invalidate_bdev
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://cki-artifacts.s3.us-east-2.amazonaws.com/index.html?prefix=dataware…
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
ppc64le:
Host 1:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
⚡⚡⚡ Boot test
🚧 ⚡⚡⚡ kdump - sysrq-c
Host 3:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 💥 jvm - DaCapo Benchmark Suite
🚧 ⚡⚡⚡ jvm - jcstress tests
🚧 ⚡⚡⚡ Memory function: kaslr
🚧 ⚡⚡⚡ Networking firewall: basic netfilter test
🚧 ⚡⚡⚡ audit: audit testsuite test
🚧 ⚡⚡⚡ trace: ftrace/tracer
Host 4:
✅ Boot test
🚧 ✅ kdump - sysrq-c
s390x:
Host 1:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ⚡⚡⚡ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 3:
✅ Boot test
✅ selinux-policy: serge-testsuite
✅ stress: stress-ng
🚧 ✅ Storage blktests
x86_64:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: sanity smoke test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ❌ CPU: Frequency Driver Test
🚧 ✅ CPU: Idle Test
🚧 ✅ IOMMU boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
Host 3:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Aborted tests
-------------
Tests that didn't complete running successfully are marked with ⚡⚡⚡.
If this was caused by an infrastructure issue, we try to mark that
explicitly in the report.
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running yet are marked with ⏱.
From: Alexander Usyskin <alexander.usyskin(a)intel.com>
It's not needed to set driver to NULL in mei_cl_device_remove()
which is bus_type remove() handler as this is done anyway
in __device_release_driver().
Actually this is causing an endless loop in driver_detach()
on ubuntu patched kernel, while removing (rmmod) the mei_hdcp module.
The reason list_empty(&drv->p->klist_devices.k_list) is always not-empty.
as the check is always true in __device_release_driver()
if (dev->driver != drv)
return;
The non upstream patch is causing this behavior, titled:
'vfio -- release device lock before userspace requests'
Nevertheless the fix is correct also for the upstream.
Link: https://patchwork.ozlabs.org/project/ubuntu-kernel/patch/20180912085046.340…
Cc: <stable(a)vger.kernel.org>
Cc: Andy Whitcroft <apw(a)canonical.com>
Signed-off-by: Alexander Usyskin <alexander.usyskin(a)intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler(a)intel.com>
---
drivers/misc/mei/bus.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c
index 8d468e0a950a..f476dbc7252b 100644
--- a/drivers/misc/mei/bus.c
+++ b/drivers/misc/mei/bus.c
@@ -745,9 +745,8 @@ static int mei_cl_device_remove(struct device *dev)
mei_cl_bus_module_put(cldev);
module_put(THIS_MODULE);
- dev->driver = NULL;
- return ret;
+ return ret;
}
static ssize_t name_show(struct device *dev, struct device_attribute *a,
--
2.25.4
If system memory is migrated to device private memory and no GPU MMU
page table entry exists, the GPU will fault and call hmm_range_fault()
to get the PFN for the page. Since the .dev_private_owner pointer in
struct hmm_range is not set, hmm_range_fault returns an error which
results in the GPU program stopping with a fatal fault.
Fix this by setting .dev_private_owner appropriately.
Fixes: 08ddddda667b ("mm/hmm: check the device private page owner in hmm_range_fault()")
Cc: stable(a)vger.kernel.org
Signed-off-by: Ralph Campbell <rcampbell(a)nvidia.com>
Reviewed-by: Jason Gunthorpe <jgg(a)mellanox.com>
---
This is based on Linux-5.8.0-rc2 and is for Ben Skeggs nouveau tree.
It doesn't depend on any of the other nouveau/HMM changes I have
recently posted.
Resending to include stable(a)vger.org and adding Jason's reviewed-by.
drivers/gpu/drm/nouveau/nouveau_svm.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c
index ba9f9359c30e..6586d9d39874 100644
--- a/drivers/gpu/drm/nouveau/nouveau_svm.c
+++ b/drivers/gpu/drm/nouveau/nouveau_svm.c
@@ -562,6 +562,7 @@ static int nouveau_range_fault(struct nouveau_svmm *svmm,
.end = notifier->notifier.interval_tree.last + 1,
.pfn_flags_mask = HMM_PFN_REQ_FAULT | HMM_PFN_REQ_WRITE,
.hmm_pfns = hmm_pfns,
+ .dev_private_owner = drm->dev,
};
struct mm_struct *mm = notifier->notifier.mm;
int ret;
--
2.20.1
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 6b69040247e14b43419a520f841f2b3052833df9 Mon Sep 17 00:00:00 2001
From: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Date: Tue, 23 Jun 2020 07:31:54 -0400
Subject: [PATCH] cifs/smb3: Fix data inconsistent when zero file range
CIFS implements the fallocate(FALLOC_FL_ZERO_RANGE) with send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. It just set the range of the
remote file to zero, but local page cache not update, then the data
inconsistent with server, which leads the xfstest generic/008 failed.
So we need to remove the local page caches before send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. After next read, it will
re-cache it.
Fixes: 30175628bf7f5 ("[SMB3] Enable fallocate -z support for SMB3 mounts")
Reported-by: Hulk Robot <hulkci(a)huawei.com>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Reviewed-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Cc: stable(a)vger.kernel.org # v3.17
Signed-off-by: Steve French <stfrench(a)microsoft.com>
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 28553d45604e..876a0d9e3d46 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -3188,6 +3188,11 @@ static long smb3_zero_range(struct file *file, struct cifs_tcon *tcon,
trace_smb3_zero_enter(xid, cfile->fid.persistent_fid, tcon->tid,
ses->Suid, offset, len);
+ /*
+ * We zero the range through ioctl, so we need remove the page caches
+ * first, otherwise the data may be inconsistent with the server.
+ */
+ truncate_pagecache_range(inode, offset, offset + len - 1);
/* if file not oplocked can't be sure whether asking to extend size */
if (!CIFS_CACHE_READ(cifsi))
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From acc91c2d8de4ef46ed751c5f9df99ed9a109b100 Mon Sep 17 00:00:00 2001
From: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Date: Tue, 23 Jun 2020 07:31:53 -0400
Subject: [PATCH] cifs/smb3: Fix data inconsistent when punch hole
When punch hole success, we also can read old data from file:
# strace -e trace=pread64,fallocate xfs_io -f -c "pread 20 40" \
-c "fpunch 20 40" -c"pread 20 40" file
pread64(3, " version 5.8.0-rc1+"..., 40, 20) = 40
fallocate(3, FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE, 20, 40) = 0
pread64(3, " version 5.8.0-rc1+"..., 40, 20) = 40
CIFS implements the fallocate(FALLOCATE_FL_PUNCH_HOLE) with send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. It just set the range of the
remote file to zero, but local page caches not updated, then the
local page caches inconsistent with server.
Also can be found by xfstests generic/316.
So, we need to remove the page caches before send the SMB
ioctl(FSCTL_SET_ZERO_DATA) to server.
Fixes: 31742c5a33176 ("enable fallocate punch hole ("fallocate -p") for SMB3")
Suggested-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Cc: stable(a)vger.kernel.org # v3.17
Signed-off-by: Steve French <stfrench(a)microsoft.com>
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 876a0d9e3d46..d9fdafa5eb60 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -3259,6 +3259,12 @@ static long smb3_punch_hole(struct file *file, struct cifs_tcon *tcon,
return rc;
}
+ /*
+ * We implement the punch hole through ioctl, so we need remove the page
+ * caches first, otherwise the data may be inconsistent with the server.
+ */
+ truncate_pagecache_range(inode, offset, offset + len - 1);
+
cifs_dbg(FYI, "Offset %lld len %lld\n", offset, len);
fsctl_buf.FileOffset = cpu_to_le64(offset);
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From b3d71abd135e6919ca0b6cab463738472653ddfb Mon Sep 17 00:00:00 2001
From: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Date: Wed, 24 Jun 2020 16:59:49 +0300
Subject: [PATCH] xhci: Poll for U0 after disabling USB2 LPM
USB2 devices with LPM enabled may interrupt the system suspend:
[ 932.510475] usb 1-7: usb suspend, wakeup 0
[ 932.510549] hub 1-0:1.0: hub_suspend
[ 932.510581] usb usb1: bus suspend, wakeup 0
[ 932.510590] xhci_hcd 0000:00:14.0: port 9 not suspended
[ 932.510593] xhci_hcd 0000:00:14.0: port 8 not suspended
..
[ 932.520323] xhci_hcd 0000:00:14.0: Port change event, 1-7, id 7, portsc: 0x400e03
..
[ 932.591405] PM: pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -16
[ 932.591414] PM: dpm_run_callback(): pci_pm_suspend+0x0/0x160 returns -16
[ 932.591418] PM: Device 0000:00:14.0 failed to suspend async: error -16
During system suspend, USB core will let HC suspends the device if it
doesn't have remote wakeup enabled and doesn't have any children.
However, from the log above we can see that the usb 1-7 doesn't get bus
suspended due to not in U0. After a while the port finished U2 -> U0
transition, interrupts the suspend process.
The observation is that after disabling LPM, port doesn't transit to U0
immediately and can linger in U2. xHCI spec 4.23.5.2 states that the
maximum exit latency for USB2 LPM should be BESL + 10us. The BESL for
the affected device is advertised as 400us, which is still not enough
based on my testing result.
So let's use the maximum permitted latency, 10000, to poll for U0
status to solve the issue.
Cc: stable(a)vger.kernel.org
Signed-off-by: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Link: https://lore.kernel.org/r/20200624135949.22611-6-mathias.nyman@linux.intel.…
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index f97106e2860f..ed468eed299c 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4475,6 +4475,9 @@ static int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
mutex_lock(hcd->bandwidth_mutex);
xhci_change_max_exit_latency(xhci, udev, 0);
mutex_unlock(hcd->bandwidth_mutex);
+ readl_poll_timeout(ports[port_num]->addr, pm_val,
+ (pm_val & PORT_PLS_MASK) == XDEV_U0,
+ 100, 10000);
return 0;
}
}
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 220345e98f1cdc768eeb6e3364a0fa7ab9647fe7 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Wed, 24 Jun 2020 14:23:40 +0200
Subject: [PATCH] ALSA: usb-audio: Fix OOB access of mixer element list
The USB-audio mixer code holds a linked list of usb_mixer_elem_list,
and several operations are performed for each mixer element. A few of
them (snd_usb_mixer_notify_id() and snd_usb_mixer_interrupt_v2())
assume each mixer element being a usb_mixer_elem_info object that is a
subclass of usb_mixer_elem_list, cast via container_of() and access it
members. This may result in an out-of-bound access when a
non-standard list element has been added, as spotted by syzkaller
recently.
This patch adds a new field, is_std_info, in usb_mixer_elem_list to
indicate that the element is the usb_mixer_elem_info type or not, and
skip the access to such an element if needed.
Reported-by: syzbot+fb14314433463ad51625(a)syzkaller.appspotmail.com
Reported-by: syzbot+2405ca3401e943c538b5(a)syzkaller.appspotmail.com
Cc: <stable(a)vger.kernel.org>
Link: https://lore.kernel.org/r/20200624122340.9615-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index 15769f266790..eab0fd4fd7c3 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -581,8 +581,9 @@ static int check_matrix_bitmap(unsigned char *bmap,
* if failed, give up and free the control instance.
*/
-int snd_usb_mixer_add_control(struct usb_mixer_elem_list *list,
- struct snd_kcontrol *kctl)
+int snd_usb_mixer_add_list(struct usb_mixer_elem_list *list,
+ struct snd_kcontrol *kctl,
+ bool is_std_info)
{
struct usb_mixer_interface *mixer = list->mixer;
int err;
@@ -596,6 +597,7 @@ int snd_usb_mixer_add_control(struct usb_mixer_elem_list *list,
return err;
}
list->kctl = kctl;
+ list->is_std_info = is_std_info;
list->next_id_elem = mixer->id_elems[list->id];
mixer->id_elems[list->id] = list;
return 0;
@@ -3234,8 +3236,11 @@ void snd_usb_mixer_notify_id(struct usb_mixer_interface *mixer, int unitid)
unitid = delegate_notify(mixer, unitid, NULL, NULL);
for_each_mixer_elem(list, mixer, unitid) {
- struct usb_mixer_elem_info *info =
- mixer_elem_list_to_info(list);
+ struct usb_mixer_elem_info *info;
+
+ if (!list->is_std_info)
+ continue;
+ info = mixer_elem_list_to_info(list);
/* invalidate cache, so the value is read from the device */
info->cached = 0;
snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
@@ -3315,6 +3320,8 @@ static void snd_usb_mixer_interrupt_v2(struct usb_mixer_interface *mixer,
if (!list->kctl)
continue;
+ if (!list->is_std_info)
+ continue;
info = mixer_elem_list_to_info(list);
if (count > 1 && info->control != control)
diff --git a/sound/usb/mixer.h b/sound/usb/mixer.h
index 41ec9dc4139b..c29e27ac43a7 100644
--- a/sound/usb/mixer.h
+++ b/sound/usb/mixer.h
@@ -66,6 +66,7 @@ struct usb_mixer_elem_list {
struct usb_mixer_elem_list *next_id_elem; /* list of controls with same id */
struct snd_kcontrol *kctl;
unsigned int id;
+ bool is_std_info;
usb_mixer_elem_dump_func_t dump;
usb_mixer_elem_resume_func_t resume;
};
@@ -103,8 +104,12 @@ void snd_usb_mixer_notify_id(struct usb_mixer_interface *mixer, int unitid);
int snd_usb_mixer_set_ctl_value(struct usb_mixer_elem_info *cval,
int request, int validx, int value_set);
-int snd_usb_mixer_add_control(struct usb_mixer_elem_list *list,
- struct snd_kcontrol *kctl);
+int snd_usb_mixer_add_list(struct usb_mixer_elem_list *list,
+ struct snd_kcontrol *kctl,
+ bool is_std_info);
+
+#define snd_usb_mixer_add_control(list, kctl) \
+ snd_usb_mixer_add_list(list, kctl, true)
void snd_usb_mixer_elem_init_std(struct usb_mixer_elem_list *list,
struct usb_mixer_interface *mixer,
diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c
index b6bcf2f92383..cec1cfd7edb7 100644
--- a/sound/usb/mixer_quirks.c
+++ b/sound/usb/mixer_quirks.c
@@ -158,7 +158,8 @@ static int add_single_ctl_with_resume(struct usb_mixer_interface *mixer,
return -ENOMEM;
}
kctl->private_free = snd_usb_mixer_elem_free;
- return snd_usb_mixer_add_control(list, kctl);
+ /* don't use snd_usb_mixer_add_control() here, this is a special list element */
+ return snd_usb_mixer_add_list(list, kctl, false);
}
/*
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: 8dfcd4110882 - btrfs: fix a block group ref counter leak after failure to remove block group
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://cki-artifacts.s3.us-east-2.amazonaws.com/index.html?prefix=dataware…
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
Host 2:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
ppc64le:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
Host 2:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 3:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
s390x:
Host 1:
✅ Boot test
✅ selinux-policy: serge-testsuite
✅ stress: stress-ng
🚧 ✅ Storage blktests
Host 2:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 3:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ⚡⚡⚡ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
x86_64:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: sanity smoke test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 3:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ CPU: Frequency Driver Test
🚧 ✅ CPU: Idle Test
🚧 ✅ IOMMU boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Aborted tests
-------------
Tests that didn't complete running successfully are marked with ⚡⚡⚡.
If this was caused by an infrastructure issue, we try to mark that
explicitly in the report.
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running yet are marked with ⏱.
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: efc8aa58c75c - btrfs: fix a block group ref counter leak after failure to remove block group
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://cki-artifacts.s3.us-east-2.amazonaws.com/index.html?prefix=dataware…
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
ppc64le:
Host 1:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
⚡⚡⚡ Boot test
🚧 ⚡⚡⚡ kdump - sysrq-c
Host 2:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
Host 3:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
Host 4:
✅ Boot test
🚧 ✅ kdump - sysrq-c
s390x:
Host 1:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ⚡⚡⚡ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 3:
✅ Boot test
✅ selinux-policy: serge-testsuite
✅ stress: stress-ng
🚧 ✅ Storage blktests
x86_64:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: sanity smoke test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ CPU: Frequency Driver Test
🚧 ✅ CPU: Idle Test
🚧 ✅ IOMMU boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
Host 3:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Aborted tests
-------------
Tests that didn't complete running successfully are marked with ⚡⚡⚡.
If this was caused by an infrastructure issue, we try to mark that
explicitly in the report.
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running yet are marked with ⏱.
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: c93288eb14eb - btrfs: fix a block group ref counter leak after failure to remove block group
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://cki-artifacts.s3.us-east-2.amazonaws.com/index.html?prefix=dataware…
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
Host 2:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
ppc64le:
Host 1:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
Host 2:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 3:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
s390x:
Host 1:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 2:
✅ Boot test
✅ selinux-policy: serge-testsuite
✅ stress: stress-ng
🚧 ✅ Storage blktests
Host 3:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ⚡⚡⚡ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
x86_64:
Host 1:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 2:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: sanity smoke test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 3:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ CPU: Frequency Driver Test
🚧 ✅ CPU: Idle Test
🚧 ❌ IOMMU boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Aborted tests
-------------
Tests that didn't complete running successfully are marked with ⚡⚡⚡.
If this was caused by an infrastructure issue, we try to mark that
explicitly in the report.
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running yet are marked with ⏱.
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: 9292f8b0e944 - btrfs: fix a block group ref counter leak after failure to remove block group
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://cki-artifacts.s3.us-east-2.amazonaws.com/index.html?prefix=dataware…
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
ppc64le:
Host 1:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 2:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
Host 3:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
s390x:
Host 1:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ⚡⚡⚡ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
✅ selinux-policy: serge-testsuite
✅ stress: stress-ng
🚧 ✅ Storage blktests
Host 3:
✅ Boot test
🚧 ✅ kdump - sysrq-c
x86_64:
Host 1:
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ CPU: Frequency Driver Test
🚧 ✅ CPU: Idle Test
🚧 ✅ IOMMU boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ✅ Storage blktests
Host 2:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 3:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: sanity smoke test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Aborted tests
-------------
Tests that didn't complete running successfully are marked with ⚡⚡⚡.
If this was caused by an infrastructure issue, we try to mark that
explicitly in the report.
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running yet are marked with ⏱.
The RT5670_PWR_ANLG1 register has 3 bits to select the LDO voltage,
so the correct mask is 0x7 not 0x3.
Because of this wrong mask we were programming the ldo bits
to a setting of binary 001 (0x05 & 0x03) instead of binary 101
when moving to SND_SOC_BIAS_PREPARE.
According to the datasheet 001 is a reserved value, so no idea
what it did, since the driver was working fine before I guess we
got lucky and it does something which is ok.
Fixes: 5e8351de740d ("ASoC: add RT5670 CODEC driver")
Cc: stable(a)vger.kernel.org
Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
---
sound/soc/codecs/rt5670.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/rt5670.h b/sound/soc/codecs/rt5670.h
index a8c3e44770b8..de0203369b7c 100644
--- a/sound/soc/codecs/rt5670.h
+++ b/sound/soc/codecs/rt5670.h
@@ -757,7 +757,7 @@
#define RT5670_PWR_VREF2_BIT 4
#define RT5670_PWR_FV2 (0x1 << 3)
#define RT5670_PWR_FV2_BIT 3
-#define RT5670_LDO_SEL_MASK (0x3)
+#define RT5670_LDO_SEL_MASK (0x7)
#define RT5670_LDO_SEL_SFT 0
/* Power Management for Analog 2 (0x64) */
--
2.26.2
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 6b69040247e14b43419a520f841f2b3052833df9 Mon Sep 17 00:00:00 2001
From: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Date: Tue, 23 Jun 2020 07:31:54 -0400
Subject: [PATCH] cifs/smb3: Fix data inconsistent when zero file range
CIFS implements the fallocate(FALLOC_FL_ZERO_RANGE) with send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. It just set the range of the
remote file to zero, but local page cache not update, then the data
inconsistent with server, which leads the xfstest generic/008 failed.
So we need to remove the local page caches before send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. After next read, it will
re-cache it.
Fixes: 30175628bf7f5 ("[SMB3] Enable fallocate -z support for SMB3 mounts")
Reported-by: Hulk Robot <hulkci(a)huawei.com>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Reviewed-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Cc: stable(a)vger.kernel.org # v3.17
Signed-off-by: Steve French <stfrench(a)microsoft.com>
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 28553d45604e..876a0d9e3d46 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -3188,6 +3188,11 @@ static long smb3_zero_range(struct file *file, struct cifs_tcon *tcon,
trace_smb3_zero_enter(xid, cfile->fid.persistent_fid, tcon->tid,
ses->Suid, offset, len);
+ /*
+ * We zero the range through ioctl, so we need remove the page caches
+ * first, otherwise the data may be inconsistent with the server.
+ */
+ truncate_pagecache_range(inode, offset, offset + len - 1);
/* if file not oplocked can't be sure whether asking to extend size */
if (!CIFS_CACHE_READ(cifsi))
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 6b69040247e14b43419a520f841f2b3052833df9 Mon Sep 17 00:00:00 2001
From: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Date: Tue, 23 Jun 2020 07:31:54 -0400
Subject: [PATCH] cifs/smb3: Fix data inconsistent when zero file range
CIFS implements the fallocate(FALLOC_FL_ZERO_RANGE) with send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. It just set the range of the
remote file to zero, but local page cache not update, then the data
inconsistent with server, which leads the xfstest generic/008 failed.
So we need to remove the local page caches before send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. After next read, it will
re-cache it.
Fixes: 30175628bf7f5 ("[SMB3] Enable fallocate -z support for SMB3 mounts")
Reported-by: Hulk Robot <hulkci(a)huawei.com>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Reviewed-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Cc: stable(a)vger.kernel.org # v3.17
Signed-off-by: Steve French <stfrench(a)microsoft.com>
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 28553d45604e..876a0d9e3d46 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -3188,6 +3188,11 @@ static long smb3_zero_range(struct file *file, struct cifs_tcon *tcon,
trace_smb3_zero_enter(xid, cfile->fid.persistent_fid, tcon->tid,
ses->Suid, offset, len);
+ /*
+ * We zero the range through ioctl, so we need remove the page caches
+ * first, otherwise the data may be inconsistent with the server.
+ */
+ truncate_pagecache_range(inode, offset, offset + len - 1);
/* if file not oplocked can't be sure whether asking to extend size */
if (!CIFS_CACHE_READ(cifsi))
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 6b69040247e14b43419a520f841f2b3052833df9 Mon Sep 17 00:00:00 2001
From: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Date: Tue, 23 Jun 2020 07:31:54 -0400
Subject: [PATCH] cifs/smb3: Fix data inconsistent when zero file range
CIFS implements the fallocate(FALLOC_FL_ZERO_RANGE) with send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. It just set the range of the
remote file to zero, but local page cache not update, then the data
inconsistent with server, which leads the xfstest generic/008 failed.
So we need to remove the local page caches before send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. After next read, it will
re-cache it.
Fixes: 30175628bf7f5 ("[SMB3] Enable fallocate -z support for SMB3 mounts")
Reported-by: Hulk Robot <hulkci(a)huawei.com>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Reviewed-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Cc: stable(a)vger.kernel.org # v3.17
Signed-off-by: Steve French <stfrench(a)microsoft.com>
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 28553d45604e..876a0d9e3d46 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -3188,6 +3188,11 @@ static long smb3_zero_range(struct file *file, struct cifs_tcon *tcon,
trace_smb3_zero_enter(xid, cfile->fid.persistent_fid, tcon->tid,
ses->Suid, offset, len);
+ /*
+ * We zero the range through ioctl, so we need remove the page caches
+ * first, otherwise the data may be inconsistent with the server.
+ */
+ truncate_pagecache_range(inode, offset, offset + len - 1);
/* if file not oplocked can't be sure whether asking to extend size */
if (!CIFS_CACHE_READ(cifsi))
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From acc91c2d8de4ef46ed751c5f9df99ed9a109b100 Mon Sep 17 00:00:00 2001
From: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Date: Tue, 23 Jun 2020 07:31:53 -0400
Subject: [PATCH] cifs/smb3: Fix data inconsistent when punch hole
When punch hole success, we also can read old data from file:
# strace -e trace=pread64,fallocate xfs_io -f -c "pread 20 40" \
-c "fpunch 20 40" -c"pread 20 40" file
pread64(3, " version 5.8.0-rc1+"..., 40, 20) = 40
fallocate(3, FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE, 20, 40) = 0
pread64(3, " version 5.8.0-rc1+"..., 40, 20) = 40
CIFS implements the fallocate(FALLOCATE_FL_PUNCH_HOLE) with send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. It just set the range of the
remote file to zero, but local page caches not updated, then the
local page caches inconsistent with server.
Also can be found by xfstests generic/316.
So, we need to remove the page caches before send the SMB
ioctl(FSCTL_SET_ZERO_DATA) to server.
Fixes: 31742c5a33176 ("enable fallocate punch hole ("fallocate -p") for SMB3")
Suggested-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Cc: stable(a)vger.kernel.org # v3.17
Signed-off-by: Steve French <stfrench(a)microsoft.com>
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 876a0d9e3d46..d9fdafa5eb60 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -3259,6 +3259,12 @@ static long smb3_punch_hole(struct file *file, struct cifs_tcon *tcon,
return rc;
}
+ /*
+ * We implement the punch hole through ioctl, so we need remove the page
+ * caches first, otherwise the data may be inconsistent with the server.
+ */
+ truncate_pagecache_range(inode, offset, offset + len - 1);
+
cifs_dbg(FYI, "Offset %lld len %lld\n", offset, len);
fsctl_buf.FileOffset = cpu_to_le64(offset);
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From acc91c2d8de4ef46ed751c5f9df99ed9a109b100 Mon Sep 17 00:00:00 2001
From: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Date: Tue, 23 Jun 2020 07:31:53 -0400
Subject: [PATCH] cifs/smb3: Fix data inconsistent when punch hole
When punch hole success, we also can read old data from file:
# strace -e trace=pread64,fallocate xfs_io -f -c "pread 20 40" \
-c "fpunch 20 40" -c"pread 20 40" file
pread64(3, " version 5.8.0-rc1+"..., 40, 20) = 40
fallocate(3, FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE, 20, 40) = 0
pread64(3, " version 5.8.0-rc1+"..., 40, 20) = 40
CIFS implements the fallocate(FALLOCATE_FL_PUNCH_HOLE) with send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. It just set the range of the
remote file to zero, but local page caches not updated, then the
local page caches inconsistent with server.
Also can be found by xfstests generic/316.
So, we need to remove the page caches before send the SMB
ioctl(FSCTL_SET_ZERO_DATA) to server.
Fixes: 31742c5a33176 ("enable fallocate punch hole ("fallocate -p") for SMB3")
Suggested-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Cc: stable(a)vger.kernel.org # v3.17
Signed-off-by: Steve French <stfrench(a)microsoft.com>
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 876a0d9e3d46..d9fdafa5eb60 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -3259,6 +3259,12 @@ static long smb3_punch_hole(struct file *file, struct cifs_tcon *tcon,
return rc;
}
+ /*
+ * We implement the punch hole through ioctl, so we need remove the page
+ * caches first, otherwise the data may be inconsistent with the server.
+ */
+ truncate_pagecache_range(inode, offset, offset + len - 1);
+
cifs_dbg(FYI, "Offset %lld len %lld\n", offset, len);
fsctl_buf.FileOffset = cpu_to_le64(offset);
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From acc91c2d8de4ef46ed751c5f9df99ed9a109b100 Mon Sep 17 00:00:00 2001
From: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Date: Tue, 23 Jun 2020 07:31:53 -0400
Subject: [PATCH] cifs/smb3: Fix data inconsistent when punch hole
When punch hole success, we also can read old data from file:
# strace -e trace=pread64,fallocate xfs_io -f -c "pread 20 40" \
-c "fpunch 20 40" -c"pread 20 40" file
pread64(3, " version 5.8.0-rc1+"..., 40, 20) = 40
fallocate(3, FALLOC_FL_KEEP_SIZE|FALLOC_FL_PUNCH_HOLE, 20, 40) = 0
pread64(3, " version 5.8.0-rc1+"..., 40, 20) = 40
CIFS implements the fallocate(FALLOCATE_FL_PUNCH_HOLE) with send SMB
ioctl(FSCTL_SET_ZERO_DATA) to server. It just set the range of the
remote file to zero, but local page caches not updated, then the
local page caches inconsistent with server.
Also can be found by xfstests generic/316.
So, we need to remove the page caches before send the SMB
ioctl(FSCTL_SET_ZERO_DATA) to server.
Fixes: 31742c5a33176 ("enable fallocate punch hole ("fallocate -p") for SMB3")
Suggested-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Reviewed-by: Pavel Shilovsky <pshilov(a)microsoft.com>
Signed-off-by: Zhang Xiaoxu <zhangxiaoxu5(a)huawei.com>
Cc: stable(a)vger.kernel.org # v3.17
Signed-off-by: Steve French <stfrench(a)microsoft.com>
diff --git a/fs/cifs/smb2ops.c b/fs/cifs/smb2ops.c
index 876a0d9e3d46..d9fdafa5eb60 100644
--- a/fs/cifs/smb2ops.c
+++ b/fs/cifs/smb2ops.c
@@ -3259,6 +3259,12 @@ static long smb3_punch_hole(struct file *file, struct cifs_tcon *tcon,
return rc;
}
+ /*
+ * We implement the punch hole through ioctl, so we need remove the page
+ * caches first, otherwise the data may be inconsistent with the server.
+ */
+ truncate_pagecache_range(inode, offset, offset + len - 1);
+
cifs_dbg(FYI, "Offset %lld len %lld\n", offset, len);
fsctl_buf.FileOffset = cpu_to_le64(offset);
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From b3d71abd135e6919ca0b6cab463738472653ddfb Mon Sep 17 00:00:00 2001
From: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Date: Wed, 24 Jun 2020 16:59:49 +0300
Subject: [PATCH] xhci: Poll for U0 after disabling USB2 LPM
USB2 devices with LPM enabled may interrupt the system suspend:
[ 932.510475] usb 1-7: usb suspend, wakeup 0
[ 932.510549] hub 1-0:1.0: hub_suspend
[ 932.510581] usb usb1: bus suspend, wakeup 0
[ 932.510590] xhci_hcd 0000:00:14.0: port 9 not suspended
[ 932.510593] xhci_hcd 0000:00:14.0: port 8 not suspended
..
[ 932.520323] xhci_hcd 0000:00:14.0: Port change event, 1-7, id 7, portsc: 0x400e03
..
[ 932.591405] PM: pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -16
[ 932.591414] PM: dpm_run_callback(): pci_pm_suspend+0x0/0x160 returns -16
[ 932.591418] PM: Device 0000:00:14.0 failed to suspend async: error -16
During system suspend, USB core will let HC suspends the device if it
doesn't have remote wakeup enabled and doesn't have any children.
However, from the log above we can see that the usb 1-7 doesn't get bus
suspended due to not in U0. After a while the port finished U2 -> U0
transition, interrupts the suspend process.
The observation is that after disabling LPM, port doesn't transit to U0
immediately and can linger in U2. xHCI spec 4.23.5.2 states that the
maximum exit latency for USB2 LPM should be BESL + 10us. The BESL for
the affected device is advertised as 400us, which is still not enough
based on my testing result.
So let's use the maximum permitted latency, 10000, to poll for U0
status to solve the issue.
Cc: stable(a)vger.kernel.org
Signed-off-by: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Link: https://lore.kernel.org/r/20200624135949.22611-6-mathias.nyman@linux.intel.…
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index f97106e2860f..ed468eed299c 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4475,6 +4475,9 @@ static int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
mutex_lock(hcd->bandwidth_mutex);
xhci_change_max_exit_latency(xhci, udev, 0);
mutex_unlock(hcd->bandwidth_mutex);
+ readl_poll_timeout(ports[port_num]->addr, pm_val,
+ (pm_val & PORT_PLS_MASK) == XDEV_U0,
+ 100, 10000);
return 0;
}
}
The RT5670_PWR_ANLG1 register has 3 bits to select the LDO voltage,
so the correct mask is 0x7 not 0x3.
Because of this wrong mask we were programming the ldo bits
to a setting of binary 001 (0x05 & 0x03) instead of binary 101
when moving to SND_SOC_BIAS_PREPARE.
According to the datasheet 001 is a reserved value, so no idea
what it did, since the driver was working fine before I guess we
got lucky and it does something which is ok.
Fixes: 5e8351de740d ("ASoC: add RT5670 CODEC driver")
Cc: stable(a)vger.kernel.org
Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
---
sound/soc/codecs/rt5670.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/soc/codecs/rt5670.h b/sound/soc/codecs/rt5670.h
index a8c3e44770b8..de0203369b7c 100644
--- a/sound/soc/codecs/rt5670.h
+++ b/sound/soc/codecs/rt5670.h
@@ -757,7 +757,7 @@
#define RT5670_PWR_VREF2_BIT 4
#define RT5670_PWR_FV2 (0x1 << 3)
#define RT5670_PWR_FV2_BIT 3
-#define RT5670_LDO_SEL_MASK (0x3)
+#define RT5670_LDO_SEL_MASK (0x7)
#define RT5670_LDO_SEL_SFT 0
/* Power Management for Analog 2 (0x64) */
--
2.26.2
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From b3d71abd135e6919ca0b6cab463738472653ddfb Mon Sep 17 00:00:00 2001
From: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Date: Wed, 24 Jun 2020 16:59:49 +0300
Subject: [PATCH] xhci: Poll for U0 after disabling USB2 LPM
USB2 devices with LPM enabled may interrupt the system suspend:
[ 932.510475] usb 1-7: usb suspend, wakeup 0
[ 932.510549] hub 1-0:1.0: hub_suspend
[ 932.510581] usb usb1: bus suspend, wakeup 0
[ 932.510590] xhci_hcd 0000:00:14.0: port 9 not suspended
[ 932.510593] xhci_hcd 0000:00:14.0: port 8 not suspended
..
[ 932.520323] xhci_hcd 0000:00:14.0: Port change event, 1-7, id 7, portsc: 0x400e03
..
[ 932.591405] PM: pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -16
[ 932.591414] PM: dpm_run_callback(): pci_pm_suspend+0x0/0x160 returns -16
[ 932.591418] PM: Device 0000:00:14.0 failed to suspend async: error -16
During system suspend, USB core will let HC suspends the device if it
doesn't have remote wakeup enabled and doesn't have any children.
However, from the log above we can see that the usb 1-7 doesn't get bus
suspended due to not in U0. After a while the port finished U2 -> U0
transition, interrupts the suspend process.
The observation is that after disabling LPM, port doesn't transit to U0
immediately and can linger in U2. xHCI spec 4.23.5.2 states that the
maximum exit latency for USB2 LPM should be BESL + 10us. The BESL for
the affected device is advertised as 400us, which is still not enough
based on my testing result.
So let's use the maximum permitted latency, 10000, to poll for U0
status to solve the issue.
Cc: stable(a)vger.kernel.org
Signed-off-by: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Link: https://lore.kernel.org/r/20200624135949.22611-6-mathias.nyman@linux.intel.…
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index f97106e2860f..ed468eed299c 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4475,6 +4475,9 @@ static int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
mutex_lock(hcd->bandwidth_mutex);
xhci_change_max_exit_latency(xhci, udev, 0);
mutex_unlock(hcd->bandwidth_mutex);
+ readl_poll_timeout(ports[port_num]->addr, pm_val,
+ (pm_val & PORT_PLS_MASK) == XDEV_U0,
+ 100, 10000);
return 0;
}
}
The patch below does not apply to the 4.9-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 220345e98f1cdc768eeb6e3364a0fa7ab9647fe7 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Wed, 24 Jun 2020 14:23:40 +0200
Subject: [PATCH] ALSA: usb-audio: Fix OOB access of mixer element list
The USB-audio mixer code holds a linked list of usb_mixer_elem_list,
and several operations are performed for each mixer element. A few of
them (snd_usb_mixer_notify_id() and snd_usb_mixer_interrupt_v2())
assume each mixer element being a usb_mixer_elem_info object that is a
subclass of usb_mixer_elem_list, cast via container_of() and access it
members. This may result in an out-of-bound access when a
non-standard list element has been added, as spotted by syzkaller
recently.
This patch adds a new field, is_std_info, in usb_mixer_elem_list to
indicate that the element is the usb_mixer_elem_info type or not, and
skip the access to such an element if needed.
Reported-by: syzbot+fb14314433463ad51625(a)syzkaller.appspotmail.com
Reported-by: syzbot+2405ca3401e943c538b5(a)syzkaller.appspotmail.com
Cc: <stable(a)vger.kernel.org>
Link: https://lore.kernel.org/r/20200624122340.9615-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index 15769f266790..eab0fd4fd7c3 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -581,8 +581,9 @@ static int check_matrix_bitmap(unsigned char *bmap,
* if failed, give up and free the control instance.
*/
-int snd_usb_mixer_add_control(struct usb_mixer_elem_list *list,
- struct snd_kcontrol *kctl)
+int snd_usb_mixer_add_list(struct usb_mixer_elem_list *list,
+ struct snd_kcontrol *kctl,
+ bool is_std_info)
{
struct usb_mixer_interface *mixer = list->mixer;
int err;
@@ -596,6 +597,7 @@ int snd_usb_mixer_add_control(struct usb_mixer_elem_list *list,
return err;
}
list->kctl = kctl;
+ list->is_std_info = is_std_info;
list->next_id_elem = mixer->id_elems[list->id];
mixer->id_elems[list->id] = list;
return 0;
@@ -3234,8 +3236,11 @@ void snd_usb_mixer_notify_id(struct usb_mixer_interface *mixer, int unitid)
unitid = delegate_notify(mixer, unitid, NULL, NULL);
for_each_mixer_elem(list, mixer, unitid) {
- struct usb_mixer_elem_info *info =
- mixer_elem_list_to_info(list);
+ struct usb_mixer_elem_info *info;
+
+ if (!list->is_std_info)
+ continue;
+ info = mixer_elem_list_to_info(list);
/* invalidate cache, so the value is read from the device */
info->cached = 0;
snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
@@ -3315,6 +3320,8 @@ static void snd_usb_mixer_interrupt_v2(struct usb_mixer_interface *mixer,
if (!list->kctl)
continue;
+ if (!list->is_std_info)
+ continue;
info = mixer_elem_list_to_info(list);
if (count > 1 && info->control != control)
diff --git a/sound/usb/mixer.h b/sound/usb/mixer.h
index 41ec9dc4139b..c29e27ac43a7 100644
--- a/sound/usb/mixer.h
+++ b/sound/usb/mixer.h
@@ -66,6 +66,7 @@ struct usb_mixer_elem_list {
struct usb_mixer_elem_list *next_id_elem; /* list of controls with same id */
struct snd_kcontrol *kctl;
unsigned int id;
+ bool is_std_info;
usb_mixer_elem_dump_func_t dump;
usb_mixer_elem_resume_func_t resume;
};
@@ -103,8 +104,12 @@ void snd_usb_mixer_notify_id(struct usb_mixer_interface *mixer, int unitid);
int snd_usb_mixer_set_ctl_value(struct usb_mixer_elem_info *cval,
int request, int validx, int value_set);
-int snd_usb_mixer_add_control(struct usb_mixer_elem_list *list,
- struct snd_kcontrol *kctl);
+int snd_usb_mixer_add_list(struct usb_mixer_elem_list *list,
+ struct snd_kcontrol *kctl,
+ bool is_std_info);
+
+#define snd_usb_mixer_add_control(list, kctl) \
+ snd_usb_mixer_add_list(list, kctl, true)
void snd_usb_mixer_elem_init_std(struct usb_mixer_elem_list *list,
struct usb_mixer_interface *mixer,
diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c
index b6bcf2f92383..cec1cfd7edb7 100644
--- a/sound/usb/mixer_quirks.c
+++ b/sound/usb/mixer_quirks.c
@@ -158,7 +158,8 @@ static int add_single_ctl_with_resume(struct usb_mixer_interface *mixer,
return -ENOMEM;
}
kctl->private_free = snd_usb_mixer_elem_free;
- return snd_usb_mixer_add_control(list, kctl);
+ /* don't use snd_usb_mixer_add_control() here, this is a special list element */
+ return snd_usb_mixer_add_list(list, kctl, false);
}
/*
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 220345e98f1cdc768eeb6e3364a0fa7ab9647fe7 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <tiwai(a)suse.de>
Date: Wed, 24 Jun 2020 14:23:40 +0200
Subject: [PATCH] ALSA: usb-audio: Fix OOB access of mixer element list
The USB-audio mixer code holds a linked list of usb_mixer_elem_list,
and several operations are performed for each mixer element. A few of
them (snd_usb_mixer_notify_id() and snd_usb_mixer_interrupt_v2())
assume each mixer element being a usb_mixer_elem_info object that is a
subclass of usb_mixer_elem_list, cast via container_of() and access it
members. This may result in an out-of-bound access when a
non-standard list element has been added, as spotted by syzkaller
recently.
This patch adds a new field, is_std_info, in usb_mixer_elem_list to
indicate that the element is the usb_mixer_elem_info type or not, and
skip the access to such an element if needed.
Reported-by: syzbot+fb14314433463ad51625(a)syzkaller.appspotmail.com
Reported-by: syzbot+2405ca3401e943c538b5(a)syzkaller.appspotmail.com
Cc: <stable(a)vger.kernel.org>
Link: https://lore.kernel.org/r/20200624122340.9615-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai(a)suse.de>
diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c
index 15769f266790..eab0fd4fd7c3 100644
--- a/sound/usb/mixer.c
+++ b/sound/usb/mixer.c
@@ -581,8 +581,9 @@ static int check_matrix_bitmap(unsigned char *bmap,
* if failed, give up and free the control instance.
*/
-int snd_usb_mixer_add_control(struct usb_mixer_elem_list *list,
- struct snd_kcontrol *kctl)
+int snd_usb_mixer_add_list(struct usb_mixer_elem_list *list,
+ struct snd_kcontrol *kctl,
+ bool is_std_info)
{
struct usb_mixer_interface *mixer = list->mixer;
int err;
@@ -596,6 +597,7 @@ int snd_usb_mixer_add_control(struct usb_mixer_elem_list *list,
return err;
}
list->kctl = kctl;
+ list->is_std_info = is_std_info;
list->next_id_elem = mixer->id_elems[list->id];
mixer->id_elems[list->id] = list;
return 0;
@@ -3234,8 +3236,11 @@ void snd_usb_mixer_notify_id(struct usb_mixer_interface *mixer, int unitid)
unitid = delegate_notify(mixer, unitid, NULL, NULL);
for_each_mixer_elem(list, mixer, unitid) {
- struct usb_mixer_elem_info *info =
- mixer_elem_list_to_info(list);
+ struct usb_mixer_elem_info *info;
+
+ if (!list->is_std_info)
+ continue;
+ info = mixer_elem_list_to_info(list);
/* invalidate cache, so the value is read from the device */
info->cached = 0;
snd_ctl_notify(mixer->chip->card, SNDRV_CTL_EVENT_MASK_VALUE,
@@ -3315,6 +3320,8 @@ static void snd_usb_mixer_interrupt_v2(struct usb_mixer_interface *mixer,
if (!list->kctl)
continue;
+ if (!list->is_std_info)
+ continue;
info = mixer_elem_list_to_info(list);
if (count > 1 && info->control != control)
diff --git a/sound/usb/mixer.h b/sound/usb/mixer.h
index 41ec9dc4139b..c29e27ac43a7 100644
--- a/sound/usb/mixer.h
+++ b/sound/usb/mixer.h
@@ -66,6 +66,7 @@ struct usb_mixer_elem_list {
struct usb_mixer_elem_list *next_id_elem; /* list of controls with same id */
struct snd_kcontrol *kctl;
unsigned int id;
+ bool is_std_info;
usb_mixer_elem_dump_func_t dump;
usb_mixer_elem_resume_func_t resume;
};
@@ -103,8 +104,12 @@ void snd_usb_mixer_notify_id(struct usb_mixer_interface *mixer, int unitid);
int snd_usb_mixer_set_ctl_value(struct usb_mixer_elem_info *cval,
int request, int validx, int value_set);
-int snd_usb_mixer_add_control(struct usb_mixer_elem_list *list,
- struct snd_kcontrol *kctl);
+int snd_usb_mixer_add_list(struct usb_mixer_elem_list *list,
+ struct snd_kcontrol *kctl,
+ bool is_std_info);
+
+#define snd_usb_mixer_add_control(list, kctl) \
+ snd_usb_mixer_add_list(list, kctl, true)
void snd_usb_mixer_elem_init_std(struct usb_mixer_elem_list *list,
struct usb_mixer_interface *mixer,
diff --git a/sound/usb/mixer_quirks.c b/sound/usb/mixer_quirks.c
index b6bcf2f92383..cec1cfd7edb7 100644
--- a/sound/usb/mixer_quirks.c
+++ b/sound/usb/mixer_quirks.c
@@ -158,7 +158,8 @@ static int add_single_ctl_with_resume(struct usb_mixer_interface *mixer,
return -ENOMEM;
}
kctl->private_free = snd_usb_mixer_elem_free;
- return snd_usb_mixer_add_control(list, kctl);
+ /* don't use snd_usb_mixer_add_control() here, this is a special list element */
+ return snd_usb_mixer_add_list(list, kctl, false);
}
/*
From: Eric Biggers <ebiggers(a)google.com>
If the minix filesystem tries to map a very large logical block number
to its on-disk location, block_to_path() can return offsets that are too
large, causing out-of-bounds memory accesses when accessing indirect
index blocks. This should be prevented by the check against the maximum
file size, but this doesn't work because the maximum file size is read
directly from the on-disk superblock and isn't validated itself.
Fix this by validating the maximum file size at mount time.
Reported-by: syzbot+c7d9ec7a1a7272dd71b3(a)syzkaller.appspotmail.com
Reported-by: syzbot+3b7b03a0c28948054fb5(a)syzkaller.appspotmail.com
Reported-by: syzbot+6e056ee473568865f3e6(a)syzkaller.appspotmail.com
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Cc: stable(a)vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers(a)google.com>
---
fs/minix/inode.c | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/fs/minix/inode.c b/fs/minix/inode.c
index 2bca95abe8f4..0dd929346f3f 100644
--- a/fs/minix/inode.c
+++ b/fs/minix/inode.c
@@ -150,6 +150,23 @@ static int minix_remount (struct super_block * sb, int * flags, char * data)
return 0;
}
+static bool minix_check_superblock(struct minix_sb_info *sbi)
+{
+ if (sbi->s_imap_blocks == 0 || sbi->s_zmap_blocks == 0)
+ return false;
+
+ /*
+ * s_max_size must not exceed the block mapping limitation. This check
+ * is only needed for V1 filesystems, since V2/V3 support an extra level
+ * of indirect blocks which places the limit well above U32_MAX.
+ */
+ if (sbi->s_version == MINIX_V1 &&
+ sbi->s_max_size > (7 + 512 + 512*512) * BLOCK_SIZE)
+ return false;
+
+ return true;
+}
+
static int minix_fill_super(struct super_block *s, void *data, int silent)
{
struct buffer_head *bh;
@@ -228,11 +245,12 @@ static int minix_fill_super(struct super_block *s, void *data, int silent)
} else
goto out_no_fs;
+ if (!minix_check_superblock(sbi))
+ goto out_illegal_sb;
+
/*
* Allocate the buffer map to keep the superblock small.
*/
- if (sbi->s_imap_blocks == 0 || sbi->s_zmap_blocks == 0)
- goto out_illegal_sb;
i = (sbi->s_imap_blocks + sbi->s_zmap_blocks) * sizeof(bh);
map = kzalloc(i, GFP_KERNEL);
if (!map)
--
2.27.0
This is a note to let you know that I've just added the patch titled
Revert "tty: xilinx_uartps: Fix missing id assignment to the console"
to my tty git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
in the tty-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 76ed2e105796710cf5b8a4ba43c81eceed948b70 Mon Sep 17 00:00:00 2001
From: Jan Kiszka <jan.kiszka(a)siemens.com>
Date: Thu, 18 Jun 2020 10:11:40 +0200
Subject: Revert "tty: xilinx_uartps: Fix missing id assignment to the console"
This reverts commit 2ae11c46d5fdc46cb396e35911c713d271056d35.
It turned out to break the ultra96-rev1, e.g., which uses uart1 as
serial0 (and stdout-path = "serial0:115200n8").
Fixes: 2ae11c46d5fd ("tty: xilinx_uartps: Fix missing id assignment to the console")
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Jan Kiszka <jan.kiszka(a)siemens.com>
Reviewed-by: Michal Simek <michal.simek(a)xilinx.com>
Tested-by: Michal Simek <michal.simek(a)xilinx.com>
Link: https://lore.kernel.org/r/f4092727-d8f5-5f91-2c9f-76643aace993@siemens.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/tty/serial/xilinx_uartps.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/tty/serial/xilinx_uartps.c b/drivers/tty/serial/xilinx_uartps.c
index b9d672af8b65..672cfa075e28 100644
--- a/drivers/tty/serial/xilinx_uartps.c
+++ b/drivers/tty/serial/xilinx_uartps.c
@@ -1465,7 +1465,6 @@ static int cdns_uart_probe(struct platform_device *pdev)
cdns_uart_uart_driver.nr = CDNS_UART_NR_PORTS;
#ifdef CONFIG_SERIAL_XILINX_PS_UART_CONSOLE
cdns_uart_uart_driver.cons = &cdns_uart_console;
- cdns_uart_console.index = id;
#endif
rc = uart_register_driver(&cdns_uart_uart_driver);
--
2.27.0
This is a note to let you know that I've just added the patch titled
Revert "serial: core: Refactor uart_unlock_and_check_sysrq()"
to my tty git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git
in the tty-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 10652a9e9fe3fbcaca090f99cd3060ac3fee2913 Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Wed, 10 Jun 2020 17:22:30 +0200
Subject: Revert "serial: core: Refactor uart_unlock_and_check_sysrq()"
This reverts commit da9a5aa3402db0ff3b57216d8dbf2478e1046cae.
In order to ease backporting a fix for a sysrq regression, revert this
rewrite which was since added on top.
The other sysrq helpers now bail out early when sysrq is not enabled;
it's better to keep that pattern here as well.
Note that the __releases() attribute won't be needed after the follow-on
fix either.
Fixes: da9a5aa3402d ("serial: core: Refactor uart_unlock_and_check_sysrq()")
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Reviewed-by: Andy Shevchenko <andriy.shevchenko(a)linux.intel.com>
Link: https://lore.kernel.org/r/20200610152232.16925-2-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/tty/serial/serial_core.c | 23 +++++++++++++----------
include/linux/serial_core.h | 3 ++-
2 files changed, 15 insertions(+), 11 deletions(-)
diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
index 13fb92ae3710..fcdb6bfbe2cf 100644
--- a/drivers/tty/serial/serial_core.c
+++ b/drivers/tty/serial/serial_core.c
@@ -3239,19 +3239,22 @@ int uart_prepare_sysrq_char(struct uart_port *port, unsigned int ch)
}
EXPORT_SYMBOL_GPL(uart_prepare_sysrq_char);
-void uart_unlock_and_check_sysrq(struct uart_port *port, unsigned long flags)
-__releases(&port->lock)
+void uart_unlock_and_check_sysrq(struct uart_port *port, unsigned long irqflags)
{
- if (port->has_sysrq) {
- int sysrq_ch = port->sysrq_ch;
+ int sysrq_ch;
- port->sysrq_ch = 0;
- spin_unlock_irqrestore(&port->lock, flags);
- if (sysrq_ch)
- handle_sysrq(sysrq_ch);
- } else {
- spin_unlock_irqrestore(&port->lock, flags);
+ if (!port->has_sysrq) {
+ spin_unlock_irqrestore(&port->lock, irqflags);
+ return;
}
+
+ sysrq_ch = port->sysrq_ch;
+ port->sysrq_ch = 0;
+
+ spin_unlock_irqrestore(&port->lock, irqflags);
+
+ if (sysrq_ch)
+ handle_sysrq(sysrq_ch);
}
EXPORT_SYMBOL_GPL(uart_unlock_and_check_sysrq);
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
index 9fd550e7946a..ef4921ddbe97 100644
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
@@ -464,7 +464,8 @@ extern void uart_insert_char(struct uart_port *port, unsigned int status,
extern int uart_handle_sysrq_char(struct uart_port *port, unsigned int ch);
extern int uart_prepare_sysrq_char(struct uart_port *port, unsigned int ch);
-extern void uart_unlock_and_check_sysrq(struct uart_port *port, unsigned long flags);
+extern void uart_unlock_and_check_sysrq(struct uart_port *port,
+ unsigned long irqflags);
extern int uart_handle_break(struct uart_port *port);
/*
--
2.27.0
The patch titled
Subject: mm/memcontrol.c: add missed css_put()
has been removed from the -mm tree. Its filename was
mm-memcontrol-fix-do-not-put-the-css-reference.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Muchun Song <songmuchun(a)bytedance.com>
Subject: mm/memcontrol.c: add missed css_put()
We should put the css reference when memory allocation failed.
Link: http://lkml.kernel.org/r/20200614122653.98829-1-songmuchun@bytedance.com
Fixes: f0a3a24b532d ("mm: memcg/slab: rework non-root kmem_cache lifecycle management")
Signed-off-by: Muchun Song <songmuchun(a)bytedance.com>
Acked-by: Roman Gushchin <guro(a)fb.com>
Acked-by: Michal Hocko <mhocko(a)suse.com>
Cc: Johannes Weiner <hannes(a)cmpxchg.org>
Cc: Vladimir Davydov <vdavydov.dev(a)gmail.com>
Cc: Qian Cai <cai(a)lca.pw>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/memcontrol.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
--- a/mm/memcontrol.c~mm-memcontrol-fix-do-not-put-the-css-reference
+++ a/mm/memcontrol.c
@@ -2772,8 +2772,10 @@ static void memcg_schedule_kmem_cache_cr
return;
cw = kmalloc(sizeof(*cw), GFP_NOWAIT | __GFP_NOWARN);
- if (!cw)
+ if (!cw) {
+ css_put(&memcg->css);
return;
+ }
cw->memcg = memcg;
cw->cachep = cachep;
_
Patches currently in -mm which might be from songmuchun(a)bytedance.com are
The patch titled
Subject: mm: memcontrol: handle div0 crash race condition in memory.low
has been removed from the -mm tree. Its filename was
mm-memcontrol-handle-div0-crash-race-condition-in-memorylow.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Johannes Weiner <hannes(a)cmpxchg.org>
Subject: mm: memcontrol: handle div0 crash race condition in memory.low
Tejun reports seeing rare div0 crashes in memory.low stress testing:
[37228.504582] RIP: 0010:mem_cgroup_calculate_protection+0xed/0x150
[37228.505059] Code: 0f 46 d1 4c 39 d8 72 57 f6 05 16 d6 42 01 40 74 1f 4c 39 d8 76 1a 4c 39 d1 76 15 4c 29 d1 4c 29 d8 4d 29 d9 31 d2 48 0f af c1 <49> f7 f1 49 01 c2 4c 89 96 38 01 00 00 5d c3 48 0f af c7 31 d2 49
[37228.506254] RSP: 0018:ffffa14e01d6fcd0 EFLAGS: 00010246
[37228.506769] RAX: 000000000243e384 RBX: 0000000000000000 RCX: 0000000000008f4b
[37228.507319] RDX: 0000000000000000 RSI: ffff8b89bee84000 RDI: 0000000000000000
[37228.507869] RBP: ffffa14e01d6fcd0 R08: ffff8b89ca7d40f8 R09: 0000000000000000
[37228.508376] R10: 0000000000000000 R11: 00000000006422f7 R12: 0000000000000000
[37228.508881] R13: ffff8b89d9617000 R14: ffff8b89bee84000 R15: ffffa14e01d6fdb8
[37228.509397] FS: 0000000000000000(0000) GS:ffff8b8a1f1c0000(0000) knlGS:0000000000000000
[37228.509917] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[37228.510442] CR2: 00007f93b1fc175b CR3: 000000016100a000 CR4: 0000000000340ea0
[37228.511076] Call Trace:
[37228.511561] shrink_node+0x1e5/0x6c0
[37228.512044] balance_pgdat+0x32d/0x5f0
[37228.512521] kswapd+0x1d7/0x3d0
[37228.513346] ? wait_woken+0x80/0x80
[37228.514170] kthread+0x11c/0x160
[37228.514983] ? balance_pgdat+0x5f0/0x5f0
[37228.515797] ? kthread_park+0x90/0x90
[37228.516593] ret_from_fork+0x1f/0x30
This happens when parent_usage == siblings_protected. We check that usage
is bigger than protected, which should imply parent_usage being bigger
than siblings_protected. However, we don't read (or even update) these
values atomically, and they can be out of sync as the memory state changes
under us. A bit of fluctuation around the target protection isn't a big
deal, but we need to handle the div0 case.
Check the parent state explicitly to make sure we have a reasonable
positive value for the divisor.
Link: http://lkml.kernel.org/r/20200615140658.601684-1-hannes@cmpxchg.org
Fixes: 8a931f801340 ("mm: memcontrol: recursive memory.low protection")
Signed-off-by: Johannes Weiner <hannes(a)cmpxchg.org>
Reported-by: Tejun Heo <tj(a)kernel.org>
Acked-by: Michal Hocko <mhocko(a)suse.com>
Acked-by: Chris Down <chris(a)chrisdown.name>
Cc: Roman Gushchin <guro(a)fb.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/memcontrol.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
--- a/mm/memcontrol.c~mm-memcontrol-handle-div0-crash-race-condition-in-memorylow
+++ a/mm/memcontrol.c
@@ -6360,11 +6360,16 @@ static unsigned long effective_protectio
* We're using unprotected memory for the weight so that if
* some cgroups DO claim explicit protection, we don't protect
* the same bytes twice.
+ *
+ * Check both usage and parent_usage against the respective
+ * protected values. One should imply the other, but they
+ * aren't read atomically - make sure the division is sane.
*/
if (!(cgrp_dfl_root.flags & CGRP_ROOT_MEMORY_RECURSIVE_PROT))
return ep;
-
- if (parent_effective > siblings_protected && usage > protected) {
+ if (parent_effective > siblings_protected &&
+ parent_usage > siblings_protected &&
+ usage > protected) {
unsigned long unclaimed;
unclaimed = parent_effective - siblings_protected;
_
Patches currently in -mm which might be from hannes(a)cmpxchg.org are
mm-memcontrol-decouple-reference-counting-from-page-accounting.patch
The patch titled
Subject: mm: fix swap cache node allocation mask
has been removed from the -mm tree. Its filename was
mm-fix-swap-cache-node-allocation-mask.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Hugh Dickins <hughd(a)google.com>
Subject: mm: fix swap cache node allocation mask
https://bugzilla.kernel.org/show_bug.cgi?id=208085 reports that a slightly
overcommitted load, testing swap and zram along with i915, splats and
keeps on splatting, when it had better fail less noisily:
gnome-shell: page allocation failure: order:0,
mode:0x400d0(__GFP_IO|__GFP_FS|__GFP_COMP|__GFP_RECLAIMABLE),
nodemask=(null),cpuset=/,mems_allowed=0
CPU: 2 PID: 1155 Comm: gnome-shell Not tainted 5.7.0-1.fc33.x86_64 #1
Call Trace:
dump_stack+0x64/0x88
warn_alloc.cold+0x75/0xd9
__alloc_pages_slowpath.constprop.0+0xcfa/0xd30
__alloc_pages_nodemask+0x2df/0x320
alloc_slab_page+0x195/0x310
allocate_slab+0x3c5/0x440
___slab_alloc+0x40c/0x5f0
__slab_alloc+0x1c/0x30
kmem_cache_alloc+0x20e/0x220
xas_nomem+0x28/0x70
add_to_swap_cache+0x321/0x400
__read_swap_cache_async+0x105/0x240
swap_cluster_readahead+0x22c/0x2e0
shmem_swapin+0x8e/0xc0
shmem_swapin_page+0x196/0x740
shmem_getpage_gfp+0x3a2/0xa60
shmem_read_mapping_page_gfp+0x32/0x60
shmem_get_pages+0x155/0x5e0 [i915]
__i915_gem_object_get_pages+0x68/0xa0 [i915]
i915_vma_pin+0x3fe/0x6c0 [i915]
eb_add_vma+0x10b/0x2c0 [i915]
i915_gem_do_execbuffer+0x704/0x3430 [i915]
i915_gem_execbuffer2_ioctl+0x1ea/0x3e0 [i915]
drm_ioctl_kernel+0x86/0xd0 [drm]
drm_ioctl+0x206/0x390 [drm]
ksys_ioctl+0x82/0xc0
__x64_sys_ioctl+0x16/0x20
do_syscall_64+0x5b/0xf0
entry_SYSCALL_64_after_hwframe+0x44/0xa9
Reported on 5.7, but it goes back really to 3.1: when
shmem_read_mapping_page_gfp() was implemented for use by i915, and
allowed for __GFP_NORETRY and __GFP_NOWARN flags in most places, but
missed swapin's "& GFP_KERNEL" mask for page tree node allocation in
__read_swap_cache_async() - that was to mask off HIGHUSER_MOVABLE bits
from what page cache uses, but GFP_RECLAIM_MASK is now what's needed.
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.2006151330070.11064@eggly.anvils
Fixes: 68da9f055755 ("tmpfs: pass gfp to shmem_getpage_gfp")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Reviewed-by: Vlastimil Babka <vbabka(a)suse.cz>
Reviewed-by: Matthew Wilcox (Oracle) <willy(a)infradead.org>
Reported-by: Chris Murphy <lists(a)colorremedies.com>
Analyzed-by: Vlastimil Babka <vbabka(a)suse.cz>
Analyzed-by: Matthew Wilcox <willy(a)infradead.org>
Tested-by: Chris Murphy <lists(a)colorremedies.com>
Cc: <stable(a)vger.kernel.org> [3.1+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/swap_state.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/mm/swap_state.c~mm-fix-swap-cache-node-allocation-mask
+++ a/mm/swap_state.c
@@ -21,7 +21,7 @@
#include <linux/vmalloc.h>
#include <linux/swap_slots.h>
#include <linux/huge_mm.h>
-
+#include "internal.h"
/*
* swapper_space is a fiction, retained to simplify the path through
@@ -429,7 +429,7 @@ struct page *__read_swap_cache_async(swp
__SetPageSwapBacked(page);
/* May fail (-ENOMEM) if XArray node allocation failed. */
- if (add_to_swap_cache(page, entry, gfp_mask & GFP_KERNEL)) {
+ if (add_to_swap_cache(page, entry, gfp_mask & GFP_RECLAIM_MASK)) {
put_swap_page(page, entry);
goto fail_unlock;
}
_
Patches currently in -mm which might be from hughd(a)google.com are
mm-vmstat-add-events-for-pmd-based-thp-migration-without-split-fix.patch
The patch titled
Subject: mm/slab: use memzero_explicit() in kzfree()
has been removed from the -mm tree. Its filename was
mm-slab-use-memzero_explicit-in-kzfree.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Waiman Long <longman(a)redhat.com>
Subject: mm/slab: use memzero_explicit() in kzfree()
The kzfree() function is normally used to clear some sensitive
information, like encryption keys, in the buffer before freeing it back to
the pool. Memset() is currently used for buffer clearing. However
unlikely, there is still a non-zero probability that the compiler may
choose to optimize away the memory clearing especially if LTO is being
used in the future. To make sure that this optimization will never
happen, memzero_explicit(), which is introduced in v3.18, is now used in
kzfree() to future-proof it.
Link: http://lkml.kernel.org/r/20200616154311.12314-2-longman@redhat.com
Fixes: 3ef0e5ba4673 ("slab: introduce kzfree()")
Signed-off-by: Waiman Long <longman(a)redhat.com>
Acked-by: Michal Hocko <mhocko(a)suse.com>
Cc: David Howells <dhowells(a)redhat.com>
Cc: Jarkko Sakkinen <jarkko.sakkinen(a)linux.intel.com>
Cc: James Morris <jmorris(a)namei.org>
Cc: "Serge E. Hallyn" <serge(a)hallyn.com>
Cc: Joe Perches <joe(a)perches.com>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: David Rientjes <rientjes(a)google.com>
Cc: Johannes Weiner <hannes(a)cmpxchg.org>
Cc: Dan Carpenter <dan.carpenter(a)oracle.com>
Cc: "Jason A . Donenfeld" <Jason(a)zx2c4.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/slab_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/mm/slab_common.c~mm-slab-use-memzero_explicit-in-kzfree
+++ a/mm/slab_common.c
@@ -1726,7 +1726,7 @@ void kzfree(const void *p)
if (unlikely(ZERO_OR_NULL_PTR(mem)))
return;
ks = ksize(mem);
- memset(mem, 0, ks);
+ memzero_explicit(mem, ks);
kfree(mem);
}
EXPORT_SYMBOL(kzfree);
_
Patches currently in -mm which might be from longman(a)redhat.com are
mm-treewide-rename-kzfree-to-kfree_sensitive.patch
sched-mm-optimize-current_gfp_context.patch
The patch titled
Subject: mm, slab: fix sign conversion problem in memcg_uncharge_slab()
has been removed from the -mm tree. Its filename was
mm-slab-fix-sign-conversion-problem-in-memcg_uncharge_slab.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Waiman Long <longman(a)redhat.com>
Subject: mm, slab: fix sign conversion problem in memcg_uncharge_slab()
It was found that running the LTP test on a PowerPC system could produce
erroneous values in /proc/meminfo, like:
MemTotal: 531915072 kB
MemFree: 507962176 kB
MemAvailable: 1100020596352 kB
Using bisection, the problem is tracked down to commit 9c315e4d7d8c ("mm:
memcg/slab: cache page number in memcg_(un)charge_slab()").
In memcg_uncharge_slab() with a "int order" argument:
unsigned int nr_pages = 1 << order;
:
mod_lruvec_state(lruvec, cache_vmstat_idx(s), -nr_pages);
The mod_lruvec_state() function will eventually call the
__mod_zone_page_state() which accepts a long argument. Depending on the
compiler and how inlining is done, "-nr_pages" may be treated as a
negative number or a very large positive number. Apparently, it was
treated as a large positive number in that PowerPC system leading to
incorrect stat counts. This problem hasn't been seen in x86-64 yet,
perhaps the gcc compiler there has some slight difference in behavior.
It is fixed by making nr_pages a signed value. For consistency, a similar
change is applied to memcg_charge_slab() as well.
Link: http://lkml.kernel.org/r/20200620184719.10994-1-longman@redhat.com
Fixes: 9c315e4d7d8c ("mm: memcg/slab: cache page number in memcg_(un)charge_slab()").
Signed-off-by: Waiman Long <longman(a)redhat.com>
Acked-by: Roman Gushchin <guro(a)fb.com>
Cc: Christoph Lameter <cl(a)linux.com>
Cc: Pekka Enberg <penberg(a)kernel.org>
Cc: David Rientjes <rientjes(a)google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim(a)lge.com>
Cc: Shakeel Butt <shakeelb(a)google.com>
Cc: Johannes Weiner <hannes(a)cmpxchg.org>
Cc: Michal Hocko <mhocko(a)kernel.org>
Cc: Vladimir Davydov <vdavydov.dev(a)gmail.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/slab.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/mm/slab.h~mm-slab-fix-sign-conversion-problem-in-memcg_uncharge_slab
+++ a/mm/slab.h
@@ -348,7 +348,7 @@ static __always_inline int memcg_charge_
gfp_t gfp, int order,
struct kmem_cache *s)
{
- unsigned int nr_pages = 1 << order;
+ int nr_pages = 1 << order;
struct mem_cgroup *memcg;
struct lruvec *lruvec;
int ret;
@@ -388,7 +388,7 @@ out:
static __always_inline void memcg_uncharge_slab(struct page *page, int order,
struct kmem_cache *s)
{
- unsigned int nr_pages = 1 << order;
+ int nr_pages = 1 << order;
struct mem_cgroup *memcg;
struct lruvec *lruvec;
_
Patches currently in -mm which might be from longman(a)redhat.com are
mm-treewide-rename-kzfree-to-kfree_sensitive.patch
sched-mm-optimize-current_gfp_context.patch
The patch titled
Subject: ocfs2: fix value of OCFS2_INVALID_SLOT
has been removed from the -mm tree. Its filename was
ocfs2-fix-value-of-ocfs2_invalid_slot.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Junxiao Bi <junxiao.bi(a)oracle.com>
Subject: ocfs2: fix value of OCFS2_INVALID_SLOT
In the ocfs2 disk layout, slot number is 16 bits, but in ocfs2
implementation, slot number is 32 bits. Usually this will not cause any
issue, because slot number is converted from u16 to u32, but
OCFS2_INVALID_SLOT was defined as -1, when an invalid slot number from
disk was obtained, its value was (u16)-1, and it was converted to u32.
Then the following checking in get_local_system_inode will be always
skipped:
static struct inode **get_local_system_inode(struct ocfs2_super *osb,
int type,
u32 slot)
{
BUG_ON(slot == OCFS2_INVALID_SLOT);
...
}
Link: http://lkml.kernel.org/r/20200616183829.87211-5-junxiao.bi@oracle.com
Signed-off-by: Junxiao Bi <junxiao.bi(a)oracle.com>
Reviewed-by: Joseph Qi <joseph.qi(a)linux.alibaba.com>
Cc: Mark Fasheh <mark(a)fasheh.com>
Cc: Joel Becker <jlbec(a)evilplan.org>
Cc: Changwei Ge <gechangwei(a)live.cn>
Cc: Gang He <ghe(a)suse.com>
Cc: Jun Piao <piaojun(a)huawei.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/ocfs2/ocfs2_fs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/fs/ocfs2/ocfs2_fs.h~ocfs2-fix-value-of-ocfs2_invalid_slot
+++ a/fs/ocfs2/ocfs2_fs.h
@@ -290,7 +290,7 @@
#define OCFS2_MAX_SLOTS 255
/* Slot map indicator for an empty slot */
-#define OCFS2_INVALID_SLOT -1
+#define OCFS2_INVALID_SLOT ((u16)-1)
#define OCFS2_VOL_UUID_LEN 16
#define OCFS2_MAX_VOL_LABEL_LEN 64
_
Patches currently in -mm which might be from junxiao.bi(a)oracle.com are
The patch titled
Subject: ocfs2: load global_inode_alloc
has been removed from the -mm tree. Its filename was
ocfs2-load-global_inode_alloc.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Junxiao Bi <junxiao.bi(a)oracle.com>
Subject: ocfs2: load global_inode_alloc
Set global_inode_alloc as OCFS2_FIRST_ONLINE_SYSTEM_INODE, that will make
it load during mount. It can be used to test whether some global/system
inodes are valid. One use case is that nfsd will test whether root inode
is valid.
Link: http://lkml.kernel.org/r/20200616183829.87211-3-junxiao.bi@oracle.com
Signed-off-by: Junxiao Bi <junxiao.bi(a)oracle.com>
Reviewed-by: Joseph Qi <joseph.qi(a)linux.alibaba.com>
Cc: Changwei Ge <gechangwei(a)live.cn>
Cc: Gang He <ghe(a)suse.com>
Cc: Joel Becker <jlbec(a)evilplan.org>
Cc: Jun Piao <piaojun(a)huawei.com>
Cc: Mark Fasheh <mark(a)fasheh.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/ocfs2/ocfs2_fs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/fs/ocfs2/ocfs2_fs.h~ocfs2-load-global_inode_alloc
+++ a/fs/ocfs2/ocfs2_fs.h
@@ -326,8 +326,8 @@ struct ocfs2_system_inode_info {
enum {
BAD_BLOCK_SYSTEM_INODE = 0,
GLOBAL_INODE_ALLOC_SYSTEM_INODE,
+#define OCFS2_FIRST_ONLINE_SYSTEM_INODE GLOBAL_INODE_ALLOC_SYSTEM_INODE
SLOT_MAP_SYSTEM_INODE,
-#define OCFS2_FIRST_ONLINE_SYSTEM_INODE SLOT_MAP_SYSTEM_INODE
HEARTBEAT_SYSTEM_INODE,
GLOBAL_BITMAP_SYSTEM_INODE,
USER_QUOTA_SYSTEM_INODE,
_
Patches currently in -mm which might be from junxiao.bi(a)oracle.com are
The patch titled
Subject: ocfs2: avoid inode removal while nfsd is accessing it
has been removed from the -mm tree. Its filename was
ocfs2-avoid-inode-removed-while-nfsd-access-it.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Junxiao Bi <junxiao.bi(a)oracle.com>
Subject: ocfs2: avoid inode removal while nfsd is accessing it
Patch series "ocfs2: fix nfsd over ocfs2 issues", v2.
This is a series of patches to fix issues on nfsd over ocfs2. patch 1 is
to avoid inode removed while nfsd access it patch 2 & 3 is to fix a panic
issue.
This patch (of 4):
When nfsd is getting file dentry using handle or parent dentry of some
dentry, one cluster lock is used to avoid inode removed from other node,
but it still could be removed from local node, so use a rw lock to avoid
this.
Link: http://lkml.kernel.org/r/20200616183829.87211-1-junxiao.bi@oracle.com
Link: http://lkml.kernel.org/r/20200616183829.87211-2-junxiao.bi@oracle.com
Signed-off-by: Junxiao Bi <junxiao.bi(a)oracle.com>
Reviewed-by: Joseph Qi <joseph.qi(a)linux.alibaba.com>
Cc: Changwei Ge <gechangwei(a)live.cn>
Cc: Gang He <ghe(a)suse.com>
Cc: Joel Becker <jlbec(a)evilplan.org>
Cc: Jun Piao <piaojun(a)huawei.com>
Cc: Mark Fasheh <mark(a)fasheh.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/ocfs2/dlmglue.c | 17 ++++++++++++++++-
fs/ocfs2/ocfs2.h | 1 +
2 files changed, 17 insertions(+), 1 deletion(-)
--- a/fs/ocfs2/dlmglue.c~ocfs2-avoid-inode-removed-while-nfsd-access-it
+++ a/fs/ocfs2/dlmglue.c
@@ -689,6 +689,12 @@ static void ocfs2_nfs_sync_lock_res_init
&ocfs2_nfs_sync_lops, osb);
}
+static void ocfs2_nfs_sync_lock_init(struct ocfs2_super *osb)
+{
+ ocfs2_nfs_sync_lock_res_init(&osb->osb_nfs_sync_lockres, osb);
+ init_rwsem(&osb->nfs_sync_rwlock);
+}
+
void ocfs2_trim_fs_lock_res_init(struct ocfs2_super *osb)
{
struct ocfs2_lock_res *lockres = &osb->osb_trim_fs_lockres;
@@ -2855,6 +2861,11 @@ int ocfs2_nfs_sync_lock(struct ocfs2_sup
if (ocfs2_is_hard_readonly(osb))
return -EROFS;
+ if (ex)
+ down_write(&osb->nfs_sync_rwlock);
+ else
+ down_read(&osb->nfs_sync_rwlock);
+
if (ocfs2_mount_local(osb))
return 0;
@@ -2873,6 +2884,10 @@ void ocfs2_nfs_sync_unlock(struct ocfs2_
if (!ocfs2_mount_local(osb))
ocfs2_cluster_unlock(osb, lockres,
ex ? LKM_EXMODE : LKM_PRMODE);
+ if (ex)
+ up_write(&osb->nfs_sync_rwlock);
+ else
+ up_read(&osb->nfs_sync_rwlock);
}
int ocfs2_trim_fs_lock(struct ocfs2_super *osb,
@@ -3340,7 +3355,7 @@ int ocfs2_dlm_init(struct ocfs2_super *o
local:
ocfs2_super_lock_res_init(&osb->osb_super_lockres, osb);
ocfs2_rename_lock_res_init(&osb->osb_rename_lockres, osb);
- ocfs2_nfs_sync_lock_res_init(&osb->osb_nfs_sync_lockres, osb);
+ ocfs2_nfs_sync_lock_init(osb);
ocfs2_orphan_scan_lock_res_init(&osb->osb_orphan_scan.os_lockres, osb);
osb->cconn = conn;
--- a/fs/ocfs2/ocfs2.h~ocfs2-avoid-inode-removed-while-nfsd-access-it
+++ a/fs/ocfs2/ocfs2.h
@@ -395,6 +395,7 @@ struct ocfs2_super
struct ocfs2_lock_res osb_super_lockres;
struct ocfs2_lock_res osb_rename_lockres;
struct ocfs2_lock_res osb_nfs_sync_lockres;
+ struct rw_semaphore nfs_sync_rwlock;
struct ocfs2_lock_res osb_trim_fs_lockres;
struct mutex obs_trim_fs_mutex;
struct ocfs2_dlm_debug *osb_dlm_debug;
_
Patches currently in -mm which might be from junxiao.bi(a)oracle.com are
The patch titled
Subject: mm, compaction: make capture control handling safe wrt interrupts
has been removed from the -mm tree. Its filename was
mm-compaction-make-capture-control-handling-safe-wrt-interrupts.patch
This patch was dropped because it was merged into mainline or a subsystem tree
------------------------------------------------------
From: Vlastimil Babka <vbabka(a)suse.cz>
Subject: mm, compaction: make capture control handling safe wrt interrupts
Hugh reports:
: While stressing compaction, one run oopsed on NULL capc->cc in
: __free_one_page()'s task_capc(zone): compact_zone_order() had been
: interrupted, and a page was being freed in the return from interrupt.
:
: Though you would not expect it from the source, both gccs I was using (a
: 4.8.1 and a 7.5.0) had chosen to compile compact_zone_order() with the
: ".cc = &cc" implemented by mov %rbx,-0xb0(%rbp) immediately before callq
: compact_zone - long after the "current->capture_control = &capc". An
: interrupt in between those finds capc->cc NULL (zeroed by an earlier rep
: stos).
:
: This could presumably be fixed by a barrier() before setting
: current->capture_control in compact_zone_order(); but would also need more
: care on return from compact_zone(), in order not to risk leaking a page
: captured by interrupt just before capture_control is reset.
:
: Maybe that is the preferable fix, but I felt safer for task_capc() to
: exclude the rather surprising possibility of capture at interrupt time.
I have checked that gcc10 also behaves the same.
The advantage of fix in compact_zone_order() is that we don't add another
test in the page freeing hot path, and that it might prevent future
problems if we stop exposing pointers to uninitialized structures in
current task.
So this patch implements the suggestion for compact_zone_order() with
barrier() (and WRITE_ONCE() to prevent store tearing) for setting
current->capture_control, and prevents page leaking with
WRITE_ONCE/READ_ONCE in the proper order.
Link: http://lkml.kernel.org/r/20200616082649.27173-1-vbabka@suse.cz
Fixes: 5e1f0f098b46 ("mm, compaction: capture a page under direct compaction")
Signed-off-by: Vlastimil Babka <vbabka(a)suse.cz>
Reported-by: Hugh Dickins <hughd(a)google.com>
Suggested-by: Hugh Dickins <hughd(a)google.com>
Acked-by: Hugh Dickins <hughd(a)google.com>
Cc: Alex Shi <alex.shi(a)linux.alibaba.com>
Cc: Li Wang <liwang(a)redhat.com>
Cc: Mel Gorman <mgorman(a)techsingularity.net>
Cc: <stable(a)vger.kernel.org> [5.1+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/compaction.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
--- a/mm/compaction.c~mm-compaction-make-capture-control-handling-safe-wrt-interrupts
+++ a/mm/compaction.c
@@ -2316,15 +2316,26 @@ static enum compact_result compact_zone_
.page = NULL,
};
- current->capture_control = &capc;
+ /*
+ * Make sure the structs are really initialized before we expose the
+ * capture control, in case we are interrupted and the interrupt handler
+ * frees a page.
+ */
+ barrier();
+ WRITE_ONCE(current->capture_control, &capc);
ret = compact_zone(&cc, &capc);
VM_BUG_ON(!list_empty(&cc.freepages));
VM_BUG_ON(!list_empty(&cc.migratepages));
- *capture = capc.page;
- current->capture_control = NULL;
+ /*
+ * Make sure we hide capture control first before we read the captured
+ * page pointer, otherwise an interrupt could free and capture a page
+ * and we would leak it.
+ */
+ WRITE_ONCE(current->capture_control, NULL);
+ *capture = READ_ONCE(capc.page);
return ret;
}
_
Patches currently in -mm which might be from vbabka(a)suse.cz are
mm-slub-extend-slub_debug-syntax-for-multiple-blocks.patch
mm-slub-make-some-slub_debug-related-attributes-read-only.patch
mm-slub-remove-runtime-allocation-order-changes.patch
mm-slub-make-remaining-slub_debug-related-attributes-read-only.patch
mm-slub-make-reclaim_account-attribute-read-only.patch
mm-slub-introduce-static-key-for-slub_debug.patch
mm-slub-introduce-kmem_cache_debug_flags.patch
mm-slub-introduce-kmem_cache_debug_flags-fix.patch
mm-slub-extend-checks-guarded-by-slub_debug-static-key.patch
mm-slab-slub-move-and-improve-cache_from_obj.patch
mm-slab-slub-improve-error-reporting-and-overhead-of-cache_from_obj.patch
mm-slab-slub-improve-error-reporting-and-overhead-of-cache_from_obj-fix.patch
mm-page_alloc-use-unlikely-in-task_capc.patch
Hi,
Please consider applying the following patches to the listed stable
releases.
The following patches were found to be missing in stable releases by the
Chrome OS missing patch robot. The patches meet the following criteria.
- The patch includes a Fixes: tag
Note that the Fixes: tag does not always point to the correct upstream
SHA. In that case the correct upstream SHA is listed below.
- The patch referenced in the Fixes: tag has been applied to the listed
stable release
- The patch has not been applied to that stable release
All patches have been applied to the listed stable releases and to at least
one Chrome OS branch. Resulting images have been build- and runtime-tested
(where applicable) on real hardware and with virtual hardware on
kerneltests.org.
Thanks,
Guenter
---
Upstream commit ba69ead9e9e9 ("scsi: scsi_devinfo: handle non-terminated strings")
upstream: v4.15-rc4
Fixes: b8018b973c7c ("scsi: scsi_devinfo: fixup string compare")
in linux-4.4.y: ac8002f7cd0a
in linux-4.9.y: d74a350d7035
in linux-4.14.y: 13cd297f15ed
upstream: v4.15-rc1
Affected branches:
linux-4.4.y
linux-4.9.y
linux-4.14.y
Upstream commit 0d0d9a388a85 ("l2tp: Allow duplicate session creation with UDP")
upstream: v5.6-rc1
Fixes: dbdbc73b4478 ("l2tp: fix duplicate session creation")
in linux-4.4.y: e613c6208242
in linux-4.9.y: d9face6fc62a
upstream: v4.11-rc6
Affected branches:
linux-4.4.y
linux-4.9.y
linux-4.14.y (already applied)
linux-4.19.y (already applied)
linux-5.4.y (already applied)
Upstream commit 64611a15ca9d ("dm crypt: avoid truncating the logical block size")
upstream: v5.8-rc1
Fixes: ad6bf88a6c19 ("block: fix an integer overflow in logical block size")
in linux-4.4.y: b8cd70b724f0
in linux-4.9.y: 5dbde467ccd6
in linux-4.14.y: 0c7a7d8e62bd
in linux-4.19.y: a7f79052d1af
in linux-5.4.y: 6eed26e35cfd
upstream: v5.5-rc7
Affected branches:
linux-4.4.y (conflicts - backport needed)
linux-4.9.y (conflicts - backport needed)
linux-4.14.y
linux-4.19.y
linux-5.4.y
linux-5.6.y
linux-5.7.y
Upstream commit f29801030ac6 ("e1000e: Disable TSO for buffer overrun workaround")
upstream: v5.8-rc1
Fixes: b10effb92e27 ("e1000e: fix buffer overrun while the I219 is processing DMA transactions")
in linux-4.14.y: 0f478f25d50c
upstream: v4.15-rc1
Affected branches:
linux-4.14.y
linux-4.19.y
linux-5.4.y
linux-5.6.y
linux-5.7.y
Upstream commit 7c6d2ecbda83 ("net: be more gentle about silly gso requests coming from user")
upstream: v5.7
Fixes: 6dd912f82680 ("net: check untrusted gso_size at kernel entry")
in linux-4.14.y: 5c336039843d
in linux-4.19.y: 8920e8ae16a8
in linux-5.4.y: a93417dfc1b0
in linux-5.6.y: 17e1f3e32239
upstream: v5.7
Affected branches:
linux-4.14.y
linux-4.19.y
linux-5.4.y (already applied)
linux-5.6.y (already applied)
Upstream commit 8418897f1bf8 ("ext4: fix error pointer dereference")
upstream: v5.8-rc1
Fixes: fb265c9cb49e ("ext4: add ext4_sb_bread() to disambiguate ENOMEM cases")
in linux-4.14.y: 9da1f6d06b7a
in linux-4.19.y: b878c8a7f08f
upstream: v5.0-rc1
Affected branches:
linux-4.14.y
linux-4.19.y
linux-5.4.y
linux-5.6.y
linux-5.7.y
Upstream commit a75ca9303175 ("block/bio-integrity: don't free 'buf' if bio_integrity_add_page() failed")
upstream: v5.8-rc1
Fixes: e7bf90e5afe3 ("block/bio-integrity: fix a memory leak bug")
in linux-4.14.y: c35f5d31451f
in linux-4.19.y: af50d6a1c245
upstream: v5.3-rc1
Affected branches:
linux-4.14.y
linux-4.19.y
linux-5.4.y
linux-5.6.y
linux-5.7.y
Upstream commit be32acff4380 ("scsi: ufs: Don't update urgent bkops level when toggling auto bkops")
upstream: v5.8-rc1
Fixes: 24366c2afbb0 ("scsi: ufs: Recheck bkops level if bkops is disabled")
in linux-4.14.y: c909605d73ab
in linux-4.19.y: 028a925c0540
in linux-5.4.y: 3c9edf55817a
upstream: v5.6-rc1
Affected branches:
linux-4.14.y
linux-4.19.y
linux-5.4.y
linux-5.6.y
linux-5.7.y
Upstream commit 2f02fd3fa13e ("fanotify: fix ignore mask logic for events on child and on dir")
upstream: v5.8-rc1
Fixes: b469e7e47c8a ("fanotify: fix handling of events on child sub-directory")
in linux-4.9.y: 987d8ff3a2d8
in linux-4.14.y: 515160e3c4f2
in linux-4.19.y: 20663629f6ae
upstream: v4.20-rc3
Affected branches:
linux-4.9.y (conflicts - backport needed)
linux-4.14.y (conflicts - backport needed)
linux-4.19.y
linux-5.4.y (already applied)
linux-5.6.y (already applied)
linux-5.7.y (already applied)
Upstream commit 607fa205a7e4 ("ASoC: core: only convert non DPCM link to DPCM link")
upstream: v5.8-rc1
Fixes: 218fe9b7ec7f ("ASoC: soc-core: Set dpcm_playback / dpcm_capture")
in linux-4.19.y: 57f633cfe3fb
in linux-5.4.y: 5585d2a98904
upstream: v5.5-rc6
Affected branches:
linux-4.19.y
linux-5.4.y
linux-5.6.y
linux-5.7.y
Upstream commit 3e5095eebe01 ("PCI: vmd: Filter resource type bits from shadow register")
upstream: v5.8-rc1
Fixes: a1a30170138c ("PCI: vmd: Fix shadow offsets to reflect spec changes")
in linux-4.19.y: 956ce989c41f
upstream: v5.4-rc1
Affected branches:
linux-4.19.y
linux-5.4.y
linux-5.6.y
linux-5.7.y
Upstream commit 8a325dd06f23 ("of: Fix a refcounting bug in __of_attach_node_sysfs()")
upstream: v5.8-rc1
Fixes: 5b2c2f5a0ea3 ("of: overlay: add missing of_node_get() in __of_attach_node_sysfs")
in linux-4.19.y: 9af27fab0061
upstream: v5.0-rc1
Affected branches:
linux-4.19.y
linux-5.4.y
linux-5.6.y
linux-5.7.y
Upstream commit 8bc3b5e4b70d ("xfs: clean up the error handling in xfs_swap_extents")
upstream: v5.8-rc1
Fixes: 96987eea537d ("xfs: cancel COW blocks before swapext")
in linux-4.19.y: a585ac0e767b
upstream: v4.20-rc1
Affected branches:
linux-4.19.y
linux-5.4.y
linux-5.6.y
linux-5.7.y
Upstream commit fe17e6cdc0fe ("ASoC: SOF: imx8: Fix randbuild error")
upstream: v5.8-rc1
Fixes: f9ad75468453 ("ASoC: SOF: imx: fix reverse CONFIG_SND_SOC_SOF_OF dependency")
in linux-5.4.y: d98020a3fddd
upstream: v5.5-rc1
Affected branches:
linux-5.4.y
linux-5.6.y
linux-5.7.y
Upstream commit 10ce77e4817f ("ALSA: usb-audio: Add duplex sound support for USB devices using implicit feedback")
upstream: v5.8-rc1
Fixes: c249177944b6 ("ALSA: usb-audio: add implicit fb quirk for MOTU M Series")
in linux-5.4.y: da2d50868e59
upstream: v5.6-rc1
Affected branches:
linux-5.4.y
linux-5.6.y
linux-5.7.y
Hi folks,
I'm the maintainer in Debian for strace. Trying to reproduce
https://bugs.debian.org/963462 on my machine (Thinkpad T470), I've
found a repeatable hard lockup running the strace testsuite. Each time
it seems to have failed in a slightly different place in the testsuite
(suggesting it's not one particular syscall test that's triggering the
failure). I initially found this using Debian's current Buster kernel
(4.19.118+2+deb10u1), then backtracking I found that 4.19.98+1+deb10u1
worked fine.
I've bisected to find the failure point along the linux-4.19.y stable
branch and what I've got to is the following commit:
e58f543fc7c0926f31a49619c1a3648e49e8d233 is the first bad commit
commit e58f543fc7c0926f31a49619c1a3648e49e8d233
Author: Jann Horn <jannh(a)google.com>
Date: Thu Sep 13 18:12:09 2018 +0200
apparmor: don't try to replace stale label in ptrace access check
[ Upstream commit 1f8266ff58840d698a1e96d2274189de1bdf7969 ]
As a comment above begin_current_label_crit_section() explains,
begin_current_label_crit_section() must run in sleepable context because
when label_is_stale() is true, aa_replace_current_label() runs, which uses
prepare_creds(), which can sleep.
Until now, the ptrace access check (which runs with a task lock held)
violated this rule.
Also add a might_sleep() assertion to begin_current_label_crit_section(),
because asserts are less likely to be ignored than comments.
Fixes: b2d09ae449ced ("apparmor: move ptrace checks to using labels")
Signed-off-by: Jann Horn <jannh(a)google.com>
Signed-off-by: John Johansen <john.johansen(a)canonical.com>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
:040000 040000 ca92f885a38c1747b812116f19de6967084a647e 865a227665e460e159502f21e8a16e6fa590bf50 M security
Considering I'm running strace build tests to provoke this bug,
finding the failure in a commit talking about ptrace changes does look
very suspicious...!
Annoyingly, I can't reproduce this on my disparate other machines
here, suggesting it's maybe(?) timing related.
Hope this helps - happy to give more information, test things, etc.
--
Steve McIntyre, Cambridge, UK. steve(a)einval.com
"Managing a volunteer open source project is a lot like herding
kittens, except the kittens randomly appear and disappear because they
have day jobs." -- Matt Mackall
This is a note to let you know that I've just added the patch titled
usb: cdns3: trace: using correct dir value
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From ba3a80fe0fb67d8790f62b7bc60df97406d89871 Mon Sep 17 00:00:00 2001
From: Peter Chen <peter.chen(a)nxp.com>
Date: Tue, 23 Jun 2020 11:09:17 +0800
Subject: usb: cdns3: trace: using correct dir value
It should use the correct direction value from register, not depends
on previous software setting. It fixed the EP number wrong issue at
trace when the TRBERR interrupt occurs for EP0IN.
When the EP0IN IOC has finished, software prepares the setup packet
request, the expected direction is OUT, but at that time, the TRBERR
for EP0IN may occur since it is DMULT mode, the DMA does not stop
until TRBERR has met.
Cc: <stable(a)vger.kernel.org>
Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver")
Reviewed-by: Pawel Laszczak <pawell(a)cadence.com>
Signed-off-by: Peter Chen <peter.chen(a)nxp.com>
Signed-off-by: Felipe Balbi <balbi(a)kernel.org>
---
drivers/usb/cdns3/trace.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/cdns3/trace.h b/drivers/usb/cdns3/trace.h
index 8d121e207fd8..755c56582257 100644
--- a/drivers/usb/cdns3/trace.h
+++ b/drivers/usb/cdns3/trace.h
@@ -156,7 +156,7 @@ DECLARE_EVENT_CLASS(cdns3_log_ep0_irq,
__dynamic_array(char, str, CDNS3_MSG_MAX)
),
TP_fast_assign(
- __entry->ep_dir = priv_dev->ep0_data_dir;
+ __entry->ep_dir = priv_dev->selected_ep;
__entry->ep_sts = ep_sts;
),
TP_printk("%s", cdns3_decode_ep0_irq(__get_str(str),
--
2.27.0
This is a note to let you know that I've just added the patch titled
usb: cdns3: ep0: add spinlock for cdns3_check_new_setup
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 2587a029fa2a877d0a8dda955ef1b24c94b4bd0e Mon Sep 17 00:00:00 2001
From: Peter Chen <peter.chen(a)nxp.com>
Date: Tue, 23 Jun 2020 11:09:18 +0800
Subject: usb: cdns3: ep0: add spinlock for cdns3_check_new_setup
The other thread may access other endpoints when the cdns3_check_new_setup
is handling, add spinlock to protect it.
Cc: <stable(a)vger.kernel.org>
Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver")
Reviewed-by: Pawel Laszczak <pawell(a)cadence.com>
Signed-off-by: Peter Chen <peter.chen(a)nxp.com>
Signed-off-by: Felipe Balbi <balbi(a)kernel.org>
---
drivers/usb/cdns3/ep0.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/cdns3/ep0.c b/drivers/usb/cdns3/ep0.c
index 04e49582fb55..61ec5bb2b0ca 100644
--- a/drivers/usb/cdns3/ep0.c
+++ b/drivers/usb/cdns3/ep0.c
@@ -705,15 +705,17 @@ static int cdns3_gadget_ep0_queue(struct usb_ep *ep,
int ret = 0;
u8 zlp = 0;
+ spin_lock_irqsave(&priv_dev->lock, flags);
trace_cdns3_ep0_queue(priv_dev, request);
/* cancel the request if controller receive new SETUP packet. */
- if (cdns3_check_new_setup(priv_dev))
+ if (cdns3_check_new_setup(priv_dev)) {
+ spin_unlock_irqrestore(&priv_dev->lock, flags);
return -ECONNRESET;
+ }
/* send STATUS stage. Should be called only for SET_CONFIGURATION */
if (priv_dev->ep0_stage == CDNS3_STATUS_STAGE) {
- spin_lock_irqsave(&priv_dev->lock, flags);
cdns3_select_ep(priv_dev, 0x00);
erdy_sent = !priv_dev->hw_configured_flag;
@@ -738,7 +740,6 @@ static int cdns3_gadget_ep0_queue(struct usb_ep *ep,
return 0;
}
- spin_lock_irqsave(&priv_dev->lock, flags);
if (!list_empty(&priv_ep->pending_req_list)) {
dev_err(priv_dev->dev,
"can't handle multiple requests for ep0\n");
--
2.27.0
This is a note to let you know that I've just added the patch titled
usb: cdns3: ep0: fix the test mode set incorrectly
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From b51e1cf64f93acebb6d8afbacd648a6ecefc39b4 Mon Sep 17 00:00:00 2001
From: Peter Chen <peter.chen(a)nxp.com>
Date: Tue, 23 Jun 2020 11:09:16 +0800
Subject: usb: cdns3: ep0: fix the test mode set incorrectly
The 'tmode' is ctrl->wIndex, changing it as the real test
mode value for register assignment.
Cc: <stable(a)vger.kernel.org>
Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver")
Reviewed-by: Jun Li <jun.li(a)nxp.com>
Signed-off-by: Peter Chen <peter.chen(a)nxp.com>
Signed-off-by: Felipe Balbi <balbi(a)kernel.org>
---
drivers/usb/cdns3/ep0.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/cdns3/ep0.c b/drivers/usb/cdns3/ep0.c
index 82645a2a0f52..04e49582fb55 100644
--- a/drivers/usb/cdns3/ep0.c
+++ b/drivers/usb/cdns3/ep0.c
@@ -327,7 +327,8 @@ static int cdns3_ep0_feature_handle_device(struct cdns3_device *priv_dev,
if (!set || (tmode & 0xff) != 0)
return -EINVAL;
- switch (tmode >> 8) {
+ tmode >>= 8;
+ switch (tmode) {
case TEST_J:
case TEST_K:
case TEST_SE0_NAK:
--
2.27.0
The patch below does not apply to the 5.4-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 03fe7aaf0c3d40ef7feff2bdc7180c146989586a Mon Sep 17 00:00:00 2001
From: Krzysztof Kozlowski <krzk(a)kernel.org>
Date: Wed, 10 Jun 2020 17:41:57 +0200
Subject: [PATCH] spi: spi-fsl-dspi: Free DMA memory with matching function
Driver allocates DMA memory with dma_alloc_coherent() but frees it with
dma_unmap_single().
This causes DMA warning during system shutdown (with DMA debugging) on
Toradex Colibri VF50 module:
WARNING: CPU: 0 PID: 1 at ../kernel/dma/debug.c:1036 check_unmap+0x3fc/0xb04
DMA-API: fsl-edma 40098000.dma-controller: device driver frees DMA memory with wrong function
[device address=0x0000000087040000] [size=8 bytes] [mapped as coherent] [unmapped as single]
Hardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree)
(unwind_backtrace) from [<8010bb34>] (show_stack+0x10/0x14)
(show_stack) from [<8011ced8>] (__warn+0xf0/0x108)
(__warn) from [<8011cf64>] (warn_slowpath_fmt+0x74/0xb8)
(warn_slowpath_fmt) from [<8017d170>] (check_unmap+0x3fc/0xb04)
(check_unmap) from [<8017d900>] (debug_dma_unmap_page+0x88/0x90)
(debug_dma_unmap_page) from [<80601d68>] (dspi_release_dma+0x88/0x110)
(dspi_release_dma) from [<80601e4c>] (dspi_shutdown+0x5c/0x80)
(dspi_shutdown) from [<805845f8>] (device_shutdown+0x17c/0x220)
(device_shutdown) from [<80143ef8>] (kernel_restart+0xc/0x50)
(kernel_restart) from [<801441cc>] (__do_sys_reboot+0x18c/0x210)
(__do_sys_reboot) from [<80100060>] (ret_fast_syscall+0x0/0x28)
DMA-API: Mapped at:
dma_alloc_attrs+0xa4/0x130
dspi_probe+0x568/0x7b4
platform_drv_probe+0x6c/0xa4
really_probe+0x208/0x348
driver_probe_device+0x5c/0xb4
Fixes: 90ba37033cb9 ("spi: spi-fsl-dspi: Add DMA support for Vybrid")
Signed-off-by: Krzysztof Kozlowski <krzk(a)kernel.org>
Acked-by: Vladimir Oltean <vladimir.oltean(a)nxp.com>
Cc: <stable(a)vger.kernel.org>
Link: https://lore.kernel.org/r/1591803717-11218-1-git-send-email-krzk@kernel.org
Signed-off-by: Mark Brown <broonie(a)kernel.org>
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index a35faced0456..58190c94561f 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -588,14 +588,14 @@ static void dspi_release_dma(struct fsl_dspi *dspi)
return;
if (dma->chan_tx) {
- dma_unmap_single(dma->chan_tx->device->dev, dma->tx_dma_phys,
- dma_bufsize, DMA_TO_DEVICE);
+ dma_free_coherent(dma->chan_tx->device->dev, dma_bufsize,
+ dma->tx_dma_buf, dma->tx_dma_phys);
dma_release_channel(dma->chan_tx);
}
if (dma->chan_rx) {
- dma_unmap_single(dma->chan_rx->device->dev, dma->rx_dma_phys,
- dma_bufsize, DMA_FROM_DEVICE);
+ dma_free_coherent(dma->chan_rx->device->dev, dma_bufsize,
+ dma->rx_dma_buf, dma->rx_dma_phys);
dma_release_channel(dma->chan_rx);
}
}
The patch below does not apply to the 4.19-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 03fe7aaf0c3d40ef7feff2bdc7180c146989586a Mon Sep 17 00:00:00 2001
From: Krzysztof Kozlowski <krzk(a)kernel.org>
Date: Wed, 10 Jun 2020 17:41:57 +0200
Subject: [PATCH] spi: spi-fsl-dspi: Free DMA memory with matching function
Driver allocates DMA memory with dma_alloc_coherent() but frees it with
dma_unmap_single().
This causes DMA warning during system shutdown (with DMA debugging) on
Toradex Colibri VF50 module:
WARNING: CPU: 0 PID: 1 at ../kernel/dma/debug.c:1036 check_unmap+0x3fc/0xb04
DMA-API: fsl-edma 40098000.dma-controller: device driver frees DMA memory with wrong function
[device address=0x0000000087040000] [size=8 bytes] [mapped as coherent] [unmapped as single]
Hardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree)
(unwind_backtrace) from [<8010bb34>] (show_stack+0x10/0x14)
(show_stack) from [<8011ced8>] (__warn+0xf0/0x108)
(__warn) from [<8011cf64>] (warn_slowpath_fmt+0x74/0xb8)
(warn_slowpath_fmt) from [<8017d170>] (check_unmap+0x3fc/0xb04)
(check_unmap) from [<8017d900>] (debug_dma_unmap_page+0x88/0x90)
(debug_dma_unmap_page) from [<80601d68>] (dspi_release_dma+0x88/0x110)
(dspi_release_dma) from [<80601e4c>] (dspi_shutdown+0x5c/0x80)
(dspi_shutdown) from [<805845f8>] (device_shutdown+0x17c/0x220)
(device_shutdown) from [<80143ef8>] (kernel_restart+0xc/0x50)
(kernel_restart) from [<801441cc>] (__do_sys_reboot+0x18c/0x210)
(__do_sys_reboot) from [<80100060>] (ret_fast_syscall+0x0/0x28)
DMA-API: Mapped at:
dma_alloc_attrs+0xa4/0x130
dspi_probe+0x568/0x7b4
platform_drv_probe+0x6c/0xa4
really_probe+0x208/0x348
driver_probe_device+0x5c/0xb4
Fixes: 90ba37033cb9 ("spi: spi-fsl-dspi: Add DMA support for Vybrid")
Signed-off-by: Krzysztof Kozlowski <krzk(a)kernel.org>
Acked-by: Vladimir Oltean <vladimir.oltean(a)nxp.com>
Cc: <stable(a)vger.kernel.org>
Link: https://lore.kernel.org/r/1591803717-11218-1-git-send-email-krzk@kernel.org
Signed-off-by: Mark Brown <broonie(a)kernel.org>
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index a35faced0456..58190c94561f 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -588,14 +588,14 @@ static void dspi_release_dma(struct fsl_dspi *dspi)
return;
if (dma->chan_tx) {
- dma_unmap_single(dma->chan_tx->device->dev, dma->tx_dma_phys,
- dma_bufsize, DMA_TO_DEVICE);
+ dma_free_coherent(dma->chan_tx->device->dev, dma_bufsize,
+ dma->tx_dma_buf, dma->tx_dma_phys);
dma_release_channel(dma->chan_tx);
}
if (dma->chan_rx) {
- dma_unmap_single(dma->chan_rx->device->dev, dma->rx_dma_phys,
- dma_bufsize, DMA_FROM_DEVICE);
+ dma_free_coherent(dma->chan_rx->device->dev, dma_bufsize,
+ dma->rx_dma_buf, dma->rx_dma_phys);
dma_release_channel(dma->chan_rx);
}
}
The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm
tree, then please email the backport, including the original git commit
id to <stable(a)vger.kernel.org>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
>From 03fe7aaf0c3d40ef7feff2bdc7180c146989586a Mon Sep 17 00:00:00 2001
From: Krzysztof Kozlowski <krzk(a)kernel.org>
Date: Wed, 10 Jun 2020 17:41:57 +0200
Subject: [PATCH] spi: spi-fsl-dspi: Free DMA memory with matching function
Driver allocates DMA memory with dma_alloc_coherent() but frees it with
dma_unmap_single().
This causes DMA warning during system shutdown (with DMA debugging) on
Toradex Colibri VF50 module:
WARNING: CPU: 0 PID: 1 at ../kernel/dma/debug.c:1036 check_unmap+0x3fc/0xb04
DMA-API: fsl-edma 40098000.dma-controller: device driver frees DMA memory with wrong function
[device address=0x0000000087040000] [size=8 bytes] [mapped as coherent] [unmapped as single]
Hardware name: Freescale Vybrid VF5xx/VF6xx (Device Tree)
(unwind_backtrace) from [<8010bb34>] (show_stack+0x10/0x14)
(show_stack) from [<8011ced8>] (__warn+0xf0/0x108)
(__warn) from [<8011cf64>] (warn_slowpath_fmt+0x74/0xb8)
(warn_slowpath_fmt) from [<8017d170>] (check_unmap+0x3fc/0xb04)
(check_unmap) from [<8017d900>] (debug_dma_unmap_page+0x88/0x90)
(debug_dma_unmap_page) from [<80601d68>] (dspi_release_dma+0x88/0x110)
(dspi_release_dma) from [<80601e4c>] (dspi_shutdown+0x5c/0x80)
(dspi_shutdown) from [<805845f8>] (device_shutdown+0x17c/0x220)
(device_shutdown) from [<80143ef8>] (kernel_restart+0xc/0x50)
(kernel_restart) from [<801441cc>] (__do_sys_reboot+0x18c/0x210)
(__do_sys_reboot) from [<80100060>] (ret_fast_syscall+0x0/0x28)
DMA-API: Mapped at:
dma_alloc_attrs+0xa4/0x130
dspi_probe+0x568/0x7b4
platform_drv_probe+0x6c/0xa4
really_probe+0x208/0x348
driver_probe_device+0x5c/0xb4
Fixes: 90ba37033cb9 ("spi: spi-fsl-dspi: Add DMA support for Vybrid")
Signed-off-by: Krzysztof Kozlowski <krzk(a)kernel.org>
Acked-by: Vladimir Oltean <vladimir.oltean(a)nxp.com>
Cc: <stable(a)vger.kernel.org>
Link: https://lore.kernel.org/r/1591803717-11218-1-git-send-email-krzk@kernel.org
Signed-off-by: Mark Brown <broonie(a)kernel.org>
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index a35faced0456..58190c94561f 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -588,14 +588,14 @@ static void dspi_release_dma(struct fsl_dspi *dspi)
return;
if (dma->chan_tx) {
- dma_unmap_single(dma->chan_tx->device->dev, dma->tx_dma_phys,
- dma_bufsize, DMA_TO_DEVICE);
+ dma_free_coherent(dma->chan_tx->device->dev, dma_bufsize,
+ dma->tx_dma_buf, dma->tx_dma_phys);
dma_release_channel(dma->chan_tx);
}
if (dma->chan_rx) {
- dma_unmap_single(dma->chan_rx->device->dev, dma->rx_dma_phys,
- dma_bufsize, DMA_FROM_DEVICE);
+ dma_free_coherent(dma->chan_rx->device->dev, dma_bufsize,
+ dma->rx_dma_buf, dma->rx_dma_phys);
dma_release_channel(dma->chan_rx);
}
}
Do not fail probing when device_init_wakeup fails. Also clear wakeup
on remove.
device_init_wakeup fails when the device is already enabled as wakeup
device. Hence, the driver fails to probe the device if:
- The device has already been enabled for wakeup (via /proc/acpi/wakeup)
- The driver has been unloaded and is being loaded again.
This goal of the patch is to fix the above cases.
Overwhelming majority of the drivers do not consider device_init_wakeup
failure as a fatal error and proceed regardless of whether it succeeds
or not.
Changes since v2:
- disabled wakeup in remove
- CC'ing stable
- description fixed
Changes since v1:
- added Fixes tag
Fixes: cd70de2d356ee ("media: platform: Add ChromeOS EC CEC driver")
Cc: stable(a)vger.kernel.org
Signed-off-by: Dariusz Marcinkiewicz <darekm(a)google.com>
---
drivers/media/cec/platform/cros-ec/cros-ec-cec.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
index 0e7e2772f08f..3881ed7bc3d9 100644
--- a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
+++ b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
@@ -277,12 +277,6 @@ static int cros_ec_cec_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, cros_ec_cec);
cros_ec_cec->cros_ec = cros_ec;
- ret = device_init_wakeup(&pdev->dev, 1);
- if (ret) {
- dev_err(&pdev->dev, "failed to initialize wakeup\n");
- return ret;
- }
-
cros_ec_cec->adap = cec_allocate_adapter(&cros_ec_cec_ops, cros_ec_cec,
DRV_NAME,
CEC_CAP_DEFAULTS |
@@ -310,6 +304,8 @@ static int cros_ec_cec_probe(struct platform_device *pdev)
if (ret < 0)
goto out_probe_notify;
+ device_init_wakeup(&pdev->dev, 1);
+
return 0;
out_probe_notify:
@@ -339,6 +335,8 @@ static int cros_ec_cec_remove(struct platform_device *pdev)
cros_ec_cec->adap);
cec_unregister_adapter(cros_ec_cec->adap);
+ device_init_wakeup(&pdev->dev, 0);
+
return 0;
}
--
2.27.0.212.ge8ba1cc988-goog
Building the current 5.8 kernel for a e500 machine with
CONFIG_RANDOMIZE_BASE set yields the following failure:
arch/powerpc/mm/nohash/kaslr_booke.c: In function 'kaslr_early_init':
arch/powerpc/mm/nohash/kaslr_booke.c:387:2: error: implicit declaration
of function 'flush_icache_range'; did you mean 'flush_tlb_range'?
[-Werror=implicit-function-declaration]
Indeed, including asm/cacheflush.h into kaslr_booke.c fixes the build.
The issue dates back to the introduction of that file and probably went
unnoticed because there's no in-tree defconfig with CONFIG_RANDOMIZE_BASE
set.
Fixes: 2b0e86cc5de6 ("powerpc/fsl_booke/32: implement KASLR infrastructure")
Cc: stable(a)vger.kernel.org
Signed-off-by: Arseny Solokha <asolokha(a)kb.kras.ru>
---
arch/powerpc/mm/nohash/kaslr_booke.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/powerpc/mm/nohash/kaslr_booke.c b/arch/powerpc/mm/nohash/kaslr_booke.c
index 4a75f2d9bf0e..bce0e5349978 100644
--- a/arch/powerpc/mm/nohash/kaslr_booke.c
+++ b/arch/powerpc/mm/nohash/kaslr_booke.c
@@ -14,6 +14,7 @@
#include <linux/memblock.h>
#include <linux/libfdt.h>
#include <linux/crash_core.h>
+#include <asm/cacheflush.h>
#include <asm/pgalloc.h>
#include <asm/prom.h>
#include <asm/kdump.h>
--
2.27.0
From: Johannes Weiner <hannes(a)cmpxchg.org>
Subject: mm: memcontrol: handle div0 crash race condition in memory.low
Tejun reports seeing rare div0 crashes in memory.low stress testing:
[37228.504582] RIP: 0010:mem_cgroup_calculate_protection+0xed/0x150
[37228.505059] Code: 0f 46 d1 4c 39 d8 72 57 f6 05 16 d6 42 01 40 74 1f 4c 39 d8 76 1a 4c 39 d1 76 15 4c 29 d1 4c 29 d8 4d 29 d9 31 d2 48 0f af c1 <49> f7 f1 49 01 c2 4c 89 96 38 01 00 00 5d c3 48 0f af c7 31 d2 49
[37228.506254] RSP: 0018:ffffa14e01d6fcd0 EFLAGS: 00010246
[37228.506769] RAX: 000000000243e384 RBX: 0000000000000000 RCX: 0000000000008f4b
[37228.507319] RDX: 0000000000000000 RSI: ffff8b89bee84000 RDI: 0000000000000000
[37228.507869] RBP: ffffa14e01d6fcd0 R08: ffff8b89ca7d40f8 R09: 0000000000000000
[37228.508376] R10: 0000000000000000 R11: 00000000006422f7 R12: 0000000000000000
[37228.508881] R13: ffff8b89d9617000 R14: ffff8b89bee84000 R15: ffffa14e01d6fdb8
[37228.509397] FS: 0000000000000000(0000) GS:ffff8b8a1f1c0000(0000) knlGS:0000000000000000
[37228.509917] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[37228.510442] CR2: 00007f93b1fc175b CR3: 000000016100a000 CR4: 0000000000340ea0
[37228.511076] Call Trace:
[37228.511561] shrink_node+0x1e5/0x6c0
[37228.512044] balance_pgdat+0x32d/0x5f0
[37228.512521] kswapd+0x1d7/0x3d0
[37228.513346] ? wait_woken+0x80/0x80
[37228.514170] kthread+0x11c/0x160
[37228.514983] ? balance_pgdat+0x5f0/0x5f0
[37228.515797] ? kthread_park+0x90/0x90
[37228.516593] ret_from_fork+0x1f/0x30
This happens when parent_usage == siblings_protected. We check that usage
is bigger than protected, which should imply parent_usage being bigger
than siblings_protected. However, we don't read (or even update) these
values atomically, and they can be out of sync as the memory state changes
under us. A bit of fluctuation around the target protection isn't a big
deal, but we need to handle the div0 case.
Check the parent state explicitly to make sure we have a reasonable
positive value for the divisor.
Link: http://lkml.kernel.org/r/20200615140658.601684-1-hannes@cmpxchg.org
Fixes: 8a931f801340 ("mm: memcontrol: recursive memory.low protection")
Signed-off-by: Johannes Weiner <hannes(a)cmpxchg.org>
Reported-by: Tejun Heo <tj(a)kernel.org>
Acked-by: Michal Hocko <mhocko(a)suse.com>
Acked-by: Chris Down <chris(a)chrisdown.name>
Cc: Roman Gushchin <guro(a)fb.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/memcontrol.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
--- a/mm/memcontrol.c~mm-memcontrol-handle-div0-crash-race-condition-in-memorylow
+++ a/mm/memcontrol.c
@@ -6360,11 +6360,16 @@ static unsigned long effective_protectio
* We're using unprotected memory for the weight so that if
* some cgroups DO claim explicit protection, we don't protect
* the same bytes twice.
+ *
+ * Check both usage and parent_usage against the respective
+ * protected values. One should imply the other, but they
+ * aren't read atomically - make sure the division is sane.
*/
if (!(cgrp_dfl_root.flags & CGRP_ROOT_MEMORY_RECURSIVE_PROT))
return ep;
-
- if (parent_effective > siblings_protected && usage > protected) {
+ if (parent_effective > siblings_protected &&
+ parent_usage > siblings_protected &&
+ usage > protected) {
unsigned long unclaimed;
unclaimed = parent_effective - siblings_protected;
_
From: Waiman Long <longman(a)redhat.com>
Subject: mm/slab: use memzero_explicit() in kzfree()
The kzfree() function is normally used to clear some sensitive
information, like encryption keys, in the buffer before freeing it back to
the pool. Memset() is currently used for buffer clearing. However
unlikely, there is still a non-zero probability that the compiler may
choose to optimize away the memory clearing especially if LTO is being
used in the future. To make sure that this optimization will never
happen, memzero_explicit(), which is introduced in v3.18, is now used in
kzfree() to future-proof it.
Link: http://lkml.kernel.org/r/20200616154311.12314-2-longman@redhat.com
Fixes: 3ef0e5ba4673 ("slab: introduce kzfree()")
Signed-off-by: Waiman Long <longman(a)redhat.com>
Acked-by: Michal Hocko <mhocko(a)suse.com>
Cc: David Howells <dhowells(a)redhat.com>
Cc: Jarkko Sakkinen <jarkko.sakkinen(a)linux.intel.com>
Cc: James Morris <jmorris(a)namei.org>
Cc: "Serge E. Hallyn" <serge(a)hallyn.com>
Cc: Joe Perches <joe(a)perches.com>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: David Rientjes <rientjes(a)google.com>
Cc: Johannes Weiner <hannes(a)cmpxchg.org>
Cc: Dan Carpenter <dan.carpenter(a)oracle.com>
Cc: "Jason A . Donenfeld" <Jason(a)zx2c4.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/slab_common.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/mm/slab_common.c~mm-slab-use-memzero_explicit-in-kzfree
+++ a/mm/slab_common.c
@@ -1726,7 +1726,7 @@ void kzfree(const void *p)
if (unlikely(ZERO_OR_NULL_PTR(mem)))
return;
ks = ksize(mem);
- memset(mem, 0, ks);
+ memzero_explicit(mem, ks);
kfree(mem);
}
EXPORT_SYMBOL(kzfree);
_
From: Waiman Long <longman(a)redhat.com>
Subject: mm, slab: fix sign conversion problem in memcg_uncharge_slab()
It was found that running the LTP test on a PowerPC system could produce
erroneous values in /proc/meminfo, like:
MemTotal: 531915072 kB
MemFree: 507962176 kB
MemAvailable: 1100020596352 kB
Using bisection, the problem is tracked down to commit 9c315e4d7d8c ("mm:
memcg/slab: cache page number in memcg_(un)charge_slab()").
In memcg_uncharge_slab() with a "int order" argument:
unsigned int nr_pages = 1 << order;
:
mod_lruvec_state(lruvec, cache_vmstat_idx(s), -nr_pages);
The mod_lruvec_state() function will eventually call the
__mod_zone_page_state() which accepts a long argument. Depending on the
compiler and how inlining is done, "-nr_pages" may be treated as a
negative number or a very large positive number. Apparently, it was
treated as a large positive number in that PowerPC system leading to
incorrect stat counts. This problem hasn't been seen in x86-64 yet,
perhaps the gcc compiler there has some slight difference in behavior.
It is fixed by making nr_pages a signed value. For consistency, a similar
change is applied to memcg_charge_slab() as well.
Link: http://lkml.kernel.org/r/20200620184719.10994-1-longman@redhat.com
Fixes: 9c315e4d7d8c ("mm: memcg/slab: cache page number in memcg_(un)charge_slab()").
Signed-off-by: Waiman Long <longman(a)redhat.com>
Acked-by: Roman Gushchin <guro(a)fb.com>
Cc: Christoph Lameter <cl(a)linux.com>
Cc: Pekka Enberg <penberg(a)kernel.org>
Cc: David Rientjes <rientjes(a)google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim(a)lge.com>
Cc: Shakeel Butt <shakeelb(a)google.com>
Cc: Johannes Weiner <hannes(a)cmpxchg.org>
Cc: Michal Hocko <mhocko(a)kernel.org>
Cc: Vladimir Davydov <vdavydov.dev(a)gmail.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/slab.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/mm/slab.h~mm-slab-fix-sign-conversion-problem-in-memcg_uncharge_slab
+++ a/mm/slab.h
@@ -348,7 +348,7 @@ static __always_inline int memcg_charge_
gfp_t gfp, int order,
struct kmem_cache *s)
{
- unsigned int nr_pages = 1 << order;
+ int nr_pages = 1 << order;
struct mem_cgroup *memcg;
struct lruvec *lruvec;
int ret;
@@ -388,7 +388,7 @@ out:
static __always_inline void memcg_uncharge_slab(struct page *page, int order,
struct kmem_cache *s)
{
- unsigned int nr_pages = 1 << order;
+ int nr_pages = 1 << order;
struct mem_cgroup *memcg;
struct lruvec *lruvec;
_
From: Junxiao Bi <junxiao.bi(a)oracle.com>
Subject: ocfs2: fix value of OCFS2_INVALID_SLOT
In the ocfs2 disk layout, slot number is 16 bits, but in ocfs2
implementation, slot number is 32 bits. Usually this will not cause any
issue, because slot number is converted from u16 to u32, but
OCFS2_INVALID_SLOT was defined as -1, when an invalid slot number from
disk was obtained, its value was (u16)-1, and it was converted to u32.
Then the following checking in get_local_system_inode will be always
skipped:
static struct inode **get_local_system_inode(struct ocfs2_super *osb,
int type,
u32 slot)
{
BUG_ON(slot == OCFS2_INVALID_SLOT);
...
}
Link: http://lkml.kernel.org/r/20200616183829.87211-5-junxiao.bi@oracle.com
Signed-off-by: Junxiao Bi <junxiao.bi(a)oracle.com>
Reviewed-by: Joseph Qi <joseph.qi(a)linux.alibaba.com>
Cc: Mark Fasheh <mark(a)fasheh.com>
Cc: Joel Becker <jlbec(a)evilplan.org>
Cc: Changwei Ge <gechangwei(a)live.cn>
Cc: Gang He <ghe(a)suse.com>
Cc: Jun Piao <piaojun(a)huawei.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/ocfs2/ocfs2_fs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/fs/ocfs2/ocfs2_fs.h~ocfs2-fix-value-of-ocfs2_invalid_slot
+++ a/fs/ocfs2/ocfs2_fs.h
@@ -290,7 +290,7 @@
#define OCFS2_MAX_SLOTS 255
/* Slot map indicator for an empty slot */
-#define OCFS2_INVALID_SLOT -1
+#define OCFS2_INVALID_SLOT ((u16)-1)
#define OCFS2_VOL_UUID_LEN 16
#define OCFS2_MAX_VOL_LABEL_LEN 64
_
From: Junxiao Bi <junxiao.bi(a)oracle.com>
Subject: ocfs2: load global_inode_alloc
Set global_inode_alloc as OCFS2_FIRST_ONLINE_SYSTEM_INODE, that will make
it load during mount. It can be used to test whether some global/system
inodes are valid. One use case is that nfsd will test whether root inode
is valid.
Link: http://lkml.kernel.org/r/20200616183829.87211-3-junxiao.bi@oracle.com
Signed-off-by: Junxiao Bi <junxiao.bi(a)oracle.com>
Reviewed-by: Joseph Qi <joseph.qi(a)linux.alibaba.com>
Cc: Changwei Ge <gechangwei(a)live.cn>
Cc: Gang He <ghe(a)suse.com>
Cc: Joel Becker <jlbec(a)evilplan.org>
Cc: Jun Piao <piaojun(a)huawei.com>
Cc: Mark Fasheh <mark(a)fasheh.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/ocfs2/ocfs2_fs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/fs/ocfs2/ocfs2_fs.h~ocfs2-load-global_inode_alloc
+++ a/fs/ocfs2/ocfs2_fs.h
@@ -326,8 +326,8 @@ struct ocfs2_system_inode_info {
enum {
BAD_BLOCK_SYSTEM_INODE = 0,
GLOBAL_INODE_ALLOC_SYSTEM_INODE,
+#define OCFS2_FIRST_ONLINE_SYSTEM_INODE GLOBAL_INODE_ALLOC_SYSTEM_INODE
SLOT_MAP_SYSTEM_INODE,
-#define OCFS2_FIRST_ONLINE_SYSTEM_INODE SLOT_MAP_SYSTEM_INODE
HEARTBEAT_SYSTEM_INODE,
GLOBAL_BITMAP_SYSTEM_INODE,
USER_QUOTA_SYSTEM_INODE,
_
From: Junxiao Bi <junxiao.bi(a)oracle.com>
Subject: ocfs2: avoid inode removal while nfsd is accessing it
Patch series "ocfs2: fix nfsd over ocfs2 issues", v2.
This is a series of patches to fix issues on nfsd over ocfs2. patch 1 is
to avoid inode removed while nfsd access it patch 2 & 3 is to fix a panic
issue.
This patch (of 4):
When nfsd is getting file dentry using handle or parent dentry of some
dentry, one cluster lock is used to avoid inode removed from other node,
but it still could be removed from local node, so use a rw lock to avoid
this.
Link: http://lkml.kernel.org/r/20200616183829.87211-1-junxiao.bi@oracle.com
Link: http://lkml.kernel.org/r/20200616183829.87211-2-junxiao.bi@oracle.com
Signed-off-by: Junxiao Bi <junxiao.bi(a)oracle.com>
Reviewed-by: Joseph Qi <joseph.qi(a)linux.alibaba.com>
Cc: Changwei Ge <gechangwei(a)live.cn>
Cc: Gang He <ghe(a)suse.com>
Cc: Joel Becker <jlbec(a)evilplan.org>
Cc: Jun Piao <piaojun(a)huawei.com>
Cc: Mark Fasheh <mark(a)fasheh.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/ocfs2/dlmglue.c | 17 ++++++++++++++++-
fs/ocfs2/ocfs2.h | 1 +
2 files changed, 17 insertions(+), 1 deletion(-)
--- a/fs/ocfs2/dlmglue.c~ocfs2-avoid-inode-removed-while-nfsd-access-it
+++ a/fs/ocfs2/dlmglue.c
@@ -689,6 +689,12 @@ static void ocfs2_nfs_sync_lock_res_init
&ocfs2_nfs_sync_lops, osb);
}
+static void ocfs2_nfs_sync_lock_init(struct ocfs2_super *osb)
+{
+ ocfs2_nfs_sync_lock_res_init(&osb->osb_nfs_sync_lockres, osb);
+ init_rwsem(&osb->nfs_sync_rwlock);
+}
+
void ocfs2_trim_fs_lock_res_init(struct ocfs2_super *osb)
{
struct ocfs2_lock_res *lockres = &osb->osb_trim_fs_lockres;
@@ -2855,6 +2861,11 @@ int ocfs2_nfs_sync_lock(struct ocfs2_sup
if (ocfs2_is_hard_readonly(osb))
return -EROFS;
+ if (ex)
+ down_write(&osb->nfs_sync_rwlock);
+ else
+ down_read(&osb->nfs_sync_rwlock);
+
if (ocfs2_mount_local(osb))
return 0;
@@ -2873,6 +2884,10 @@ void ocfs2_nfs_sync_unlock(struct ocfs2_
if (!ocfs2_mount_local(osb))
ocfs2_cluster_unlock(osb, lockres,
ex ? LKM_EXMODE : LKM_PRMODE);
+ if (ex)
+ up_write(&osb->nfs_sync_rwlock);
+ else
+ up_read(&osb->nfs_sync_rwlock);
}
int ocfs2_trim_fs_lock(struct ocfs2_super *osb,
@@ -3340,7 +3355,7 @@ int ocfs2_dlm_init(struct ocfs2_super *o
local:
ocfs2_super_lock_res_init(&osb->osb_super_lockres, osb);
ocfs2_rename_lock_res_init(&osb->osb_rename_lockres, osb);
- ocfs2_nfs_sync_lock_res_init(&osb->osb_nfs_sync_lockres, osb);
+ ocfs2_nfs_sync_lock_init(osb);
ocfs2_orphan_scan_lock_res_init(&osb->osb_orphan_scan.os_lockres, osb);
osb->cconn = conn;
--- a/fs/ocfs2/ocfs2.h~ocfs2-avoid-inode-removed-while-nfsd-access-it
+++ a/fs/ocfs2/ocfs2.h
@@ -395,6 +395,7 @@ struct ocfs2_super
struct ocfs2_lock_res osb_super_lockres;
struct ocfs2_lock_res osb_rename_lockres;
struct ocfs2_lock_res osb_nfs_sync_lockres;
+ struct rw_semaphore nfs_sync_rwlock;
struct ocfs2_lock_res osb_trim_fs_lockres;
struct mutex obs_trim_fs_mutex;
struct ocfs2_dlm_debug *osb_dlm_debug;
_
From: Vlastimil Babka <vbabka(a)suse.cz>
Subject: mm, compaction: make capture control handling safe wrt interrupts
Hugh reports:
: While stressing compaction, one run oopsed on NULL capc->cc in
: __free_one_page()'s task_capc(zone): compact_zone_order() had been
: interrupted, and a page was being freed in the return from interrupt.
:
: Though you would not expect it from the source, both gccs I was using (a
: 4.8.1 and a 7.5.0) had chosen to compile compact_zone_order() with the
: ".cc = &cc" implemented by mov %rbx,-0xb0(%rbp) immediately before callq
: compact_zone - long after the "current->capture_control = &capc". An
: interrupt in between those finds capc->cc NULL (zeroed by an earlier rep
: stos).
:
: This could presumably be fixed by a barrier() before setting
: current->capture_control in compact_zone_order(); but would also need more
: care on return from compact_zone(), in order not to risk leaking a page
: captured by interrupt just before capture_control is reset.
:
: Maybe that is the preferable fix, but I felt safer for task_capc() to
: exclude the rather surprising possibility of capture at interrupt time.
I have checked that gcc10 also behaves the same.
The advantage of fix in compact_zone_order() is that we don't add another
test in the page freeing hot path, and that it might prevent future
problems if we stop exposing pointers to uninitialized structures in
current task.
So this patch implements the suggestion for compact_zone_order() with
barrier() (and WRITE_ONCE() to prevent store tearing) for setting
current->capture_control, and prevents page leaking with
WRITE_ONCE/READ_ONCE in the proper order.
Link: http://lkml.kernel.org/r/20200616082649.27173-1-vbabka@suse.cz
Fixes: 5e1f0f098b46 ("mm, compaction: capture a page under direct compaction")
Signed-off-by: Vlastimil Babka <vbabka(a)suse.cz>
Reported-by: Hugh Dickins <hughd(a)google.com>
Suggested-by: Hugh Dickins <hughd(a)google.com>
Acked-by: Hugh Dickins <hughd(a)google.com>
Cc: Alex Shi <alex.shi(a)linux.alibaba.com>
Cc: Li Wang <liwang(a)redhat.com>
Cc: Mel Gorman <mgorman(a)techsingularity.net>
Cc: <stable(a)vger.kernel.org> [5.1+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/compaction.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
--- a/mm/compaction.c~mm-compaction-make-capture-control-handling-safe-wrt-interrupts
+++ a/mm/compaction.c
@@ -2316,15 +2316,26 @@ static enum compact_result compact_zone_
.page = NULL,
};
- current->capture_control = &capc;
+ /*
+ * Make sure the structs are really initialized before we expose the
+ * capture control, in case we are interrupted and the interrupt handler
+ * frees a page.
+ */
+ barrier();
+ WRITE_ONCE(current->capture_control, &capc);
ret = compact_zone(&cc, &capc);
VM_BUG_ON(!list_empty(&cc.freepages));
VM_BUG_ON(!list_empty(&cc.migratepages));
- *capture = capc.page;
- current->capture_control = NULL;
+ /*
+ * Make sure we hide capture control first before we read the captured
+ * page pointer, otherwise an interrupt could free and capture a page
+ * and we would leak it.
+ */
+ WRITE_ONCE(current->capture_control, NULL);
+ *capture = READ_ONCE(capc.page);
return ret;
}
_
Hello Greg,
Can you please consider including the following patch in the stable linux-4.14.y branch?
This is to fix CVE-2020-12655
d0c7feaf87678371c2c09b3709400be416b2dc62(xfs: add agf freeblocks verify in xfs_agf_verify)
Thanks,
Yishan Chen
Har har, after I moved the slab freelist pointer into the middle of the
slab, now it looks like the contents are getting poisoned. Adjust the
test to avoid the freelist pointer again.
Fixes: 3202fa62fb43 ("slub: relocate freelist pointer to middle of object")
Cc: stable(a)vger.kernel.org
Signed-off-by: Kees Cook <keescook(a)chromium.org>
---
drivers/misc/lkdtm/heap.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/misc/lkdtm/heap.c b/drivers/misc/lkdtm/heap.c
index 3c5cec85edce..1323bc16f113 100644
--- a/drivers/misc/lkdtm/heap.c
+++ b/drivers/misc/lkdtm/heap.c
@@ -58,11 +58,12 @@ void lkdtm_READ_AFTER_FREE(void)
int *base, *val, saw;
size_t len = 1024;
/*
- * The slub allocator uses the first word to store the free
- * pointer in some configurations. Use the middle of the
- * allocation to avoid running into the freelist
+ * The slub allocator will use the either the first word or
+ * the middle of the allocation to store the free pointer,
+ * depending on configurations. Store in the second word to
+ * avoid running into the freelist.
*/
- size_t offset = (len / sizeof(*base)) / 2;
+ size_t offset = sizeof(*base);
base = kmalloc(len, GFP_KERNEL);
if (!base) {
--
2.25.1
The eth_addr member is passed to ether_addr functions that require
2-byte alignment, therefore the member must be properly aligned
to avoid unaligned accesses.
The problem is in place since the initial merge of multicast to unicast:
commit 6db6f0eae6052b70885562e1733896647ec1d807 bridge: multicast to unicast
Fixes: 6db6f0eae605 ("bridge: multicast to unicast")
Cc: Roopa Prabhu <roopa(a)cumulusnetworks.com>
Cc: Nikolay Aleksandrov <nikolay(a)cumulusnetworks.com>
Cc: David S. Miller <davem(a)davemloft.net>
Cc: Jakub Kicinski <kuba(a)kernel.org>
Cc: Felix Fietkau <nbd(a)nbd.name>
Cc: stable(a)vger.kernel.org
Signed-off-by: Thomas Martitz <t.martitz(a)avm.de>
---
net/bridge/br_private.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h
index 7501be4eeba0..22cb2f1993ef 100644
--- a/net/bridge/br_private.h
+++ b/net/bridge/br_private.h
@@ -217,8 +217,8 @@ struct net_bridge_port_group {
struct rcu_head rcu;
struct timer_list timer;
struct br_ip addr;
+ unsigned char eth_addr[ETH_ALEN]; /* 2-byte aligned */
unsigned char flags;
- unsigned char eth_addr[ETH_ALEN];
};
struct net_bridge_mdb_entry {
--
2.27.0
The skcipher API dynamically instantiates the transformation object
on request that implements the requested algorithm optimally on the
given platform. This notion of optimality only matters for cases like
bulk network or disk encryption, where performance can be a bottleneck,
or in cases where the algorithm itself is not known at compile time.
In the mscc case, we are dealing with AES encryption of a single
block, and so neither concern applies, and we are better off using
the AES library interface, which is lightweight and safe for this
kind of use.
Note that the scatterlist API does not permit references to buffers
that are located on the stack, so the existing code is incorrect in
any case, but avoiding the skcipher and scatterlist APIs entirely is
the most straight-forward approach to fixing this.
Cc: Antoine Tenart <antoine.tenart(a)bootlin.com>
Cc: Andrew Lunn <andrew(a)lunn.ch>
Cc: Florian Fainelli <f.fainelli(a)gmail.com>
Cc: Heiner Kallweit <hkallweit1(a)gmail.com>
Cc: "David S. Miller" <davem(a)davemloft.net>
Cc: Jakub Kicinski <kuba(a)kernel.org>
Cc: <stable(a)vger.kernel.org>
Fixes: 28c5107aa904e ("net: phy: mscc: macsec support")
Reviewed-by: Eric Biggers <ebiggers(a)google.com>
Signed-off-by: Ard Biesheuvel <ardb(a)kernel.org>
---
v2:
- select CRYPTO_LIB_AES only if MACSEC is enabled
- add Eric's R-b
drivers/net/phy/Kconfig | 3 +-
drivers/net/phy/mscc/mscc_macsec.c | 40 +++++---------------
2 files changed, 10 insertions(+), 33 deletions(-)
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index f25702386d83..e351d65533aa 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -480,8 +480,7 @@ config MICROCHIP_T1_PHY
config MICROSEMI_PHY
tristate "Microsemi PHYs"
depends on MACSEC || MACSEC=n
- select CRYPTO_AES
- select CRYPTO_ECB
+ select CRYPTO_LIB_AES if MACSEC
help
Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
diff --git a/drivers/net/phy/mscc/mscc_macsec.c b/drivers/net/phy/mscc/mscc_macsec.c
index b4d3dc4068e2..d53ca884b5c9 100644
--- a/drivers/net/phy/mscc/mscc_macsec.c
+++ b/drivers/net/phy/mscc/mscc_macsec.c
@@ -10,7 +10,7 @@
#include <linux/phy.h>
#include <dt-bindings/net/mscc-phy-vsc8531.h>
-#include <crypto/skcipher.h>
+#include <crypto/aes.h>
#include <net/macsec.h>
@@ -500,39 +500,17 @@ static u32 vsc8584_macsec_flow_context_id(struct macsec_flow *flow)
static int vsc8584_macsec_derive_key(const u8 key[MACSEC_KEYID_LEN],
u16 key_len, u8 hkey[16])
{
- struct crypto_skcipher *tfm = crypto_alloc_skcipher("ecb(aes)", 0, 0);
- struct skcipher_request *req = NULL;
- struct scatterlist src, dst;
- DECLARE_CRYPTO_WAIT(wait);
- u32 input[4] = {0};
+ const u8 input[AES_BLOCK_SIZE] = {0};
+ struct crypto_aes_ctx ctx;
int ret;
- if (IS_ERR(tfm))
- return PTR_ERR(tfm);
-
- req = skcipher_request_alloc(tfm, GFP_KERNEL);
- if (!req) {
- ret = -ENOMEM;
- goto out;
- }
-
- skcipher_request_set_callback(req, CRYPTO_TFM_REQ_MAY_BACKLOG |
- CRYPTO_TFM_REQ_MAY_SLEEP, crypto_req_done,
- &wait);
- ret = crypto_skcipher_setkey(tfm, key, key_len);
- if (ret < 0)
- goto out;
-
- sg_init_one(&src, input, 16);
- sg_init_one(&dst, hkey, 16);
- skcipher_request_set_crypt(req, &src, &dst, 16, NULL);
-
- ret = crypto_wait_req(crypto_skcipher_encrypt(req), &wait);
+ ret = aes_expandkey(&ctx, key, key_len);
+ if (ret)
+ return ret;
-out:
- skcipher_request_free(req);
- crypto_free_skcipher(tfm);
- return ret;
+ aes_encrypt(&ctx, hkey, input);
+ memzero_explicit(&ctx, sizeof(ctx));
+ return 0;
}
static int vsc8584_macsec_transformation(struct phy_device *phydev,
--
2.27.0
I updated my system with Radeon VII from kernel 5.6 to kernel 5.7, and
following started to happen on each boot:
...
BUG: kernel NULL pointer dereference, address: 0000000000000128
...
CPU: 9 PID: 1940 Comm: modprobe Tainted: G E 5.7.2-200.im0.fc32.x86_64 #1
Hardware name: System manufacturer System Product Name/PRIME X570-P, BIOS 1407 04/02/2020
RIP: 0010:lock_bus+0x42/0x60 [amdgpu]
...
Call Trace:
i2c_smbus_xfer+0x3d/0xf0
i2c_default_probe+0xf3/0x130
i2c_detect.isra.0+0xfe/0x2b0
? kfree+0xa3/0x200
? kobject_uevent_env+0x11f/0x6a0
? i2c_detect.isra.0+0x2b0/0x2b0
__process_new_driver+0x1b/0x20
bus_for_each_dev+0x64/0x90
? 0xffffffffc0f34000
i2c_register_driver+0x73/0xc0
do_one_initcall+0x46/0x200
? _cond_resched+0x16/0x40
? kmem_cache_alloc_trace+0x167/0x220
? do_init_module+0x23/0x260
do_init_module+0x5c/0x260
__do_sys_init_module+0x14f/0x170
do_syscall_64+0x5b/0xf0
entry_SYSCALL_64_after_hwframe+0x44/0xa9
...
Error appears when some i2c device driver tries to probe for devices
using adapter registered by `smu_v11_0_i2c_eeprom_control_init()`.
Code supporting this adapter requires `adev->psp.ras.ras` to be not
NULL, which is true only when `amdgpu_ras_init()` detects HW support by
calling `amdgpu_ras_check_supported()`.
Before 9015d60c9ee1, adapter was registered by
-> amdgpu_device_ip_init()
-> amdgpu_ras_recovery_init()
-> amdgpu_ras_eeprom_init()
-> smu_v11_0_i2c_eeprom_control_init()
after verifying that `adev->psp.ras.ras` is not NULL in
`amdgpu_ras_recovery_init()`. Currently it is registered
unconditionally by
-> amdgpu_device_ip_init()
-> pp_sw_init()
-> hwmgr_sw_init()
-> vega20_smu_init()
-> smu_v11_0_i2c_eeprom_control_init()
Fix simply adds HW support check (ras == NULL => no support) before
calling `smu_v11_0_i2c_eeprom_control_{init,fini}()`.
Please note that there is a chance that similar fix is also required for
CHIP_ARCTURUS. I do not know whether any actual Arcturus hardware without
RAS exist, and whether calling `smu_i2c_eeprom_init()` makes any sense
when there is no HW support.
Cc: stable(a)vger.kernel.org
Fixes: 9015d60c9ee1 ("drm/amdgpu: Move EEPROM I2C adapter to amdgpu_device")
Signed-off-by: Ivan Mironov <mironov.ivan(a)gmail.com>
Tested-by: Bjorn Nostvold <bjorn.nostvold(a)gmail.com>
---
Changelog:
v1:
- Added "Tested-by" for another user who used this patch to fix the
same issue.
v0:
- Patch introduced.
---
drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c
index 2fb97554134f..c2e0fbbccf56 100644
--- a/drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c
+++ b/drivers/gpu/drm/amd/powerplay/smumgr/vega20_smumgr.c
@@ -522,9 +522,11 @@ static int vega20_smu_init(struct pp_hwmgr *hwmgr)
priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].version = 0x01;
priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].size = sizeof(DpmActivityMonitorCoeffInt_t);
- ret = smu_v11_0_i2c_eeprom_control_init(&adev->pm.smu_i2c);
- if (ret)
- goto err4;
+ if (adev->psp.ras.ras) {
+ ret = smu_v11_0_i2c_eeprom_control_init(&adev->pm.smu_i2c);
+ if (ret)
+ goto err4;
+ }
return 0;
@@ -560,7 +562,8 @@ static int vega20_smu_fini(struct pp_hwmgr *hwmgr)
(struct vega20_smumgr *)(hwmgr->smu_backend);
struct amdgpu_device *adev = hwmgr->adev;
- smu_v11_0_i2c_eeprom_control_fini(&adev->pm.smu_i2c);
+ if (adev->psp.ras.ras)
+ smu_v11_0_i2c_eeprom_control_fini(&adev->pm.smu_i2c);
if (priv) {
amdgpu_bo_free_kernel(&priv->smu_tables.entry[TABLE_PPTABLE].handle,
--
2.26.2
From: Sean Paul <seanpaul(a)chromium.org>
This patch fixes a few bugs:
1- We weren't taking into account sha_leftovers when adding multiple
ksvs to sha_text. As such, we were or'ing the end of ksv[j - 1] with
the beginning of ksv[j]
2- In the sha_leftovers == 2 and sha_leftovers == 3 case, bstatus was
being placed on the wrong half of sha_text, overlapping the leftover
ksv value
3- In the sha_leftovers == 2 case, we need to manually terminate the
byte stream with 0x80 since the hardware doesn't have enough room to
add it after writing M0
The upside is that all of the HDCP supported HDMI repeaters I could
find on Amazon just strip HDCP anyways, so it turns out to be _really_
hard to hit any of these cases without an MST hub, which is not (yet)
supported. Oh, and the sha_leftovers == 1 case works perfectly!
Fixes: ee5e5e7a5e0f (drm/i915: Add HDCP framework + base implementation)
Cc: Chris Wilson <chris(a)chris-wilson.co.uk>
Cc: Ramalingam C <ramalingam.c(a)intel.com>
Cc: Daniel Vetter <daniel.vetter(a)ffwll.ch>
Cc: Sean Paul <seanpaul(a)chromium.org>
Cc: Jani Nikula <jani.nikula(a)linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen(a)linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi(a)intel.com>
Cc: intel-gfx(a)lists.freedesktop.org
Cc: <stable(a)vger.kernel.org> # v4.17+
Reviewed-by: Ramalingam C <ramalingam.c(a)intel.com>
Signed-off-by: Sean Paul <seanpaul(a)chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20191203173638.94919-2-sean@p… #v1
Link: https://patchwork.freedesktop.org/patch/msgid/20191212190230.188505-2-sean@… #v2
Link: https://patchwork.freedesktop.org/patch/msgid/20200117193103.156821-2-sean@… #v3
Link: https://patchwork.freedesktop.org/patch/msgid/20200218220242.107265-2-sean@… #v4
Link: https://patchwork.freedesktop.org/patch/msgid/20200305201236.152307-2-sean@… #v5
Link: https://patchwork.freedesktop.org/patch/msgid/20200429195502.39919-2-sean@p… #v6
Changes in v2:
-None
Changes in v3:
-None
Changes in v4:
-Rebased on intel_de_write changes
Changes in v5:
-None
Changes in v6:
-None
Changes in v7:
-None
---
drivers/gpu/drm/i915/display/intel_hdcp.c | 26 +++++++++++++++++------
include/drm/drm_hdcp.h | 3 +++
2 files changed, 23 insertions(+), 6 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index 815b054bb167..f26fee3b4624 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -336,8 +336,10 @@ int intel_hdcp_validate_v_prime(struct intel_connector *connector,
/* Fill up the empty slots in sha_text and write it out */
sha_empty = sizeof(sha_text) - sha_leftovers;
- for (j = 0; j < sha_empty; j++)
- sha_text |= ksv[j] << ((sizeof(sha_text) - j - 1) * 8);
+ for (j = 0; j < sha_empty; j++) {
+ u8 off = ((sizeof(sha_text) - j - 1 - sha_leftovers) * 8);
+ sha_text |= ksv[j] << off;
+ }
ret = intel_write_sha_text(dev_priv, sha_text);
if (ret < 0)
@@ -435,7 +437,7 @@ int intel_hdcp_validate_v_prime(struct intel_connector *connector,
/* Write 32 bits of text */
intel_de_write(dev_priv, HDCP_REP_CTL,
rep_ctl | HDCP_SHA1_TEXT_32);
- sha_text |= bstatus[0] << 24 | bstatus[1] << 16;
+ sha_text |= bstatus[0] << 8 | bstatus[1];
ret = intel_write_sha_text(dev_priv, sha_text);
if (ret < 0)
return ret;
@@ -450,17 +452,29 @@ int intel_hdcp_validate_v_prime(struct intel_connector *connector,
return ret;
sha_idx += sizeof(sha_text);
}
+
+ /*
+ * Terminate the SHA-1 stream by hand. For the other leftover
+ * cases this is appended by the hardware.
+ */
+ intel_de_write(dev_priv, HDCP_REP_CTL,
+ rep_ctl | HDCP_SHA1_TEXT_32);
+ sha_text = DRM_HDCP_SHA1_TERMINATOR << 24;
+ ret = intel_write_sha_text(dev_priv, sha_text);
+ if (ret < 0)
+ return ret;
+ sha_idx += sizeof(sha_text);
} else if (sha_leftovers == 3) {
- /* Write 32 bits of text */
+ /* Write 32 bits of text (filled from LSB) */
intel_de_write(dev_priv, HDCP_REP_CTL,
rep_ctl | HDCP_SHA1_TEXT_32);
- sha_text |= bstatus[0] << 24;
+ sha_text |= bstatus[0];
ret = intel_write_sha_text(dev_priv, sha_text);
if (ret < 0)
return ret;
sha_idx += sizeof(sha_text);
- /* Write 8 bits of text, 24 bits of M0 */
+ /* Write 8 bits of text (filled from LSB), 24 bits of M0 */
intel_de_write(dev_priv, HDCP_REP_CTL,
rep_ctl | HDCP_SHA1_TEXT_8);
ret = intel_write_sha_text(dev_priv, bstatus[1]);
diff --git a/include/drm/drm_hdcp.h b/include/drm/drm_hdcp.h
index c6bab4986a65..fe58dbb46962 100644
--- a/include/drm/drm_hdcp.h
+++ b/include/drm/drm_hdcp.h
@@ -29,6 +29,9 @@
/* Slave address for the HDCP registers in the receiver */
#define DRM_HDCP_DDC_ADDR 0x3A
+/* Value to use at the end of the SHA-1 bytestream used for repeaters */
+#define DRM_HDCP_SHA1_TERMINATOR 0x80
+
/* HDCP register offsets for HDMI/DVI devices */
#define DRM_HDCP_DDC_BKSV 0x00
#define DRM_HDCP_DDC_RI_PRIME 0x08
--
Sean Paul, Software Engineer, Google / Chromium OS
The GIC driver uses a RMW sequence to update the affinity, and
relies on the gic_lock_irqsave/gic_unlock_irqrestore sequences
to update it atomically.
But these sequences only expand into anything meaningful if
the BL_SWITCHER option is selected, which almost never happens.
It also turns out that using a RMW and locks is just as silly,
as the GIC distributor supports byte accesses for the GICD_TARGETRn
registers, which when used make the update atomic by definition.
Drop the terminally broken code and replace it by a byte write.
Fixes: 04c8b0f82c7d ("irqchip/gic: Make locking a BL_SWITCHER only feature")
Cc: stable(a)vger.kernel.org
Signed-off-by: Marc Zyngier <maz(a)kernel.org>
---
drivers/irqchip/irq-gic.c | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/drivers/irqchip/irq-gic.c b/drivers/irqchip/irq-gic.c
index 00de05abd3c3..c17fabd6741e 100644
--- a/drivers/irqchip/irq-gic.c
+++ b/drivers/irqchip/irq-gic.c
@@ -329,10 +329,8 @@ static int gic_irq_set_vcpu_affinity(struct irq_data *d, void *vcpu)
static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val,
bool force)
{
- void __iomem *reg = gic_dist_base(d) + GIC_DIST_TARGET + (gic_irq(d) & ~3);
- unsigned int cpu, shift = (gic_irq(d) % 4) * 8;
- u32 val, mask, bit;
- unsigned long flags;
+ void __iomem *reg = gic_dist_base(d) + GIC_DIST_TARGET + gic_irq(d);
+ unsigned int cpu;
if (!force)
cpu = cpumask_any_and(mask_val, cpu_online_mask);
@@ -342,13 +340,7 @@ static int gic_set_affinity(struct irq_data *d, const struct cpumask *mask_val,
if (cpu >= NR_GIC_CPU_IF || cpu >= nr_cpu_ids)
return -EINVAL;
- gic_lock_irqsave(flags);
- mask = 0xff << shift;
- bit = gic_cpu_map[cpu] << shift;
- val = readl_relaxed(reg) & ~mask;
- writel_relaxed(val | bit, reg);
- gic_unlock_irqrestore(flags);
-
+ writeb_relaxed(gic_cpu_map[cpu], reg);
irq_data_update_effective_affinity(d, cpumask_of(cpu));
return IRQ_SET_MASK_OK_DONE;
--
2.26.2
From: Sean Paul <seanpaul(a)chromium.org>
On HDCP disable, clear the repeater bit. This ensures if we connect a
non-repeater sink after a repeater, the bit is in the state we expect.
Fixes: ee5e5e7a5e0f (drm/i915: Add HDCP framework + base implementation)
Cc: Chris Wilson <chris(a)chris-wilson.co.uk>
Cc: Ramalingam C <ramalingam.c(a)intel.com>
Cc: Daniel Vetter <daniel.vetter(a)ffwll.ch>
Cc: Sean Paul <seanpaul(a)chromium.org>
Cc: Jani Nikula <jani.nikula(a)linux.intel.com>
Cc: Joonas Lahtinen <joonas.lahtinen(a)linux.intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi(a)intel.com>
Cc: intel-gfx(a)lists.freedesktop.org
Cc: <stable(a)vger.kernel.org> # v4.17+
Reviewed-by: Ramalingam C <ramalingam.c(a)intel.com>
Signed-off-by: Sean Paul <seanpaul(a)chromium.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20191212190230.188505-3-sean@… #v2
Link: https://patchwork.freedesktop.org/patch/msgid/20200117193103.156821-3-sean@… #v3
Link: https://patchwork.freedesktop.org/patch/msgid/20200218220242.107265-3-sean@… #v4
Link: https://patchwork.freedesktop.org/patch/msgid/20200305201236.152307-3-sean@… #v5
Link: https://patchwork.freedesktop.org/patch/msgid/20200429195502.39919-3-sean@p… #v6
Changes in v2:
-Added to the set
Changes in v3:
-None
I had previously agreed that clearing the rep_ctl bits on enable would
also be a good idea. However when I committed that idea to code, it
didn't look right. So let's rely on enables and disables being paired
and everything outside of that will be considered a bug
Changes in v4:
-s/I915_(READ|WRITE)/intel_de_(read|write)/
Changes in v5:
-None
Changes in v6:
-None
Changes in v7:
-None
---
drivers/gpu/drm/i915/display/intel_hdcp.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/i915/display/intel_hdcp.c b/drivers/gpu/drm/i915/display/intel_hdcp.c
index f26fee3b4624..9f530b2f3606 100644
--- a/drivers/gpu/drm/i915/display/intel_hdcp.c
+++ b/drivers/gpu/drm/i915/display/intel_hdcp.c
@@ -795,6 +795,7 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
struct intel_hdcp *hdcp = &connector->hdcp;
enum port port = intel_dig_port->base.port;
enum transcoder cpu_transcoder = hdcp->cpu_transcoder;
+ u32 repeater_ctl;
int ret;
drm_dbg_kms(&dev_priv->drm, "[%s:%d] HDCP is being disabled...\n",
@@ -810,6 +811,11 @@ static int _intel_hdcp_disable(struct intel_connector *connector)
return -ETIMEDOUT;
}
+ repeater_ctl = intel_hdcp_get_repeater_ctl(dev_priv, cpu_transcoder,
+ port);
+ intel_de_write(dev_priv, HDCP_REP_CTL,
+ intel_de_read(dev_priv, HDCP_REP_CTL) & ~repeater_ctl);
+
ret = hdcp->shim->toggle_signalling(intel_dig_port, false);
if (ret) {
drm_err(&dev_priv->drm, "Failed to disable HDCP signalling\n");
--
Sean Paul, Software Engineer, Google / Chromium OS
The function cpu_power_to_freq is used to find a frequency and set the
cooling device to consume at most the power to be converted. For example,
if the power to be converted is 80mW, and the em table is as follow.
struct em_cap_state table[] = {
/* KHz mW */
{ 1008000, 36, 0 },
{ 1200000, 49, 0 },
{ 1296000, 59, 0 },
{ 1416000, 72, 0 },
{ 1512000, 86, 0 },
};
The target frequency should be 1416000KHz, not 1512000KHz.
Fixes: 349d39dc5739 ("thermal: cpu_cooling: merge frequency and power tables")
Cc: <stable(a)vger.kernel.org> # v4.13+
Signed-off-by: Finley Xiao <finley.xiao(a)rock-chips.com>
Acked-by: Viresh Kumar <viresh.kumar(a)linaro.org>
---
drivers/thermal/cpufreq_cooling.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/thermal/cpufreq_cooling.c b/drivers/thermal/cpufreq_cooling.c
index 9e124020519f..6c0e1b053126 100644
--- a/drivers/thermal/cpufreq_cooling.c
+++ b/drivers/thermal/cpufreq_cooling.c
@@ -123,12 +123,12 @@ static u32 cpu_power_to_freq(struct cpufreq_cooling_device *cpufreq_cdev,
{
int i;
- for (i = cpufreq_cdev->max_level - 1; i >= 0; i--) {
- if (power > cpufreq_cdev->em->table[i].power)
+ for (i = cpufreq_cdev->max_level; i >= 0; i--) {
+ if (power >= cpufreq_cdev->em->table[i].power)
break;
}
- return cpufreq_cdev->em->table[i + 1].frequency;
+ return cpufreq_cdev->em->table[i].frequency;
}
/**
--
2.11.0
Kerneldoc syntax is used, but not complete. Descriptions required.
Prevents warnings like:
drivers/mfd/wm8350-core.c:136: warning: Function parameter or member 'wm8350' not described in 'wm8350_reg_lock'
drivers/mfd/wm8350-core.c:165: warning: Function parameter or member 'wm8350' not described in 'wm8350_reg_unlock'
Cc: <stable(a)vger.kernel.org>
Cc: patches(a)opensource.cirrus.com
Signed-off-by: Lee Jones <lee.jones(a)linaro.org>
---
drivers/mfd/wm8350-core.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/mfd/wm8350-core.c b/drivers/mfd/wm8350-core.c
index 42b16503e6cd1..fbc77b218215c 100644
--- a/drivers/mfd/wm8350-core.c
+++ b/drivers/mfd/wm8350-core.c
@@ -131,6 +131,8 @@ EXPORT_SYMBOL_GPL(wm8350_block_write);
* The WM8350 has a hardware lock which can be used to prevent writes to
* some registers (generally those which can cause particularly serious
* problems if misused). This function enables that lock.
+ *
+ * @wm8350: pointer to local driver data structure
*/
int wm8350_reg_lock(struct wm8350 *wm8350)
{
@@ -160,6 +162,8 @@ EXPORT_SYMBOL_GPL(wm8350_reg_lock);
* problems if misused). This function disables that lock so updates
* can be performed. For maximum safety this should be done only when
* required.
+ *
+ * @wm8350: pointer to local driver data structure
*/
int wm8350_reg_unlock(struct wm8350 *wm8350)
{
--
2.25.1
We have a Dell AIO, there is neither internal speaker nor internal
mic, only a multi-function audio jack on it.
Users reported that after freshly installing the OS and plug
a headset to the audio jack, the headset can't output sound. I
reproduced this bug, at that moment, the Input Source is as below:
Simple mixer control 'Input Source',0
Capabilities: cenum
Items: 'Headphone Mic' 'Headset Mic'
Item0: 'Headphone Mic'
That is because the patch_realtek will set this audio jack as mic_in
mode if Input Source's value is hp_mic.
If it is not fresh installing, this issue will not happen since the
systemd will run alsactl restore -f /var/lib/alsa/asound.state, this
will set the 'Input Source' according to history value.
If there is internal speaker or internal mic, this issue will not
happen since there is valid sink/source in the pulseaudio, the PA will
set the 'Input Source' according to active_port.
To fix this issue, change the parser function to let the hs_mic be
stored ahead of hp_mic.
Cc: stable(a)vger.kernel.org
Signed-off-by: Hui Wang <hui.wang(a)canonical.com>
---
sound/pci/hda/hda_auto_parser.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c
index 2c6d2becfe1a..824f4ac1a8ce 100644
--- a/sound/pci/hda/hda_auto_parser.c
+++ b/sound/pci/hda/hda_auto_parser.c
@@ -72,6 +72,12 @@ static int compare_input_type(const void *ap, const void *bp)
if (a->type != b->type)
return (int)(a->type - b->type);
+ /* If has both hs_mic and hp_mic, pick the hs_mic ahead of hp_mic. */
+ if (a->is_headset_mic && b->is_headphone_mic)
+ return -1; /* don't swap */
+ else if (a->is_headphone_mic && b->is_headset_mic)
+ return 1; /* swap */
+
/* In case one has boost and the other one has not,
pick the one with boost first. */
return (int)(b->has_boost_on_pin - a->has_boost_on_pin);
--
2.17.1
Hi all,
This long patch series was motivated by backporting Jaedon's changes
which add a proper ioctl compatibility layer for 32-bit applications
running on 64-bit kernels. We have a number of Android TV-based products
currently running on the 4.9 kernel and this was broken for them.
Thanks to Robert McConnell for identifying and providing the patches in
their initial format.
In order for Jaedon's patches to apply cleanly a number of changes were
applied to support those changes. If you deem the patch series too big
please let me know.
Thanks
Colin Ian King (2):
media: dvb_frontend: ensure that inital front end status initialized
media: dvb_frontend: initialize variable s with FE_NONE instead of 0
Jaedon Shin (3):
media: dvb_frontend: Add unlocked_ioctl in dvb_frontend.c
media: dvb_frontend: Add compat_ioctl callback
media: dvb_frontend: Add commands implementation for compat ioct
Katsuhiro Suzuki (1):
media: dvb_frontend: fix wrong cast in compat_ioctl
Mauro Carvalho Chehab (14):
media: dvb/frontend.h: move out a private internal structure
media: dvb/frontend.h: document the uAPI file
media: dvb_frontend: get rid of get_property() callback
media: stv0288: get rid of set_property boilerplate
media: stv6110: get rid of a srate dead code
media: friio-fe: get rid of set_property()
media: dvb_frontend: get rid of set_property() callback
media: dvb_frontend: cleanup dvb_frontend_ioctl_properties()
media: dvb_frontend: cleanup ioctl handling logic
media: dvb_frontend: get rid of property cache's state
media: dvb_frontend: better document the -EPERM condition
media: dvb_frontend: fix return values for FE_SET_PROPERTY
media: dvb_frontend: be sure to init dvb_frontend_handle_ioctl()
return code
media: dvb_frontend: fix return error code
Satendra Singh Thakur (1):
media: dvb_frontend: dtv_property_process_set() cleanups
.../media/uapi/dvb/fe-get-property.rst | 7 +-
drivers/media/dvb-core/dvb_frontend.c | 571 +++++++++++------
drivers/media/dvb-core/dvb_frontend.h | 13 -
drivers/media/dvb-frontends/lg2160.c | 14 -
drivers/media/dvb-frontends/stv0288.c | 7 -
drivers/media/dvb-frontends/stv6110.c | 9 -
drivers/media/usb/dvb-usb/friio-fe.c | 24 -
fs/compat_ioctl.c | 17 -
include/uapi/linux/dvb/frontend.h | 592 +++++++++++++++---
9 files changed, 881 insertions(+), 373 deletions(-)
--
2.17.1
Kerneldoc syntax is used, but not complete. Descriptions required.
Prevents warnings like:
drivers/video/backlight/backlight.c:329: warning: Function parameter or member 'reason' not described in 'backlight_force_update'
drivers/video/backlight/backlight.c:354: warning: Function parameter or member 'props' not described in 'backlight_device_register'
Cc: <stable(a)vger.kernel.org>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie(a)samsung.com>
Cc: Jamey Hicks <jamey.hicks(a)hp.com>
Cc: Andrew Zabolotny <zap(a)homelink.ru>
Signed-off-by: Lee Jones <lee.jones(a)linaro.org>
---
drivers/video/backlight/backlight.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/video/backlight/backlight.c b/drivers/video/backlight/backlight.c
index 92d80aa0c0ef1..744ba58488e01 100644
--- a/drivers/video/backlight/backlight.c
+++ b/drivers/video/backlight/backlight.c
@@ -320,6 +320,7 @@ ATTRIBUTE_GROUPS(bl_device);
* backlight_force_update - tell the backlight subsystem that hardware state
* has changed
* @bd: the backlight device to update
+ * @reason: reason for update
*
* Updates the internal state of the backlight in response to a hardware event,
* and generate a uevent to notify userspace
@@ -344,6 +345,7 @@ EXPORT_SYMBOL(backlight_force_update);
* @devdata: an optional pointer to be stored for private driver use. The
* methods may retrieve it by using bl_get_data(bd).
* @ops: the backlight operations structure.
+ * @props: pointer to backlight's properties structure.
*
* Creates and registers new backlight device. Returns either an
* ERR_PTR() or a pointer to the newly allocated device.
--
2.25.1
This has been missing since the conversion to 'struct device' in 2007.
Cc: <stable(a)vger.kernel.org>
Cc: Bartlomiej Zolnierkiewicz <b.zolnierkie(a)samsung.com>
Cc: Jamey Hicks <jamey.hicks(a)hp.com>
Cc: Andrew Zabolotny <zap(a)homelink.ru>
Signed-off-by: Lee Jones <lee.jones(a)linaro.org>
---
drivers/video/backlight/lcd.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/video/backlight/lcd.c b/drivers/video/backlight/lcd.c
index 78b0333586258..db56e465aaff3 100644
--- a/drivers/video/backlight/lcd.c
+++ b/drivers/video/backlight/lcd.c
@@ -179,6 +179,7 @@ ATTRIBUTE_GROUPS(lcd_device);
* lcd_device_register - register a new object of lcd_device class.
* @name: the name of the new object(must be the same as the name of the
* respective framebuffer device).
+ * @parent: pointer to the parent's struct device .
* @devdata: an optional pointer to be stored in the device. The
* methods may retrieve it by using lcd_get_data(ld).
* @ops: the lcd operations structure.
--
2.25.1
From: Gao Xiang <hsiangkao(a)redhat.com>
commit 3c597282887fd55181578996dca52ce697d985a5 upstream.
Hongyu reported "id != index" in z_erofs_onlinepage_fixup() with
specific aarch64 environment easily, which wasn't shown before.
After digging into that, I found that high 32 bits of page->private
was set to 0xaaaaaaaa rather than 0 (due to z_erofs_onlinepage_init
behavior with specific compiler options). Actually we only use low
32 bits to keep the page information since page->private is only 4
bytes on most 32-bit platforms. However z_erofs_onlinepage_fixup()
uses the upper 32 bits by mistake.
Let's fix it now.
Reported-and-tested-by: Hongyu Jin <hongyu.jin(a)unisoc.com>
Fixes: 3883a79abd02 ("staging: erofs: introduce VLE decompression support")
Cc: <stable(a)vger.kernel.org> # 4.19+
Reviewed-by: Chao Yu <yuchao0(a)huawei.com>
Link: https://lore.kernel.org/r/20200618234349.22553-1-hsiangkao@aol.com
Signed-off-by: Gao Xiang <hsiangkao(a)redhat.com>
---
The same as 5.4.y.
fs/erofs/zdata.h | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/fs/erofs/zdata.h b/fs/erofs/zdata.h
index 7824f5563a55..9b66c28b3ae9 100644
--- a/fs/erofs/zdata.h
+++ b/fs/erofs/zdata.h
@@ -144,22 +144,22 @@ static inline void z_erofs_onlinepage_init(struct page *page)
static inline void z_erofs_onlinepage_fixup(struct page *page,
uintptr_t index, bool down)
{
- unsigned long *p, o, v, id;
-repeat:
- p = &page_private(page);
- o = READ_ONCE(*p);
+ union z_erofs_onlinepage_converter u = { .v = &page_private(page) };
+ int orig, orig_index, val;
- id = o >> Z_EROFS_ONLINEPAGE_INDEX_SHIFT;
- if (id) {
+repeat:
+ orig = atomic_read(u.o);
+ orig_index = orig >> Z_EROFS_ONLINEPAGE_INDEX_SHIFT;
+ if (orig_index) {
if (!index)
return;
- DBG_BUGON(id != index);
+ DBG_BUGON(orig_index != index);
}
- v = (index << Z_EROFS_ONLINEPAGE_INDEX_SHIFT) |
- ((o & Z_EROFS_ONLINEPAGE_COUNT_MASK) + (unsigned int)down);
- if (cmpxchg(p, o, v) != o)
+ val = (index << Z_EROFS_ONLINEPAGE_INDEX_SHIFT) |
+ ((orig & Z_EROFS_ONLINEPAGE_COUNT_MASK) + (unsigned int)down);
+ if (atomic_cmpxchg(u.o, orig, val) != orig)
goto repeat;
}
--
2.24.0
From: Gao Xiang <hsiangkao(a)redhat.com>
commit 3c597282887fd55181578996dca52ce697d985a5 upstream.
Hongyu reported "id != index" in z_erofs_onlinepage_fixup() with
specific aarch64 environment easily, which wasn't shown before.
After digging into that, I found that high 32 bits of page->private
was set to 0xaaaaaaaa rather than 0 (due to z_erofs_onlinepage_init
behavior with specific compiler options). Actually we only use low
32 bits to keep the page information since page->private is only 4
bytes on most 32-bit platforms. However z_erofs_onlinepage_fixup()
uses the upper 32 bits by mistake.
Let's fix it now.
Reported-and-tested-by: Hongyu Jin <hongyu.jin(a)unisoc.com>
Fixes: 3883a79abd02 ("staging: erofs: introduce VLE decompression support")
Cc: <stable(a)vger.kernel.org> # 4.19+
Reviewed-by: Chao Yu <yuchao0(a)huawei.com>
Link: https://lore.kernel.org/r/20200618234349.22553-1-hsiangkao@aol.com
Signed-off-by: Gao Xiang <hsiangkao(a)redhat.com>
---
This fix has been merged into Linus's tree just now.
The 5.4 backport can be trivially applied, though I sent out
together with 4.19...
fs/erofs/zdata.h | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/fs/erofs/zdata.h b/fs/erofs/zdata.h
index faf950189bd7..568d5a493876 100644
--- a/fs/erofs/zdata.h
+++ b/fs/erofs/zdata.h
@@ -148,22 +148,22 @@ static inline void z_erofs_onlinepage_init(struct page *page)
static inline void z_erofs_onlinepage_fixup(struct page *page,
uintptr_t index, bool down)
{
- unsigned long *p, o, v, id;
-repeat:
- p = &page_private(page);
- o = READ_ONCE(*p);
+ union z_erofs_onlinepage_converter u = { .v = &page_private(page) };
+ int orig, orig_index, val;
- id = o >> Z_EROFS_ONLINEPAGE_INDEX_SHIFT;
- if (id) {
+repeat:
+ orig = atomic_read(u.o);
+ orig_index = orig >> Z_EROFS_ONLINEPAGE_INDEX_SHIFT;
+ if (orig_index) {
if (!index)
return;
- DBG_BUGON(id != index);
+ DBG_BUGON(orig_index != index);
}
- v = (index << Z_EROFS_ONLINEPAGE_INDEX_SHIFT) |
- ((o & Z_EROFS_ONLINEPAGE_COUNT_MASK) + (unsigned int)down);
- if (cmpxchg(p, o, v) != o)
+ val = (index << Z_EROFS_ONLINEPAGE_INDEX_SHIFT) |
+ ((orig & Z_EROFS_ONLINEPAGE_COUNT_MASK) + (unsigned int)down);
+ if (atomic_cmpxchg(u.o, orig, val) != orig)
goto repeat;
}
--
2.24.0
Hi all,
I'm recommending backporting commit 33f2c35a54dfd75ad0e7e86918dcbe4de799a56c
("md: add feature flag MD_FEATURE_RAID0_LAYOUT") to any stable kernels with
commit c84a1372df929033cb1a0441fb57bd3932f39ac9 ("md/raid0: avoid RAID0
data corruption due to layout confusion.")
Here is why. As part of the various recommended mitigation pages out
there, we'll see instructions indicating that using a newer mdadm can
allow one to avoid using the raid0.layout= boot argument.
However, if one does that on a kernel that does *not* contain 33f2c,
then such an older kernel will be "locked out" from mounting the volume
because this test will fail:
(le32_to_cpu(sb->feature_map) & ~MD_FEATURE_ALL) != 0)
...since the on-disk sb now has MD_FEATURE_RAID0_LAYOUT but the older
kernel knows nothing about it and you get EINVAL (-22) during mount.
I ran into the above situation on a v5.2 kernel, and backporting the
33f2c resolved the locked out issue, and then the bootarg was no longer
required, as documented by the updated mdadm man page.
Thanks,
Paul.
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: a06eb423367e - Linux 5.7.6
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://cki-artifacts.s3.us-east-2.amazonaws.com/index.html?prefix=dataware…
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ⚡⚡⚡ Storage blktests
Host 2:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
ppc64le:
Host 1:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 2:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
Host 3:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ⚡⚡⚡ Storage blktests
s390x:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ❌ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 3:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ selinux-policy: serge-testsuite
✅ stress: stress-ng
🚧 ⚡⚡⚡ Storage blktests
x86_64:
Host 1:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ CPU: Frequency Driver Test
🚧 ✅ CPU: Idle Test
🚧 ✅ IOMMU boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ⚡⚡⚡ Storage blktests
Host 2:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: sanity smoke test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 3:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Aborted tests
-------------
Tests that didn't complete running successfully are marked with ⚡⚡⚡.
If this was caused by an infrastructure issue, we try to mark that
explicitly in the report.
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running yet are marked with ⏱.
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: 12cdedd4d922 - iommu/vt-d: Remove real DMA lookup in find_domain
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://cki-artifacts.s3.us-east-2.amazonaws.com/index.html?prefix=dataware…
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ⚡⚡⚡ Storage blktests
ppc64le:
Host 1:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
🚧 ⚡⚡⚡ kdump - sysrq-c
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
⚡⚡⚡ Boot test
⚡⚡⚡ Podman system integration test - as root
⚡⚡⚡ Podman system integration test - as user
⚡⚡⚡ LTP
⚡⚡⚡ Loopdev Sanity
⚡⚡⚡ Memory function: memfd_create
⚡⚡⚡ AMTU (Abstract Machine Test Utility)
⚡⚡⚡ Networking bridge: sanity
⚡⚡⚡ Ethernet drivers sanity
⚡⚡⚡ Networking socket: fuzz
⚡⚡⚡ Networking route: pmtu
⚡⚡⚡ Networking route_func - local
⚡⚡⚡ Networking route_func - forward
⚡⚡⚡ Networking TCP: keepalive test
⚡⚡⚡ Networking UDP: socket
⚡⚡⚡ Networking tunnel: geneve basic test
⚡⚡⚡ Networking tunnel: gre basic
⚡⚡⚡ L2TP basic test
⚡⚡⚡ Networking tunnel: vxlan basic
⚡⚡⚡ Networking ipsec: basic netns - tunnel
⚡⚡⚡ Libkcapi AF_ALG test
⚡⚡⚡ pciutils: update pci ids test
⚡⚡⚡ ALSA PCM loopback test
⚡⚡⚡ ALSA Control (mixer) Userspace Element test
🚧 ⚡⚡⚡ CIFS Connectathon
🚧 ⚡⚡⚡ POSIX pjd-fstest suites
🚧 ⚡⚡⚡ jvm - DaCapo Benchmark Suite
🚧 ⚡⚡⚡ jvm - jcstress tests
🚧 ⚡⚡⚡ Memory function: kaslr
🚧 ⚡⚡⚡ Networking firewall: basic netfilter test
🚧 ⚡⚡⚡ audit: audit testsuite test
🚧 ⚡⚡⚡ trace: ftrace/tracer
s390x:
Host 1:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ selinux-policy: serge-testsuite
✅ stress: stress-ng
🚧 ⚡⚡⚡ Storage blktests
Host 3:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ⚡⚡⚡ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
x86_64:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: sanity smoke test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Host 3:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ✅ CPU: Frequency Driver Test
🚧 ✅ CPU: Idle Test
🚧 ✅ IOMMU boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ⚡⚡⚡ Storage blktests
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Aborted tests
-------------
Tests that didn't complete running successfully are marked with ⚡⚡⚡.
If this was caused by an infrastructure issue, we try to mark that
explicitly in the report.
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running yet are marked with ⏱.
The patch titled
Subject: mm/shuffle: don't move pages between zones and don't read garbage memmaps
has been added to the -mm tree. Its filename is
mm-shuffle-dont-move-pages-between-zones-and-dont-read-garbage-memmaps.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-shuffle-dont-move-pages-between…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-shuffle-dont-move-pages-between…
Before you just go and hit "reply", please:
a) Consider who else should be cc'ed
b) Prefer to cc a suitable mailing list as well
c) Ideally: find the original patch on the mailing list and do a
reply-to-all to that, adding suitable additional cc's
*** Remember to use Documentation/process/submit-checklist.rst when testing your code ***
The -mm tree is included into linux-next and is updated
there every 3-4 working days
------------------------------------------------------
From: David Hildenbrand <david(a)redhat.com>
Subject: mm/shuffle: don't move pages between zones and don't read garbage memmaps
Especially with memory hotplug, we can have offline sections (with a
garbage memmap) and overlapping zones. We have to make sure to only touch
initialized memmaps (online sections managed by the buddy) and that the
zone matches, to not move pages between zones.
To test if this can actually happen, I added a simple
BUG_ON(page_zone(page_i) != page_zone(page_j));
right before the swap. When hotplugging a 256M DIMM to a 4G x86-64 VM and
onlining the first memory block "online_movable" and the second memory
block "online_kernel", it will trigger the BUG, as both zones (NORMAL and
MOVABLE) overlap.
This might result in all kinds of weird situations (e.g., double
allocations, list corruptions, unmovable allocations ending up in the
movable zone).
Link: http://lkml.kernel.org/r/20200624094741.9918-2-david@redhat.com
Fixes: e900a918b098 ("mm: shuffle initial free memory to improve memory-side-cache utilization")
Signed-off-by: David Hildenbrand <david(a)redhat.com>
Reviewed-by: Wei Yang <richard.weiyang(a)linux.alibaba.com>
Acked-by: Michal Hocko <mhocko(a)suse.com>
Acked-by: Dan Williams <dan.j.williams(a)intel.com>
Cc: Andrew Morton <akpm(a)linux-foundation.org>
Cc: Johannes Weiner <hannes(a)cmpxchg.org>
Cc: Michal Hocko <mhocko(a)suse.com>
Cc: Minchan Kim <minchan(a)kernel.org>
Cc: Huang Ying <ying.huang(a)intel.com>
Cc: Wei Yang <richard.weiyang(a)gmail.com>
Cc: Mel Gorman <mgorman(a)techsingularity.net>
Cc: <stable(a)vger.kernel.org> [5.2+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
mm/shuffle.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
--- a/mm/shuffle.c~mm-shuffle-dont-move-pages-between-zones-and-dont-read-garbage-memmaps
+++ a/mm/shuffle.c
@@ -58,25 +58,25 @@ module_param_call(shuffle, shuffle_store
* For two pages to be swapped in the shuffle, they must be free (on a
* 'free_area' lru), have the same order, and have the same migratetype.
*/
-static struct page * __meminit shuffle_valid_page(unsigned long pfn, int order)
+static struct page * __meminit shuffle_valid_page(struct zone *zone,
+ unsigned long pfn, int order)
{
- struct page *page;
+ struct page *page = pfn_to_online_page(pfn);
/*
* Given we're dealing with randomly selected pfns in a zone we
* need to ask questions like...
*/
- /* ...is the pfn even in the memmap? */
- if (!pfn_valid_within(pfn))
+ /* ... is the page managed by the buddy? */
+ if (!page)
return NULL;
- /* ...is the pfn in a present section or a hole? */
- if (!pfn_in_present_section(pfn))
+ /* ... is the page assigned to the same zone? */
+ if (page_zone(page) != zone)
return NULL;
/* ...is the page free and currently on a free_area list? */
- page = pfn_to_page(pfn);
if (!PageBuddy(page))
return NULL;
@@ -123,7 +123,7 @@ void __meminit __shuffle_zone(struct zon
* page_j randomly selected in the span @zone_start_pfn to
* @spanned_pages.
*/
- page_i = shuffle_valid_page(i, order);
+ page_i = shuffle_valid_page(z, i, order);
if (!page_i)
continue;
@@ -137,7 +137,7 @@ void __meminit __shuffle_zone(struct zon
j = z->zone_start_pfn +
ALIGN_DOWN(get_random_long() % z->spanned_pages,
order_pages);
- page_j = shuffle_valid_page(j, order);
+ page_j = shuffle_valid_page(z, j, order);
if (page_j && page_j != page_i)
break;
}
_
Patches currently in -mm which might be from david(a)redhat.com are
mm-shuffle-dont-move-pages-between-zones-and-dont-read-garbage-memmaps.patch
mm-drop-vm_total_pages.patch
mm-page_alloc-drop-nr_free_pagecache_pages.patch
mm-memory_hotplug-document-why-shuffle_zone-is-relevant.patch
mm-shuffle-remove-dynamic-reconfiguration.patch
The skcipher API dynamically instantiates the transformation object on
request that implements the requested algorithm optimally on the given
platform. This notion of optimality only matters for cases like bulk
network or disk encryption, where performance can be a bottleneck, or
in cases where the algorithm itself is not known at compile time.
In the mscc macsec case, we are dealing with AES encryption of a single
block, and so neither concern applies, and we are better off using the
AES library interface, which is lightweight and safe for this kind of
use.
Note that the scatterlist API does not permit references to buffers that
are located on the stack, so the existing code is incorrect in any case,
but avoiding the skcipher and scatterlist APIs altogether is the most
straight-forward approach to fixing this.
Cc: Antoine Tenart <antoine.tenart(a)bootlin.com>
Cc: Andrew Lunn <andrew(a)lunn.ch>
Cc: Florian Fainelli <f.fainelli(a)gmail.com>
Cc: Heiner Kallweit <hkallweit1(a)gmail.com>
Cc: "David S. Miller" <davem(a)davemloft.net>
Cc: Jakub Kicinski <kuba(a)kernel.org>
Cc: <stable(a)vger.kernel.org>
Fixes: 28c5107aa904e ("net: phy: mscc: macsec support")
Signed-off-by: Ard Biesheuvel <ardb(a)kernel.org>
---
drivers/net/phy/Kconfig | 3 +-
drivers/net/phy/mscc/mscc_macsec.c | 40 +++++---------------
2 files changed, 10 insertions(+), 33 deletions(-)
diff --git a/drivers/net/phy/Kconfig b/drivers/net/phy/Kconfig
index f25702386d83..e9c05848ec52 100644
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
@@ -480,8 +480,7 @@ config MICROCHIP_T1_PHY
config MICROSEMI_PHY
tristate "Microsemi PHYs"
depends on MACSEC || MACSEC=n
- select CRYPTO_AES
- select CRYPTO_ECB
+ select CRYPTO_LIB_AES
help
Currently supports VSC8514, VSC8530, VSC8531, VSC8540 and VSC8541 PHYs
diff --git a/drivers/net/phy/mscc/mscc_macsec.c b/drivers/net/phy/mscc/mscc_macsec.c
index b4d3dc4068e2..d53ca884b5c9 100644
--- a/drivers/net/phy/mscc/mscc_macsec.c
+++ b/drivers/net/phy/mscc/mscc_macsec.c
@@ -10,7 +10,7 @@
#include <linux/phy.h>
#include <dt-bindings/net/mscc-phy-vsc8531.h>
-#include <crypto/skcipher.h>
+#include <crypto/aes.h>
#include <net/macsec.h>
@@ -500,39 +500,17 @@ static u32 vsc8584_macsec_flow_context_id(struct macsec_flow *flow)
static int vsc8584_macsec_derive_key(const u8 key[MACSEC_KEYID_LEN],
u16 key_len, u8 hkey[16])
{
- struct crypto_skcipher *tfm = crypto_alloc_skcipher("ecb(aes)", 0, 0);
- struct skcipher_request *req = NULL;
- struct scatterlist src, dst;
- DECLARE_CRYPTO_WAIT(wait);
- u32 input[4] = {0};
+ const u8 input[AES_BLOCK_SIZE] = {0};
+ struct crypto_aes_ctx ctx;
int ret;
- if (IS_ERR(tfm))
- return PTR_ERR(tfm);
-
- req = skcipher_request_alloc(tfm, GFP_KERNEL);
- if (!req) {
- ret = -ENOMEM;
- goto out;
- }
-
- skcipher_request_set_callback(req, CRYPTO_TFM_REQ_MAY_BACKLOG |
- CRYPTO_TFM_REQ_MAY_SLEEP, crypto_req_done,
- &wait);
- ret = crypto_skcipher_setkey(tfm, key, key_len);
- if (ret < 0)
- goto out;
-
- sg_init_one(&src, input, 16);
- sg_init_one(&dst, hkey, 16);
- skcipher_request_set_crypt(req, &src, &dst, 16, NULL);
-
- ret = crypto_wait_req(crypto_skcipher_encrypt(req), &wait);
+ ret = aes_expandkey(&ctx, key, key_len);
+ if (ret)
+ return ret;
-out:
- skcipher_request_free(req);
- crypto_free_skcipher(tfm);
- return ret;
+ aes_encrypt(&ctx, hkey, input);
+ memzero_explicit(&ctx, sizeof(ctx));
+ return 0;
}
static int vsc8584_macsec_transformation(struct phy_device *phydev,
--
2.27.0
stable-rc/linux-3.16.y build: 125 builds: 10 failed, 115 passed, 11 errors, 2980 warnings (v3.16.85)
Full Build Summary: https://kernelci.org/build/stable-rc/branch/linux-3.16.y/kernel/v3.16.85/
Tree: stable-rc
Branch: linux-3.16.y
Git Describe: v3.16.85
Git Commit: 16f3f0d74b2069038a24f69952f0c19ad7c48d9a
Git URL: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Built: 6 unique architectures
Build Failures Detected:
arc:
allnoconfig: (gcc-8) FAIL
fpga_noramfs_defconfig: (gcc-8) FAIL
arm:
kzm9g_defconfig: (gcc-8) FAIL
mips:
cavium_octeon_defconfig: (gcc-8) FAIL
lemote2f_defconfig: (gcc-8) FAIL
malta_kvm_defconfig: (gcc-8) FAIL
nlm_xlr_defconfig: (gcc-8) FAIL
rt305x_defconfig: (gcc-8) FAIL
sead3micro_defconfig: (gcc-8) FAIL
xway_defconfig: (gcc-8) FAIL
Errors and Warnings Detected:
arc:
allnoconfig (gcc-8): 2 errors, 233 warnings
fpga_noramfs_defconfig (gcc-8): 2 errors, 8 warnings
arm64:
allnoconfig (gcc-8): 2 warnings
defconfig (gcc-8): 40 warnings
arm:
acs5k_defconfig (gcc-8): 7 warnings
acs5k_tiny_defconfig (gcc-8): 6 warnings
allnoconfig (gcc-8): 4 warnings
ape6evm_defconfig (gcc-8): 29 warnings
armadillo800eva_defconfig (gcc-8): 5 warnings
at91_dt_defconfig (gcc-8): 6 warnings
at91sam9263_defconfig (gcc-8): 12 warnings
at91sam9g45_defconfig (gcc-8): 5 warnings
at91sam9rl_defconfig (gcc-8): 8 warnings
at91x40_defconfig (gcc-8): 4 warnings
axm55xx_defconfig (gcc-8): 19 warnings
badge4_defconfig (gcc-8): 17 warnings
bcm2835_defconfig (gcc-8): 5 warnings
bockw_defconfig (gcc-8): 9 warnings
clps711x_defconfig (gcc-8): 10 warnings
cm_x2xx_defconfig (gcc-8): 14 warnings
colibri_pxa270_defconfig (gcc-8): 19 warnings
collie_defconfig (gcc-8): 5 warnings
corgi_defconfig (gcc-8): 20 warnings
dove_defconfig (gcc-8): 17 warnings
efm32_defconfig (gcc-8): 3 warnings
em_x270_defconfig (gcc-8): 15 warnings
exynos_defconfig (gcc-8): 18 warnings
footbridge_defconfig (gcc-8): 10 warnings
h3600_defconfig (gcc-8): 10 warnings
h5000_defconfig (gcc-8): 12 warnings
hackkit_defconfig (gcc-8): 6 warnings
hi3xxx_defconfig (gcc-8): 13 warnings
imx_v4_v5_defconfig (gcc-8): 32 warnings
imx_v6_v7_defconfig (gcc-8): 26 warnings
integrator_defconfig (gcc-8): 8 warnings
iop33x_defconfig (gcc-8): 8 warnings
ixp4xx_defconfig (gcc-8): 8 warnings
keystone_defconfig (gcc-8): 36 warnings
kzm9g_defconfig (gcc-8): 1 error, 9 warnings
lart_defconfig (gcc-8): 11 warnings
lubbock_defconfig (gcc-8): 7 warnings
mackerel_defconfig (gcc-8): 16 warnings
magician_defconfig (gcc-8): 19 warnings
marzen_defconfig (gcc-8): 10 warnings
mini2440_defconfig (gcc-8): 17 warnings
mmp2_defconfig (gcc-8): 9 warnings
msm_defconfig (gcc-8): 35 warnings
multi_v5_defconfig (gcc-8): 19 warnings
mv78xx0_defconfig (gcc-8): 34 warnings
mvebu_v7_defconfig (gcc-8): 17 warnings
mxs_defconfig (gcc-8): 36 warnings
netx_defconfig (gcc-8): 12 warnings
nhk8815_defconfig (gcc-8): 17 warnings
nuc950_defconfig (gcc-8): 6 warnings
nuc960_defconfig (gcc-8): 6 warnings
omap2plus_defconfig (gcc-8): 36 warnings
orion5x_defconfig (gcc-8): 16 warnings
palmz72_defconfig (gcc-8): 6 warnings
prima2_defconfig (gcc-8): 9 warnings
pxa168_defconfig (gcc-8): 6 warnings
pxa255-idp_defconfig (gcc-8): 6 warnings
pxa910_defconfig (gcc-8): 6 warnings
qcom_defconfig (gcc-8): 36 warnings
raumfeld_defconfig (gcc-8): 15 warnings
rpc_defconfig (gcc-8): 9 warnings
s3c6400_defconfig (gcc-8): 6 warnings
s5pc100_defconfig (gcc-8): 5 warnings
sama5_defconfig (gcc-8): 20 warnings
shannon_defconfig (gcc-8): 6 warnings
shmobile_defconfig (gcc-8): 5 warnings
simpad_defconfig (gcc-8): 16 warnings
spear13xx_defconfig (gcc-8): 9 warnings
spear6xx_defconfig (gcc-8): 7 warnings
sunxi_defconfig (gcc-8): 11 warnings
tegra_defconfig (gcc-8): 23 warnings
trizeps4_defconfig (gcc-8): 20 warnings
u300_defconfig (gcc-8): 7 warnings
u8500_defconfig (gcc-8): 19 warnings
versatile_defconfig (gcc-8): 6 warnings
viper_defconfig (gcc-8): 14 warnings
xcep_defconfig (gcc-8): 6 warnings
i386:
allnoconfig (gcc-8): 3 warnings
i386_defconfig (gcc-8): 5 warnings
mips:
allnoconfig (gcc-8): 28 warnings
ath79_defconfig (gcc-8): 31 warnings
bcm47xx_defconfig (gcc-8): 43 warnings
bcm63xx_defconfig (gcc-8): 28 warnings
bigsur_defconfig (gcc-8): 86 warnings
capcella_defconfig (gcc-8): 29 warnings
cavium_octeon_defconfig (gcc-8): 50 warnings
cobalt_defconfig (gcc-8): 29 warnings
db1xxx_defconfig (gcc-8): 29 warnings
decstation_defconfig (gcc-8): 29 warnings
e55_defconfig (gcc-8): 29 warnings
fuloong2e_defconfig (gcc-8): 59 warnings
gpr_defconfig (gcc-8): 29 warnings
ip22_defconfig (gcc-8): 30 warnings
ip27_defconfig (gcc-8): 73 warnings
jmr3927_defconfig (gcc-8): 28 warnings
lemote2f_defconfig (gcc-8): 1 error, 4 warnings
loongson3_defconfig (gcc-8): 329 warnings
ls1b_defconfig (gcc-8): 29 warnings
malta_defconfig (gcc-8): 31 warnings
malta_kvm_defconfig (gcc-8): 2 errors, 4 warnings
malta_kvm_guest_defconfig (gcc-8): 31 warnings
maltasmvp_defconfig (gcc-8): 34 warnings
maltasmvp_eva_defconfig (gcc-8): 34 warnings
maltaup_defconfig (gcc-8): 31 warnings
mips_paravirt_defconfig (gcc-8): 50 warnings
mpc30x_defconfig (gcc-8): 29 warnings
msp71xx_defconfig (gcc-8): 31 warnings
mtx1_defconfig (gcc-8): 35 warnings
nlm_xlr_defconfig (gcc-8): 1 error, 2 warnings
pnx8335_stb225_defconfig (gcc-8): 31 warnings
qi_lb60_defconfig (gcc-8): 30 warnings
rb532_defconfig (gcc-8): 29 warnings
rm200_defconfig (gcc-8): 29 warnings
rt305x_defconfig (gcc-8): 31 warnings
sb1250_swarm_defconfig (gcc-8): 48 warnings
sead3micro_defconfig (gcc-8): 2 errors, 2 warnings
tb0226_defconfig (gcc-8): 29 warnings
tb0287_defconfig (gcc-8): 29 warnings
xway_defconfig (gcc-8): 31 warnings
x86_64:
allnoconfig (gcc-8): 2 warnings
x86_64_defconfig (gcc-8): 63 warnings
Errors summary:
4 arch/arc/include/asm/uaccess.h:676:2: error: impossible constraint in ‘asm’
2 include/linux/kern_levels.h:4:18: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘u64’ {aka ‘long long unsigned int’} [-Werror=format=]
1 arch/mips/loongson/common/cs5536/cs5536_ohci.c:141:25: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
1 arch/mips/kernel/genex.S:234: Error: branch to a symbol in another ISA mode
1 arch/mips/kernel/genex.S:152: Error: branch to a symbol in another ISA mode
1 arch/mips/include/asm/netlogic/xlr/fmn.h:304:22: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
1 arch/arm/mach-shmobile/board-kzm9g.c:734:13: error: initializer element is not computable at load time
Warnings summary:
756 arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
271 <stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
216 arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
119 arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
112 cc1: warning: ‘-mno-mpy’ is deprecated
80 fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
74 lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
71 fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
64 net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
49 include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
49 include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
49 include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
49 include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
49 include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
49 include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
49 include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
49 include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
49 include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
41 drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
41 drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
33 crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
33 crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
33 crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
33 crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
33 crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
30 drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
22 fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
22 fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
19 net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
18 net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
18 include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
18 include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
18 include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
18 include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
18 include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
18 include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
18 include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
18 include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
18 include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
14 include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
14 fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
14 drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
10 net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
10 net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
10 net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
9 net/irda/ircomm/ircomm_param.c:260:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
9 net/compat.c:566:1: warning: alignment 4 of ‘struct compat_group_filter’ is less than 8 [-Wpacked-not-aligned]
9 net/compat.c:560:35: warning: ‘gf_group’ offset 4 in ‘struct compat_group_filter’ isn’t aligned to 8 [-Wpacked-not-aligned]
9 net/compat.c:554:35: warning: ‘gsr_source’ offset 132 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
9 net/compat.c:552:35: warning: ‘gsr_group’ offset 4 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
9 net/compat.c:548:1: warning: alignment 4 of ‘struct compat_group_req’ is less than 8 [-Wpacked-not-aligned]
9 net/compat.c:546:35: warning: ‘gr_group’ offset 4 in ‘struct compat_group_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
9 net/bluetooth/hidp/core.c:779:2: warning: ‘strncpy’ output may be truncated copying 127 bytes from a string of length 127 [-Wstringop-truncation]
8 fs/udf/super.c:933:4: warning: ‘strncpy’ output may be truncated copying between 0 and 31 bytes from a string of length 253 [-Wstringop-truncation]
5 drivers/video/hdmi.c:163:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
5 drivers/video/hdmi.c:162:2: warning: ‘strncpy’ specified bound 8 equals destination size [-Wstringop-truncation]
5 drivers/net/irda/irtty-sir.c:405:3: warning: ‘strncpy’ output may be truncated copying 5 bytes from a string of length 15 [-Wstringop-truncation]
4 {standard input}:1462: Warning: the `msa' extension requires 64-bit FPRs
4 drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c:3598:2: warning: ‘strncpy’ output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation]
3 sound/pci/au88x0/au88x0_core.c:2303:58: warning: ‘src[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3 sound/pci/au88x0/au88x0_core.c:2302:59: warning: ‘mix[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
3 drivers/video/fbdev/mx3fb.c:748:2: warning: ‘strncpy’ output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation]
3 drivers/net/wireless/hostap/hostap_ioctl.c:3614:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
3 drivers/misc/eeprom/at25.c:311:2: warning: ‘strncpy’ specified bound 10 equals destination size [-Wstringop-truncation]
3 cc1: all warnings being treated as errors
2 {standard input}:1715: Warning: the `msa' extension requires 64-bit FPRs
2 {standard input}:1498: Warning: the `msa' extension requires 64-bit FPRs
2 mm/mmap.c:650:2: warning: ‘prev’ may be used uninitialized in this function [-Wmaybe-uninitialized]
2 mm/memory.c:581:7: warning: assignment to ‘pgtable_t’ {aka ‘long unsigned int’} from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
2 include/linux/rbtree.h:85:11: warning: ‘rb_link’ may be used uninitialized in this function [-Wmaybe-uninitialized]
2 include/linux/rbtree.h:82:28: warning: ‘rb_parent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
2 include/linux/kernel.h:716:17: warning: comparison of distinct pointer types lacks a cast
2 drivers/scsi/scsi_tgt_if.c:192:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
2 drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 8 [-Wpacked-not-aligned]
2 arch/x86/kernel/rtc.c:173:29: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
2 arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
2 arch/x86/kernel/head_32.S:670: Warning: ignoring fill value in section `.bss..page_aligned'
2 arch/x86/kernel/head_32.S:665: Warning: ignoring fill value in section `.bss..page_aligned'
2 arch/mips/kernel/cps-vec.S:384: Warning: tried to set unrecognized symbol: MIPS_ISA_LEVEL_RAW
2 arch/mips/kernel/cps-vec.S:352: Warning: tried to set unrecognized symbol: MIPS_ISA_LEVEL_RAW
2 arch/mips/kernel/cps-vec.S:232: Warning: tried to set unrecognized symbol: MIPS_ISA_LEVEL_RAW
1 {standard input}:900: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:2119: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1953: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1882: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1822: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1821: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1668: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1664: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1655: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1525: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1485: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1431: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1395: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1359: Warning: the `msa' extension requires 64-bit FPRs
1 {standard input}:1257: Warning: the `msa' extension requires 64-bit FPRs
1 net/caif/cfctrl.c:261:3: warning: ‘strncpy’ output may be truncated copying 15 bytes from a string of length 15 [-Wstringop-truncation]
1 kernel/debug/kdb/kdb_support.c:132:4: warning: ‘memcpy’ accessing 396 bytes at offsets 0 and 4 overlaps 392 bytes at offset 4 [-Wrestrict]
1 fs/cifs/cifsencrypt.c:309:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
1 drivers/video/fbdev/matrox/matroxfb_Ti3026.c:375:2: warning: ‘memcpy’ forming offset [22, 80] is out of the bounds [0, 21] of object ‘MGADACbpp32’ with type ‘const unsigned char[21]’ [-Warray-bounds]
1 drivers/scsi/pmcraid.h:1059:1: warning: alignment 1 of ‘struct pmcraid_passthrough_ioctl_buffer’ is less than 4 [-Wpacked-not-aligned]
1 drivers/scsi/pmcraid.h:1059:1: warning: alignment 1 of ‘struct pmcraid_passthrough_ioctl_buffer’ is less than 32 [-Wpacked-not-aligned]
1 drivers/scsi/pmcraid.h:1056:24: warning: ‘ioarcb’ offset 16 in ‘struct pmcraid_passthrough_ioctl_buffer’ isn’t aligned to 32 [-Wpacked-not-aligned]
1 drivers/net/wireless/rtlwifi/rtl8192cu/hw.c:1363:22: warning: bitwise comparison always evaluates to false [-Wtautological-compare]
1 drivers/net/wireless/rtl818x/rtl8187/leds.c:149:2: warning: ‘strncpy’ specified bound 22 equals destination size [-Wstringop-truncation]
1 drivers/net/wireless/prism54/isl_ioctl.c:284:2: warning: ‘strncpy’ output may be truncated copying 16 bytes from a string of length 28 [-Wstringop-truncation]
1 drivers/net/wireless/mwl8k.c:805:1: warning: alignment 1 of ‘struct mwl8k_dma_data’ is less than 2 [-Wpacked-not-aligned]
1 drivers/net/ethernet/seeq/sgiseeq.c:804:26: warning: passing argument 5 of ‘dma_free_attrs’ makes pointer from integer without a cast [-Wint-conversion]
1 drivers/mfd/db8500-prcmu.c:2721:2: warning: ‘strncpy’ specified bound 20 equals destination size [-Wstringop-truncation]
1 drivers/gpu/drm/i915/intel_tv.c:1422:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
1 arch/x86/power/hibernate_64.c:129:2: warning: ‘memcpy’ forming offset [2, 4096] is out of the bounds [0, 1] of object ‘core_restore_code’ with type ‘char’ [-Warray-bounds]
1 arch/x86/kernel/apic/apic.c:138:13: warning: ‘nox2apic’ defined but not used [-Wunused-variable]
================================================================================
Detailed per-defconfig build reports:
--------------------------------------------------------------------------------
acs5k_defconfig (arm, gcc-8) — PASS, 0 errors, 7 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/net/wireless/prism54/isl_ioctl.c:284:2: warning: ‘strncpy’ output may be truncated copying 16 bytes from a string of length 28 [-Wstringop-truncation]
--------------------------------------------------------------------------------
acs5k_tiny_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
allnoconfig (arm64, gcc-8) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
--------------------------------------------------------------------------------
allnoconfig (i386, gcc-8) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:665: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:670: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
allnoconfig (arc, gcc-8) — FAIL, 2 errors, 233 warnings, 0 section mismatches
Errors:
arch/arc/include/asm/uaccess.h:676:2: error: impossible constraint in ‘asm’
arch/arc/include/asm/uaccess.h:676:2: error: impossible constraint in ‘asm’
Warnings:
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
mm/memory.c:581:7: warning: assignment to ‘pgtable_t’ {aka ‘long unsigned int’} from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
include/linux/rbtree.h:85:11: warning: ‘rb_link’ may be used uninitialized in this function [-Wmaybe-uninitialized]
include/linux/rbtree.h:82:28: warning: ‘rb_parent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/mmap.c:650:2: warning: ‘prev’ may be used uninitialized in this function [-Wmaybe-uninitialized]
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
include/linux/kernel.h:716:17: warning: comparison of distinct pointer types lacks a cast
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
cc1: warning: ‘-mno-mpy’ is deprecated
--------------------------------------------------------------------------------
allnoconfig (x86_64, gcc-8) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
--------------------------------------------------------------------------------
allnoconfig (arm, gcc-8) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
allnoconfig (mips, gcc-8) — PASS, 0 errors, 28 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
ape6evm_defconfig (arm, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
armadillo800eva_defconfig (arm, gcc-8) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
at91_dt_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/net/wireless/rtlwifi/rtl8192cu/hw.c:1363:22: warning: bitwise comparison always evaluates to false [-Wtautological-compare]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
at91sam9263_defconfig (arm, gcc-8) — PASS, 0 errors, 12 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
at91sam9g45_defconfig (arm, gcc-8) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
at91sam9rl_defconfig (arm, gcc-8) — PASS, 0 errors, 8 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
at91x40_defconfig (arm, gcc-8) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
--------------------------------------------------------------------------------
ath79_defconfig (mips, gcc-8) — PASS, 0 errors, 31 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1359: Warning: the `msa' extension requires 64-bit FPRs
{standard input}:900: Warning: the `msa' extension requires 64-bit FPRs
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
axm55xx_defconfig (arm, gcc-8) — PASS, 0 errors, 19 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
drivers/misc/eeprom/at25.c:311:2: warning: ‘strncpy’ specified bound 10 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
fs/udf/super.c:933:4: warning: ‘strncpy’ output may be truncated copying between 0 and 31 bytes from a string of length 253 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
badge4_defconfig (arm, gcc-8) — PASS, 0 errors, 17 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/irda/ircomm/ircomm_param.c:260:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
bcm2835_defconfig (arm, gcc-8) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
kernel/debug/kdb/kdb_support.c:132:4: warning: ‘memcpy’ accessing 396 bytes at offsets 0 and 4 overlaps 392 bytes at offset 4 [-Wrestrict]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
bcm47xx_defconfig (mips, gcc-8) — PASS, 0 errors, 43 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
drivers/net/wireless/brcm80211/brcmsmac/d11.h:786:1: warning: alignment 1 of ‘struct d11txh’ is less than 2 [-Wpacked-not-aligned]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
bcm63xx_defconfig (mips, gcc-8) — PASS, 0 errors, 28 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
bigsur_defconfig (mips, gcc-8) — PASS, 0 errors, 86 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
net/compat.c:548:1: warning: alignment 4 of ‘struct compat_group_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:546:35: warning: ‘gr_group’ offset 4 in ‘struct compat_group_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:552:35: warning: ‘gsr_group’ offset 4 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:554:35: warning: ‘gsr_source’ offset 132 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:566:1: warning: alignment 4 of ‘struct compat_group_filter’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:560:35: warning: ‘gf_group’ offset 4 in ‘struct compat_group_filter’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
bockw_defconfig (arm, gcc-8) — PASS, 0 errors, 9 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
capcella_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
cavium_octeon_defconfig (mips, gcc-8) — FAIL, 0 errors, 50 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
net/compat.c:548:1: warning: alignment 4 of ‘struct compat_group_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:546:35: warning: ‘gr_group’ offset 4 in ‘struct compat_group_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:552:35: warning: ‘gsr_group’ offset 4 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:554:35: warning: ‘gsr_source’ offset 132 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:566:1: warning: alignment 4 of ‘struct compat_group_filter’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:560:35: warning: ‘gf_group’ offset 4 in ‘struct compat_group_filter’ isn’t aligned to 8 [-Wpacked-not-aligned]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
clps711x_defconfig (arm, gcc-8) — PASS, 0 errors, 10 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/net/irda/irtty-sir.c:405:3: warning: ‘strncpy’ output may be truncated copying 5 bytes from a string of length 15 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
--------------------------------------------------------------------------------
cm_x2xx_defconfig (arm, gcc-8) — PASS, 0 errors, 14 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
net/bluetooth/hidp/core.c:779:2: warning: ‘strncpy’ output may be truncated copying 127 bytes from a string of length 127 [-Wstringop-truncation]
--------------------------------------------------------------------------------
cobalt_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
colibri_pxa270_defconfig (arm, gcc-8) — PASS, 0 errors, 19 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/net/wireless/hostap/hostap_ioctl.c:3614:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/net/irda/irtty-sir.c:405:3: warning: ‘strncpy’ output may be truncated copying 5 bytes from a string of length 15 [-Wstringop-truncation]
net/bluetooth/hidp/core.c:779:2: warning: ‘strncpy’ output may be truncated copying 127 bytes from a string of length 127 [-Wstringop-truncation]
net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/irda/ircomm/ircomm_param.c:260:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
--------------------------------------------------------------------------------
collie_defconfig (arm, gcc-8) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
--------------------------------------------------------------------------------
corgi_defconfig (arm, gcc-8) — PASS, 0 errors, 20 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
net/bluetooth/hidp/core.c:779:2: warning: ‘strncpy’ output may be truncated copying 127 bytes from a string of length 127 [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/irda/ircomm/ircomm_param.c:260:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
--------------------------------------------------------------------------------
db1xxx_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
decstation_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
defconfig (arm64, gcc-8) — PASS, 0 errors, 40 warnings, 0 section mismatches
Warnings:
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/compat.c:548:1: warning: alignment 4 of ‘struct compat_group_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:546:35: warning: ‘gr_group’ offset 4 in ‘struct compat_group_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:552:35: warning: ‘gsr_group’ offset 4 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:554:35: warning: ‘gsr_source’ offset 132 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:566:1: warning: alignment 4 of ‘struct compat_group_filter’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:560:35: warning: ‘gf_group’ offset 4 in ‘struct compat_group_filter’ isn’t aligned to 8 [-Wpacked-not-aligned]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
--------------------------------------------------------------------------------
dove_defconfig (arm, gcc-8) — PASS, 0 errors, 17 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/udf/super.c:933:4: warning: ‘strncpy’ output may be truncated copying between 0 and 31 bytes from a string of length 253 [-Wstringop-truncation]
--------------------------------------------------------------------------------
e55_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
efm32_defconfig (arm, gcc-8) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
em_x270_defconfig (arm, gcc-8) — PASS, 0 errors, 15 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
net/bluetooth/hidp/core.c:779:2: warning: ‘strncpy’ output may be truncated copying 127 bytes from a string of length 127 [-Wstringop-truncation]
--------------------------------------------------------------------------------
exynos_defconfig (arm, gcc-8) — PASS, 0 errors, 18 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
footbridge_defconfig (arm, gcc-8) — PASS, 0 errors, 10 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/irda/ircomm/ircomm_param.c:260:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
--------------------------------------------------------------------------------
fpga_noramfs_defconfig (arc, gcc-8) — FAIL, 2 errors, 8 warnings, 0 section mismatches
Errors:
arch/arc/include/asm/uaccess.h:676:2: error: impossible constraint in ‘asm’
arch/arc/include/asm/uaccess.h:676:2: error: impossible constraint in ‘asm’
Warnings:
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
arc-elf32-gcc: warning: ‘-mno-mpy’ is deprecated
mm/memory.c:581:7: warning: assignment to ‘pgtable_t’ {aka ‘long unsigned int’} from ‘void *’ makes integer from pointer without a cast [-Wint-conversion]
include/linux/rbtree.h:85:11: warning: ‘rb_link’ may be used uninitialized in this function [-Wmaybe-uninitialized]
include/linux/rbtree.h:82:28: warning: ‘rb_parent’ may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/mmap.c:650:2: warning: ‘prev’ may be used uninitialized in this function [-Wmaybe-uninitialized]
include/linux/kernel.h:716:17: warning: comparison of distinct pointer types lacks a cast
--------------------------------------------------------------------------------
fuloong2e_defconfig (mips, gcc-8) — PASS, 0 errors, 59 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:548:1: warning: alignment 4 of ‘struct compat_group_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:546:35: warning: ‘gr_group’ offset 4 in ‘struct compat_group_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:552:35: warning: ‘gsr_group’ offset 4 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:554:35: warning: ‘gsr_source’ offset 132 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:566:1: warning: alignment 4 of ‘struct compat_group_filter’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:560:35: warning: ‘gf_group’ offset 4 in ‘struct compat_group_filter’ isn’t aligned to 8 [-Wpacked-not-aligned]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
gpr_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
h3600_defconfig (arm, gcc-8) — PASS, 0 errors, 10 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/irda/ircomm/ircomm_param.c:260:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
--------------------------------------------------------------------------------
h5000_defconfig (arm, gcc-8) — PASS, 0 errors, 12 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
--------------------------------------------------------------------------------
hackkit_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
hi3xxx_defconfig (arm, gcc-8) — PASS, 0 errors, 13 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
drivers/video/hdmi.c:162:2: warning: ‘strncpy’ specified bound 8 equals destination size [-Wstringop-truncation]
drivers/video/hdmi.c:163:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
i386_defconfig (i386, gcc-8) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/rtc.c:173:29: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
arch/x86/kernel/apic/apic.c:138:13: warning: ‘nox2apic’ defined but not used [-Wunused-variable]
arch/x86/kernel/head_32.S:665: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:670: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
imx_v4_v5_defconfig (arm, gcc-8) — PASS, 0 errors, 32 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
drivers/misc/eeprom/at25.c:311:2: warning: ‘strncpy’ specified bound 10 equals destination size [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
drivers/video/fbdev/mx3fb.c:748:2: warning: ‘strncpy’ output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
imx_v6_v7_defconfig (arm, gcc-8) — PASS, 0 errors, 26 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/misc/eeprom/at25.c:311:2: warning: ‘strncpy’ specified bound 10 equals destination size [-Wstringop-truncation]
drivers/video/hdmi.c:162:2: warning: ‘strncpy’ specified bound 8 equals destination size [-Wstringop-truncation]
drivers/video/hdmi.c:163:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
drivers/video/fbdev/mx3fb.c:748:2: warning: ‘strncpy’ output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c:3598:2: warning: ‘strncpy’ output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation]
drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c:3598:2: warning: ‘strncpy’ output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation]
fs/udf/super.c:933:4: warning: ‘strncpy’ output may be truncated copying between 0 and 31 bytes from a string of length 253 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
integrator_defconfig (arm, gcc-8) — PASS, 0 errors, 8 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/video/fbdev/matrox/matroxfb_Ti3026.c:375:2: warning: ‘memcpy’ forming offset [22, 80] is out of the bounds [0, 21] of object ‘MGADACbpp32’ with type ‘const unsigned char[21]’ [-Warray-bounds]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
iop33x_defconfig (arm, gcc-8) — PASS, 0 errors, 8 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
ip22_defconfig (mips, gcc-8) — PASS, 0 errors, 30 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/net/ethernet/seeq/sgiseeq.c:804:26: warning: passing argument 5 of ‘dma_free_attrs’ makes pointer from integer without a cast [-Wint-conversion]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
ip27_defconfig (mips, gcc-8) — PASS, 0 errors, 73 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
drivers/net/wireless/mwl8k.c:805:1: warning: alignment 1 of ‘struct mwl8k_dma_data’ is less than 2 [-Wpacked-not-aligned]
net/compat.c:548:1: warning: alignment 4 of ‘struct compat_group_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:546:35: warning: ‘gr_group’ offset 4 in ‘struct compat_group_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:552:35: warning: ‘gsr_group’ offset 4 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:554:35: warning: ‘gsr_source’ offset 132 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:566:1: warning: alignment 4 of ‘struct compat_group_filter’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:560:35: warning: ‘gf_group’ offset 4 in ‘struct compat_group_filter’ isn’t aligned to 8 [-Wpacked-not-aligned]
drivers/scsi/pmcraid.h:1059:1: warning: alignment 1 of ‘struct pmcraid_passthrough_ioctl_buffer’ is less than 32 [-Wpacked-not-aligned]
drivers/scsi/pmcraid.h:1056:24: warning: ‘ioarcb’ offset 16 in ‘struct pmcraid_passthrough_ioctl_buffer’ isn’t aligned to 32 [-Wpacked-not-aligned]
drivers/scsi/pmcraid.h:1059:1: warning: alignment 1 of ‘struct pmcraid_passthrough_ioctl_buffer’ is less than 4 [-Wpacked-not-aligned]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
ixp4xx_defconfig (arm, gcc-8) — PASS, 0 errors, 8 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
jmr3927_defconfig (mips, gcc-8) — PASS, 0 errors, 28 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
--------------------------------------------------------------------------------
keystone_defconfig (arm, gcc-8) — PASS, 0 errors, 36 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
kzm9g_defconfig (arm, gcc-8) — FAIL, 1 error, 9 warnings, 0 section mismatches
Errors:
arch/arm/mach-shmobile/board-kzm9g.c:734:13: error: initializer element is not computable at load time
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
--------------------------------------------------------------------------------
lart_defconfig (arm, gcc-8) — PASS, 0 errors, 11 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/irda/ircomm/ircomm_param.c:260:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/udf/super.c:933:4: warning: ‘strncpy’ output may be truncated copying between 0 and 31 bytes from a string of length 253 [-Wstringop-truncation]
--------------------------------------------------------------------------------
lemote2f_defconfig (mips, gcc-8) — FAIL, 1 error, 4 warnings, 0 section mismatches
Errors:
arch/mips/loongson/common/cs5536/cs5536_ohci.c:141:25: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
cc1: all warnings being treated as errors
--------------------------------------------------------------------------------
loongson3_defconfig (mips, gcc-8) — PASS, 0 errors, 329 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:548:1: warning: alignment 4 of ‘struct compat_group_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:546:35: warning: ‘gr_group’ offset 4 in ‘struct compat_group_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:552:35: warning: ‘gsr_group’ offset 4 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:554:35: warning: ‘gsr_source’ offset 132 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:566:1: warning: alignment 4 of ‘struct compat_group_filter’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:560:35: warning: ‘gf_group’ offset 4 in ‘struct compat_group_filter’ isn’t aligned to 8 [-Wpacked-not-aligned]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
ls1b_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
lubbock_defconfig (arm, gcc-8) — PASS, 0 errors, 7 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
--------------------------------------------------------------------------------
mackerel_defconfig (arm, gcc-8) — PASS, 0 errors, 16 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
include/linux/sh_intc.h:99:63: warning: division ‘sizeof (void *) / sizeof (void)’ does not compute the number of array elements [-Wsizeof-pointer-div]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
magician_defconfig (arm, gcc-8) — PASS, 0 errors, 19 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/net/irda/irtty-sir.c:405:3: warning: ‘strncpy’ output may be truncated copying 5 bytes from a string of length 15 [-Wstringop-truncation]
net/bluetooth/hidp/core.c:779:2: warning: ‘strncpy’ output may be truncated copying 127 bytes from a string of length 127 [-Wstringop-truncation]
net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/irda/ircomm/ircomm_param.c:260:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
--------------------------------------------------------------------------------
malta_defconfig (mips, gcc-8) — PASS, 0 errors, 31 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1498: Warning: the `msa' extension requires 64-bit FPRs
{standard input}:1715: Warning: the `msa' extension requires 64-bit FPRs
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
malta_kvm_defconfig (mips, gcc-8) — FAIL, 2 errors, 4 warnings, 0 section mismatches
Errors:
include/linux/kern_levels.h:4:18: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘u64’ {aka ‘long long unsigned int’} [-Werror=format=]
include/linux/kern_levels.h:4:18: error: format ‘%lx’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘u64’ {aka ‘long long unsigned int’} [-Werror=format=]
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1498: Warning: the `msa' extension requires 64-bit FPRs
cc1: all warnings being treated as errors
{standard input}:1953: Warning: the `msa' extension requires 64-bit FPRs
--------------------------------------------------------------------------------
malta_kvm_guest_defconfig (mips, gcc-8) — PASS, 0 errors, 31 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1462: Warning: the `msa' extension requires 64-bit FPRs
{standard input}:1664: Warning: the `msa' extension requires 64-bit FPRs
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
maltasmvp_defconfig (mips, gcc-8) — PASS, 0 errors, 34 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1462: Warning: the `msa' extension requires 64-bit FPRs
{standard input}:1715: Warning: the `msa' extension requires 64-bit FPRs
arch/mips/kernel/cps-vec.S:232: Warning: tried to set unrecognized symbol: MIPS_ISA_LEVEL_RAW
arch/mips/kernel/cps-vec.S:352: Warning: tried to set unrecognized symbol: MIPS_ISA_LEVEL_RAW
arch/mips/kernel/cps-vec.S:384: Warning: tried to set unrecognized symbol: MIPS_ISA_LEVEL_RAW
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
maltasmvp_eva_defconfig (mips, gcc-8) — PASS, 0 errors, 34 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1462: Warning: the `msa' extension requires 64-bit FPRs
{standard input}:1822: Warning: the `msa' extension requires 64-bit FPRs
arch/mips/kernel/cps-vec.S:232: Warning: tried to set unrecognized symbol: MIPS_ISA_LEVEL_RAW
arch/mips/kernel/cps-vec.S:352: Warning: tried to set unrecognized symbol: MIPS_ISA_LEVEL_RAW
arch/mips/kernel/cps-vec.S:384: Warning: tried to set unrecognized symbol: MIPS_ISA_LEVEL_RAW
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
maltaup_defconfig (mips, gcc-8) — PASS, 0 errors, 31 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1462: Warning: the `msa' extension requires 64-bit FPRs
{standard input}:1668: Warning: the `msa' extension requires 64-bit FPRs
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
marzen_defconfig (arm, gcc-8) — PASS, 0 errors, 10 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
drivers/video/hdmi.c:162:2: warning: ‘strncpy’ specified bound 8 equals destination size [-Wstringop-truncation]
drivers/video/hdmi.c:163:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
mini2440_defconfig (arm, gcc-8) — PASS, 0 errors, 17 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/net/wireless/hostap/hostap_ioctl.c:3614:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/bluetooth/hidp/core.c:779:2: warning: ‘strncpy’ output may be truncated copying 127 bytes from a string of length 127 [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
--------------------------------------------------------------------------------
mips_paravirt_defconfig (mips, gcc-8) — PASS, 0 errors, 50 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
net/compat.c:548:1: warning: alignment 4 of ‘struct compat_group_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:546:35: warning: ‘gr_group’ offset 4 in ‘struct compat_group_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:552:35: warning: ‘gsr_group’ offset 4 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:554:35: warning: ‘gsr_source’ offset 132 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:566:1: warning: alignment 4 of ‘struct compat_group_filter’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:560:35: warning: ‘gf_group’ offset 4 in ‘struct compat_group_filter’ isn’t aligned to 8 [-Wpacked-not-aligned]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
mmp2_defconfig (arm, gcc-8) — PASS, 0 errors, 9 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
mpc30x_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
msm_defconfig (arm, gcc-8) — PASS, 0 errors, 35 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
drivers/scsi/scsi_tgt_if.c:192:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
msp71xx_defconfig (mips, gcc-8) — PASS, 0 errors, 31 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1655: Warning: the `msa' extension requires 64-bit FPRs
{standard input}:1882: Warning: the `msa' extension requires 64-bit FPRs
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
mtx1_defconfig (mips, gcc-8) — PASS, 0 errors, 35 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
sound/pci/au88x0/au88x0_core.c:2302:59: warning: ‘mix[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
sound/pci/au88x0/au88x0_core.c:2303:58: warning: ‘src[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
sound/pci/au88x0/au88x0_core.c:2302:59: warning: ‘mix[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
sound/pci/au88x0/au88x0_core.c:2303:58: warning: ‘src[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
sound/pci/au88x0/au88x0_core.c:2302:59: warning: ‘mix[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
sound/pci/au88x0/au88x0_core.c:2303:58: warning: ‘src[0]’ may be used uninitialized in this function [-Wmaybe-uninitialized]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
multi_v5_defconfig (arm, gcc-8) — PASS, 0 errors, 19 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
drivers/video/fbdev/mx3fb.c:748:2: warning: ‘strncpy’ output truncated before terminating nul copying 8 bytes from a string of the same length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/udf/super.c:933:4: warning: ‘strncpy’ output may be truncated copying between 0 and 31 bytes from a string of length 253 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
mv78xx0_defconfig (arm, gcc-8) — PASS, 0 errors, 34 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/udf/super.c:933:4: warning: ‘strncpy’ output may be truncated copying between 0 and 31 bytes from a string of length 253 [-Wstringop-truncation]
--------------------------------------------------------------------------------
mvebu_v7_defconfig (arm, gcc-8) — PASS, 0 errors, 17 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
fs/udf/super.c:933:4: warning: ‘strncpy’ output may be truncated copying between 0 and 31 bytes from a string of length 253 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
mxs_defconfig (arm, gcc-8) — PASS, 0 errors, 36 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
netx_defconfig (arm, gcc-8) — PASS, 0 errors, 12 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
--------------------------------------------------------------------------------
nhk8815_defconfig (arm, gcc-8) — PASS, 0 errors, 17 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/cifs/cifsencrypt.c:309:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/bluetooth/hidp/core.c:779:2: warning: ‘strncpy’ output may be truncated copying 127 bytes from a string of length 127 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
nlm_xlr_defconfig (mips, gcc-8) — FAIL, 1 error, 2 warnings, 0 section mismatches
Errors:
arch/mips/include/asm/netlogic/xlr/fmn.h:304:22: error: bitwise comparison always evaluates to false [-Werror=tautological-compare]
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
cc1: all warnings being treated as errors
--------------------------------------------------------------------------------
nuc950_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
--------------------------------------------------------------------------------
nuc960_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
--------------------------------------------------------------------------------
omap2plus_defconfig (arm, gcc-8) — PASS, 0 errors, 36 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
orion5x_defconfig (arm, gcc-8) — PASS, 0 errors, 16 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/udf/super.c:933:4: warning: ‘strncpy’ output may be truncated copying between 0 and 31 bytes from a string of length 253 [-Wstringop-truncation]
--------------------------------------------------------------------------------
palmz72_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
pnx8335_stb225_defconfig (mips, gcc-8) — PASS, 0 errors, 31 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1485: Warning: the `msa' extension requires 64-bit FPRs
{standard input}:2119: Warning: the `msa' extension requires 64-bit FPRs
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
prima2_defconfig (arm, gcc-8) — PASS, 0 errors, 9 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
pxa168_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
pxa255-idp_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
pxa910_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
qcom_defconfig (arm, gcc-8) — PASS, 0 errors, 36 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
drivers/scsi/scsi_tgt_if.c:192:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
qi_lb60_defconfig (mips, gcc-8) — PASS, 0 errors, 30 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
raumfeld_defconfig (arm, gcc-8) — PASS, 0 errors, 15 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
rb532_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
rm200_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
rpc_defconfig (arm, gcc-8) — PASS, 0 errors, 9 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
--------------------------------------------------------------------------------
rt305x_defconfig (mips, gcc-8) — FAIL, 0 errors, 31 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1431: Warning: the `msa' extension requires 64-bit FPRs
{standard input}:1257: Warning: the `msa' extension requires 64-bit FPRs
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
s3c6400_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
s5pc100_defconfig (arm, gcc-8) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
sama5_defconfig (arm, gcc-8) — PASS, 0 errors, 20 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/net/wireless/rtl818x/rtl8187/leds.c:149:2: warning: ‘strncpy’ specified bound 22 equals destination size [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
sb1250_swarm_defconfig (mips, gcc-8) — PASS, 0 errors, 48 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
net/compat.c:548:1: warning: alignment 4 of ‘struct compat_group_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:546:35: warning: ‘gr_group’ offset 4 in ‘struct compat_group_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:552:35: warning: ‘gsr_group’ offset 4 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:554:35: warning: ‘gsr_source’ offset 132 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:566:1: warning: alignment 4 of ‘struct compat_group_filter’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:560:35: warning: ‘gf_group’ offset 4 in ‘struct compat_group_filter’ isn’t aligned to 8 [-Wpacked-not-aligned]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
sead3micro_defconfig (mips, gcc-8) — FAIL, 2 errors, 2 warnings, 0 section mismatches
Errors:
arch/mips/kernel/genex.S:152: Error: branch to a symbol in another ISA mode
arch/mips/kernel/genex.S:234: Error: branch to a symbol in another ISA mode
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1395: Warning: the `msa' extension requires 64-bit FPRs
--------------------------------------------------------------------------------
shannon_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
shmobile_defconfig (arm, gcc-8) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
simpad_defconfig (arm, gcc-8) — PASS, 0 errors, 16 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/net/irda/irtty-sir.c:405:3: warning: ‘strncpy’ output may be truncated copying 5 bytes from a string of length 15 [-Wstringop-truncation]
net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/irda/ircomm/ircomm_param.c:260:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
--------------------------------------------------------------------------------
spear13xx_defconfig (arm, gcc-8) — PASS, 0 errors, 9 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
spear6xx_defconfig (arm, gcc-8) — PASS, 0 errors, 7 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
sunxi_defconfig (arm, gcc-8) — PASS, 0 errors, 11 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
tb0226_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
tb0287_defconfig (mips, gcc-8) — PASS, 0 errors, 29 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
tegra_defconfig (arm, gcc-8) — PASS, 0 errors, 23 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
net/bluetooth/hidp/core.c:779:2: warning: ‘strncpy’ output may be truncated copying 127 bytes from a string of length 127 [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
drivers/video/hdmi.c:162:2: warning: ‘strncpy’ specified bound 8 equals destination size [-Wstringop-truncation]
drivers/video/hdmi.c:163:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c:3598:2: warning: ‘strncpy’ output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation]
drivers/net/wireless/brcm80211/brcmfmac/wl_cfg80211.c:3598:2: warning: ‘strncpy’ output truncated before terminating nul copying 3 bytes from a string of the same length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
trizeps4_defconfig (arm, gcc-8) — PASS, 0 errors, 20 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/net/wireless/hostap/hostap_ioctl.c:3614:3: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
drivers/net/irda/irtty-sir.c:405:3: warning: ‘strncpy’ output may be truncated copying 5 bytes from a string of length 15 [-Wstringop-truncation]
net/bluetooth/hidp/core.c:779:2: warning: ‘strncpy’ output may be truncated copying 127 bytes from a string of length 127 [-Wstringop-truncation]
net/irda/irlmp.c:870:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/irlmp.c:1107:2: warning: ‘strncpy’ output may be truncated copying 21 bytes from a string of length 64 [-Wstringop-truncation]
net/irda/af_irda.c:481:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
net/irda/ircomm/ircomm_param.c:260:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
--------------------------------------------------------------------------------
u300_defconfig (arm, gcc-8) — PASS, 0 errors, 7 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
u8500_defconfig (arm, gcc-8) — PASS, 0 errors, 19 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
drivers/base/regmap/regcache-rbtree.c:36:1: warning: alignment 1 of ‘struct regcache_rbtree_node’ is less than 4 [-Wpacked-not-aligned]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
net/caif/cfctrl.c:261:3: warning: ‘strncpy’ output may be truncated copying 15 bytes from a string of length 15 [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/mfd/db8500-prcmu.c:2721:2: warning: ‘strncpy’ specified bound 20 equals destination size [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
versatile_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
viper_defconfig (arm, gcc-8) — PASS, 0 errors, 14 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/configfs/symlink.c:67:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
--------------------------------------------------------------------------------
x86_64_defconfig (x86_64, gcc-8) — PASS, 0 errors, 63 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/rtc.c:173:29: warning: duplicate ‘const’ declaration specifier [-Wduplicate-decl-specifier]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:212:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:118:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:78:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:49:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:493:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:292:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:245:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:162:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
include/trace/events/writeback.h:564:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:384:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/ablkcipher.c:466:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/blkcipher.c:516:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:310:2: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
fs/ext4/super.c:314:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
crypto/aead.c:121:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
crypto/aead.c:206:2: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
arch/x86/power/hibernate_64.c:129:2: warning: ‘memcpy’ forming offset [2, 4096] is out of the bounds [0, 1] of object ‘core_restore_code’ with type ‘char’ [-Warray-bounds]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
include/uapi/linux/sctp.h:239:1: warning: alignment 4 of ‘struct sctp_paddr_change’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:513:1: warning: alignment 4 of ‘struct sctp_setpeerprim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:512:26: warning: ‘sspp_addr’ offset 4 in ‘struct sctp_setpeerprim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:526:1: warning: alignment 4 of ‘struct sctp_prim’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:525:26: warning: ‘ssp_addr’ offset 4 in ‘struct sctp_prim’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:573:1: warning: alignment 4 of ‘struct sctp_paddrparams’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:567:26: warning: ‘spp_address’ offset 4 in ‘struct sctp_paddrparams’ isn’t aligned to 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:680:1: warning: alignment 4 of ‘struct sctp_paddrinfo’ is less than 8 [-Wpacked-not-aligned]
include/uapi/linux/sctp.h:674:26: warning: ‘spinfo_address’ offset 4 in ‘struct sctp_paddrinfo’ isn’t aligned to 8 [-Wpacked-not-aligned]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
net/ipv4/ip_tunnel.c:312:3: warning: ‘strncat’ specified bound 2 equals source length [-Wstringop-overflow=]
drivers/gpu/drm/i915/intel_tv.c:1422:3: warning: ‘strncpy’ specified bound 32 equals destination size [-Wstringop-truncation]
net/compat.c:548:1: warning: alignment 4 of ‘struct compat_group_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:546:35: warning: ‘gr_group’ offset 4 in ‘struct compat_group_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:552:35: warning: ‘gsr_group’ offset 4 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:556:1: warning: alignment 4 of ‘struct compat_group_source_req’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:554:35: warning: ‘gsr_source’ offset 132 in ‘struct compat_group_source_req’ isn’t aligned to 8 [-Wpacked-not-aligned]
net/compat.c:566:1: warning: alignment 4 of ‘struct compat_group_filter’ is less than 8 [-Wpacked-not-aligned]
net/compat.c:560:35: warning: ‘gf_group’ offset 4 in ‘struct compat_group_filter’ isn’t aligned to 8 [-Wpacked-not-aligned]
drivers/scsi/scsi_devinfo.c:293:2: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
drivers/scsi/scsi_devinfo.c:304:4: warning: ‘strncpy’ output truncated copying between 0 and 16 bytes from a string of length 16 [-Wstringop-truncation]
drivers/video/hdmi.c:162:2: warning: ‘strncpy’ specified bound 8 equals destination size [-Wstringop-truncation]
drivers/video/hdmi.c:163:2: warning: ‘strncpy’ specified bound 16 equals destination size [-Wstringop-truncation]
--------------------------------------------------------------------------------
xcep_defconfig (arm, gcc-8) — PASS, 0 errors, 6 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
fs/exec.c:1069:32: warning: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Wsizeof-pointer-memaccess]
net/socket.c:490:4: warning: ‘strncpy’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
fs/kernfs/symlink.c:91:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
lib/kobject.c:130:3: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
--------------------------------------------------------------------------------
xway_defconfig (mips, gcc-8) — FAIL, 0 errors, 31 warnings, 0 section mismatches
Warnings:
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
{standard input}:1525: Warning: the `msa' extension requires 64-bit FPRs
{standard input}:1821: Warning: the `msa' extension requires 64-bit FPRs
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:679:36: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
arch/mips/math-emu/cp1emu.c:684:14: warning: ‘~’ on a boolean expression [-Wbool-operation]
<stdin>:1238:2: warning: #warning syscall seccomp not implemented [-Wcpp]
---
For more info write to <info(a)kernelci.org>
powerpc:defconfig:
arch/powerpc/platforms/pseries/mobility.c: In function ‘post_mobility_fixup’:
arch/powerpc/platforms/pseries/mobility.c:330:2: error: implicit declaration of function ‘read_24x7_sys_info’
Guenter
Kerneldoc syntax is used, but not complete. Descriptions required.
Prevents warnings like:
drivers/mfd/wm831x-core.c:119: warning: Function parameter or member 'wm831x' not described in 'wm831x_reg_lock'
drivers/mfd/wm831x-core.c:145: warning: Function parameter or member 'wm831x' not described in 'wm831x_reg_unlock'
Cc: <stable(a)vger.kernel.org>
Cc: Mark Brown <broonie(a)opensource.wolfsonmicro.com>
Cc: patches(a)opensource.cirrus.com
Signed-off-by: Lee Jones <lee.jones(a)linaro.org>
---
drivers/mfd/wm831x-core.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/mfd/wm831x-core.c b/drivers/mfd/wm831x-core.c
index 02f879b23d9f6..b0344e5353e4f 100644
--- a/drivers/mfd/wm831x-core.c
+++ b/drivers/mfd/wm831x-core.c
@@ -114,6 +114,8 @@ static int wm831x_reg_locked(struct wm831x *wm831x, unsigned short reg)
* The WM831x has a user key preventing writes to particularly
* critical registers. This function locks those registers,
* allowing writes to them.
+ *
+ * @wm831x: pointer to local driver data structure
*/
void wm831x_reg_lock(struct wm831x *wm831x)
{
@@ -140,6 +142,8 @@ EXPORT_SYMBOL_GPL(wm831x_reg_lock);
* The WM831x has a user key preventing writes to particularly
* critical registers. This function locks those registers,
* preventing spurious writes.
+ *
+ * @wm831x: pointer to local driver data structure
*/
int wm831x_reg_unlock(struct wm831x *wm831x)
{
--
2.25.1
Kerneldoc is for documenting function arguments and return values.
Prevents warnings like:
drivers/mfd/tc3589x.c:32: warning: Enum value 'TC3589X_TC35890' not described in enum 'tc3589x_version'
drivers/mfd/tc3589x.c:32: warning: Enum value 'TC3589X_TC35892' not described in enum 'tc3589x_version'
drivers/mfd/tc3589x.c:32: warning: Enum value 'TC3589X_TC35893' not described in enum 'tc3589x_version'
drivers/mfd/tc3589x.c:32: warning: Enum value 'TC3589X_TC35894' not described in enum 'tc3589x_version'
drivers/mfd/tc3589x.c:32: warning: Enum value 'TC3589X_TC35895' not described in enum 'tc3589x_version'
drivers/mfd/tc3589x.c:32: warning: Enum value 'TC3589X_TC35896' not described in enum 'tc3589x_version'
drivers/mfd/tc3589x.c:32: warning: Enum value 'TC3589X_UNKNOWN' not described in enum 'tc3589x_version'
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Lee Jones <lee.jones(a)linaro.org>
---
drivers/mfd/tc3589x.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mfd/tc3589x.c b/drivers/mfd/tc3589x.c
index 67c9995bb1aa6..7882a37ffc352 100644
--- a/drivers/mfd/tc3589x.c
+++ b/drivers/mfd/tc3589x.c
@@ -18,7 +18,7 @@
#include <linux/mfd/tc3589x.h>
#include <linux/err.h>
-/**
+/*
* enum tc3589x_version - indicates the TC3589x version
*/
enum tc3589x_version {
--
2.25.1
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: a5e7ca280376 - Linux 5.7.6-rc2
The results of these automated tests are provided below.
Overall result: PASSED
Merge: OK
Compile: OK
Tests: OK
All kernel binaries, config files, and logs are available for download here:
https://cki-artifacts.s3.us-east-2.amazonaws.com/index.html?prefix=dataware…
Please reply to this email if you have any questions about the tests that we
ran or if you have any suggestions on how to make future tests more effective.
,-. ,-.
( C ) ( K ) Continuous
`-',-.`-' Kernel
( I ) Integration
`-'
______________________________________________________________________________
Compile testing
---------------
We compiled the kernel for 4 architectures:
aarch64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
ppc64le:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
s390x:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
x86_64:
make options: -j30 INSTALL_MOD_STRIP=1 targz-pkg
Hardware testing
----------------
We booted each kernel and ran the following tests:
aarch64:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ⚡⚡⚡ Storage blktests
ppc64le:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ⚡⚡⚡ Storage blktests
Host 3:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
⚡⚡⚡ Boot test
🚧 ⚡⚡⚡ kdump - sysrq-c
Host 4:
✅ Boot test
🚧 ❌ kdump - sysrq-c
s390x:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ❌ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ selinux-policy: serge-testsuite
✅ stress: stress-ng
🚧 ⚡⚡⚡ Storage blktests
Host 3:
✅ Boot test
🚧 ✅ kdump - sysrq-c
x86_64:
Host 1:
✅ Boot test
✅ Podman system integration test - as root
✅ Podman system integration test - as user
✅ LTP
✅ Loopdev Sanity
✅ Memory function: memfd_create
✅ AMTU (Abstract Machine Test Utility)
✅ Networking bridge: sanity
✅ Ethernet drivers sanity
✅ Networking socket: fuzz
✅ Networking: igmp conformance test
✅ Networking route: pmtu
✅ Networking route_func - local
✅ Networking route_func - forward
✅ Networking TCP: keepalive test
✅ Networking UDP: socket
✅ Networking tunnel: geneve basic test
✅ Networking tunnel: gre basic
✅ L2TP basic test
✅ Networking tunnel: vxlan basic
✅ Networking ipsec: basic netns - transport
✅ Networking ipsec: basic netns - tunnel
✅ Libkcapi AF_ALG test
✅ pciutils: sanity smoke test
✅ pciutils: update pci ids test
✅ ALSA PCM loopback test
✅ ALSA Control (mixer) Userspace Element test
✅ storage: SCSI VPD
🚧 ✅ CIFS Connectathon
🚧 ✅ POSIX pjd-fstest suites
🚧 ✅ jvm - DaCapo Benchmark Suite
🚧 ✅ jvm - jcstress tests
🚧 ✅ Memory function: kaslr
🚧 ✅ Networking firewall: basic netfilter test
🚧 ✅ audit: audit testsuite test
🚧 ✅ trace: ftrace/tracer
🚧 ✅ kdump - kexec_boot
Host 2:
⚡ Internal infrastructure issues prevented one or more tests (marked
with ⚡⚡⚡) from running on this architecture.
This is not the fault of the kernel that was tested.
✅ Boot test
✅ xfstests - ext4
✅ xfstests - xfs
✅ selinux-policy: serge-testsuite
✅ storage: software RAID testing
✅ stress: stress-ng
🚧 ❌ CPU: Frequency Driver Test
🚧 ✅ CPU: Idle Test
🚧 ✅ IOMMU boot test
🚧 ✅ IPMI driver test
🚧 ✅ IPMItool loop stress test
🚧 ⚡⚡⚡ Storage blktests
Host 3:
✅ Boot test
🚧 ✅ kdump - sysrq-c
Test sources: https://github.com/CKI-project/tests-beaker
💚 Pull requests are welcome for new tests or improvements to existing tests!
Aborted tests
-------------
Tests that didn't complete running successfully are marked with ⚡⚡⚡.
If this was caused by an infrastructure issue, we try to mark that
explicitly in the report.
Waived tests
------------
If the test run included waived tests, they are marked with 🚧. Such tests are
executed but their results are not taken into account. Tests are waived when
their results are not reliable enough, e.g. when they're just introduced or are
being fixed.
Testing timeout
---------------
We aim to provide a report within reasonable timeframe. Tests that haven't
finished running yet are marked with ⏱.
This is a note to let you know that I've just added the patch titled
Revert "usb: dwc3: exynos: Add support for Exynos5422 suspend clk"
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From ad38beb373a14e082f4e64b68c0b6e6b09764680 Mon Sep 17 00:00:00 2001
From: Anand Moon <linux.amoon(a)gmail.com>
Date: Tue, 23 Jun 2020 07:46:37 +0000
Subject: Revert "usb: dwc3: exynos: Add support for Exynos5422 suspend clk"
This reverts commit 07f6842341abe978e6375078f84506ec3280ece5.
Since SCLK_SCLK_USBD300 suspend clock need to be configured
for phy module, I wrongly mapped this clock to DWC3 code.
Cc: Felipe Balbi <balbi(a)kernel.org>
Cc: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Anand Moon <linux.amoon(a)gmail.com>
Cc: stable <stable(a)vger.kernel.org>
Fixes: 07f6842341ab ("usb: dwc3: exynos: Add support for Exynos5422 suspend clk")
Link: https://lore.kernel.org/r/20200623074637.756-1-linux.amoon@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/dwc3/dwc3-exynos.c | 9 ---------
1 file changed, 9 deletions(-)
diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-exynos.c
index 48b68b6f0dc8..90bb022737da 100644
--- a/drivers/usb/dwc3/dwc3-exynos.c
+++ b/drivers/usb/dwc3/dwc3-exynos.c
@@ -162,12 +162,6 @@ static const struct dwc3_exynos_driverdata exynos5250_drvdata = {
.suspend_clk_idx = -1,
};
-static const struct dwc3_exynos_driverdata exynos5420_drvdata = {
- .clk_names = { "usbdrd30", "usbdrd30_susp_clk"},
- .num_clks = 2,
- .suspend_clk_idx = 1,
-};
-
static const struct dwc3_exynos_driverdata exynos5433_drvdata = {
.clk_names = { "aclk", "susp_clk", "pipe_pclk", "phyclk" },
.num_clks = 4,
@@ -184,9 +178,6 @@ static const struct of_device_id exynos_dwc3_match[] = {
{
.compatible = "samsung,exynos5250-dwusb3",
.data = &exynos5250_drvdata,
- }, {
- .compatible = "samsung,exynos5420-dwusb3",
- .data = &exynos5420_drvdata,
}, {
.compatible = "samsung,exynos5433-dwusb3",
.data = &exynos5433_drvdata,
--
2.27.0
This is a note to let you know that I've just added the patch titled
usb: cdns3: trace: using correct dir value
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 813072b67ee97659807049d014c9d4e36fd62e94 Mon Sep 17 00:00:00 2001
From: Peter Chen <peter.chen(a)nxp.com>
Date: Tue, 23 Jun 2020 11:09:17 +0800
Subject: usb: cdns3: trace: using correct dir value
It should use the correct direction value from register, not depends
on previous software setting. It fixed the EP number wrong issue at
trace when the TRBERR interrupt occurs for EP0IN.
When the EP0IN IOC has finished, software prepares the setup packet
request, the expected direction is OUT, but at that time, the TRBERR
for EP0IN may occur since it is DMULT mode, the DMA does not stop
until TRBERR has met.
Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver")
Cc: <stable(a)vger.kernel.org>
Reviewed-by: Pawel Laszczak <pawell(a)cadence.com>
Signed-off-by: Peter Chen <peter.chen(a)nxp.com>
Link: https://lore.kernel.org/r/20200623030918.8409-3-peter.chen@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/cdns3/trace.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/cdns3/trace.h b/drivers/usb/cdns3/trace.h
index 8d121e207fd8..755c56582257 100644
--- a/drivers/usb/cdns3/trace.h
+++ b/drivers/usb/cdns3/trace.h
@@ -156,7 +156,7 @@ DECLARE_EVENT_CLASS(cdns3_log_ep0_irq,
__dynamic_array(char, str, CDNS3_MSG_MAX)
),
TP_fast_assign(
- __entry->ep_dir = priv_dev->ep0_data_dir;
+ __entry->ep_dir = priv_dev->selected_ep;
__entry->ep_sts = ep_sts;
),
TP_printk("%s", cdns3_decode_ep0_irq(__get_str(str),
--
2.27.0
This is a note to let you know that I've just added the patch titled
usb: cdns3: ep0: add spinlock for cdns3_check_new_setup
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From d0b78265cac9d8b5f7d5c97fa44860d6ab952dc8 Mon Sep 17 00:00:00 2001
From: Peter Chen <peter.chen(a)nxp.com>
Date: Tue, 23 Jun 2020 11:09:18 +0800
Subject: usb: cdns3: ep0: add spinlock for cdns3_check_new_setup
The other thread may access other endpoints when the cdns3_check_new_setup
is handling, add spinlock to protect it.
Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver")
Cc: <stable(a)vger.kernel.org>
Reviewed-by: Pawel Laszczak <pawell(a)cadence.com>
Signed-off-by: Peter Chen <peter.chen(a)nxp.com>
Link: https://lore.kernel.org/r/20200623030918.8409-4-peter.chen@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/cdns3/ep0.c | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/usb/cdns3/ep0.c b/drivers/usb/cdns3/ep0.c
index 04e49582fb55..61ec5bb2b0ca 100644
--- a/drivers/usb/cdns3/ep0.c
+++ b/drivers/usb/cdns3/ep0.c
@@ -705,15 +705,17 @@ static int cdns3_gadget_ep0_queue(struct usb_ep *ep,
int ret = 0;
u8 zlp = 0;
+ spin_lock_irqsave(&priv_dev->lock, flags);
trace_cdns3_ep0_queue(priv_dev, request);
/* cancel the request if controller receive new SETUP packet. */
- if (cdns3_check_new_setup(priv_dev))
+ if (cdns3_check_new_setup(priv_dev)) {
+ spin_unlock_irqrestore(&priv_dev->lock, flags);
return -ECONNRESET;
+ }
/* send STATUS stage. Should be called only for SET_CONFIGURATION */
if (priv_dev->ep0_stage == CDNS3_STATUS_STAGE) {
- spin_lock_irqsave(&priv_dev->lock, flags);
cdns3_select_ep(priv_dev, 0x00);
erdy_sent = !priv_dev->hw_configured_flag;
@@ -738,7 +740,6 @@ static int cdns3_gadget_ep0_queue(struct usb_ep *ep,
return 0;
}
- spin_lock_irqsave(&priv_dev->lock, flags);
if (!list_empty(&priv_ep->pending_req_list)) {
dev_err(priv_dev->dev,
"can't handle multiple requests for ep0\n");
--
2.27.0
This is a note to let you know that I've just added the patch titled
usb: cdns3: ep0: fix the test mode set incorrectly
to my usb git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
in the usb-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From c0e2a0341cd8ccd213ffc6c7f9cd52a31466cba9 Mon Sep 17 00:00:00 2001
From: Peter Chen <peter.chen(a)nxp.com>
Date: Tue, 23 Jun 2020 11:09:16 +0800
Subject: usb: cdns3: ep0: fix the test mode set incorrectly
The 'tmode' is ctrl->wIndex, changing it as the real test
mode value for register assignment.
Fixes: 7733f6c32e36 ("usb: cdns3: Add Cadence USB3 DRD Driver")
Cc: <stable(a)vger.kernel.org>
Reviewed-by: Jun Li <jun.li(a)nxp.com>
Reviewed-by: Pawel Laszczak <pawell(a)cadence.com>
Signed-off-by: Peter Chen <peter.chen(a)nxp.com>
Link: https://lore.kernel.org/r/20200623030918.8409-2-peter.chen@nxp.com
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/cdns3/ep0.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/cdns3/ep0.c b/drivers/usb/cdns3/ep0.c
index 82645a2a0f52..04e49582fb55 100644
--- a/drivers/usb/cdns3/ep0.c
+++ b/drivers/usb/cdns3/ep0.c
@@ -327,7 +327,8 @@ static int cdns3_ep0_feature_handle_device(struct cdns3_device *priv_dev,
if (!set || (tmode & 0xff) != 0)
return -EINVAL;
- switch (tmode >> 8) {
+ tmode >>= 8;
+ switch (tmode) {
case TEST_J:
case TEST_K:
case TEST_SE0_NAK:
--
2.27.0
From: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
USB2 devices with LPM enabled may interrupt the system suspend:
[ 932.510475] usb 1-7: usb suspend, wakeup 0
[ 932.510549] hub 1-0:1.0: hub_suspend
[ 932.510581] usb usb1: bus suspend, wakeup 0
[ 932.510590] xhci_hcd 0000:00:14.0: port 9 not suspended
[ 932.510593] xhci_hcd 0000:00:14.0: port 8 not suspended
..
[ 932.520323] xhci_hcd 0000:00:14.0: Port change event, 1-7, id 7, portsc: 0x400e03
..
[ 932.591405] PM: pci_pm_suspend(): hcd_pci_suspend+0x0/0x30 returns -16
[ 932.591414] PM: dpm_run_callback(): pci_pm_suspend+0x0/0x160 returns -16
[ 932.591418] PM: Device 0000:00:14.0 failed to suspend async: error -16
During system suspend, USB core will let HC suspends the device if it
doesn't have remote wakeup enabled and doesn't have any children.
However, from the log above we can see that the usb 1-7 doesn't get bus
suspended due to not in U0. After a while the port finished U2 -> U0
transition, interrupts the suspend process.
The observation is that after disabling LPM, port doesn't transit to U0
immediately and can linger in U2. xHCI spec 4.23.5.2 states that the
maximum exit latency for USB2 LPM should be BESL + 10us. The BESL for
the affected device is advertised as 400us, which is still not enough
based on my testing result.
So let's use the maximum permitted latency, 10000, to poll for U0
status to solve the issue.
Cc: stable(a)vger.kernel.org
Signed-off-by: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
---
drivers/usb/host/xhci.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index f97106e2860f..ed468eed299c 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4475,6 +4475,9 @@ static int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
mutex_lock(hcd->bandwidth_mutex);
xhci_change_max_exit_latency(xhci, udev, 0);
mutex_unlock(hcd->bandwidth_mutex);
+ readl_poll_timeout(ports[port_num]->addr, pm_val,
+ (pm_val & PORT_PLS_MASK) == XDEV_U0,
+ 100, 10000);
return 0;
}
}
--
2.17.1
From: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Just return if xHCI is quirked to disable LPM. We can save some time
from reading registers and doing spinlocks.
Add stable tag as we want this patch together with the next one,
"Poll for U0 after disabling USB2 LPM" which fixes a suspend issue
for some USB2 LPM devices
Cc: stable(a)vger.kernel.org
Signed-off-by: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
---
drivers/usb/host/xhci.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 03b64b73eb99..f97106e2860f 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -4391,6 +4391,9 @@ static int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
int hird, exit_latency;
int ret;
+ if (xhci->quirks & XHCI_HW_LPM_DISABLE)
+ return -EPERM;
+
if (hcd->speed >= HCD_USB3 || !xhci->hw_lpm_support ||
!udev->lpm_capable)
return -EPERM;
@@ -4413,7 +4416,7 @@ static int xhci_set_usb2_hardware_lpm(struct usb_hcd *hcd,
xhci_dbg(xhci, "%s port %d USB2 hardware LPM\n",
enable ? "enable" : "disable", port_num + 1);
- if (enable && !(xhci->quirks & XHCI_HW_LPM_DISABLE)) {
+ if (enable) {
/* Host supports BESL timeout instead of HIRD */
if (udev->usb2_hw_lpm_besl_capable) {
/* if device doesn't have a preferred BESL value use a
--
2.17.1