This is the start of the stable review cycle for the 4.9.134 release.
There are 71 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Thu Oct 18 17:05:18 UTC 2018.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.9.134-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.9.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.9.134-rc1
Dan Carpenter <dan.carpenter(a)oracle.com>
ipv4: frags: precedence bug in ip_expire()
Taehee Yoo <ap420073(a)gmail.com>
ip: frags: fix crash in ip_do_fragment()
Peter Oskolkov <posk(a)google.com>
ip: process in-order fragments efficiently
Peter Oskolkov <posk(a)google.com>
ip: add helpers to process in-order fragments faster.
Peter Oskolkov <posk(a)google.com>
ip: use rb trees for IP frag queue.
Eric Dumazet <edumazet(a)google.com>
net: add rb_to_skb() and other rb tree helpers
Eric Dumazet <edumazet(a)google.com>
net: pskb_trim_rcsum() and CHECKSUM_COMPLETE are friends
Florian Westphal <fw(a)strlen.de>
ipv6: defrag: drop non-last frags smaller than min mtu
Peter Oskolkov <posk(a)google.com>
net: modify skb_rbtree_purge to return the truesize of all purged skbs.
Eric Dumazet <edumazet(a)google.com>
net: speed up skb_rbtree_purge()
Peter Oskolkov <posk(a)google.com>
ip: discard IPv4 datagrams with overlapping segments.
Eric Dumazet <edumazet(a)google.com>
inet: frags: fix ip6frag_low_thresh boundary
Eric Dumazet <edumazet(a)google.com>
inet: frags: get rid of ipfrag_skb_cb/FRAG_CB
Eric Dumazet <edumazet(a)google.com>
inet: frags: reorganize struct netns_frags
Eric Dumazet <edumazet(a)google.com>
rhashtable: reorganize struct rhashtable layout
Eric Dumazet <edumazet(a)google.com>
ipv6: frags: rewrite ip6_expire_frag_queue()
Eric Dumazet <edumazet(a)google.com>
inet: frags: do not clone skb in ip_expire()
Eric Dumazet <edumazet(a)google.com>
inet: frags: break the 2GB limit for frags storage
Eric Dumazet <edumazet(a)google.com>
inet: frags: remove inet_frag_maybe_warn_overflow()
Eric Dumazet <edumazet(a)google.com>
inet: frags: get rif of inet_frag_evicting()
Eric Dumazet <edumazet(a)google.com>
inet: frags: remove some helpers
Eric Dumazet <edumazet(a)google.com>
inet: frags: use rhashtables for reassembly units
Eric Dumazet <edumazet(a)google.com>
rhashtable: add schedule points
Eric Dumazet <edumazet(a)google.com>
ipv6: export ip6 fragments sysctl to unprivileged users
Eric Dumazet <edumazet(a)google.com>
inet: frags: refactor lowpan_net_frag_init()
Eric Dumazet <edumazet(a)google.com>
inet: frags: refactor ipv6_frag_init()
Eric Dumazet <edumazet(a)google.com>
inet: frags: refactor ipfrag_init()
Eric Dumazet <edumazet(a)google.com>
inet: frags: add a pointer to struct netns_frags
Eric Dumazet <edumazet(a)google.com>
inet: frags: change inet_frags_init_net() return value
Eric Dumazet <edumazet(a)google.com>
inet: make sure to grab rcu_read_lock before using ireq->ireq_opt
Eric Dumazet <edumazet(a)google.com>
tcp/dccp: fix lockdep issue when SYN is backlogged
Eric Dumazet <edumazet(a)google.com>
rtnl: limit IFLA_NUM_TX_QUEUES and IFLA_NUM_RX_QUEUES to 4096
Florian Fainelli <f.fainelli(a)gmail.com>
net: systemport: Fix wake-up interrupt race during resume
Maxime Chevallier <maxime.chevallier(a)bootlin.com>
net: mvpp2: Extract the correct ethtype from the skb for tx csum offload
Florian Fainelli <f.fainelli(a)gmail.com>
net: dsa: bcm_sf2: Fix unbind ordering
Ido Schimmel <idosch(a)mellanox.com>
team: Forbid enslaving team device to itself
Giacinto Cifelli <gciofono(a)gmail.com>
qmi_wwan: Added support for Gemalto's Cinterion ALASxx WWAN interface
Shahed Shaikh <shahed.shaikh(a)cavium.com>
qlcnic: fix Tx descriptor corruption on 82xx devices
Yu Zhao <yuzhao(a)google.com>
net/usb: cancel pending work when unbinding smsc75xx
Sean Tranchetti <stranche(a)codeaurora.org>
netlabel: check for IPV4MASK in addrinfo_get
Jeff Barnhill <0xeffeff(a)gmail.com>
net/ipv6: Display all addresses in output of /proc/net/if_inet6
Sabrina Dubroca <sd(a)queasysnail.net>
net: ipv4: update fnhe_pmtu when first hop's MTU changes
Yunsheng Lin <linyunsheng(a)huawei.com>
net: hns: fix for unmapping problem when SMMU is on
Florian Fainelli <f.fainelli(a)gmail.com>
net: dsa: bcm_sf2: Call setup during switch resume
Wei Wang <weiwan(a)google.com>
ipv6: take rcu lock in rawv6_send_hdrinc()
Eric Dumazet <edumazet(a)google.com>
ipv4: fix use-after-free in ip_cmsg_recv_dstaddr()
Paolo Abeni <pabeni(a)redhat.com>
ip_tunnel: be careful when accessing the inner header
Paolo Abeni <pabeni(a)redhat.com>
ip6_tunnel: be careful when accessing the inner header
Mahesh Bandewar <maheshb(a)google.com>
bonding: avoid possible dead-lock
Michael Chan <michael.chan(a)broadcom.com>
bnxt_en: Fix TX timeout during netpoll.
Mathias Nyman <mathias.nyman(a)linux.intel.com>
xhci: Don't print a warning when setting link state for disabled ports
Edgar Cherkasov <echerkasov(a)dev.rtsoft.ru>
i2c: i2c-scmi: fix for i2c_smbus_write_block_data
Jan Kara <jack(a)suse.cz>
mm: Preserve _PAGE_DEVMAP across mprotect() calls
Adrian Hunter <adrian.hunter(a)intel.com>
perf script python: Fix export-to-postgresql.py occasional failure
Mikulas Patocka <mpatocka(a)redhat.com>
mach64: detect the dot clock divider correctly on sparc
Paul Burton <paul.burton(a)mips.com>
MIPS: VDSO: Always map near top of user memory
Jann Horn <jannh(a)google.com>
mm/vmstat.c: fix outdated vmstat_text
Daniel Rosenberg <drosen(a)google.com>
ext4: Fix error code in ext4_xattr_set_entry()
Amber Lin <Amber.Lin(a)amd.com>
drm/amdgpu: Fix SDMA HQD destroy error on gfx_v7
Vitaly Kuznetsov <vkuznets(a)redhat.com>
x86/kvm/lapic: always disable MMIO interface in x2APIC mode
Nicolas Ferre <nicolas.ferre(a)microchip.com>
ARM: dts: at91: add new compatibility string for macb on sama5d3
Nicolas Ferre <nicolas.ferre(a)microchip.com>
net: macb: disable scatter-gather for macb on sama5d3
Jongsung Kim <neidhard.kim(a)lge.com>
stmmac: fix valid numbers of unicast filter entries
Yu Zhao <yuzhao(a)google.com>
sound: enable interrupt after dma buffer initialization
Dan Carpenter <dan.carpenter(a)oracle.com>
scsi: qla2xxx: Fix an endian bug in fcpcmd_is_corrupted()
Laura Abbott <labbott(a)redhat.com>
scsi: iscsi: target: Don't use stack buffer for scatterlist
Tony Lindgren <tony(a)atomide.com>
mfd: omap-usb-host: Fix dts probe of children
Lei Yang <Lei.Yang(a)windriver.com>
selftests: memory-hotplug: add required configs
Lei Yang <Lei.Yang(a)windriver.com>
selftests/efivarfs: add required kernel configs
Danny Smith <danny.smith(a)axis.com>
ASoC: sigmadsp: safeload should not have lower byte limit
Pierre-Louis Bossart <pierre-louis.bossart(a)linux.intel.com>
ASoC: wm8804: Add ACPI support
-------------
Diffstat:
Documentation/devicetree/bindings/net/macb.txt | 1 +
Documentation/networking/ip-sysctl.txt | 13 +-
Makefile | 4 +-
arch/arm/boot/dts/sama5d3_emac.dtsi | 2 +-
arch/mips/include/asm/processor.h | 10 +-
arch/mips/kernel/process.c | 25 +
arch/mips/kernel/vdso.c | 18 +-
arch/powerpc/include/asm/book3s/64/pgtable.h | 4 +-
arch/x86/include/asm/pgtable_types.h | 2 +-
arch/x86/include/uapi/asm/kvm.h | 1 +
arch/x86/kvm/lapic.c | 22 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c | 2 +-
drivers/i2c/busses/i2c-scmi.c | 1 +
drivers/mfd/omap-usb-host.c | 11 +-
drivers/net/bonding/bond_main.c | 43 +-
drivers/net/dsa/bcm_sf2.c | 12 +-
drivers/net/ethernet/broadcom/bcmsysport.c | 22 +-
drivers/net/ethernet/broadcom/bnxt/bnxt.c | 13 +-
drivers/net/ethernet/cadence/macb.c | 8 +
drivers/net/ethernet/hisilicon/hns/hnae.c | 2 +-
drivers/net/ethernet/hisilicon/hns/hns_enet.c | 30 +-
drivers/net/ethernet/marvell/mvpp2.c | 10 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 8 +-
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c | 3 +-
.../net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.h | 3 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.h | 3 +-
drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c | 12 +-
.../net/ethernet/stmicro/stmmac/stmmac_platform.c | 5 +-
drivers/net/team/team.c | 5 +
drivers/net/usb/qmi_wwan.c | 1 +
drivers/net/usb/smsc75xx.c | 1 +
drivers/scsi/qla2xxx/qla_target.h | 4 +-
drivers/target/iscsi/iscsi_target.c | 22 +-
drivers/usb/host/xhci-hub.c | 18 +-
drivers/video/fbdev/aty/atyfb.h | 3 +-
drivers/video/fbdev/aty/atyfb_base.c | 7 +-
drivers/video/fbdev/aty/mach64_ct.c | 10 +-
fs/ext4/xattr.c | 2 +-
include/linux/netdevice.h | 7 +
include/linux/rhashtable.h | 4 +-
include/linux/skbuff.h | 34 +-
include/net/bonding.h | 7 +-
include/net/inet_frag.h | 133 +++--
include/net/inet_sock.h | 6 -
include/net/ip.h | 1 -
include/net/ip_fib.h | 1 +
include/net/ipv6.h | 26 +-
include/uapi/linux/snmp.h | 1 +
lib/rhashtable.c | 5 +-
mm/vmstat.c | 1 -
net/core/dev.c | 28 +-
net/core/rtnetlink.c | 6 +
net/core/skbuff.c | 31 +-
net/dccp/input.c | 4 +-
net/dccp/ipv4.c | 4 +-
net/ieee802154/6lowpan/6lowpan_i.h | 26 +-
net/ieee802154/6lowpan/reassembly.c | 148 +++---
net/ipv4/fib_frontend.c | 12 +-
net/ipv4/fib_semantics.c | 50 ++
net/ipv4/inet_connection_sock.c | 5 +-
net/ipv4/inet_fragment.c | 379 +++-----------
net/ipv4/ip_fragment.c | 573 ++++++++++++---------
net/ipv4/ip_sockglue.c | 3 +-
net/ipv4/ip_tunnel.c | 9 +
net/ipv4/proc.c | 7 +-
net/ipv4/tcp_input.c | 37 +-
net/ipv4/tcp_ipv4.c | 4 +-
net/ipv6/addrconf.c | 4 +-
net/ipv6/ip6_tunnel.c | 13 +-
net/ipv6/netfilter/nf_conntrack_reasm.c | 100 ++--
net/ipv6/proc.c | 5 +-
net/ipv6/raw.c | 29 +-
net/ipv6/reassembly.c | 212 ++++----
net/netlabel/netlabel_unlabeled.c | 3 +-
sound/hda/hdac_controller.c | 8 +-
sound/soc/codecs/sigmadsp.c | 3 +-
sound/soc/codecs/wm8804-i2c.c | 15 +-
tools/perf/scripts/python/export-to-postgresql.py | 9 +
tools/testing/selftests/efivarfs/config | 1 +
tools/testing/selftests/memory-hotplug/config | 1 +
80 files changed, 1185 insertions(+), 1133 deletions(-)
Hello,
Please picked up this patch for linux 4.4 (backported version).
Indeed, this code will be beneficial to the GNU/Linux distributions that use a longterm kernel.
Compiled/tested without problem.
Thank.
[ Upstream commit 30aba6656f61ed44cba445a3c0d38b296fa9e8f5 ]
From: Salvatore Mesoraca <s.mesoraca16(a)gmail.com>
Date: Thu, 23 Aug 2018 17:00:35 -0700
Subject: namei: allow restricted O_CREAT of FIFOs and regular files
Disallows open of FIFOs or regular files not owned by the user in world
writable sticky directories, unless the owner is the same as that of the
directory or the file is opened without the O_CREAT flag. The purpose
is to make data spoofing attacks harder. This protection can be turned
on and off separately for FIFOs and regular files via sysctl, just like
the symlinks/hardlinks protection. This patch is based on Openwall's
"HARDEN_FIFO" feature by Solar Designer.
This is a brief list of old vulnerabilities that could have been prevented
by this feature, some of them even allow for privilege escalation:
CVE-2000-1134
CVE-2007-3852
CVE-2008-0525
CVE-2009-0416
CVE-2011-4834
CVE-2015-1838
CVE-2015-7442
CVE-2016-7489
This list is not meant to be complete. It's difficult to track down all
vulnerabilities of this kind because they were often reported without any
mention of this particular attack vector. In fact, before
hardlinks/symlinks restrictions, fifos/regular files weren't the favorite
vehicle to exploit them.
[s.mesoraca16(a)gmail.com: fix bug reported by Dan Carpenter]
Link: https://lkml.kernel.org/r/20180426081456.GA7060@mwanda
Link: http://lkml.kernel.org/r/1524829819-11275-1-git-send-email-s.mesoraca16@gma…
[keescook(a)chromium.org: drop pr_warn_ratelimited() in favor of audit changes in the future]
[keescook(a)chromium.org: adjust commit subjet]
Link: http://lkml.kernel.org/r/20180416175918.GA13494@beast
Signed-off-by: Salvatore Mesoraca <s.mesoraca16(a)gmail.com>
Signed-off-by: Kees Cook <keescook(a)chromium.org>
Suggested-by: Solar Designer <solar(a)openwall.com>
Suggested-by: Kees Cook <keescook(a)chromium.org>
Cc: Al Viro <viro(a)zeniv.linux.org.uk>
Cc: Dan Carpenter <dan.carpenter(a)oracle.com>
[backported to 4.4 by Loic]
Cc: Loic <hackurx(a)opensec.fr>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
---
Documentation/sysctl/fs.txt | 36 ++++++++++++++++++++++++++++++
fs/namei.c | 53 ++++++++++++++++++++++++++++++++++++++++++---
include/linux/fs.h | 2 ++
kernel/sysctl.c | 18 +++++++++++++++
4 files changed, 106 insertions(+), 3 deletions(-)
diff -Nurp a/Documentation/sysctl/fs.txt b/Documentation/sysctl/fs.txt
--- a/Documentation/sysctl/fs.txt 2018-10-20 09:52:38.000000000 +0200
+++ b/Documentation/sysctl/fs.txt 2018-10-23 18:08:20.398649373 +0200
@@ -34,7 +34,9 @@ Currently, these files are in /proc/sys/
- overflowgid
- pipe-user-pages-hard
- pipe-user-pages-soft
+- protected_fifos
- protected_hardlinks
+- protected_regular
- protected_symlinks
- suid_dumpable
- super-max
@@ -182,6 +184,24 @@ applied.
==============================================================
+protected_fifos:
+
+The intent of this protection is to avoid unintentional writes to
+an attacker-controlled FIFO, where a program expected to create a regular
+file.
+
+When set to "0", writing to FIFOs is unrestricted.
+
+When set to "1" don't allow O_CREAT open on FIFOs that we don't own
+in world writable sticky directories, unless they are owned by the
+owner of the directory.
+
+When set to "2" it also applies to group writable sticky directories.
+
+This protection is based on the restrictions in Openwall.
+
+==============================================================
+
protected_hardlinks:
A long-standing class of security issues is the hardlink-based
@@ -202,6 +222,22 @@ This protection is based on the restrict
==============================================================
+protected_regular:
+
+This protection is similar to protected_fifos, but it
+avoids writes to an attacker-controlled regular file, where a program
+expected to create one.
+
+When set to "0", writing to regular files is unrestricted.
+
+When set to "1" don't allow O_CREAT open on regular files that we
+don't own in world writable sticky directories, unless they are
+owned by the owner of the directory.
+
+When set to "2" it also applies to group writable sticky directories.
+
+==============================================================
+
protected_symlinks:
A long-standing class of security issues is the symlink-based
diff -Nurp a/fs/namei.c b/fs/namei.c
--- a/fs/namei.c 2018-10-20 09:52:38.000000000 +0200
+++ b/fs/namei.c 2018-10-23 18:09:35.450879869 +0200
@@ -869,6 +869,8 @@ static inline void put_link(struct namei
int sysctl_protected_symlinks __read_mostly = 0;
int sysctl_protected_hardlinks __read_mostly = 0;
+int sysctl_protected_fifos __read_mostly;
+int sysctl_protected_regular __read_mostly;
/**
* may_follow_link - Check symlink following for unsafe situations
@@ -982,6 +984,45 @@ static int may_linkat(struct path *link)
return -EPERM;
}
+/**
+ * may_create_in_sticky - Check whether an O_CREAT open in a sticky directory
+ * should be allowed, or not, on files that already
+ * exist.
+ * @dir: the sticky parent directory
+ * @inode: the inode of the file to open
+ *
+ * Block an O_CREAT open of a FIFO (or a regular file) when:
+ * - sysctl_protected_fifos (or sysctl_protected_regular) is enabled
+ * - the file already exists
+ * - we are in a sticky directory
+ * - we don't own the file
+ * - the owner of the directory doesn't own the file
+ * - the directory is world writable
+ * If the sysctl_protected_fifos (or sysctl_protected_regular) is set to 2
+ * the directory doesn't have to be world writable: being group writable will
+ * be enough.
+ *
+ * Returns 0 if the open is allowed, -ve on error.
+ */
+static int may_create_in_sticky(struct dentry * const dir,
+ struct inode * const inode)
+{
+ if ((!sysctl_protected_fifos && S_ISFIFO(inode->i_mode)) ||
+ (!sysctl_protected_regular && S_ISREG(inode->i_mode)) ||
+ likely(!(dir->d_inode->i_mode & S_ISVTX)) ||
+ uid_eq(inode->i_uid, dir->d_inode->i_uid) ||
+ uid_eq(current_fsuid(), inode->i_uid))
+ return 0;
+
+ if (likely(dir->d_inode->i_mode & 0002) ||
+ (dir->d_inode->i_mode & 0020 &&
+ ((sysctl_protected_fifos >= 2 && S_ISFIFO(inode->i_mode)) ||
+ (sysctl_protected_regular >= 2 && S_ISREG(inode->i_mode))))) {
+ return -EACCES;
+ }
+ return 0;
+}
+
static __always_inline
const char *get_link(struct nameidata *nd)
{
@@ -3166,9 +3207,15 @@ finish_open:
error = -ELOOP;
goto out;
}
- error = -EISDIR;
- if ((open_flag & O_CREAT) && d_is_dir(nd->path.dentry))
- goto out;
+ if (open_flag & O_CREAT) {
+ error = -EISDIR;
+ if (d_is_dir(nd->path.dentry))
+ goto out;
+ error = may_create_in_sticky(dir,
+ d_backing_inode(nd->path.dentry));
+ if (unlikely(error))
+ goto out;
+ }
error = -ENOTDIR;
if ((nd->flags & LOOKUP_DIRECTORY) && !d_can_lookup(nd->path.dentry))
goto out;
diff -Nurp a/include/linux/fs.h b/include/linux/fs.h
--- a/include/linux/fs.h 2018-10-20 09:52:38.000000000 +0200
+++ b/include/linux/fs.h 2018-10-23 18:08:20.402649386 +0200
@@ -65,6 +65,8 @@ extern struct inodes_stat_t inodes_stat;
extern int leases_enable, lease_break_time;
extern int sysctl_protected_symlinks;
extern int sysctl_protected_hardlinks;
+extern int sysctl_protected_fifos;
+extern int sysctl_protected_regular;
struct buffer_head;
typedef int (get_block_t)(struct inode *inode, sector_t iblock,
diff -Nurp a/kernel/sysctl.c b/kernel/sysctl.c
--- a/kernel/sysctl.c 2018-10-20 09:52:38.000000000 +0200
+++ b/kernel/sysctl.c 2018-10-23 18:08:20.402649386 +0200
@@ -1716,6 +1716,24 @@ static struct ctl_table fs_table[] = {
.extra2 = &one,
},
{
+ .procname = "protected_fifos",
+ .data = &sysctl_protected_fifos,
+ .maxlen = sizeof(int),
+ .mode = 0600,
+ .proc_handler = proc_dointvec_minmax,
+ .extra1 = &zero,
+ .extra2 = &two,
+ },
+ {
+ .procname = "protected_regular",
+ .data = &sysctl_protected_regular,
+ .maxlen = sizeof(int),
+ .mode = 0600,
+ .proc_handler = proc_dointvec_minmax,
+ .extra1 = &zero,
+ .extra2 = &two,
+ },
+ {
.procname = "suid_dumpable",
.data = &suid_dumpable,
.maxlen = sizeof(int),
Please apply 0929983e49c8 (media: ov5640: fix framerate update") to
Linux 4.19.y stable along with the list of the following fixes in
order from top to bottom. This fixes multiple issues in the 4.19
kernel and allows my imx6q to sample the ov5640 module and stream to
the LCD.
Thank you,
Cc: <stable(a)vger.kernel.org> # 4.19.x: fb98e29ff1ea ("media: ov5640:
fix mode change regression")
Cc: <stable(a)vger.kernel.org> # 4.19.x: aa4bb8b8838 ("media: ov5640:
Re-work MIPI startup sequence")
Cc: <stable(a)vger.kernel.org> # 4.19.x: bad1774ed41 ("media: ov5640:
Fix timings setup code")
Cc: <stable(a)vger.kernel.org> # 4.19.x: dc29a1c187e ("media: ov5640:
fix exposure regression")
Cc: <stable(a)vger.kernel.org> # 4.19.x: 3cca8ef5f774 ("media: ov5640:
fix auto gain & exposure when changing mode")
Cc: <stable(a)vger.kernel.org> # 4.19.x: c2c3f42df4dd ("media: ov5640:
fix wrong binning value in exposure")
Cc: <stable(a)vger.kernel.org> # 4.19.x: a8f438c684ea ("media: ov5640:
fix auto controls values when switching to")
Cc: <stable(a)vger.kernel.org> # 4.19.x: 985cdcb08a04 ("media: ov5640:
fix restore of last mode set")
Signed-off-by: Adam Ford <aford173(a)gmail.com>
commit 92aa39e9dc77 upstream.
The per-CPU rcu_dynticks.rcu_urgent_qs variable communicates an urgent
need for an RCU quiescent state from the force-quiescent-state processing
within the grace-period kthread to context switches and to cond_resched().
Unfortunately, such urgent needs are not communicated to need_resched(),
which is sometimes used to decide when to invoke cond_resched(), for
but one example, within the KVM vcpu_run() function. As of v4.15, this
can result in synchronize_sched() being delayed by up to ten seconds,
which can be problematic, to say nothing of annoying.
This commit therefore checks rcu_dynticks.rcu_urgent_qs from within
rcu_check_callbacks(), which is invoked from the scheduling-clock
interrupt handler. If the current task is not an idle task and is
not executing in usermode, a context switch is forced, and either way,
the rcu_dynticks.rcu_urgent_qs variable is set to false. If the current
task is an idle task, then RCU's dyntick-idle code will detect the
quiescent state, so no further action is required. Similarly, if the
task is executing in usermode, other code in rcu_check_callbacks() and
its called functions will report the corresponding quiescent state.
Reported-by: Marius Hillenbrand <mhillenb(a)amazon.de>
Reported-by: David Woodhouse <dwmw2(a)infradead.org>
Suggested-by: Peter Zijlstra <peterz(a)infradead.org>
Signed-off-by: Paul E. McKenney <paulmck(a)linux.vnet.ibm.com>
[ paulmck: Backported to make patch apply cleanly on older versions. ]
Tested-by: Marius Hillenbrand <mhillenb(a)amazon.de>
Cc: <stable(a)vger.kernel.org> # 4.12.x - 4.19.x
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index 0b760c1369f7..15301ed19da6 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -2662,6 +2662,15 @@ void rcu_check_callbacks(int user)
rcu_bh_qs();
}
rcu_preempt_check_callbacks();
+ /* The load-acquire pairs with the store-release setting to true. */
+ if (smp_load_acquire(this_cpu_ptr(&rcu_dynticks.rcu_urgent_qs))) {
+ /* Idle and userspace execution already are quiescent states. */
+ if (!rcu_is_cpu_rrupt_from_idle() && !user) {
+ set_tsk_need_resched(current);
+ set_preempt_need_resched();
+ }
+ __this_cpu_write(rcu_dynticks.rcu_urgent_qs, false);
+ }
if (rcu_pending())
invoke_rcu_core();
Hello,
Please picked up this patch for linux 4.9 and 4.14 (linux 4.4 needs a small modification).
Indeed, this code will be beneficial to the GNU/Linux distributions that use a longterm kernel.
Compiled/tested without problem.
Thank.
[ Upstream commit 30aba6656f61ed44cba445a3c0d38b296fa9e8f5 ]
From: Salvatore Mesoraca <s.mesoraca16(a)gmail.com>
Date: Thu, 23 Aug 2018 17:00:35 -0700
Subject: namei: allow restricted O_CREAT of FIFOs and regular files
Disallows open of FIFOs or regular files not owned by the user in world
writable sticky directories, unless the owner is the same as that of the
directory or the file is opened without the O_CREAT flag. The purpose
is to make data spoofing attacks harder. This protection can be turned
on and off separately for FIFOs and regular files via sysctl, just like
the symlinks/hardlinks protection. This patch is based on Openwall's
"HARDEN_FIFO" feature by Solar Designer.
This is a brief list of old vulnerabilities that could have been prevented
by this feature, some of them even allow for privilege escalation:
CVE-2000-1134
CVE-2007-3852
CVE-2008-0525
CVE-2009-0416
CVE-2011-4834
CVE-2015-1838
CVE-2015-7442
CVE-2016-7489
This list is not meant to be complete. It's difficult to track down all
vulnerabilities of this kind because they were often reported without any
mention of this particular attack vector. In fact, before
hardlinks/symlinks restrictions, fifos/regular files weren't the favorite
vehicle to exploit them.
[s.mesoraca16(a)gmail.com: fix bug reported by Dan Carpenter]
Link: https://lkml.kernel.org/r/20180426081456.GA7060@mwanda
Link: http://lkml.kernel.org/r/1524829819-11275-1-git-send-email-s.mesoraca16@gma…
[keescook(a)chromium.org: drop pr_warn_ratelimited() in favor of audit changes in the future]
[keescook(a)chromium.org: adjust commit subjet]
Link: http://lkml.kernel.org/r/20180416175918.GA13494@beast
Signed-off-by: Salvatore Mesoraca <s.mesoraca16(a)gmail.com>
Signed-off-by: Kees Cook <keescook(a)chromium.org>
Suggested-by: Solar Designer <solar(a)openwall.com>
Suggested-by: Kees Cook <keescook(a)chromium.org>
Cc: Al Viro <viro(a)zeniv.linux.org.uk>
Cc: Dan Carpenter <dan.carpenter(a)oracle.com>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds(a)linux-foundation.org>
---
Documentation/sysctl/fs.txt | 36 ++++++++++++++++++++++++++++++
fs/namei.c | 53 ++++++++++++++++++++++++++++++++++++++++++---
include/linux/fs.h | 2 ++
kernel/sysctl.c | 18 +++++++++++++++
4 files changed, 106 insertions(+), 3 deletions(-)
diff --git a/Documentation/sysctl/fs.txt b/Documentation/sysctl/fs.txt
index 6c00c1e2743f..819caf8ca05f 100644
--- a/Documentation/sysctl/fs.txt
+++ b/Documentation/sysctl/fs.txt
@@ -34,7 +34,9 @@ Currently, these files are in /proc/sys/fs:
- overflowgid
- pipe-user-pages-hard
- pipe-user-pages-soft
+- protected_fifos
- protected_hardlinks
+- protected_regular
- protected_symlinks
- suid_dumpable
- super-max
@@ -182,6 +184,24 @@ applied.
==============================================================
+protected_fifos:
+
+The intent of this protection is to avoid unintentional writes to
+an attacker-controlled FIFO, where a program expected to create a regular
+file.
+
+When set to "0", writing to FIFOs is unrestricted.
+
+When set to "1" don't allow O_CREAT open on FIFOs that we don't own
+in world writable sticky directories, unless they are owned by the
+owner of the directory.
+
+When set to "2" it also applies to group writable sticky directories.
+
+This protection is based on the restrictions in Openwall.
+
+==============================================================
+
protected_hardlinks:
A long-standing class of security issues is the hardlink-based
@@ -202,6 +222,22 @@ This protection is based on the restrictions in Openwall and grsecurity.
==============================================================
+protected_regular:
+
+This protection is similar to protected_fifos, but it
+avoids writes to an attacker-controlled regular file, where a program
+expected to create one.
+
+When set to "0", writing to regular files is unrestricted.
+
+When set to "1" don't allow O_CREAT open on regular files that we
+don't own in world writable sticky directories, unless they are
+owned by the owner of the directory.
+
+When set to "2" it also applies to group writable sticky directories.
+
+==============================================================
+
protected_symlinks:
A long-standing class of security issues is the symlink-based
diff --git a/fs/namei.c b/fs/namei.c
index ae6aa9ae757c..0cab6494978c 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -887,6 +887,8 @@ static inline void put_link(struct nameidata *nd)
int sysctl_protected_symlinks __read_mostly = 0;
int sysctl_protected_hardlinks __read_mostly = 0;
+int sysctl_protected_fifos __read_mostly;
+int sysctl_protected_regular __read_mostly;
/**
* may_follow_link - Check symlink following for unsafe situations
@@ -1003,6 +1005,45 @@ static int may_linkat(struct path *link)
return -EPERM;
}
+/**
+ * may_create_in_sticky - Check whether an O_CREAT open in a sticky directory
+ * should be allowed, or not, on files that already
+ * exist.
+ * @dir: the sticky parent directory
+ * @inode: the inode of the file to open
+ *
+ * Block an O_CREAT open of a FIFO (or a regular file) when:
+ * - sysctl_protected_fifos (or sysctl_protected_regular) is enabled
+ * - the file already exists
+ * - we are in a sticky directory
+ * - we don't own the file
+ * - the owner of the directory doesn't own the file
+ * - the directory is world writable
+ * If the sysctl_protected_fifos (or sysctl_protected_regular) is set to 2
+ * the directory doesn't have to be world writable: being group writable will
+ * be enough.
+ *
+ * Returns 0 if the open is allowed, -ve on error.
+ */
+static int may_create_in_sticky(struct dentry * const dir,
+ struct inode * const inode)
+{
+ if ((!sysctl_protected_fifos && S_ISFIFO(inode->i_mode)) ||
+ (!sysctl_protected_regular && S_ISREG(inode->i_mode)) ||
+ likely(!(dir->d_inode->i_mode & S_ISVTX)) ||
+ uid_eq(inode->i_uid, dir->d_inode->i_uid) ||
+ uid_eq(current_fsuid(), inode->i_uid))
+ return 0;
+
+ if (likely(dir->d_inode->i_mode & 0002) ||
+ (dir->d_inode->i_mode & 0020 &&
+ ((sysctl_protected_fifos >= 2 && S_ISFIFO(inode->i_mode)) ||
+ (sysctl_protected_regular >= 2 && S_ISREG(inode->i_mode))))) {
+ return -EACCES;
+ }
+ return 0;
+}
+
static __always_inline
const char *get_link(struct nameidata *nd)
{
@@ -3348,9 +3389,15 @@ finish_open:
if (error)
return error;
audit_inode(nd->name, nd->path.dentry, 0);
- error = -EISDIR;
- if ((open_flag & O_CREAT) && d_is_dir(nd->path.dentry))
- goto out;
+ if (open_flag & O_CREAT) {
+ error = -EISDIR;
+ if (d_is_dir(nd->path.dentry))
+ goto out;
+ error = may_create_in_sticky(dir,
+ d_backing_inode(nd->path.dentry));
+ if (unlikely(error))
+ goto out;
+ }
error = -ENOTDIR;
if ((nd->flags & LOOKUP_DIRECTORY) && !d_can_lookup(nd->path.dentry))
goto out;
diff --git a/include/linux/fs.h b/include/linux/fs.h
index e5710541183b..33322702c910 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -74,6 +74,8 @@ extern struct inodes_stat_t inodes_stat;
extern int leases_enable, lease_break_time;
extern int sysctl_protected_symlinks;
extern int sysctl_protected_hardlinks;
+extern int sysctl_protected_fifos;
+extern int sysctl_protected_regular;
typedef __kernel_rwf_t rwf_t;
diff --git a/kernel/sysctl.c b/kernel/sysctl.c
index 71ceb6c13c1a..cc02050fd0c4 100644
--- a/kernel/sysctl.c
+++ b/kernel/sysctl.c
@@ -1807,6 +1807,24 @@ static struct ctl_table fs_table[] = {
.extra1 = &zero,
.extra2 = &one,
},
+ {
+ .procname = "protected_fifos",
+ .data = &sysctl_protected_fifos,
+ .maxlen = sizeof(int),
+ .mode = 0600,
+ .proc_handler = proc_dointvec_minmax,
+ .extra1 = &zero,
+ .extra2 = &two,
+ },
+ {
+ .procname = "protected_regular",
+ .data = &sysctl_protected_regular,
+ .maxlen = sizeof(int),
+ .mode = 0600,
+ .proc_handler = proc_dointvec_minmax,
+ .extra1 = &zero,
+ .extra2 = &two,
+ },
{
.procname = "suid_dumpable",
.data = &suid_dumpable,
--
cgit 1.2-0.3.lf.el7
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 6ba9fc8e628becf0e3ec94083450d089b0dec5f5 Mon Sep 17 00:00:00 2001
From: Qu Wenruo <wqu(a)suse.com>
Date: Fri, 7 Sep 2018 14:16:24 +0800
Subject: [PATCH] btrfs: Ensure btrfs_trim_fs can trim the whole filesystem
[BUG]
fstrim on some btrfs only trims the unallocated space, not trimming any
space in existing block groups.
[CAUSE]
Before fstrim_range passed to btrfs_trim_fs(), it gets truncated to
range [0, super->total_bytes). So later btrfs_trim_fs() will only be
able to trim block groups in range [0, super->total_bytes).
While for btrfs, any bytenr aligned to sectorsize is valid, since btrfs
uses its logical address space, there is nothing limiting the location
where we put block groups.
For filesystem with frequent balance, it's quite easy to relocate all
block groups and bytenr of block groups will start beyond
super->total_bytes.
In that case, btrfs will not trim existing block groups.
[FIX]
Just remove the truncation in btrfs_ioctl_fitrim(), so btrfs_trim_fs()
can get the unmodified range, which is normally set to [0, U64_MAX].
Reported-by: Chris Murphy <lists(a)colorremedies.com>
Fixes: f4c697e6406d ("btrfs: return EINVAL if start > total_bytes in fitrim ioctl")
CC: <stable(a)vger.kernel.org> # v4.4+
Signed-off-by: Qu Wenruo <wqu(a)suse.com>
Reviewed-by: Nikolay Borisov <nborisov(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/extent-tree.c b/fs/btrfs/extent-tree.c
index 5dbb3f713125..da3257585e29 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -10851,21 +10851,13 @@ int btrfs_trim_fs(struct btrfs_fs_info *fs_info, struct fstrim_range *range)
u64 start;
u64 end;
u64 trimmed = 0;
- u64 total_bytes = btrfs_super_total_bytes(fs_info->super_copy);
u64 bg_failed = 0;
u64 dev_failed = 0;
int bg_ret = 0;
int dev_ret = 0;
int ret = 0;
- /*
- * try to trim all FS space, our block group may start from non-zero.
- */
- if (range->len == total_bytes)
- cache = btrfs_lookup_first_block_group(fs_info, range->start);
- else
- cache = btrfs_lookup_block_group(fs_info, range->start);
-
+ cache = btrfs_lookup_first_block_group(fs_info, range->start);
for (; cache; cache = next_block_group(fs_info, cache)) {
if (cache->key.objectid >= (range->start + range->len)) {
btrfs_put_block_group(cache);
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 4905d13dee0a..a990a9045139 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -491,7 +491,6 @@ static noinline int btrfs_ioctl_fitrim(struct file *file, void __user *arg)
struct fstrim_range range;
u64 minlen = ULLONG_MAX;
u64 num_devices = 0;
- u64 total_bytes = btrfs_super_total_bytes(fs_info->super_copy);
int ret;
if (!capable(CAP_SYS_ADMIN))
@@ -515,11 +514,15 @@ static noinline int btrfs_ioctl_fitrim(struct file *file, void __user *arg)
return -EOPNOTSUPP;
if (copy_from_user(&range, arg, sizeof(range)))
return -EFAULT;
- if (range.start > total_bytes ||
- range.len < fs_info->sb->s_blocksize)
+
+ /*
+ * NOTE: Don't truncate the range using super->total_bytes. Bytenr of
+ * block group is in the logical address space, which can be any
+ * sectorsize aligned bytenr in the range [0, U64_MAX].
+ */
+ if (range.len < fs_info->sb->s_blocksize)
return -EINVAL;
- range.len = min(range.len, total_bytes - range.start);
range.minlen = max(range.minlen, minlen);
ret = btrfs_trim_fs(fs_info, &range);
if (ret < 0)
commit 958c0bd86075d4ef1c936998deefe1947e539240 upstream.
Realtek USB3.0 Card Reader [0bda:0328] reports wrong port status on
Cannon lake PCH USB3.1 xHCI [8086:a36d] after resume from S3,
after clear port reset it works fine.
Since this device is registered on USB3 roothub at boot,
when port status reports not superspeed, xhci_get_port_status will call
an uninitialized completion in bus_state[0].
Kernel will hang because of NULL pointer.
Restrict the USB2 resume status check in USB2 roothub to fix hang issue.
Cc: stable(a)vger.kernel.org # 4.17.x-
Signed-off-by: Aaron Ma <aaron.ma(a)canonical.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Signed-off-by: Aaron Ma <aaron.ma(a)canonical.com>
---
drivers/usb/host/xhci-hub.c | 2 +-
drivers/usb/host/xhci-ring.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index aee29604bd79..b3376b1ab009 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -744,7 +744,7 @@ static u32 xhci_get_port_status(struct usb_hcd *hcd,
status |= USB_PORT_STAT_SUSPEND;
}
if ((raw_port_status & PORT_PLS_MASK) == XDEV_RESUME &&
- !DEV_SUPERSPEED_ANY(raw_port_status)) {
+ !DEV_SUPERSPEED_ANY(raw_port_status) && hcd->speed < HCD_USB3) {
if ((raw_port_status & PORT_RESET) ||
!(raw_port_status & PORT_PE))
return 0xffffffff;
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index ece0787d62bf..9f141113f202 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1673,7 +1673,7 @@ static void handle_port_status(struct xhci_hcd *xhci,
* RExit to a disconnect state). If so, let the the driver know it's
* out of the RExit state.
*/
- if (!DEV_SUPERSPEED_ANY(temp) &&
+ if (!DEV_SUPERSPEED_ANY(portsc) && hcd->speed < HCD_USB3 &&
test_and_clear_bit(faked_port_index,
&bus_state->rexit_ports)) {
complete(&bus_state->rexit_done[faked_port_index]);
--
2.19.2
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 ed72bc8bcb9277061e753faf300b20f97323761c Mon Sep 17 00:00:00 2001
From: Oleksij Rempel <o.rempel(a)pengutronix.de>
Date: Tue, 18 Sep 2018 11:40:39 +0200
Subject: [PATCH] can: flexcan: handle tx-complete CAN frames via rx-offload
infrastructure
Current flexcan driver will put TX-ECHO in regular unsorted way, in
this case TX-ECHO can come after the response to the same TXed message.
In some cases, for example for J1939 stack, things will break.
This patch is using new rx-offload API to put the messages just in the
right place.
Signed-off-by: Oleksij Rempel <o.rempel(a)pengutronix.de>
Cc: linux-stable <stable(a)vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl(a)pengutronix.de>
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index 68b46395c580..41a175f80c4b 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -787,8 +787,11 @@ static irqreturn_t flexcan_irq(int irq, void *dev_id)
/* transmission complete interrupt */
if (reg_iflag2 & FLEXCAN_IFLAG_MB(FLEXCAN_TX_MB)) {
+ u32 reg_ctrl = priv->read(®s->mb[FLEXCAN_TX_MB].can_ctrl);
+
handled = IRQ_HANDLED;
- stats->tx_bytes += can_get_echo_skb(dev, 0);
+ stats->tx_bytes += can_rx_offload_get_echo_skb(&priv->offload,
+ 0, reg_ctrl << 16);
stats->tx_packets++;
can_led_event(dev, CAN_LED_EVENT_TX);
This is a note to let you know that I've just added the patch titled
Revert "usb: dwc3: gadget: skip Set/Clear Halt when invalid"
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 38317f5c0f2faae5110854f36edad810f841d62f Mon Sep 17 00:00:00 2001
From: Felipe Balbi <felipe.balbi(a)linux.intel.com>
Date: Mon, 19 Nov 2018 08:34:04 +0200
Subject: Revert "usb: dwc3: gadget: skip Set/Clear Halt when invalid"
This reverts commit ffb80fc672c3a7b6afd0cefcb1524fb99917b2f3.
Turns out that commit is wrong. Host controllers are allowed to use
Clear Feature HALT as means to sync data toggle between host and
periperal.
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Felipe Balbi <felipe.balbi(a)linux.intel.com>
---
drivers/usb/dwc3/gadget.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c
index 9faad896b3a1..9f92ee03dde7 100644
--- a/drivers/usb/dwc3/gadget.c
+++ b/drivers/usb/dwc3/gadget.c
@@ -1470,9 +1470,6 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol)
unsigned transfer_in_flight;
unsigned started;
- if (dep->flags & DWC3_EP_STALL)
- return 0;
-
if (dep->number > 1)
trb = dwc3_ep_prev_trb(dep, dep->trb_enqueue);
else
@@ -1494,8 +1491,6 @@ int __dwc3_gadget_ep_set_halt(struct dwc3_ep *dep, int value, int protocol)
else
dep->flags |= DWC3_EP_STALL;
} else {
- if (!(dep->flags & DWC3_EP_STALL))
- return 0;
ret = dwc3_send_clear_stall_ep_cmd(dep);
if (ret)
--
2.19.2
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 82715ac71e6b94a2c2136e31f3a8e6748e33aa8c Mon Sep 17 00:00:00 2001
From: Emmanuel Grumbach <emmanuel.grumbach(a)intel.com>
Date: Wed, 3 Oct 2018 11:16:54 +0300
Subject: [PATCH] iwlwifi: mvm: fix regulatory domain update when the firmware
starts
When the firmware starts, it doesn't have any regulatory
information, hence it uses the world wide limitations. The
driver can feed the firmware with previous knowledge that
was kept in the driver, but the firmware may still not
update its internal tables.
This happens when we start a BSS interface, and then the
firmware can change the regulatory tables based on our
location and it'll use more lenient, location specific
rules. Then, if the firmware is shut down (when the
interface is brought down), and then an AP interface is
created, the firmware will forget the country specific
rules.
The host will think that we are in a certain country that
may allow channels and will try to teach the firmware about
our location, but the firmware may still not allow to drop
the world wide limitations and apply country specific rules
because it was just re-started.
In this case, the firmware will reply with MCC_RESP_ILLEGAL
to the MCC_UPDATE_CMD. In that case, iwlwifi needs to let
the upper layers (cfg80211 / hostapd) know that the channel
list they know about has been updated.
This fixes https://bugzilla.kernel.org/show_bug.cgi?id=201105
Cc: stable(a)vger.kernel.org
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach(a)intel.com>
Signed-off-by: Luca Coelho <luciano.coelho(a)intel.com>
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index 7c09ce20e8b1..00f831d88366 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -301,8 +301,12 @@ struct ieee80211_regdomain *iwl_mvm_get_regdomain(struct wiphy *wiphy,
goto out;
}
- if (changed)
- *changed = (resp->status == MCC_RESP_NEW_CHAN_PROFILE);
+ if (changed) {
+ u32 status = le32_to_cpu(resp->status);
+
+ *changed = (status == MCC_RESP_NEW_CHAN_PROFILE ||
+ status == MCC_RESP_ILLEGAL);
+ }
regd = iwl_parse_nvm_mcc_info(mvm->trans->dev, mvm->cfg,
__le32_to_cpu(resp->n_channels),
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
index 3633f27d048a..6fc5cc1f2b5b 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/nvm.c
@@ -539,9 +539,8 @@ iwl_mvm_update_mcc(struct iwl_mvm *mvm, const char *alpha2,
}
IWL_DEBUG_LAR(mvm,
- "MCC response status: 0x%x. new MCC: 0x%x ('%c%c') change: %d n_chans: %d\n",
- status, mcc, mcc >> 8, mcc & 0xff,
- !!(status == MCC_RESP_NEW_CHAN_PROFILE), n_channels);
+ "MCC response status: 0x%x. new MCC: 0x%x ('%c%c') n_chans: %d\n",
+ status, mcc, mcc >> 8, mcc & 0xff, n_channels);
exit:
iwl_free_resp(&cmd);
Dear Friend,
I am Abel Brent, a NATO soldier serving in Afghanistan. I and my
Comrades, we are seeking your assistance to help us
receive/invest our funds in your country in any lucrative
business. Please if this proposal is acceptable by you, kindly
respond back to me for more details.
Thanks and waiting to hear from you.
Abel.
From: Stefan Agner <stefan(a)agner.ch>
commit ef8c4ed9db80261f397f0c0bf723684601ae3b52 upstream.
When using a GCC cross toolchain which is not in a compiled in
Clang search path, Clang reverts to the system assembler and
linker. This leads to assembler or linker errors, depending on
which tool is first used for a given architecture.
It seems that Clang is not searching $PATH for a matching
assembler or linker.
Make sure that Clang picks up the correct assembler or linker by
passing the cross compilers bin directory as search path.
This allows to use Clang provided by distributions with GCC
toolchains not in /usr/bin.
Link: https://github.com/ClangBuiltLinux/linux/issues/78
Signed-off-by: Stefan Agner <stefan(a)agner.ch>
Reviewed-and-tested-by: Nick Desaulniers <ndesaulniers(a)google.com>
Signed-off-by: Masahiro Yamada <yamada.masahiro(a)socionext.com>
[nc: Adjust context]
Signed-off-by: Nathan Chancellor <natechancellor(a)gmail.com>
---
Makefile | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 874d72a3e6a7..cb131e135c42 100644
--- a/Makefile
+++ b/Makefile
@@ -480,13 +480,15 @@ endif
ifeq ($(cc-name),clang)
ifneq ($(CROSS_COMPILE),)
CLANG_TARGET := --target=$(notdir $(CROSS_COMPILE:%-=%))
-GCC_TOOLCHAIN := $(realpath $(dir $(shell which $(LD)))/..)
+GCC_TOOLCHAIN_DIR := $(dir $(shell which $(LD)))
+CLANG_PREFIX := --prefix=$(GCC_TOOLCHAIN_DIR)
+GCC_TOOLCHAIN := $(realpath $(GCC_TOOLCHAIN_DIR)/..)
endif
ifneq ($(GCC_TOOLCHAIN),)
CLANG_GCC_TC := --gcc-toolchain=$(GCC_TOOLCHAIN)
endif
-KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
-KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
+KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) $(CLANG_PREFIX)
+KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC) $(CLANG_PREFIX)
KBUILD_CFLAGS += $(call cc-option, -no-integrated-as)
KBUILD_AFLAGS += $(call cc-option, -no-integrated-as)
endif
--
2.20.0.rc1
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 66e839030fd698586734e017fd55c4f2a89dba0b Mon Sep 17 00:00:00 2001
From: Matt Chen <matt.chen(a)intel.com>
Date: Fri, 3 Aug 2018 14:29:20 +0800
Subject: [PATCH] iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE
>From coreboot/BIOS:
Name ("WGDS", Package() {
Revision,
Package() {
DomainType, // 0x7:WiFi ==> We miss this one.
WgdsWiFiSarDeltaGroup1PowerMax1, // Group 1 FCC 2400 Max
WgdsWiFiSarDeltaGroup1PowerChainA1, // Group 1 FCC 2400 A Offset
WgdsWiFiSarDeltaGroup1PowerChainB1, // Group 1 FCC 2400 B Offset
WgdsWiFiSarDeltaGroup1PowerMax2, // Group 1 FCC 5200 Max
WgdsWiFiSarDeltaGroup1PowerChainA2, // Group 1 FCC 5200 A Offset
WgdsWiFiSarDeltaGroup1PowerChainB2, // Group 1 FCC 5200 B Offset
WgdsWiFiSarDeltaGroup2PowerMax1, // Group 2 EC Jap 2400 Max
WgdsWiFiSarDeltaGroup2PowerChainA1, // Group 2 EC Jap 2400 A Offset
WgdsWiFiSarDeltaGroup2PowerChainB1, // Group 2 EC Jap 2400 B Offset
WgdsWiFiSarDeltaGroup2PowerMax2, // Group 2 EC Jap 5200 Max
WgdsWiFiSarDeltaGroup2PowerChainA2, // Group 2 EC Jap 5200 A Offset
WgdsWiFiSarDeltaGroup2PowerChainB2, // Group 2 EC Jap 5200 B Offset
WgdsWiFiSarDeltaGroup3PowerMax1, // Group 3 ROW 2400 Max
WgdsWiFiSarDeltaGroup3PowerChainA1, // Group 3 ROW 2400 A Offset
WgdsWiFiSarDeltaGroup3PowerChainB1, // Group 3 ROW 2400 B Offset
WgdsWiFiSarDeltaGroup3PowerMax2, // Group 3 ROW 5200 Max
WgdsWiFiSarDeltaGroup3PowerChainA2, // Group 3 ROW 5200 A Offset
WgdsWiFiSarDeltaGroup3PowerChainB2, // Group 3 ROW 5200 B Offset
}
})
When read the ACPI data to find out the WGDS, the DATA_SIZE is never
matched.
>From the above format, it gives 19 numbers, but our driver is hardcode
as 18.
Fix it to pass then can parse the data into our wgds table.
Then we will see:
iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init Sending GEO_TX_POWER_LIMIT
iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[0]
Band[0]: chain A = 68 chain B = 69 max_tx_power = 54
iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[0]
Band[1]: chain A = 48 chain B = 49 max_tx_power = 70
iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[1]
Band[0]: chain A = 51 chain B = 67 max_tx_power = 50
iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[1]
Band[1]: chain A = 69 chain B = 70 max_tx_power = 68
iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[2]
Band[0]: chain A = 49 chain B = 50 max_tx_power = 48
iwlwifi 0000:01:00.0: U iwl_mvm_sar_geo_init SAR geographic profile[2]
Band[1]: chain A = 52 chain B = 53 max_tx_power = 51
Cc: stable(a)vger.kernel.org # 4.12+
Fixes: a6bff3cb19b7 ("iwlwifi: mvm: add GEO_TX_POWER_LIMIT cmd for geographic tx power table")
Signed-off-by: Matt Chen <matt.chen(a)intel.com>
Signed-off-by: Luca Coelho <luciano.coelho(a)intel.com>
diff --git a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h
index 2439e98431ee..7492dfb6729b 100644
--- a/drivers/net/wireless/intel/iwlwifi/fw/acpi.h
+++ b/drivers/net/wireless/intel/iwlwifi/fw/acpi.h
@@ -6,6 +6,7 @@
* GPL LICENSE SUMMARY
*
* Copyright(c) 2017 Intel Deutschland GmbH
+ * Copyright(c) 2018 Intel Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License as
@@ -26,6 +27,7 @@
* BSD LICENSE
*
* Copyright(c) 2017 Intel Deutschland GmbH
+ * Copyright(c) 2018 Intel Corporation
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -81,7 +83,7 @@
#define ACPI_WRDS_WIFI_DATA_SIZE (ACPI_SAR_TABLE_SIZE + 2)
#define ACPI_EWRD_WIFI_DATA_SIZE ((ACPI_SAR_PROFILE_NUM - 1) * \
ACPI_SAR_TABLE_SIZE + 3)
-#define ACPI_WGDS_WIFI_DATA_SIZE 18
+#define ACPI_WGDS_WIFI_DATA_SIZE 19
#define ACPI_WRDD_WIFI_DATA_SIZE 2
#define ACPI_SPLC_WIFI_DATA_SIZE 2
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
index dade206d5511..899f4a6432fb 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
@@ -893,7 +893,7 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
IWL_DEBUG_RADIO(mvm, "Sending GEO_TX_POWER_LIMIT\n");
BUILD_BUG_ON(ACPI_NUM_GEO_PROFILES * ACPI_WGDS_NUM_BANDS *
- ACPI_WGDS_TABLE_SIZE != ACPI_WGDS_WIFI_DATA_SIZE);
+ ACPI_WGDS_TABLE_SIZE + 1 != ACPI_WGDS_WIFI_DATA_SIZE);
BUILD_BUG_ON(ACPI_NUM_GEO_PROFILES > IWL_NUM_GEO_PROFILES);
Hi Greg,
Few stable candidates for 4.9.y for your consideration.
Cherry picked and build tested on linux-4.9.141 for
ARCH=arm/arm64 + allmodconfig.
Few fixes are applicable for 4.4.y and 3.18.y as well,
but they needed minor rebasing, so I'll submit them
along with other fixes shortly in separate threads.
Regards,
Amit Pundir
Amitkumar Karwar (3):
mwifiex: prevent register accesses after host is sleeping
mwifiex: report error to PCIe for suspend failure
mwifiex: Fix NULL pointer dereference in skb_dequeue()
Johannes Thumshirn (1):
cw1200: Don't leak memory if krealloc failes
Karthik D A (1):
mwifiex: fix p2p device doesn't find in scan problem
Subhash Jadavani (2):
scsi: ufs: fix race between clock gating and devfreq scaling work
scsi: ufshcd: release resources if probe fails
Vasanthakumar Thiagarajan (1):
ath10k: fix kernel panic due to race in accessing arvif list
Venkat Gopalakrishnan (1):
scsi: ufshcd: Fix race between clk scaling and ungate work
Yaniv Gardi (1):
scsi: ufs: fix bugs related to null pointer access and array size
drivers/net/wireless/ath/ath10k/mac.c | 6 ++
drivers/net/wireless/marvell/mwifiex/cfg80211.c | 10 +++-
drivers/net/wireless/marvell/mwifiex/pcie.c | 19 +++++--
drivers/net/wireless/marvell/mwifiex/wmm.c | 12 +++-
drivers/net/wireless/st/cw1200/wsm.c | 16 +++---
drivers/scsi/ufs/ufs.h | 3 +-
drivers/scsi/ufs/ufshcd-pci.c | 2 +
drivers/scsi/ufs/ufshcd-pltfrm.c | 5 +-
drivers/scsi/ufs/ufshcd.c | 75 ++++++++++++++++++++++---
9 files changed, 118 insertions(+), 30 deletions(-)
--
2.7.4
On Thu, 2018-11-29 at 09:12 +0000, Sasha Levin wrote:
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees:
> all
>
> The bot has tested the following trees: v4.19.5, v4.14.84, v4.9.141,
> v4.4.165, v3.18.127,
>
> v4.19.5: Build OK!
> v4.14.84: Build OK!
> v4.9.141: Failed to apply! Possible dependencies:
>
> v4.4.165: Failed to apply! Possible dependencies:
>
> v3.18.127: Failed to apply! Possible dependencies:
>
> How should we proceed with this patch?
I think it's fine to apply it only to 4.19 and 4.14. It's not
imperative that the older kernels get it. People building those kernels
should already have their tools in place; it's not like we expect *new*
users of ancient kernels, who will be tripped up by this.
Currently kernel might allocate different connector ids
for the same outputs in case of DP MST, which seems to
confuse userspace. There are can be different connector
ids in the list, which could be assigned to the same
output, while being in different states.
This results in issues, like external displays staying
blank after quick unplugging and plugging back(bug #106250).
Returning only active DP connectors fixes the issue.
v2: Removed caps from the title
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106250
Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy(a)intel.com>
---
drivers/gpu/drm/drm_mode_config.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c
index ee80788f2c40..ec5b2b08a45e 100644
--- a/drivers/gpu/drm/drm_mode_config.c
+++ b/drivers/gpu/drm/drm_mode_config.c
@@ -143,6 +143,7 @@ int drm_mode_getresources(struct drm_device *dev, void *data,
drm_connector_list_iter_begin(dev, &conn_iter);
count = 0;
connector_id = u64_to_user_ptr(card_res->connector_id_ptr);
+ DRM_DEBUG_KMS("GetResources: writing connectors start");
drm_for_each_connector_iter(connector, &conn_iter) {
/* only expose writeback connectors if userspace understands them */
if (!file_priv->writeback_connectors &&
@@ -150,15 +151,20 @@ int drm_mode_getresources(struct drm_device *dev, void *data,
continue;
if (drm_lease_held(file_priv, connector->base.id)) {
- if (count < card_res->count_connectors &&
- put_user(connector->base.id, connector_id + count)) {
- drm_connector_list_iter_end(&conn_iter);
- return -EFAULT;
+ if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort ||
+ connector->status != connector_status_disconnected) {
+ if (count < card_res->count_connectors &&
+ put_user(connector->base.id, connector_id + count)) {
+ drm_connector_list_iter_end(&conn_iter);
+ return -EFAULT;
+ }
+ DRM_DEBUG_KMS("GetResources: connector %s", connector->name);
+ count++;
}
- count++;
}
}
card_res->count_connectors = count;
+ DRM_DEBUG_KMS("GetResources: writing connectors end - count %d", count);
drm_connector_list_iter_end(&conn_iter);
return ret;
--
2.17.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 25bbe21bf427a81b8e3ccd480ea0e1d940256156 Mon Sep 17 00:00:00 2001
From: Matthew Wilcox <willy(a)infradead.org>
Date: Fri, 16 Nov 2018 15:50:02 -0500
Subject: [PATCH] dax: Avoid losing wakeup in dax_lock_mapping_entry
After calling get_unlocked_entry(), you have to call
put_unlocked_entry() to avoid subsequent waiters losing wakeups.
Fixes: c2a7d2a11552 ("filesystem-dax: Introduce dax_lock_mapping_entry()")
Cc: stable(a)vger.kernel.org
Signed-off-by: Matthew Wilcox <willy(a)infradead.org>
diff --git a/fs/dax.c b/fs/dax.c
index cf2394e2bf4b..9bcce89ea18e 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -391,6 +391,7 @@ bool dax_lock_mapping_entry(struct page *page)
rcu_read_unlock();
entry = get_unlocked_entry(&xas);
xas_unlock_irq(&xas);
+ put_unlocked_entry(&xas, entry);
rcu_read_lock();
continue;
}
From: "Cherian, George" <George.Cherian(a)cavium.com>
commit 11644a7659529730eaf2f166efaabe7c3dc7af8c upstream
Implement workaround for ThunderX2 Errata-129 (documented in
CN99XX Known Issues" available at Cavium support site).
As per ThunderX2errata-129, USB 2 device may come up as USB 1
if a connection to a USB 1 device is followed by another connection to
a USB 2 device, the link will come up as USB 1 for the USB 2 device.
Resolution: Reset the PHY after the USB 1 device is disconnected.
The PHY reset sequence is done using private registers in XHCI register
space. After the PHY is reset we check for the PLL lock status and retry
the operation if it fails. From our tests, retrying 4 times is sufficient.
Add a new quirk flag XHCI_RESET_PLL_ON_DISCONNECT to invoke the workaround
in handle_xhci_port_status().
Cc: stable(a)vger.kernel.org
Cc: stable(a)vger.kernel.org # 4.14.x: 36b6857: xhci: Allow more than 32 quirks
Signed-off-by: George Cherian <george.cherian(a)cavium.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
There is a conflict while cherry-pick of 36b6857: xhci: Allow more than
32 quirks. It is trivial to resolve. Let me know in case if it is an
issue.
drivers/usb/host/xhci-pci.c | 5 +++++
drivers/usb/host/xhci-ring.c | 35 ++++++++++++++++++++++++++++++++++-
drivers/usb/host/xhci.h | 1 +
3 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 9218f506f8e3..4b07b6859b4c 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -236,6 +236,11 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
if (pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241)
xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_7;
+ if ((pdev->vendor == PCI_VENDOR_ID_BROADCOM ||
+ pdev->vendor == PCI_VENDOR_ID_CAVIUM) &&
+ pdev->device == 0x9026)
+ xhci->quirks |= XHCI_RESET_PLL_ON_DISCONNECT;
+
if (xhci->quirks & XHCI_RESET_ON_RESUME)
xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
"QUIRK: Resetting on resume");
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 6996235e34a9..ea35f346d26b 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1568,6 +1568,35 @@ static void handle_device_notification(struct xhci_hcd *xhci,
usb_wakeup_notification(udev->parent, udev->portnum);
}
+/*
+ * Quirk hanlder for errata seen on Cavium ThunderX2 processor XHCI
+ * Controller.
+ * As per ThunderX2errata-129 USB 2 device may come up as USB 1
+ * If a connection to a USB 1 device is followed by another connection
+ * to a USB 2 device.
+ *
+ * Reset the PHY after the USB device is disconnected if device speed
+ * is less than HCD_USB3.
+ * Retry the reset sequence max of 4 times checking the PLL lock status.
+ *
+ */
+static void xhci_cavium_reset_phy_quirk(struct xhci_hcd *xhci)
+{
+ struct usb_hcd *hcd = xhci_to_hcd(xhci);
+ u32 pll_lock_check;
+ u32 retry_count = 4;
+
+ do {
+ /* Assert PHY reset */
+ writel(0x6F, hcd->regs + 0x1048);
+ udelay(10);
+ /* De-assert the PHY reset */
+ writel(0x7F, hcd->regs + 0x1048);
+ udelay(200);
+ pll_lock_check = readl(hcd->regs + 0x1070);
+ } while (!(pll_lock_check & 0x1) && --retry_count);
+}
+
static void handle_port_status(struct xhci_hcd *xhci,
union xhci_trb *event)
{
@@ -1725,9 +1754,13 @@ static void handle_port_status(struct xhci_hcd *xhci,
goto cleanup;
}
- if (hcd->speed < HCD_USB3)
+ if (hcd->speed < HCD_USB3) {
xhci_test_and_clear_bit(xhci, port_array, faked_port_index,
PORT_PLC);
+ if ((xhci->quirks & XHCI_RESET_PLL_ON_DISCONNECT) &&
+ (portsc & PORT_CSC) && !(portsc & PORT_CONNECT))
+ xhci_cavium_reset_phy_quirk(xhci);
+ }
cleanup:
/* Update event ring dequeue pointer before dropping the lock */
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index d7d2a3dfafb8..84457fc192fc 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1836,6 +1836,7 @@ struct xhci_hcd {
#define XHCI_U2_DISABLE_WAKE BIT_ULL(27)
#define XHCI_ASMEDIA_MODIFY_FLOWCONTROL BIT_ULL(28)
#define XHCI_SUSPEND_DELAY BIT_ULL(30)
+#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
unsigned int num_active_eps;
unsigned int limit_active_eps;
--
2.19.2
The patch titled
Subject: mm/khugepaged: collapse_shmem() do not crash on Compound
has been added to the -mm tree. Its filename is
mm-khugepaged-collapse_shmem-do-not-crash-on-compound.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-khugepaged-collapse_shmem-do-no…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-khugepaged-collapse_shmem-do-no…
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: Hugh Dickins <hughd(a)google.com>
Subject: mm/khugepaged: collapse_shmem() do not crash on Compound
collapse_shmem()'s VM_BUG_ON_PAGE(PageTransCompound) was unsafe: before it
holds page lock of the first page, racing truncation then extension might
conceivably have inserted a hugepage there already. Fail with the
SCAN_PAGE_COMPOUND result, instead of crashing (CONFIG_DEBUG_VM=y) or
otherwise mishandling the unexpected hugepage - though later we might code
up a more constructive way of handling it, with SCAN_SUCCESS.
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261529310.2275@eggly.anvils
Fixes: f3f0e1d2150b2 ("khugepaged: add support of collapse for tmpfs/shmem pages")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Cc: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Cc: Jerome Glisse <jglisse(a)redhat.com>
Cc: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: <stable(a)vger.kernel.org> [4.8+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/khugepaged.c~mm-khugepaged-collapse_shmem-do-not-crash-on-compound
+++ a/mm/khugepaged.c
@@ -1399,7 +1399,15 @@ static void collapse_shmem(struct mm_str
*/
VM_BUG_ON_PAGE(!PageLocked(page), page);
VM_BUG_ON_PAGE(!PageUptodate(page), page);
- VM_BUG_ON_PAGE(PageTransCompound(page), page);
+
+ /*
+ * If file was truncated then extended, or hole-punched, before
+ * we locked the first page, then a THP might be there already.
+ */
+ if (PageTransCompound(page)) {
+ result = SCAN_PAGE_COMPOUND;
+ goto out_unlock;
+ }
if (page_mapping(page) != mapping) {
result = SCAN_TRUNCATED;
_
Patches currently in -mm which might be from hughd(a)google.com are
mm-huge_memory-rename-freeze_page-to-unmap_page.patch
mm-huge_memory-splitting-set-mappingindex-before-unfreeze.patch
mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read.patch
mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated.patch
mm-khugepaged-fix-crashes-due-to-misaccounted-holes.patch
mm-khugepaged-collapse_shmem-remember-to-clear-holes.patch
mm-khugepaged-minor-reorderings-in-collapse_shmem.patch
mm-khugepaged-collapse_shmem-without-freezing-new_page.patch
mm-khugepaged-collapse_shmem-do-not-crash-on-compound.patch
mm-khugepaged-fix-the-xas_create_range-error-path.patch
mm-put_and_wait_on_page_locked-while-page-is-migrated.patch
The patch titled
Subject: mm/khugepaged: collapse_shmem() without freezing new_page
has been added to the -mm tree. Its filename is
mm-khugepaged-collapse_shmem-without-freezing-new_page.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-khugepaged-collapse_shmem-witho…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-khugepaged-collapse_shmem-witho…
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: Hugh Dickins <hughd(a)google.com>
Subject: mm/khugepaged: collapse_shmem() without freezing new_page
khugepaged's collapse_shmem() does almost all of its work, to assemble the
huge new_page from 512 scattered old pages, with the new_page's refcount
frozen to 0 (and refcounts of all old pages so far also frozen to 0).
Including shmem_getpage() to read in any which were out on swap, memory
reclaim if necessary to allocate their intermediate pages, and copying
over all the data from old to new.
Imagine the frozen refcount as a spinlock held, but without any lock
debugging to highlight the abuse: it's not good, and under serious load
heads into lockups - speculative getters of the page are not expecting to
spin while khugepaged is rescheduled.
One can get a little further under load by hacking around elsewhere; but
fortunately, freezing the new_page turns out to have been entirely
unnecessary, with no hacks needed elsewhere.
The huge new_page lock is already held throughout, and guards all its
subpages as they are brought one by one into the page cache tree; and
anything reading the data in that page, without the lock, before it has
been marked PageUptodate, would already be in the wrong. So simply
eliminate the freezing of the new_page.
Each of the old pages remains frozen with refcount 0 after it has been
replaced by a new_page subpage in the page cache tree, until they are all
unfrozen on success or failure: just as before. They could be unfrozen
sooner, but cause no problem once no longer visible to find_get_entry(),
filemap_map_pages() and other speculative lookups.
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261527570.2275@eggly.anvils
Fixes: f3f0e1d2150b2 ("khugepaged: add support of collapse for tmpfs/shmem pages")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Cc: Jerome Glisse <jglisse(a)redhat.com>
Cc: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: <stable(a)vger.kernel.org> [4.8+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/khugepaged.c~mm-khugepaged-collapse_shmem-without-freezing-new_page
+++ a/mm/khugepaged.c
@@ -1287,7 +1287,7 @@ static void retract_page_tables(struct a
* collapse_shmem - collapse small tmpfs/shmem pages into huge one.
*
* Basic scheme is simple, details are more complex:
- * - allocate and freeze a new huge page;
+ * - allocate and lock a new huge page;
* - scan page cache replacing old pages with the new one
* + swap in pages if necessary;
* + fill in gaps;
@@ -1295,11 +1295,11 @@ static void retract_page_tables(struct a
* - if replacing succeeds:
* + copy data over;
* + free old pages;
- * + unfreeze huge page;
+ * + unlock huge page;
* - if replacing failed;
* + put all pages back and unfreeze them;
* + restore gaps in the page cache;
- * + free huge page;
+ * + unlock and free huge page;
*/
static void collapse_shmem(struct mm_struct *mm,
struct address_space *mapping, pgoff_t start,
@@ -1333,13 +1333,11 @@ static void collapse_shmem(struct mm_str
__SetPageSwapBacked(new_page);
new_page->index = start;
new_page->mapping = mapping;
- BUG_ON(!page_ref_freeze(new_page, 1));
/*
- * At this point the new_page is 'frozen' (page_count() is zero),
- * locked and not up-to-date. It's safe to insert it into the page
- * cache, because nobody would be able to map it or use it in other
- * way until we unfreeze it.
+ * At this point the new_page is locked and not up-to-date.
+ * It's safe to insert it into the page cache, because nobody would
+ * be able to map it or use it in another way until we unlock it.
*/
/* This will be less messy when we use multi-index entries */
@@ -1491,9 +1489,8 @@ xa_unlocked:
index++;
}
- /* Everything is ready, let's unfreeze the new_page */
SetPageUptodate(new_page);
- page_ref_unfreeze(new_page, HPAGE_PMD_NR);
+ page_ref_add(new_page, HPAGE_PMD_NR - 1);
set_page_dirty(new_page);
mem_cgroup_commit_charge(new_page, memcg, false, true);
lru_cache_add_anon(new_page);
@@ -1541,8 +1538,6 @@ xa_unlocked:
VM_BUG_ON(nr_none);
xas_unlock_irq(&xas);
- /* Unfreeze new_page, caller would take care about freeing it */
- page_ref_unfreeze(new_page, 1);
mem_cgroup_cancel_charge(new_page, memcg, true);
new_page->mapping = NULL;
}
_
Patches currently in -mm which might be from hughd(a)google.com are
mm-huge_memory-rename-freeze_page-to-unmap_page.patch
mm-huge_memory-splitting-set-mappingindex-before-unfreeze.patch
mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read.patch
mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated.patch
mm-khugepaged-fix-crashes-due-to-misaccounted-holes.patch
mm-khugepaged-collapse_shmem-remember-to-clear-holes.patch
mm-khugepaged-minor-reorderings-in-collapse_shmem.patch
mm-khugepaged-collapse_shmem-without-freezing-new_page.patch
mm-khugepaged-collapse_shmem-do-not-crash-on-compound.patch
mm-khugepaged-fix-the-xas_create_range-error-path.patch
mm-put_and_wait_on_page_locked-while-page-is-migrated.patch
The patch titled
Subject: mm/khugepaged: minor reorderings in collapse_shmem()
has been added to the -mm tree. Its filename is
mm-khugepaged-minor-reorderings-in-collapse_shmem.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-khugepaged-minor-reorderings-in…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-khugepaged-minor-reorderings-in…
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: Hugh Dickins <hughd(a)google.com>
Subject: mm/khugepaged: minor reorderings in collapse_shmem()
Several cleanups in collapse_shmem(): most of which probably do not really
matter, beyond doing things in a more familiar and reassuring order.
Simplify the failure gotos in the main loop, and on success update stats
while interrupts still disabled from the last iteration.
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261526400.2275@eggly.anvils
Fixes: f3f0e1d2150b2 ("khugepaged: add support of collapse for tmpfs/shmem pages")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Cc: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Cc: Jerome Glisse <jglisse(a)redhat.com>
Cc: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: <stable(a)vger.kernel.org> [4.8+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/khugepaged.c~mm-khugepaged-minor-reorderings-in-collapse_shmem
+++ a/mm/khugepaged.c
@@ -1329,10 +1329,10 @@ static void collapse_shmem(struct mm_str
goto out;
}
+ __SetPageLocked(new_page);
+ __SetPageSwapBacked(new_page);
new_page->index = start;
new_page->mapping = mapping;
- __SetPageSwapBacked(new_page);
- __SetPageLocked(new_page);
BUG_ON(!page_ref_freeze(new_page, 1));
/*
@@ -1366,13 +1366,13 @@ static void collapse_shmem(struct mm_str
if (index == start) {
if (!xas_next_entry(&xas, end - 1)) {
result = SCAN_TRUNCATED;
- break;
+ goto xa_locked;
}
xas_set(&xas, index);
}
if (!shmem_charge(mapping->host, 1)) {
result = SCAN_FAIL;
- break;
+ goto xa_locked;
}
xas_store(&xas, new_page + (index % HPAGE_PMD_NR));
nr_none++;
@@ -1387,13 +1387,12 @@ static void collapse_shmem(struct mm_str
result = SCAN_FAIL;
goto xa_unlocked;
}
- xas_lock_irq(&xas);
- xas_set(&xas, index);
} else if (trylock_page(page)) {
get_page(page);
+ xas_unlock_irq(&xas);
} else {
result = SCAN_PAGE_LOCK;
- break;
+ goto xa_locked;
}
/*
@@ -1408,11 +1407,10 @@ static void collapse_shmem(struct mm_str
result = SCAN_TRUNCATED;
goto out_unlock;
}
- xas_unlock_irq(&xas);
if (isolate_lru_page(page)) {
result = SCAN_DEL_PAGE_LRU;
- goto out_isolate_failed;
+ goto out_unlock;
}
if (page_mapped(page))
@@ -1432,7 +1430,9 @@ static void collapse_shmem(struct mm_str
*/
if (!page_ref_freeze(page, 3)) {
result = SCAN_PAGE_COUNT;
- goto out_lru;
+ xas_unlock_irq(&xas);
+ putback_lru_page(page);
+ goto out_unlock;
}
/*
@@ -1444,24 +1444,26 @@ static void collapse_shmem(struct mm_str
/* Finally, replace with the new page. */
xas_store(&xas, new_page + (index % HPAGE_PMD_NR));
continue;
-out_lru:
- xas_unlock_irq(&xas);
- putback_lru_page(page);
-out_isolate_failed:
- unlock_page(page);
- put_page(page);
- goto xa_unlocked;
out_unlock:
unlock_page(page);
put_page(page);
- break;
+ goto xa_unlocked;
+ }
+
+ __inc_node_page_state(new_page, NR_SHMEM_THPS);
+ if (nr_none) {
+ struct zone *zone = page_zone(new_page);
+
+ __mod_node_page_state(zone->zone_pgdat, NR_FILE_PAGES, nr_none);
+ __mod_node_page_state(zone->zone_pgdat, NR_SHMEM, nr_none);
}
- xas_unlock_irq(&xas);
+xa_locked:
+ xas_unlock_irq(&xas);
xa_unlocked:
+
if (result == SCAN_SUCCEED) {
struct page *page, *tmp;
- struct zone *zone = page_zone(new_page);
/*
* Replacing old pages with new one has succeeded, now we
@@ -1476,11 +1478,11 @@ xa_unlocked:
copy_highpage(new_page + (page->index % HPAGE_PMD_NR),
page);
list_del(&page->lru);
- unlock_page(page);
- page_ref_unfreeze(page, 1);
page->mapping = NULL;
+ page_ref_unfreeze(page, 1);
ClearPageActive(page);
ClearPageUnevictable(page);
+ unlock_page(page);
put_page(page);
index++;
}
@@ -1489,28 +1491,17 @@ xa_unlocked:
index++;
}
- local_irq_disable();
- __inc_node_page_state(new_page, NR_SHMEM_THPS);
- if (nr_none) {
- __mod_node_page_state(zone->zone_pgdat, NR_FILE_PAGES, nr_none);
- __mod_node_page_state(zone->zone_pgdat, NR_SHMEM, nr_none);
- }
- local_irq_enable();
-
- /*
- * Remove pte page tables, so we can re-fault
- * the page as huge.
- */
- retract_page_tables(mapping, start);
-
/* Everything is ready, let's unfreeze the new_page */
- set_page_dirty(new_page);
SetPageUptodate(new_page);
page_ref_unfreeze(new_page, HPAGE_PMD_NR);
+ set_page_dirty(new_page);
mem_cgroup_commit_charge(new_page, memcg, false, true);
lru_cache_add_anon(new_page);
- unlock_page(new_page);
+ /*
+ * Remove pte page tables, so we can re-fault the page as huge.
+ */
+ retract_page_tables(mapping, start);
*hpage = NULL;
khugepaged_pages_collapsed++;
@@ -1543,8 +1534,8 @@ xa_unlocked:
xas_store(&xas, page);
xas_pause(&xas);
xas_unlock_irq(&xas);
- putback_lru_page(page);
unlock_page(page);
+ putback_lru_page(page);
xas_lock_irq(&xas);
}
VM_BUG_ON(nr_none);
@@ -1553,9 +1544,10 @@ xa_unlocked:
/* Unfreeze new_page, caller would take care about freeing it */
page_ref_unfreeze(new_page, 1);
mem_cgroup_cancel_charge(new_page, memcg, true);
- unlock_page(new_page);
new_page->mapping = NULL;
}
+
+ unlock_page(new_page);
out:
VM_BUG_ON(!list_empty(&pagelist));
/* TODO: tracepoints */
_
Patches currently in -mm which might be from hughd(a)google.com are
mm-huge_memory-rename-freeze_page-to-unmap_page.patch
mm-huge_memory-splitting-set-mappingindex-before-unfreeze.patch
mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read.patch
mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated.patch
mm-khugepaged-fix-crashes-due-to-misaccounted-holes.patch
mm-khugepaged-collapse_shmem-remember-to-clear-holes.patch
mm-khugepaged-minor-reorderings-in-collapse_shmem.patch
mm-khugepaged-collapse_shmem-without-freezing-new_page.patch
mm-khugepaged-collapse_shmem-do-not-crash-on-compound.patch
mm-khugepaged-fix-the-xas_create_range-error-path.patch
mm-put_and_wait_on_page_locked-while-page-is-migrated.patch
The patch titled
Subject: mm/khugepaged: collapse_shmem() remember to clear holes
has been added to the -mm tree. Its filename is
mm-khugepaged-collapse_shmem-remember-to-clear-holes.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-khugepaged-collapse_shmem-remem…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-khugepaged-collapse_shmem-remem…
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: Hugh Dickins <hughd(a)google.com>
Subject: mm/khugepaged: collapse_shmem() remember to clear holes
Huge tmpfs testing reminds us that there is no __GFP_ZERO in the gfp flags
khugepaged uses to allocate a huge page - in all common cases it would
just be a waste of effort - so collapse_shmem() must remember to clear out
any holes that it instantiates.
The obvious place to do so, where they are put into the page cache tree,
is not a good choice: because interrupts are disabled there. Leave it
until further down, once success is assured, where the other pages are
copied (before setting PageUptodate).
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261525080.2275@eggly.anvils
Fixes: f3f0e1d2150b2 ("khugepaged: add support of collapse for tmpfs/shmem pages")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Cc: Jerome Glisse <jglisse(a)redhat.com>
Cc: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: <stable(a)vger.kernel.org> [4.8+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/khugepaged.c~mm-khugepaged-collapse_shmem-remember-to-clear-holes
+++ a/mm/khugepaged.c
@@ -1467,7 +1467,12 @@ xa_unlocked:
* Replacing old pages with new one has succeeded, now we
* need to copy the content and free the old pages.
*/
+ index = start;
list_for_each_entry_safe(page, tmp, &pagelist, lru) {
+ while (index < page->index) {
+ clear_highpage(new_page + (index % HPAGE_PMD_NR));
+ index++;
+ }
copy_highpage(new_page + (page->index % HPAGE_PMD_NR),
page);
list_del(&page->lru);
@@ -1477,6 +1482,11 @@ xa_unlocked:
ClearPageActive(page);
ClearPageUnevictable(page);
put_page(page);
+ index++;
+ }
+ while (index < end) {
+ clear_highpage(new_page + (index % HPAGE_PMD_NR));
+ index++;
}
local_irq_disable();
_
Patches currently in -mm which might be from hughd(a)google.com are
mm-huge_memory-rename-freeze_page-to-unmap_page.patch
mm-huge_memory-splitting-set-mappingindex-before-unfreeze.patch
mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read.patch
mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated.patch
mm-khugepaged-fix-crashes-due-to-misaccounted-holes.patch
mm-khugepaged-collapse_shmem-remember-to-clear-holes.patch
mm-khugepaged-minor-reorderings-in-collapse_shmem.patch
mm-khugepaged-collapse_shmem-without-freezing-new_page.patch
mm-khugepaged-collapse_shmem-do-not-crash-on-compound.patch
mm-khugepaged-fix-the-xas_create_range-error-path.patch
mm-put_and_wait_on_page_locked-while-page-is-migrated.patch
The patch titled
Subject: mm/khugepaged: fix crashes due to misaccounted holes
has been added to the -mm tree. Its filename is
mm-khugepaged-fix-crashes-due-to-misaccounted-holes.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-khugepaged-fix-crashes-due-to-m…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-khugepaged-fix-crashes-due-to-m…
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: Hugh Dickins <hughd(a)google.com>
Subject: mm/khugepaged: fix crashes due to misaccounted holes
Huge tmpfs testing on a shortish file mapped into a pmd-rounded extent hit
shmem_evict_inode()'s WARN_ON(inode->i_blocks) followed by clear_inode()'s
BUG_ON(inode->i_data.nrpages) when the file was later closed and unlinked.
khugepaged's collapse_shmem() was forgetting to update mapping->nrpages on
the rollback path, after it had added but then needs to undo some holes.
There is indeed an irritating asymmetry between shmem_charge(), whose
callers want it to increment nrpages after successfully accounting blocks,
and shmem_uncharge(), when __delete_from_page_cache() already decremented
nrpages itself: oh well, just add a comment on that to them both.
And shmem_recalc_inode() is supposed to be called when the accounting is
expected to be in balance (so it can deduce from imbalance that reclaim
discarded some pages): so change shmem_charge() to update nrpages earlier
(though it's rare for the difference to matter at all).
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261523450.2275@eggly.anvils
Fixes: 800d8c63b2e98 ("shmem: add huge pages support")
Fixes: f3f0e1d2150b2 ("khugepaged: add support of collapse for tmpfs/shmem pages")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Cc: Jerome Glisse <jglisse(a)redhat.com>
Cc: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: <stable(a)vger.kernel.org> [4.8+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/khugepaged.c~mm-khugepaged-fix-crashes-due-to-misaccounted-holes
+++ a/mm/khugepaged.c
@@ -1506,9 +1506,12 @@ xa_unlocked:
khugepaged_pages_collapsed++;
} else {
struct page *page;
+
/* Something went wrong: roll back page cache changes */
- shmem_uncharge(mapping->host, nr_none);
xas_lock_irq(&xas);
+ mapping->nrpages -= nr_none;
+ shmem_uncharge(mapping->host, nr_none);
+
xas_set(&xas, start);
xas_for_each(&xas, page, end - 1) {
page = list_first_entry_or_null(&pagelist,
--- a/mm/shmem.c~mm-khugepaged-fix-crashes-due-to-misaccounted-holes
+++ a/mm/shmem.c
@@ -297,12 +297,14 @@ bool shmem_charge(struct inode *inode, l
if (!shmem_inode_acct_block(inode, pages))
return false;
+ /* nrpages adjustment first, then shmem_recalc_inode() when balanced */
+ inode->i_mapping->nrpages += pages;
+
spin_lock_irqsave(&info->lock, flags);
info->alloced += pages;
inode->i_blocks += pages * BLOCKS_PER_PAGE;
shmem_recalc_inode(inode);
spin_unlock_irqrestore(&info->lock, flags);
- inode->i_mapping->nrpages += pages;
return true;
}
@@ -312,6 +314,8 @@ void shmem_uncharge(struct inode *inode,
struct shmem_inode_info *info = SHMEM_I(inode);
unsigned long flags;
+ /* nrpages adjustment done by __delete_from_page_cache() or caller */
+
spin_lock_irqsave(&info->lock, flags);
info->alloced -= pages;
inode->i_blocks -= pages * BLOCKS_PER_PAGE;
_
Patches currently in -mm which might be from hughd(a)google.com are
mm-huge_memory-rename-freeze_page-to-unmap_page.patch
mm-huge_memory-splitting-set-mappingindex-before-unfreeze.patch
mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read.patch
mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated.patch
mm-khugepaged-fix-crashes-due-to-misaccounted-holes.patch
mm-khugepaged-collapse_shmem-remember-to-clear-holes.patch
mm-khugepaged-minor-reorderings-in-collapse_shmem.patch
mm-khugepaged-collapse_shmem-without-freezing-new_page.patch
mm-khugepaged-collapse_shmem-do-not-crash-on-compound.patch
mm-khugepaged-fix-the-xas_create_range-error-path.patch
mm-put_and_wait_on_page_locked-while-page-is-migrated.patch
The patch titled
Subject: mm/khugepaged: collapse_shmem() stop if punched or truncated
has been added to the -mm tree. Its filename is
mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-khugepaged-collapse_shmem-stop-…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-khugepaged-collapse_shmem-stop-…
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: Hugh Dickins <hughd(a)google.com>
Subject: mm/khugepaged: collapse_shmem() stop if punched or truncated
Huge tmpfs testing showed that although collapse_shmem() recognizes a
concurrently truncated or hole-punched page correctly, its handling of
holes was liable to refill an emptied extent. Add check to stop that.
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261522040.2275@eggly.anvils
Fixes: f3f0e1d2150b2 ("khugepaged: add support of collapse for tmpfs/shmem pages")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Reviewed-by: Matthew Wilcox <willy(a)infradead.org>
Cc: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Cc: Jerome Glisse <jglisse(a)redhat.com>
Cc: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Cc: <stable(a)vger.kernel.org> [4.8+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/khugepaged.c~mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated
+++ a/mm/khugepaged.c
@@ -1359,6 +1359,17 @@ static void collapse_shmem(struct mm_str
VM_BUG_ON(index != xas.xa_index);
if (!page) {
+ /*
+ * Stop if extent has been truncated or hole-punched,
+ * and is now completely empty.
+ */
+ if (index == start) {
+ if (!xas_next_entry(&xas, end - 1)) {
+ result = SCAN_TRUNCATED;
+ break;
+ }
+ xas_set(&xas, index);
+ }
if (!shmem_charge(mapping->host, 1)) {
result = SCAN_FAIL;
break;
_
Patches currently in -mm which might be from hughd(a)google.com are
mm-huge_memory-rename-freeze_page-to-unmap_page.patch
mm-huge_memory-splitting-set-mappingindex-before-unfreeze.patch
mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read.patch
mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated.patch
mm-khugepaged-fix-crashes-due-to-misaccounted-holes.patch
mm-khugepaged-collapse_shmem-remember-to-clear-holes.patch
mm-khugepaged-minor-reorderings-in-collapse_shmem.patch
mm-khugepaged-collapse_shmem-without-freezing-new_page.patch
mm-khugepaged-collapse_shmem-do-not-crash-on-compound.patch
mm-khugepaged-fix-the-xas_create_range-error-path.patch
mm-put_and_wait_on_page_locked-while-page-is-migrated.patch
The patch titled
Subject: mm/huge_memory: fix lockdep complaint on 32-bit i_size_read()
has been added to the -mm tree. Its filename is
mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-huge_memory-fix-lockdep-complai…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-huge_memory-fix-lockdep-complai…
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: Hugh Dickins <hughd(a)google.com>
Subject: mm/huge_memory: fix lockdep complaint on 32-bit i_size_read()
Huge tmpfs testing, on 32-bit kernel with lockdep enabled, showed that
__split_huge_page() was using i_size_read() while holding the irq-safe
lru_lock and page tree lock, but the 32-bit i_size_read() uses an
irq-unsafe seqlock which should not be nested inside them.
Instead, read the i_size earlier in split_huge_page_to_list(), and pass
the end offset down to __split_huge_page(): all while holding head page
lock, which is enough to prevent truncation of that extent before the page
tree lock has been taken.
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261520070.2275@eggly.anvils
Fixes: baa355fd33142 ("thp: file pages support for split_huge_page()")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Cc: Jerome Glisse <jglisse(a)redhat.com>
Cc: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: <stable(a)vger.kernel.org> [4.8+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/huge_memory.c~mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read
+++ a/mm/huge_memory.c
@@ -2439,12 +2439,11 @@ static void __split_huge_page_tail(struc
}
static void __split_huge_page(struct page *page, struct list_head *list,
- unsigned long flags)
+ pgoff_t end, unsigned long flags)
{
struct page *head = compound_head(page);
struct zone *zone = page_zone(head);
struct lruvec *lruvec;
- pgoff_t end = -1;
int i;
lruvec = mem_cgroup_page_lruvec(head, zone->zone_pgdat);
@@ -2452,9 +2451,6 @@ static void __split_huge_page(struct pag
/* complete memcg works before add pages to LRU */
mem_cgroup_split_huge_fixup(head);
- if (!PageAnon(page))
- end = DIV_ROUND_UP(i_size_read(head->mapping->host), PAGE_SIZE);
-
for (i = HPAGE_PMD_NR - 1; i >= 1; i--) {
__split_huge_page_tail(head, i, lruvec, list);
/* Some pages can be beyond i_size: drop them from page cache */
@@ -2626,6 +2622,7 @@ int split_huge_page_to_list(struct page
int count, mapcount, extra_pins, ret;
bool mlocked;
unsigned long flags;
+ pgoff_t end;
VM_BUG_ON_PAGE(is_huge_zero_page(page), page);
VM_BUG_ON_PAGE(!PageLocked(page), page);
@@ -2648,6 +2645,7 @@ int split_huge_page_to_list(struct page
ret = -EBUSY;
goto out;
}
+ end = -1;
mapping = NULL;
anon_vma_lock_write(anon_vma);
} else {
@@ -2661,6 +2659,15 @@ int split_huge_page_to_list(struct page
anon_vma = NULL;
i_mmap_lock_read(mapping);
+
+ /*
+ *__split_huge_page() may need to trim off pages beyond EOF:
+ * but on 32-bit, i_size_read() takes an irq-unsafe seqlock,
+ * which cannot be nested inside the page tree lock. So note
+ * end now: i_size itself may be changed at any moment, but
+ * head page lock is good enough to serialize the trimming.
+ */
+ end = DIV_ROUND_UP(i_size_read(mapping->host), PAGE_SIZE);
}
/*
@@ -2707,7 +2714,7 @@ int split_huge_page_to_list(struct page
if (mapping)
__dec_node_page_state(page, NR_SHMEM_THPS);
spin_unlock(&pgdata->split_queue_lock);
- __split_huge_page(page, list, flags);
+ __split_huge_page(page, list, end, flags);
if (PageSwapCache(head)) {
swp_entry_t entry = { .val = page_private(head) };
_
Patches currently in -mm which might be from hughd(a)google.com are
mm-huge_memory-rename-freeze_page-to-unmap_page.patch
mm-huge_memory-splitting-set-mappingindex-before-unfreeze.patch
mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read.patch
mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated.patch
mm-khugepaged-fix-crashes-due-to-misaccounted-holes.patch
mm-khugepaged-collapse_shmem-remember-to-clear-holes.patch
mm-khugepaged-minor-reorderings-in-collapse_shmem.patch
mm-khugepaged-collapse_shmem-without-freezing-new_page.patch
mm-khugepaged-collapse_shmem-do-not-crash-on-compound.patch
mm-khugepaged-fix-the-xas_create_range-error-path.patch
mm-put_and_wait_on_page_locked-while-page-is-migrated.patch
The patch titled
Subject: mm/huge_memory: splitting set mapping+index before unfreeze
has been added to the -mm tree. Its filename is
mm-huge_memory-splitting-set-mappingindex-before-unfreeze.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-huge_memory-splitting-set-mappi…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-huge_memory-splitting-set-mappi…
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: Hugh Dickins <hughd(a)google.com>
Subject: mm/huge_memory: splitting set mapping+index before unfreeze
Huge tmpfs stress testing has occasionally hit shmem_undo_range()'s
VM_BUG_ON_PAGE(page_to_pgoff(page) != index, page).
Move the setting of mapping and index up before the page_ref_unfreeze() in
__split_huge_page_tail() to fix this: so that a page cache lookup cannot
get a reference while the tail's mapping and index are unstable.
In fact, might as well move them up before the smp_wmb(): I don't see an
actual need for that, but if I'm missing something, this way round is
safer than the other, and no less efficient.
You might argue that VM_BUG_ON_PAGE(page_to_pgoff(page) != index, page) is
misplaced, and should be left until after the trylock_page(); but left as
is has not crashed since, and gives more stringent assurance.
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261516380.2275@eggly.anvils
Fixes: e9b61f19858a5 ("thp: reintroduce split_huge_page()")
Requires: 605ca5ede764 ("mm/huge_memory.c: reorder operations in __split_huge_page_tail()")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Cc: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Cc: Jerome Glisse <jglisse(a)redhat.com>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: <stable(a)vger.kernel.org> [4.8+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/huge_memory.c~mm-huge_memory-splitting-set-mappingindex-before-unfreeze
+++ a/mm/huge_memory.c
@@ -2402,6 +2402,12 @@ static void __split_huge_page_tail(struc
(1L << PG_unevictable) |
(1L << PG_dirty)));
+ /* ->mapping in first tail page is compound_mapcount */
+ VM_BUG_ON_PAGE(tail > 2 && page_tail->mapping != TAIL_MAPPING,
+ page_tail);
+ page_tail->mapping = head->mapping;
+ page_tail->index = head->index + tail;
+
/* Page flags must be visible before we make the page non-compound. */
smp_wmb();
@@ -2422,12 +2428,6 @@ static void __split_huge_page_tail(struc
if (page_is_idle(head))
set_page_idle(page_tail);
- /* ->mapping in first tail page is compound_mapcount */
- VM_BUG_ON_PAGE(tail > 2 && page_tail->mapping != TAIL_MAPPING,
- page_tail);
- page_tail->mapping = head->mapping;
-
- page_tail->index = head->index + tail;
page_cpupid_xchg_last(page_tail, page_cpupid_last(head));
/*
_
Patches currently in -mm which might be from hughd(a)google.com are
mm-huge_memory-rename-freeze_page-to-unmap_page.patch
mm-huge_memory-splitting-set-mappingindex-before-unfreeze.patch
mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read.patch
mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated.patch
mm-khugepaged-fix-crashes-due-to-misaccounted-holes.patch
mm-khugepaged-collapse_shmem-remember-to-clear-holes.patch
mm-khugepaged-minor-reorderings-in-collapse_shmem.patch
mm-khugepaged-collapse_shmem-without-freezing-new_page.patch
mm-khugepaged-collapse_shmem-do-not-crash-on-compound.patch
mm-khugepaged-fix-the-xas_create_range-error-path.patch
mm-put_and_wait_on_page_locked-while-page-is-migrated.patch
The patch titled
Subject: mm/huge_memory: rename freeze_page() to unmap_page()
has been added to the -mm tree. Its filename is
mm-huge_memory-rename-freeze_page-to-unmap_page.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-huge_memory-rename-freeze_page-…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-huge_memory-rename-freeze_page-…
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: Hugh Dickins <hughd(a)google.com>
Subject: mm/huge_memory: rename freeze_page() to unmap_page()
The term "freeze" is used in several ways in the kernel, and in mm it has
the particular meaning of forcing page refcount temporarily to 0.
freeze_page() is just too confusing a name for a function that unmaps a
page: rename it unmap_page(), and rename unfreeze_page() remap_page().
Went to change the mention of freeze_page() added later in mm/rmap.c, but
found it to be incorrect: ordinary page reclaim reaches there too; but the
substance of the comment still seems correct, so edit it down.
Link: http://lkml.kernel.org/r/alpine.LSU.2.11.1811261514080.2275@eggly.anvils
Fixes: e9b61f19858a5 ("thp: reintroduce split_huge_page()")
Signed-off-by: Hugh Dickins <hughd(a)google.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Cc: Jerome Glisse <jglisse(a)redhat.com>
Cc: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: <stable(a)vger.kernel.org> [4.8+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/huge_memory.c~mm-huge_memory-rename-freeze_page-to-unmap_page
+++ a/mm/huge_memory.c
@@ -2350,7 +2350,7 @@ void vma_adjust_trans_huge(struct vm_are
}
}
-static void freeze_page(struct page *page)
+static void unmap_page(struct page *page)
{
enum ttu_flags ttu_flags = TTU_IGNORE_MLOCK | TTU_IGNORE_ACCESS |
TTU_RMAP_LOCKED | TTU_SPLIT_HUGE_PMD;
@@ -2365,7 +2365,7 @@ static void freeze_page(struct page *pag
VM_BUG_ON_PAGE(!unmap_success, page);
}
-static void unfreeze_page(struct page *page)
+static void remap_page(struct page *page)
{
int i;
if (PageTransHuge(page)) {
@@ -2483,7 +2483,7 @@ static void __split_huge_page(struct pag
spin_unlock_irqrestore(zone_lru_lock(page_zone(head)), flags);
- unfreeze_page(head);
+ remap_page(head);
for (i = 0; i < HPAGE_PMD_NR; i++) {
struct page *subpage = head + i;
@@ -2664,7 +2664,7 @@ int split_huge_page_to_list(struct page
}
/*
- * Racy check if we can split the page, before freeze_page() will
+ * Racy check if we can split the page, before unmap_page() will
* split PMDs
*/
if (!can_split_huge_page(head, &extra_pins)) {
@@ -2673,7 +2673,7 @@ int split_huge_page_to_list(struct page
}
mlocked = PageMlocked(page);
- freeze_page(head);
+ unmap_page(head);
VM_BUG_ON_PAGE(compound_mapcount(head), head);
/* Make sure the page is not on per-CPU pagevec as it takes pin */
@@ -2727,7 +2727,7 @@ int split_huge_page_to_list(struct page
fail: if (mapping)
xa_unlock(&mapping->i_pages);
spin_unlock_irqrestore(zone_lru_lock(page_zone(head)), flags);
- unfreeze_page(head);
+ remap_page(head);
ret = -EBUSY;
}
--- a/mm/rmap.c~mm-huge_memory-rename-freeze_page-to-unmap_page
+++ a/mm/rmap.c
@@ -1627,16 +1627,9 @@ static bool try_to_unmap_one(struct page
address + PAGE_SIZE);
} else {
/*
- * We should not need to notify here as we reach this
- * case only from freeze_page() itself only call from
- * split_huge_page_to_list() so everything below must
- * be true:
- * - page is not anonymous
- * - page is locked
- *
- * So as it is a locked file back page thus it can not
- * be remove from the page cache and replace by a new
- * page before mmu_notifier_invalidate_range_end so no
+ * This is a locked file-backed page, thus it cannot
+ * be removed from the page cache and replaced by a new
+ * page before mmu_notifier_invalidate_range_end, so no
* concurrent thread might update its page table to
* point at new page while a device still is using this
* page.
_
Patches currently in -mm which might be from hughd(a)google.com are
mm-huge_memory-rename-freeze_page-to-unmap_page.patch
mm-huge_memory-splitting-set-mappingindex-before-unfreeze.patch
mm-huge_memory-fix-lockdep-complaint-on-32-bit-i_size_read.patch
mm-khugepaged-collapse_shmem-stop-if-punched-or-truncated.patch
mm-khugepaged-fix-crashes-due-to-misaccounted-holes.patch
mm-khugepaged-collapse_shmem-remember-to-clear-holes.patch
mm-khugepaged-minor-reorderings-in-collapse_shmem.patch
mm-khugepaged-collapse_shmem-without-freezing-new_page.patch
mm-khugepaged-collapse_shmem-do-not-crash-on-compound.patch
mm-khugepaged-fix-the-xas_create_range-error-path.patch
mm-put_and_wait_on_page_locked-while-page-is-migrated.patch
From: Dexuan Cui <decui(a)microsoft.com>
We can concurrently try to open the same sub-channel from 2 paths:
path #1: vmbus_onoffer() -> vmbus_process_offer() -> handle_sc_creation().
path #2: storvsc_probe() -> storvsc_connect_to_vsp() ->
-> storvsc_channel_init() -> handle_multichannel_storage() ->
-> vmbus_are_subchannels_present() -> handle_sc_creation().
They conflict with each other, but it was not an issue before the recent
commit ae6935ed7d42 ("vmbus: split ring buffer allocation from open"),
because at the beginning of vmbus_open() we checked newchannel->state so
only one path could succeed, and the other would return with -EINVAL.
After ae6935ed7d42, the failing path frees the channel's ringbuffer by
vmbus_free_ring(), and this causes a panic later.
Commit ae6935ed7d42 itself is good, and it just reveals the longstanding
race. We can resolve the issue by removing path #2, i.e. removing the
second vmbus_are_subchannels_present() in handle_multichannel_storage().
BTW, the comment "Check to see if sub-channels have already been created"
in handle_multichannel_storage() is incorrect: when we unload the driver,
we first close the sub-channel(s) and then close the primary channel, next
the host sends rescind-offer message(s) so primary->sc_list will become
empty. This means the first vmbus_are_subchannels_present() in
handle_multichannel_storage() is never useful.
Fixes: ae6935ed7d42 ("vmbus: split ring buffer allocation from open")
Cc: stable(a)vger.kernel.org
Cc: Long Li <longli(a)microsoft.com>
Cc: Stephen Hemminger <sthemmin(a)microsoft.com>
Cc: K. Y. Srinivasan <kys(a)microsoft.com>
Cc: Haiyang Zhang <haiyangz(a)microsoft.com>
Signed-off-by: Dexuan Cui <decui(a)microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys(a)microsoft.com>
---
drivers/scsi/storvsc_drv.c | 61 +++++++++++++++++++-------------------
1 file changed, 30 insertions(+), 31 deletions(-)
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c
index f03dc03a42c3..8f88348ebe42 100644
--- a/drivers/scsi/storvsc_drv.c
+++ b/drivers/scsi/storvsc_drv.c
@@ -446,7 +446,6 @@ struct storvsc_device {
bool destroy;
bool drain_notify;
- bool open_sub_channel;
atomic_t num_outstanding_req;
struct Scsi_Host *host;
@@ -636,33 +635,38 @@ static inline struct storvsc_device *get_in_stor_device(
static void handle_sc_creation(struct vmbus_channel *new_sc)
{
struct hv_device *device = new_sc->primary_channel->device_obj;
+ struct device *dev = &device->device;
struct storvsc_device *stor_device;
struct vmstorage_channel_properties props;
+ int ret;
stor_device = get_out_stor_device(device);
if (!stor_device)
return;
- if (stor_device->open_sub_channel == false)
- return;
-
memset(&props, 0, sizeof(struct vmstorage_channel_properties));
- vmbus_open(new_sc,
- storvsc_ringbuffer_size,
- storvsc_ringbuffer_size,
- (void *)&props,
- sizeof(struct vmstorage_channel_properties),
- storvsc_on_channel_callback, new_sc);
+ ret = vmbus_open(new_sc,
+ storvsc_ringbuffer_size,
+ storvsc_ringbuffer_size,
+ (void *)&props,
+ sizeof(struct vmstorage_channel_properties),
+ storvsc_on_channel_callback, new_sc);
- if (new_sc->state == CHANNEL_OPENED_STATE) {
- stor_device->stor_chns[new_sc->target_cpu] = new_sc;
- cpumask_set_cpu(new_sc->target_cpu, &stor_device->alloced_cpus);
+ /* In case vmbus_open() fails, we don't use the sub-channel. */
+ if (ret != 0) {
+ dev_err(dev, "Failed to open sub-channel: err=%d\n", ret);
+ return;
}
+
+ /* Add the sub-channel to the array of available channels. */
+ stor_device->stor_chns[new_sc->target_cpu] = new_sc;
+ cpumask_set_cpu(new_sc->target_cpu, &stor_device->alloced_cpus);
}
static void handle_multichannel_storage(struct hv_device *device, int max_chns)
{
+ struct device *dev = &device->device;
struct storvsc_device *stor_device;
int num_cpus = num_online_cpus();
int num_sc;
@@ -679,21 +683,11 @@ static void handle_multichannel_storage(struct hv_device *device, int max_chns)
request = &stor_device->init_request;
vstor_packet = &request->vstor_packet;
- stor_device->open_sub_channel = true;
/*
* Establish a handler for dealing with subchannels.
*/
vmbus_set_sc_create_callback(device->channel, handle_sc_creation);
- /*
- * Check to see if sub-channels have already been created. This
- * can happen when this driver is re-loaded after unloading.
- */
-
- if (vmbus_are_subchannels_present(device->channel))
- return;
-
- stor_device->open_sub_channel = false;
/*
* Request the host to create sub-channels.
*/
@@ -710,23 +704,29 @@ static void handle_multichannel_storage(struct hv_device *device, int max_chns)
VM_PKT_DATA_INBAND,
VMBUS_DATA_PACKET_FLAG_COMPLETION_REQUESTED);
- if (ret != 0)
+ if (ret != 0) {
+ dev_err(dev, "Failed to create sub-channel: err=%d\n", ret);
return;
+ }
t = wait_for_completion_timeout(&request->wait_event, 10*HZ);
- if (t == 0)
+ if (t == 0) {
+ dev_err(dev, "Failed to create sub-channel: timed out\n");
return;
+ }
if (vstor_packet->operation != VSTOR_OPERATION_COMPLETE_IO ||
- vstor_packet->status != 0)
+ vstor_packet->status != 0) {
+ dev_err(dev, "Failed to create sub-channel: op=%d, sts=%d\n",
+ vstor_packet->operation, vstor_packet->status);
return;
+ }
/*
- * Now that we created the sub-channels, invoke the check; this
- * may trigger the callback.
+ * We need to do nothing here, because vmbus_process_offer()
+ * invokes channel->sc_creation_callback, which will open and use
+ * the sub-channel(s).
*/
- stor_device->open_sub_channel = true;
- vmbus_are_subchannels_present(device->channel);
}
static void cache_wwn(struct storvsc_device *stor_device,
@@ -1794,7 +1794,6 @@ static int storvsc_probe(struct hv_device *device,
}
stor_device->destroy = false;
- stor_device->open_sub_channel = false;
init_waitqueue_head(&stor_device->waiting_to_drain);
stor_device->device = device;
stor_device->host = host;
--
2.19.1
The patch titled
Subject: zram: writeback throttle
has been added to the -mm tree. Its filename is
zram-writeback-throttle.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/zram-writeback-throttle.patch
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/zram-writeback-throttle.patch
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: Minchan Kim <minchan(a)kernel.org>
Subject: zram: writeback throttle
On small memory systems there are lots of write IOs so if we use a flash
device as swap there would be serious flash wearout. To overcome this
problem, system developers need to design a write limitation strategy to
guarantee flash health for the entire product life.
This patch creates a new knob "writeback_limit" on zram. With that, if
the current writeback IO count (/sys/block/zramX/io_stat) exceeds the
limitation, zram stops further writeback until the admin can reset the
limit.
Link: http://lkml.kernel.org/r/20181127055429.251614-8-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan(a)kernel.org>
Cc: Joey Pabalinas <joeypabalinas(a)gmail.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work(a)gmail.com>
Cc: <stable(a)vger.kernel.org> [4.14+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
Documentation/ABI/testing/sysfs-block-zram | 9 +++
Documentation/blockdev/zram.txt | 2
drivers/block/zram/zram_drv.c | 47 ++++++++++++++++++-
drivers/block/zram/zram_drv.h | 2
4 files changed, 59 insertions(+), 1 deletion(-)
--- a/Documentation/ABI/testing/sysfs-block-zram~zram-writeback-throttle
+++ a/Documentation/ABI/testing/sysfs-block-zram
@@ -121,3 +121,12 @@ Description:
The bd_stat file is read-only and represents backing device's
statistics (bd_count, bd_reads, bd_writes) in a format
similar to block layer statistics file format.
+
+What: /sys/block/zram<id>/writeback_limit
+Date: November 2018
+Contact: Minchan Kim <minchan(a)kernel.org>
+Description:
+ The writeback_limit file is read-write and specifies the maximum
+ amount of writeback ZRAM can do. The limit could be changed
+ in run time and "0" means disable the limit.
+ No limit is the initial state.
--- a/Documentation/blockdev/zram.txt~zram-writeback-throttle
+++ a/Documentation/blockdev/zram.txt
@@ -164,6 +164,8 @@ reset WO trigger device r
mem_used_max WO reset the `mem_used_max' counter (see later)
mem_limit WO specifies the maximum amount of memory ZRAM can use
to store the compressed data
+writeback_limit WO specifies the maximum amount of write IO zram can
+ write out to backing device as 4KB unit
max_comp_streams RW the number of possible concurrent compress operations
comp_algorithm RW show and change the compression algorithm
compact WO trigger memory compaction
--- a/drivers/block/zram/zram_drv.c~zram-writeback-throttle
+++ a/drivers/block/zram/zram_drv.c
@@ -330,6 +330,40 @@ next:
}
#ifdef CONFIG_ZRAM_WRITEBACK
+
+static ssize_t writeback_limit_store(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t len)
+{
+ struct zram *zram = dev_to_zram(dev);
+ u64 val;
+ ssize_t ret = -EINVAL;
+
+ if (kstrtoull(buf, 10, &val))
+ return ret;
+
+ down_read(&zram->init_lock);
+ atomic64_set(&zram->stats.bd_wb_limit, val);
+ if (val == 0 || val > atomic64_read(&zram->stats.bd_writes))
+ zram->stop_writeback = false;
+ up_read(&zram->init_lock);
+ ret = len;
+
+ return ret;
+}
+
+static ssize_t writeback_limit_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ u64 val;
+ struct zram *zram = dev_to_zram(dev);
+
+ down_read(&zram->init_lock);
+ val = atomic64_read(&zram->stats.bd_wb_limit);
+ up_read(&zram->init_lock);
+
+ return scnprintf(buf, PAGE_SIZE, "%llu\n", val);
+}
+
static void reset_bdev(struct zram *zram)
{
struct block_device *bdev;
@@ -571,6 +605,7 @@ static ssize_t writeback_store(struct de
char mode_buf[8];
unsigned long mode = -1UL;
unsigned long blk_idx = 0;
+ u64 wb_count, wb_limit;
sz = strscpy(mode_buf, buf, sizeof(mode_buf));
if (sz <= 0)
@@ -612,6 +647,11 @@ static ssize_t writeback_store(struct de
bvec.bv_len = PAGE_SIZE;
bvec.bv_offset = 0;
+ if (zram->stop_writeback) {
+ ret = -EIO;
+ break;
+ }
+
if (!blk_idx) {
blk_idx = alloc_block_bdev(zram);
if (!blk_idx) {
@@ -670,7 +710,7 @@ static ssize_t writeback_store(struct de
continue;
}
- atomic64_inc(&zram->stats.bd_writes);
+ wb_count = atomic64_inc_return(&zram->stats.bd_writes);
/*
* We released zram_slot_lock so need to check if the slot was
* changed. If there is freeing for the slot, we can catch it
@@ -694,6 +734,9 @@ static ssize_t writeback_store(struct de
zram_set_element(zram, index, blk_idx);
blk_idx = 0;
atomic64_inc(&zram->stats.pages_stored);
+ wb_limit = atomic64_read(&zram->stats.bd_wb_limit);
+ if (wb_limit != 0 && wb_count >= wb_limit)
+ zram->stop_writeback = true;
next:
zram_slot_unlock(zram, index);
}
@@ -1767,6 +1810,7 @@ static DEVICE_ATTR_RW(comp_algorithm);
#ifdef CONFIG_ZRAM_WRITEBACK
static DEVICE_ATTR_RW(backing_dev);
static DEVICE_ATTR_WO(writeback);
+static DEVICE_ATTR_RW(writeback_limit);
#endif
static struct attribute *zram_disk_attrs[] = {
@@ -1782,6 +1826,7 @@ static struct attribute *zram_disk_attrs
#ifdef CONFIG_ZRAM_WRITEBACK
&dev_attr_backing_dev.attr,
&dev_attr_writeback.attr,
+ &dev_attr_writeback_limit.attr,
#endif
&dev_attr_io_stat.attr,
&dev_attr_mm_stat.attr,
--- a/drivers/block/zram/zram_drv.h~zram-writeback-throttle
+++ a/drivers/block/zram/zram_drv.h
@@ -86,6 +86,7 @@ struct zram_stats {
atomic64_t bd_count; /* no. of pages in backing device */
atomic64_t bd_reads; /* no. of reads from backing device */
atomic64_t bd_writes; /* no. of writes from backing device */
+ atomic64_t bd_wb_limit; /* writeback limit of backing device */
#endif
};
@@ -113,6 +114,7 @@ struct zram {
*/
bool claim; /* Protected by bdev->bd_mutex */
struct file *backing_dev;
+ bool stop_writeback;
#ifdef CONFIG_ZRAM_WRITEBACK
struct block_device *bdev;
unsigned int old_block_size;
_
Patches currently in -mm which might be from minchan(a)kernel.org are
zram-fix-lockdep-warning-of-free-block-handling.patch
zram-fix-double-free-backing-device.patch
zram-refactoring-flags-and-writeback-stuff.patch
zram-introduce-zram_idle-flag.patch
zram-support-idle-huge-page-writeback.patch
zram-add-bd_stat-statistics.patch
zram-writeback-throttle.patch
The patch titled
Subject: zram: add bd_stat statistics
has been added to the -mm tree. Its filename is
zram-add-bd_stat-statistics.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/zram-add-bd_stat-statistics.patch
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/zram-add-bd_stat-statistics.patch
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: Minchan Kim <minchan(a)kernel.org>
Subject: zram: add bd_stat statistics
bd_stat represents things that happened in the backing device. Currently
it supports bd_counts, bd_reads and bd_writes which are helpful to
understand wearout of flash and memory saving.
Link: http://lkml.kernel.org/r/20181127055429.251614-7-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan(a)kernel.org>
Cc: Joey Pabalinas <joeypabalinas(a)gmail.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work(a)gmail.com>
Cc: <stable(a)vger.kernel.org> [4.14+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
Documentation/ABI/testing/sysfs-block-zram | 8 +++++
Documentation/blockdev/zram.txt | 11 +++++++
drivers/block/zram/zram_drv.c | 29 +++++++++++++++++++
drivers/block/zram/zram_drv.h | 5 +++
4 files changed, 53 insertions(+)
--- a/Documentation/ABI/testing/sysfs-block-zram~zram-add-bd_stat-statistics
+++ a/Documentation/ABI/testing/sysfs-block-zram
@@ -113,3 +113,11 @@ Contact: Minchan Kim <minchan(a)kernel.org
Description:
The writeback file is write-only and trigger idle and/or
huge page writeback to backing device.
+
+What: /sys/block/zram<id>/bd_stat
+Date: November 2018
+Contact: Minchan Kim <minchan(a)kernel.org>
+Description:
+ The bd_stat file is read-only and represents backing device's
+ statistics (bd_count, bd_reads, bd_writes) in a format
+ similar to block layer statistics file format.
--- a/Documentation/blockdev/zram.txt~zram-add-bd_stat-statistics
+++ a/Documentation/blockdev/zram.txt
@@ -221,6 +221,17 @@ line of text and contains the following
pages_compacted the number of pages freed during compaction
huge_pages the number of incompressible pages
+File /sys/block/zram<id>/bd_stat
+
+The stat file represents device's backing device statistics. It consists of
+a single line of text and contains the following stats separated by whitespace:
+ bd_count size of data written in backing device.
+ Unit: 4K bytes
+ bd_reads the number of reads from backing device
+ Unit: 4K bytes
+ bd_writes the number of writes to backing device
+ Unit: 4K bytes
+
9) Deactivate:
swapoff /dev/zram0
umount /dev/zram1
--- a/drivers/block/zram/zram_drv.c~zram-add-bd_stat-statistics
+++ a/drivers/block/zram/zram_drv.c
@@ -502,6 +502,7 @@ retry:
if (test_and_set_bit(blk_idx, zram->bitmap))
goto retry;
+ atomic64_inc(&zram->stats.bd_count);
return blk_idx;
}
@@ -511,6 +512,7 @@ static void free_block_bdev(struct zram
was_set = test_and_clear_bit(blk_idx, zram->bitmap);
WARN_ON_ONCE(!was_set);
+ atomic64_dec(&zram->stats.bd_count);
}
static void zram_page_end_io(struct bio *bio)
@@ -668,6 +670,7 @@ static ssize_t writeback_store(struct de
continue;
}
+ atomic64_inc(&zram->stats.bd_writes);
/*
* We released zram_slot_lock so need to check if the slot was
* changed. If there is freeing for the slot, we can catch it
@@ -757,6 +760,7 @@ static int read_from_bdev_sync(struct zr
static int read_from_bdev(struct zram *zram, struct bio_vec *bvec,
unsigned long entry, struct bio *parent, bool sync)
{
+ atomic64_inc(&zram->stats.bd_reads);
if (sync)
return read_from_bdev_sync(zram, bvec, entry, parent);
else
@@ -1013,6 +1017,25 @@ static ssize_t mm_stat_show(struct devic
return ret;
}
+#ifdef CONFIG_ZRAM_WRITEBACK
+static ssize_t bd_stat_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+{
+ struct zram *zram = dev_to_zram(dev);
+ ssize_t ret;
+
+ down_read(&zram->init_lock);
+ ret = scnprintf(buf, PAGE_SIZE,
+ "%8llu %8llu %8llu\n",
+ (u64)atomic64_read(&zram->stats.bd_count),
+ (u64)atomic64_read(&zram->stats.bd_reads),
+ (u64)atomic64_read(&zram->stats.bd_writes));
+ up_read(&zram->init_lock);
+
+ return ret;
+}
+#endif
+
static ssize_t debug_stat_show(struct device *dev,
struct device_attribute *attr, char *buf)
{
@@ -1033,6 +1056,9 @@ static ssize_t debug_stat_show(struct de
static DEVICE_ATTR_RO(io_stat);
static DEVICE_ATTR_RO(mm_stat);
+#ifdef CONFIG_ZRAM_WRITEBACK
+static DEVICE_ATTR_RO(bd_stat);
+#endif
static DEVICE_ATTR_RO(debug_stat);
static void zram_meta_free(struct zram *zram, u64 disksize)
@@ -1759,6 +1785,9 @@ static struct attribute *zram_disk_attrs
#endif
&dev_attr_io_stat.attr,
&dev_attr_mm_stat.attr,
+#ifdef CONFIG_ZRAM_WRITEBACK
+ &dev_attr_bd_stat.attr,
+#endif
&dev_attr_debug_stat.attr,
NULL,
};
--- a/drivers/block/zram/zram_drv.h~zram-add-bd_stat-statistics
+++ a/drivers/block/zram/zram_drv.h
@@ -82,6 +82,11 @@ struct zram_stats {
atomic_long_t max_used_pages; /* no. of maximum pages stored */
atomic64_t writestall; /* no. of write slow paths */
atomic64_t miss_free; /* no. of missed free */
+#ifdef CONFIG_ZRAM_WRITEBACK
+ atomic64_t bd_count; /* no. of pages in backing device */
+ atomic64_t bd_reads; /* no. of reads from backing device */
+ atomic64_t bd_writes; /* no. of writes from backing device */
+#endif
};
struct zram {
_
Patches currently in -mm which might be from minchan(a)kernel.org are
zram-fix-lockdep-warning-of-free-block-handling.patch
zram-fix-double-free-backing-device.patch
zram-refactoring-flags-and-writeback-stuff.patch
zram-introduce-zram_idle-flag.patch
zram-support-idle-huge-page-writeback.patch
zram-add-bd_stat-statistics.patch
zram-writeback-throttle.patch
The patch titled
Subject: zram: support idle/huge page writeback
has been added to the -mm tree. Its filename is
zram-support-idle-huge-page-writeback.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/zram-support-idle-huge-page-writeb…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/zram-support-idle-huge-page-writeb…
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: Minchan Kim <minchan(a)kernel.org>
Subject: zram: support idle/huge page writeback
Add a new feature "zram idle/huge page writeback". In the zram-swap use
case, zram usually has many idle/huge swap pages. It's pointless to keep
them in memory (ie, zram).
To solve this problem, this feature introduces idle/huge page writeback to
the backing device so the goal is to save more memory space on embedded
systems.
Normal sequence to use idle/huge page writeback feature is as follows,
while (1) {
# mark allocated zram slot to idle
echo all > /sys/block/zram0/idle
# leave system working for several hours
# Unless there is no access for some blocks on zram,
# they are still IDLE marked pages.
echo "idle" > /sys/block/zram0/writeback
or/and
echo "huge" > /sys/block/zram0/writeback
# write the IDLE or/and huge marked slot into backing device
# and free the memory.
}
By per discussion:
https://lore.kernel.org/lkml/20181122065926.GG3441@jagdpanzerIV/T/#u,
This patch removes direct incommpressibe page writeback feature
(d2afd25114f4 ("zram: write incompressible pages to backing device")) so
we could regard it as regression because incompressible pages don't go to
backing storage automatically. Instead, users should do this via "echo
huge" > /sys/block/zram/writeback" manually.
If we hear some regression, we could restore the function.
Link: http://lkml.kernel.org/r/20181127055429.251614-6-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan(a)kernel.org>
Reviewed-by: Joey Pabalinas <joeypabalinas(a)gmail.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work(a)gmail.com>
Cc: <stable(a)vger.kernel.org> [4.14+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
Documentation/ABI/testing/sysfs-block-zram | 7
Documentation/blockdev/zram.txt | 28 +-
drivers/block/zram/Kconfig | 5
drivers/block/zram/zram_drv.c | 247 +++++++++++++------
drivers/block/zram/zram_drv.h | 1
5 files changed, 209 insertions(+), 79 deletions(-)
--- a/Documentation/ABI/testing/sysfs-block-zram~zram-support-idle-huge-page-writeback
+++ a/Documentation/ABI/testing/sysfs-block-zram
@@ -106,3 +106,10 @@ Description:
idle file is write-only and mark zram slot as idle.
If system has mounted debugfs, user can see which slots
are idle via /sys/kernel/debug/zram/zram<id>/block_state
+
+What: /sys/block/zram<id>/writeback
+Date: November 2018
+Contact: Minchan Kim <minchan(a)kernel.org>
+Description:
+ The writeback file is write-only and trigger idle and/or
+ huge page writeback to backing device.
--- a/Documentation/blockdev/zram.txt~zram-support-idle-huge-page-writeback
+++ a/Documentation/blockdev/zram.txt
@@ -238,11 +238,31 @@ line of text and contains the following
= writeback
-With incompressible pages, there is no memory saving with zram.
-Instead, with CONFIG_ZRAM_WRITEBACK, zram can write incompressible page
+With CONFIG_ZRAM_WRITEBACK, zram can write idle/incompressible page
to backing storage rather than keeping it in memory.
-User should set up backing device via /sys/block/zramX/backing_dev
-before disksize setting.
+To use the feature, admin should set up backing device via
+
+ "echo /dev/sda5 > /sys/block/zramX/backing_dev"
+
+before disksize setting. It supports only partition at this moment.
+If admin want to use incompressible page writeback, they could do via
+
+ "echo huge > /sys/block/zramX/write"
+
+To use idle page writeback, first, user need to declare zram pages
+as idle.
+
+ "echo all > /sys/block/zramX/idle"
+
+From now on, any pages on zram are idle pages. The idle mark
+will be removed until someone request access of the block.
+IOW, unless there is access request, those pages are still idle pages.
+
+Admin can request writeback of those idle pages at right timing via
+
+ "echo idle > /sys/block/zramX/writeback"
+
+With the command, zram writeback idle pages from memory to the storage.
= memory tracking
--- a/drivers/block/zram/Kconfig~zram-support-idle-huge-page-writeback
+++ a/drivers/block/zram/Kconfig
@@ -15,7 +15,7 @@ config ZRAM
See Documentation/blockdev/zram.txt for more information.
config ZRAM_WRITEBACK
- bool "Write back incompressible page to backing device"
+ bool "Write back incompressible or idle page to backing device"
depends on ZRAM
help
With incompressible page, there is no memory saving to keep it
@@ -23,6 +23,9 @@ config ZRAM_WRITEBACK
For this feature, admin should set up backing device via
/sys/block/zramX/backing_dev.
+ With /sys/block/zramX/{idle,writeback}, application could ask
+ idle page's writeback to the backing device to save in memory.
+
See Documentation/blockdev/zram.txt for more information.
config ZRAM_MEMORY_TRACKING
--- a/drivers/block/zram/zram_drv.c~zram-support-idle-huge-page-writeback
+++ a/drivers/block/zram/zram_drv.c
@@ -52,6 +52,9 @@ static unsigned int num_devices = 1;
static size_t huge_class_size;
static void zram_free_page(struct zram *zram, size_t index);
+static int zram_bvec_read(struct zram *zram, struct bio_vec *bvec,
+ u32 index, int offset, struct bio *bio);
+
static int zram_slot_trylock(struct zram *zram, u32 index)
{
@@ -73,13 +76,6 @@ static inline bool init_done(struct zram
return zram->disksize;
}
-static inline bool zram_allocated(struct zram *zram, u32 index)
-{
-
- return (zram->table[index].flags >> (ZRAM_FLAG_SHIFT + 1)) ||
- zram->table[index].handle;
-}
-
static inline struct zram *dev_to_zram(struct device *dev)
{
return (struct zram *)dev_to_disk(dev)->private_data;
@@ -138,6 +134,13 @@ static void zram_set_obj_size(struct zra
zram->table[index].flags = (flags << ZRAM_FLAG_SHIFT) | size;
}
+static inline bool zram_allocated(struct zram *zram, u32 index)
+{
+ return zram_get_obj_size(zram, index) ||
+ zram_test_flag(zram, index, ZRAM_SAME) ||
+ zram_test_flag(zram, index, ZRAM_WB);
+}
+
#if PAGE_SIZE != 4096
static inline bool is_partial_io(struct bio_vec *bvec)
{
@@ -308,10 +311,14 @@ static ssize_t idle_store(struct device
}
for (index = 0; index < nr_pages; index++) {
+ /*
+ * Do not mark ZRAM_UNDER_WB slot as ZRAM_IDLE to close race.
+ * See the comment in writeback_store.
+ */
zram_slot_lock(zram, index);
- if (!zram_allocated(zram, index))
+ if (!zram_allocated(zram, index) ||
+ zram_test_flag(zram, index, ZRAM_UNDER_WB))
goto next;
-
zram_set_flag(zram, index, ZRAM_IDLE);
next:
zram_slot_unlock(zram, index);
@@ -546,6 +553,158 @@ static int read_from_bdev_async(struct z
return 1;
}
+#define HUGE_WRITEBACK 0x1
+#define IDLE_WRITEBACK 0x2
+
+static ssize_t writeback_store(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t len)
+{
+ struct zram *zram = dev_to_zram(dev);
+ unsigned long nr_pages = zram->disksize >> PAGE_SHIFT;
+ unsigned long index;
+ struct bio bio;
+ struct bio_vec bio_vec;
+ struct page *page;
+ ssize_t ret, sz;
+ char mode_buf[8];
+ unsigned long mode = -1UL;
+ unsigned long blk_idx = 0;
+
+ sz = strscpy(mode_buf, buf, sizeof(mode_buf));
+ if (sz <= 0)
+ return -EINVAL;
+
+ /* ignore trailing newline */
+ if (mode_buf[sz - 1] == '\n')
+ mode_buf[sz - 1] = 0x00;
+
+ if (!strcmp(mode_buf, "idle"))
+ mode = IDLE_WRITEBACK;
+ else if (!strcmp(mode_buf, "huge"))
+ mode = HUGE_WRITEBACK;
+
+ if (mode == -1UL)
+ return -EINVAL;
+
+ down_read(&zram->init_lock);
+ if (!init_done(zram)) {
+ ret = -EINVAL;
+ goto release_init_lock;
+ }
+
+ if (!zram->backing_dev) {
+ ret = -ENODEV;
+ goto release_init_lock;
+ }
+
+ page = alloc_page(GFP_KERNEL);
+ if (!page) {
+ ret = -ENOMEM;
+ goto release_init_lock;
+ }
+
+ for (index = 0; index < nr_pages; index++) {
+ struct bio_vec bvec;
+
+ bvec.bv_page = page;
+ bvec.bv_len = PAGE_SIZE;
+ bvec.bv_offset = 0;
+
+ if (!blk_idx) {
+ blk_idx = alloc_block_bdev(zram);
+ if (!blk_idx) {
+ ret = -ENOSPC;
+ break;
+ }
+ }
+
+ zram_slot_lock(zram, index);
+ if (!zram_allocated(zram, index))
+ goto next;
+
+ if (zram_test_flag(zram, index, ZRAM_WB) ||
+ zram_test_flag(zram, index, ZRAM_SAME) ||
+ zram_test_flag(zram, index, ZRAM_UNDER_WB))
+ goto next;
+
+ if ((mode & IDLE_WRITEBACK &&
+ !zram_test_flag(zram, index, ZRAM_IDLE)) &&
+ (mode & HUGE_WRITEBACK &&
+ !zram_test_flag(zram, index, ZRAM_HUGE)))
+ goto next;
+ /*
+ * Clearing ZRAM_UNDER_WB is duty of caller.
+ * IOW, zram_free_page never clear it.
+ */
+ zram_set_flag(zram, index, ZRAM_UNDER_WB);
+ /* Need for hugepage writeback racing */
+ zram_set_flag(zram, index, ZRAM_IDLE);
+ zram_slot_unlock(zram, index);
+ if (zram_bvec_read(zram, &bvec, index, 0, NULL)) {
+ zram_slot_lock(zram, index);
+ zram_clear_flag(zram, index, ZRAM_UNDER_WB);
+ zram_clear_flag(zram, index, ZRAM_IDLE);
+ zram_slot_unlock(zram, index);
+ continue;
+ }
+
+ bio_init(&bio, &bio_vec, 1);
+ bio_set_dev(&bio, zram->bdev);
+ bio.bi_iter.bi_sector = blk_idx * (PAGE_SIZE >> 9);
+ bio.bi_opf = REQ_OP_WRITE | REQ_SYNC;
+
+ bio_add_page(&bio, bvec.bv_page, bvec.bv_len,
+ bvec.bv_offset);
+ /*
+ * XXX: A single page IO would be inefficient for write
+ * but it would be not bad as starter.
+ */
+ ret = submit_bio_wait(&bio);
+ if (ret) {
+ zram_slot_lock(zram, index);
+ zram_clear_flag(zram, index, ZRAM_UNDER_WB);
+ zram_clear_flag(zram, index, ZRAM_IDLE);
+ zram_slot_unlock(zram, index);
+ continue;
+ }
+
+ /*
+ * We released zram_slot_lock so need to check if the slot was
+ * changed. If there is freeing for the slot, we can catch it
+ * easily by zram_allocated.
+ * A subtle case is the slot is freed/reallocated/marked as
+ * ZRAM_IDLE again. To close the race, idle_store doesn't
+ * mark ZRAM_IDLE once it found the slot was ZRAM_UNDER_WB.
+ * Thus, we could close the race by checking ZRAM_IDLE bit.
+ */
+ zram_slot_lock(zram, index);
+ if (!zram_allocated(zram, index) ||
+ !zram_test_flag(zram, index, ZRAM_IDLE)) {
+ zram_clear_flag(zram, index, ZRAM_UNDER_WB);
+ zram_clear_flag(zram, index, ZRAM_IDLE);
+ goto next;
+ }
+
+ zram_free_page(zram, index);
+ zram_clear_flag(zram, index, ZRAM_UNDER_WB);
+ zram_set_flag(zram, index, ZRAM_WB);
+ zram_set_element(zram, index, blk_idx);
+ blk_idx = 0;
+ atomic64_inc(&zram->stats.pages_stored);
+next:
+ zram_slot_unlock(zram, index);
+ }
+
+ if (blk_idx)
+ free_block_bdev(zram, blk_idx);
+ ret = len;
+ __free_page(page);
+release_init_lock:
+ up_read(&zram->init_lock);
+
+ return ret;
+}
+
struct zram_work {
struct work_struct work;
struct zram *zram;
@@ -603,57 +762,8 @@ static int read_from_bdev(struct zram *z
else
return read_from_bdev_async(zram, bvec, entry, parent);
}
-
-static int write_to_bdev(struct zram *zram, struct bio_vec *bvec,
- u32 index, struct bio *parent,
- unsigned long *pentry)
-{
- struct bio *bio;
- unsigned long entry;
-
- bio = bio_alloc(GFP_ATOMIC, 1);
- if (!bio)
- return -ENOMEM;
-
- entry = alloc_block_bdev(zram);
- if (!entry) {
- bio_put(bio);
- return -ENOSPC;
- }
-
- bio->bi_iter.bi_sector = entry * (PAGE_SIZE >> 9);
- bio_set_dev(bio, zram->bdev);
- if (!bio_add_page(bio, bvec->bv_page, bvec->bv_len,
- bvec->bv_offset)) {
- bio_put(bio);
- free_block_bdev(zram, entry);
- return -EIO;
- }
-
- if (!parent) {
- bio->bi_opf = REQ_OP_WRITE | REQ_SYNC;
- bio->bi_end_io = zram_page_end_io;
- } else {
- bio->bi_opf = parent->bi_opf;
- bio_chain(bio, parent);
- }
-
- submit_bio(bio);
- *pentry = entry;
-
- return 0;
-}
-
#else
static inline void reset_bdev(struct zram *zram) {};
-static int write_to_bdev(struct zram *zram, struct bio_vec *bvec,
- u32 index, struct bio *parent,
- unsigned long *pentry)
-
-{
- return -EIO;
-}
-
static int read_from_bdev(struct zram *zram, struct bio_vec *bvec,
unsigned long entry, struct bio *parent, bool sync)
{
@@ -1006,7 +1116,8 @@ out:
atomic64_dec(&zram->stats.pages_stored);
zram_set_handle(zram, index, 0);
zram_set_obj_size(zram, index, 0);
- WARN_ON_ONCE(zram->table[index].flags & ~(1UL << ZRAM_LOCK));
+ WARN_ON_ONCE(zram->table[index].flags &
+ ~(1UL << ZRAM_LOCK | 1UL << ZRAM_UNDER_WB));
}
static int __zram_bvec_read(struct zram *zram, struct page *page, u32 index,
@@ -1115,7 +1226,6 @@ static int __zram_bvec_write(struct zram
struct page *page = bvec->bv_page;
unsigned long element = 0;
enum zram_pageflags flags = 0;
- bool allow_wb = true;
mem = kmap_atomic(page);
if (page_same_filled(mem, &element)) {
@@ -1140,21 +1250,8 @@ compress_again:
return ret;
}
- if (unlikely(comp_len >= huge_class_size)) {
+ if (comp_len >= huge_class_size)
comp_len = PAGE_SIZE;
- if (zram->backing_dev && allow_wb) {
- zcomp_stream_put(zram->comp);
- ret = write_to_bdev(zram, bvec, index, bio, &element);
- if (!ret) {
- flags = ZRAM_WB;
- ret = 1;
- goto out;
- }
- allow_wb = false;
- goto compress_again;
- }
- }
-
/*
* handle allocation has 2 paths:
* a) fast path is executed with preemption disabled (for
@@ -1643,6 +1740,7 @@ static DEVICE_ATTR_RW(max_comp_streams);
static DEVICE_ATTR_RW(comp_algorithm);
#ifdef CONFIG_ZRAM_WRITEBACK
static DEVICE_ATTR_RW(backing_dev);
+static DEVICE_ATTR_WO(writeback);
#endif
static struct attribute *zram_disk_attrs[] = {
@@ -1657,6 +1755,7 @@ static struct attribute *zram_disk_attrs
&dev_attr_comp_algorithm.attr,
#ifdef CONFIG_ZRAM_WRITEBACK
&dev_attr_backing_dev.attr,
+ &dev_attr_writeback.attr,
#endif
&dev_attr_io_stat.attr,
&dev_attr_mm_stat.attr,
--- a/drivers/block/zram/zram_drv.h~zram-support-idle-huge-page-writeback
+++ a/drivers/block/zram/zram_drv.h
@@ -47,6 +47,7 @@ enum zram_pageflags {
ZRAM_LOCK = ZRAM_FLAG_SHIFT,
ZRAM_SAME, /* Page consists the same element */
ZRAM_WB, /* page is stored on backing_device */
+ ZRAM_UNDER_WB, /* page is under writeback */
ZRAM_HUGE, /* Incompressible page */
ZRAM_IDLE, /* not accessed page since last idle marking */
_
Patches currently in -mm which might be from minchan(a)kernel.org are
zram-fix-lockdep-warning-of-free-block-handling.patch
zram-fix-double-free-backing-device.patch
zram-refactoring-flags-and-writeback-stuff.patch
zram-introduce-zram_idle-flag.patch
zram-support-idle-huge-page-writeback.patch
zram-add-bd_stat-statistics.patch
zram-writeback-throttle.patch
The patch titled
Subject: zram: introduce ZRAM_IDLE flag
has been added to the -mm tree. Its filename is
zram-introduce-zram_idle-flag.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/zram-introduce-zram_idle-flag.patch
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/zram-introduce-zram_idle-flag.patch
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: Minchan Kim <minchan(a)kernel.org>
Subject: zram: introduce ZRAM_IDLE flag
To support idle page writeback with upcoming patches, this patch
introduces a new ZRAM_IDLE flag.
Userspace can mark zram slots as "idle" via
"echo all > /sys/block/zramX/idle"
which marks every allocated zram slot as ZRAM_IDLE.
User could see it by /sys/kernel/debug/zram/zram0/block_state.
300 75.033841 ...i
301 63.806904 s..i
302 63.806919 ..hi
Once there is IO for the slot, the mark will be disappeared.
300 75.033841 ...
301 63.806904 s..i
302 63.806919 ..hi
Therefore, 300th block is idle zpage. With this feature,
user can how many zram has idle pages which are waste of memory.
Link: http://lkml.kernel.org/r/20181127055429.251614-5-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan(a)kernel.org>
Cc: Joey Pabalinas <joeypabalinas(a)gmail.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work(a)gmail.com>
Cc: <stable(a)vger.kernel.org> [4.14+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
Documentation/ABI/testing/sysfs-block-zram | 8 ++
Documentation/blockdev/zram.txt | 10 ++-
drivers/block/zram/zram_drv.c | 57 ++++++++++++++++++-
drivers/block/zram/zram_drv.h | 1
4 files changed, 69 insertions(+), 7 deletions(-)
--- a/Documentation/ABI/testing/sysfs-block-zram~zram-introduce-zram_idle-flag
+++ a/Documentation/ABI/testing/sysfs-block-zram
@@ -98,3 +98,11 @@ Description:
The backing_dev file is read-write and set up backing
device for zram to write incompressible pages.
For using, user should enable CONFIG_ZRAM_WRITEBACK.
+
+What: /sys/block/zram<id>/idle
+Date: November 2018
+Contact: Minchan Kim <minchan(a)kernel.org>
+Description:
+ idle file is write-only and mark zram slot as idle.
+ If system has mounted debugfs, user can see which slots
+ are idle via /sys/kernel/debug/zram/zram<id>/block_state
--- a/Documentation/blockdev/zram.txt~zram-introduce-zram_idle-flag
+++ a/Documentation/blockdev/zram.txt
@@ -169,6 +169,7 @@ comp_algorithm RW show and change
compact WO trigger memory compaction
debug_stat RO this file is used for zram debugging purposes
backing_dev RW set up backend storage for zram to write out
+idle WO mark allocated slot as idle
User space is advised to use the following files to read the device statistics.
@@ -251,16 +252,17 @@ pages of the process with*pagemap.
If you enable the feature, you could see block state via
/sys/kernel/debug/zram/zram0/block_state". The output is as follows,
- 300 75.033841 .wh
- 301 63.806904 s..
- 302 63.806919 ..h
+ 300 75.033841 .wh.
+ 301 63.806904 s...
+ 302 63.806919 ..hi
First column is zram's block index.
Second column is access time since the system was booted
Third column is state of the block.
(s: same page
w: written page to backing store
-h: huge page)
+h: huge page
+i: idle page)
First line of above example says 300th block is accessed at 75.033841sec
and the block's state is huge so it is written back to the backing
--- a/drivers/block/zram/zram_drv.c~zram-introduce-zram_idle-flag
+++ a/drivers/block/zram/zram_drv.c
@@ -281,6 +281,47 @@ static ssize_t mem_used_max_store(struct
return len;
}
+static ssize_t idle_store(struct device *dev,
+ struct device_attribute *attr, const char *buf, size_t len)
+{
+ struct zram *zram = dev_to_zram(dev);
+ unsigned long nr_pages = zram->disksize >> PAGE_SHIFT;
+ int index;
+ char mode_buf[8];
+ ssize_t sz;
+
+ sz = strscpy(mode_buf, buf, sizeof(mode_buf));
+ if (sz <= 0)
+ return -EINVAL;
+
+ /* ignore trailing new line */
+ if (mode_buf[sz - 1] == '\n')
+ mode_buf[sz - 1] = 0x00;
+
+ if (strcmp(mode_buf, "all"))
+ return -EINVAL;
+
+ down_read(&zram->init_lock);
+ if (!init_done(zram)) {
+ up_read(&zram->init_lock);
+ return -EINVAL;
+ }
+
+ for (index = 0; index < nr_pages; index++) {
+ zram_slot_lock(zram, index);
+ if (!zram_allocated(zram, index))
+ goto next;
+
+ zram_set_flag(zram, index, ZRAM_IDLE);
+next:
+ zram_slot_unlock(zram, index);
+ }
+
+ up_read(&zram->init_lock);
+
+ return len;
+}
+
#ifdef CONFIG_ZRAM_WRITEBACK
static void reset_bdev(struct zram *zram)
{
@@ -638,6 +679,7 @@ static void zram_debugfs_destroy(void)
static void zram_accessed(struct zram *zram, u32 index)
{
+ zram_clear_flag(zram, index, ZRAM_IDLE);
zram->table[index].ac_time = ktime_get_boottime();
}
@@ -670,12 +712,13 @@ static ssize_t read_block_state(struct f
ts = ktime_to_timespec64(zram->table[index].ac_time);
copied = snprintf(kbuf + written, count,
- "%12zd %12lld.%06lu %c%c%c\n",
+ "%12zd %12lld.%06lu %c%c%c%c\n",
index, (s64)ts.tv_sec,
ts.tv_nsec / NSEC_PER_USEC,
zram_test_flag(zram, index, ZRAM_SAME) ? 's' : '.',
zram_test_flag(zram, index, ZRAM_WB) ? 'w' : '.',
- zram_test_flag(zram, index, ZRAM_HUGE) ? 'h' : '.');
+ zram_test_flag(zram, index, ZRAM_HUGE) ? 'h' : '.',
+ zram_test_flag(zram, index, ZRAM_IDLE) ? 'i' : '.');
if (count < copied) {
zram_slot_unlock(zram, index);
@@ -720,7 +763,10 @@ static void zram_debugfs_unregister(stru
#else
static void zram_debugfs_create(void) {};
static void zram_debugfs_destroy(void) {};
-static void zram_accessed(struct zram *zram, u32 index) {};
+static void zram_accessed(struct zram *zram, u32 index)
+{
+ zram_clear_flag(zram, index, ZRAM_IDLE);
+};
static void zram_debugfs_register(struct zram *zram) {};
static void zram_debugfs_unregister(struct zram *zram) {};
#endif
@@ -924,6 +970,9 @@ static void zram_free_page(struct zram *
#ifdef CONFIG_ZRAM_MEMORY_TRACKING
zram->table[index].ac_time = 0;
#endif
+ if (zram_test_flag(zram, index, ZRAM_IDLE))
+ zram_clear_flag(zram, index, ZRAM_IDLE);
+
if (zram_test_flag(zram, index, ZRAM_HUGE)) {
zram_clear_flag(zram, index, ZRAM_HUGE);
atomic64_dec(&zram->stats.huge_pages);
@@ -1589,6 +1638,7 @@ static DEVICE_ATTR_RO(initstate);
static DEVICE_ATTR_WO(reset);
static DEVICE_ATTR_WO(mem_limit);
static DEVICE_ATTR_WO(mem_used_max);
+static DEVICE_ATTR_WO(idle);
static DEVICE_ATTR_RW(max_comp_streams);
static DEVICE_ATTR_RW(comp_algorithm);
#ifdef CONFIG_ZRAM_WRITEBACK
@@ -1602,6 +1652,7 @@ static struct attribute *zram_disk_attrs
&dev_attr_compact.attr,
&dev_attr_mem_limit.attr,
&dev_attr_mem_used_max.attr,
+ &dev_attr_idle.attr,
&dev_attr_max_comp_streams.attr,
&dev_attr_comp_algorithm.attr,
#ifdef CONFIG_ZRAM_WRITEBACK
--- a/drivers/block/zram/zram_drv.h~zram-introduce-zram_idle-flag
+++ a/drivers/block/zram/zram_drv.h
@@ -48,6 +48,7 @@ enum zram_pageflags {
ZRAM_SAME, /* Page consists the same element */
ZRAM_WB, /* page is stored on backing_device */
ZRAM_HUGE, /* Incompressible page */
+ ZRAM_IDLE, /* not accessed page since last idle marking */
__NR_ZRAM_PAGEFLAGS,
};
_
Patches currently in -mm which might be from minchan(a)kernel.org are
zram-fix-lockdep-warning-of-free-block-handling.patch
zram-fix-double-free-backing-device.patch
zram-refactoring-flags-and-writeback-stuff.patch
zram-introduce-zram_idle-flag.patch
zram-support-idle-huge-page-writeback.patch
zram-add-bd_stat-statistics.patch
zram-writeback-throttle.patch
The patch titled
Subject: zram: fix lockdep warning of free block handling
has been added to the -mm tree. Its filename is
zram-fix-lockdep-warning-of-free-block-handling.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/zram-fix-lockdep-warning-of-free-b…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/zram-fix-lockdep-warning-of-free-b…
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: Minchan Kim <minchan(a)kernel.org>
Subject: zram: fix lockdep warning of free block handling
Patch series "zram idle page writeback", v3.
Inherently, swap device has many idle pages which are rare touched since
it was allocated. It is never problem if we use storage device as swap.
However, it's just waste for zram-swap.
This patchset supports zram idle page writeback feature.
* Admin can define what is idle page "no access since X time ago"
* Admin can define when zram should writeback them
* Admin can define when zram should stop writeback to prevent wearout
Details are in each patch's description.
This patch (of 7):
[ 254.519728] ================================
[ 254.520311] WARNING: inconsistent lock state
[ 254.520898] 4.19.0+ #390 Not tainted
[ 254.521387] --------------------------------
[ 254.521732] inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
[ 254.521732] zram_verify/2095 [HC0[0]:SC1[1]:HE1:SE0] takes:
[ 254.521732] 00000000b1828693 (&(&zram->bitmap_lock)->rlock){+.?.}, at: put_entry_bdev+0x1e/0x50
[ 254.521732] {SOFTIRQ-ON-W} state was registered at:
[ 254.521732] _raw_spin_lock+0x2c/0x40
[ 254.521732] zram_make_request+0x755/0xdc9
[ 254.521732] generic_make_request+0x373/0x6a0
[ 254.521732] submit_bio+0x6c/0x140
[ 254.521732] __swap_writepage+0x3a8/0x480
[ 254.521732] shrink_page_list+0x1102/0x1a60
[ 254.521732] shrink_inactive_list+0x21b/0x3f0
[ 254.521732] shrink_node_memcg.constprop.99+0x4f8/0x7e0
[ 254.521732] shrink_node+0x7d/0x2f0
[ 254.521732] do_try_to_free_pages+0xe0/0x300
[ 254.521732] try_to_free_pages+0x116/0x2b0
[ 254.521732] __alloc_pages_slowpath+0x3f4/0xf80
[ 254.521732] __alloc_pages_nodemask+0x2a2/0x2f0
[ 254.521732] __handle_mm_fault+0x42e/0xb50
[ 254.521732] handle_mm_fault+0x55/0xb0
[ 254.521732] __do_page_fault+0x235/0x4b0
[ 254.521732] page_fault+0x1e/0x30
[ 254.521732] irq event stamp: 228412
[ 254.521732] hardirqs last enabled at (228412): [<ffffffff98245846>] __slab_free+0x3e6/0x600
[ 254.521732] hardirqs last disabled at (228411): [<ffffffff98245625>] __slab_free+0x1c5/0x600
[ 254.521732] softirqs last enabled at (228396): [<ffffffff98e0031e>] __do_softirq+0x31e/0x427
[ 254.521732] softirqs last disabled at (228403): [<ffffffff98072051>] irq_exit+0xd1/0xe0
[ 254.521732]
[ 254.521732] other info that might help us debug this:
[ 254.521732] Possible unsafe locking scenario:
[ 254.521732]
[ 254.521732] CPU0
[ 254.521732] ----
[ 254.521732] lock(&(&zram->bitmap_lock)->rlock);
[ 254.521732] <Interrupt>
[ 254.521732] lock(&(&zram->bitmap_lock)->rlock);
[ 254.521732]
[ 254.521732] *** DEADLOCK ***
[ 254.521732]
[ 254.521732] no locks held by zram_verify/2095.
[ 254.521732]
[ 254.521732] stack backtrace:
[ 254.521732] CPU: 5 PID: 2095 Comm: zram_verify Not tainted 4.19.0+ #390
[ 254.521732] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-1 04/01/2014
[ 254.521732] Call Trace:
[ 254.521732] <IRQ>
[ 254.521732] dump_stack+0x67/0x9b
[ 254.521732] print_usage_bug+0x1bd/0x1d3
[ 254.521732] mark_lock+0x4aa/0x540
[ 254.521732] ? check_usage_backwards+0x160/0x160
[ 254.521732] __lock_acquire+0x51d/0x1300
[ 254.521732] ? free_debug_processing+0x24e/0x400
[ 254.521732] ? bio_endio+0x6d/0x1a0
[ 254.521732] ? lockdep_hardirqs_on+0x9b/0x180
[ 254.521732] ? lock_acquire+0x90/0x180
[ 254.521732] lock_acquire+0x90/0x180
[ 254.521732] ? put_entry_bdev+0x1e/0x50
[ 254.521732] _raw_spin_lock+0x2c/0x40
[ 254.521732] ? put_entry_bdev+0x1e/0x50
[ 254.521732] put_entry_bdev+0x1e/0x50
[ 254.521732] zram_free_page+0xf6/0x110
[ 254.521732] zram_slot_free_notify+0x42/0xa0
[ 254.521732] end_swap_bio_read+0x5b/0x170
[ 254.521732] blk_update_request+0x8f/0x340
[ 254.521732] scsi_end_request+0x2c/0x1e0
[ 254.521732] scsi_io_completion+0x98/0x650
[ 254.521732] blk_done_softirq+0x9e/0xd0
[ 254.521732] __do_softirq+0xcc/0x427
[ 254.521732] irq_exit+0xd1/0xe0
[ 254.521732] do_IRQ+0x93/0x120
[ 254.521732] common_interrupt+0xf/0xf
[ 254.521732] </IRQ>
With writeback feature, zram_slot_free_notify could be called
in softirq context by end_swap_bio_read. However, bitmap_lock
is not aware of that so lockdep yell out. Thanks.
get_entry_bdev
spin_lock(bitmap->lock);
irq
softirq
end_swap_bio_read
zram_slot_free_notify
zram_slot_lock <-- deadlock prone
zram_free_page
put_entry_bdev
spin_lock(bitmap->lock); <-- deadlock prone
With akpm's suggestion (i.e. bitmap operation is already atomic), we
could remove bitmap lock. It might fail to find a empty slot if serious
contention happens. However, it's not severe problem because huge page
writeback has already possiblity to fail if there is severe memory
pressure. Worst case is just keeping the incompressible in memory, not
storage.
The other problem is zram_slot_lock in zram_slot_slot_free_notify. To
make it safe is this patch introduces zram_slot_trylock where
zram_slot_free_notify uses it. Although it's rare to be contented, this
patch adds new debug stat "miss_free" to keep monitoring how often it
happens.
Link: http://lkml.kernel.org/r/20181127055429.251614-2-minchan@kernel.org
Signed-off-by: Minchan Kim <minchan(a)kernel.org>
Cc: Joey Pabalinas <joeypabalinas(a)gmail.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work(a)gmail.com>
Cc: <stable(a)vger.kernel.org> [4.14+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
drivers/block/zram/zram_drv.c | 38 +++++++++++++++++---------------
drivers/block/zram/zram_drv.h | 2 -
2 files changed, 22 insertions(+), 18 deletions(-)
--- a/drivers/block/zram/zram_drv.c~zram-fix-lockdep-warning-of-free-block-handling
+++ a/drivers/block/zram/zram_drv.c
@@ -53,6 +53,11 @@ static size_t huge_class_size;
static void zram_free_page(struct zram *zram, size_t index);
+static int zram_slot_trylock(struct zram *zram, u32 index)
+{
+ return bit_spin_trylock(ZRAM_LOCK, &zram->table[index].value);
+}
+
static void zram_slot_lock(struct zram *zram, u32 index)
{
bit_spin_lock(ZRAM_LOCK, &zram->table[index].value);
@@ -399,7 +404,6 @@ static ssize_t backing_dev_store(struct
goto out;
reset_bdev(zram);
- spin_lock_init(&zram->bitmap_lock);
zram->old_block_size = old_block_size;
zram->bdev = bdev;
@@ -443,29 +447,24 @@ out:
static unsigned long get_entry_bdev(struct zram *zram)
{
- unsigned long entry;
-
- spin_lock(&zram->bitmap_lock);
+ unsigned long blk_idx = 1;
+retry:
/* skip 0 bit to confuse zram.handle = 0 */
- entry = find_next_zero_bit(zram->bitmap, zram->nr_pages, 1);
- if (entry == zram->nr_pages) {
- spin_unlock(&zram->bitmap_lock);
+ blk_idx = find_next_zero_bit(zram->bitmap, zram->nr_pages, blk_idx);
+ if (blk_idx == zram->nr_pages)
return 0;
- }
- set_bit(entry, zram->bitmap);
- spin_unlock(&zram->bitmap_lock);
+ if (test_and_set_bit(blk_idx, zram->bitmap))
+ goto retry;
- return entry;
+ return blk_idx;
}
static void put_entry_bdev(struct zram *zram, unsigned long entry)
{
int was_set;
- spin_lock(&zram->bitmap_lock);
was_set = test_and_clear_bit(entry, zram->bitmap);
- spin_unlock(&zram->bitmap_lock);
WARN_ON_ONCE(!was_set);
}
@@ -886,9 +885,10 @@ static ssize_t debug_stat_show(struct de
down_read(&zram->init_lock);
ret = scnprintf(buf, PAGE_SIZE,
- "version: %d\n%8llu\n",
+ "version: %d\n%8llu %8llu\n",
version,
- (u64)atomic64_read(&zram->stats.writestall));
+ (u64)atomic64_read(&zram->stats.writestall),
+ (u64)atomic64_read(&zram->stats.miss_free));
up_read(&zram->init_lock);
return ret;
@@ -1400,10 +1400,14 @@ static void zram_slot_free_notify(struct
zram = bdev->bd_disk->private_data;
- zram_slot_lock(zram, index);
+ atomic64_inc(&zram->stats.notify_free);
+ if (!zram_slot_trylock(zram, index)) {
+ atomic64_inc(&zram->stats.miss_free);
+ return;
+ }
+
zram_free_page(zram, index);
zram_slot_unlock(zram, index);
- atomic64_inc(&zram->stats.notify_free);
}
static int zram_rw_page(struct block_device *bdev, sector_t sector,
--- a/drivers/block/zram/zram_drv.h~zram-fix-lockdep-warning-of-free-block-handling
+++ a/drivers/block/zram/zram_drv.h
@@ -79,6 +79,7 @@ struct zram_stats {
atomic64_t pages_stored; /* no. of pages currently stored */
atomic_long_t max_used_pages; /* no. of maximum pages stored */
atomic64_t writestall; /* no. of write slow paths */
+ atomic64_t miss_free; /* no. of missed free */
};
struct zram {
@@ -110,7 +111,6 @@ struct zram {
unsigned int old_block_size;
unsigned long *bitmap;
unsigned long nr_pages;
- spinlock_t bitmap_lock;
#endif
#ifdef CONFIG_ZRAM_MEMORY_TRACKING
struct dentry *debugfs_dir;
_
Patches currently in -mm which might be from minchan(a)kernel.org are
zram-fix-lockdep-warning-of-free-block-handling.patch
zram-fix-double-free-backing-device.patch
zram-refactoring-flags-and-writeback-stuff.patch
zram-introduce-zram_idle-flag.patch
zram-support-idle-huge-page-writeback.patch
zram-add-bd_stat-statistics.patch
zram-writeback-throttle.patch
This reverts commit:
c54c7374ff44 ("drm/dp_mst: Skip validating ports during destruction, just ref")
ugh.
In drm_dp_destroy_connector_work(), we have a pretty good chance of
freeing the actual struct drm_dp_mst_port. However, after destroying
things we send a hotplug through (*mgr->cbs->hotplug)(mgr) which is
where the problems start.
For i915, this calls all the way down to the fbcon probing helpers,
which start trying to access the port in a modeset.
[ 45.062001] ==================================================================
[ 45.062112] BUG: KASAN: use-after-free in ex_handler_refcount+0x146/0x180
[ 45.062196] Write of size 4 at addr ffff8882b4b70968 by task kworker/3:1/53
[ 45.062325] CPU: 3 PID: 53 Comm: kworker/3:1 Kdump: loaded Tainted: G O 4.20.0-rc4Lyude-Test+ #3
[ 45.062442] Hardware name: LENOVO 20BWS1KY00/20BWS1KY00, BIOS JBET71WW (1.35 ) 09/14/2018
[ 45.062554] Workqueue: events drm_dp_destroy_connector_work [drm_kms_helper]
[ 45.062641] Call Trace:
[ 45.062685] dump_stack+0xbd/0x15a
[ 45.062735] ? dump_stack_print_info.cold.0+0x1b/0x1b
[ 45.062801] ? printk+0x9f/0xc5
[ 45.062847] ? kmsg_dump_rewind_nolock+0xe4/0xe4
[ 45.062909] ? ex_handler_refcount+0x146/0x180
[ 45.062970] print_address_description+0x71/0x239
[ 45.063036] ? ex_handler_refcount+0x146/0x180
[ 45.063095] kasan_report.cold.5+0x242/0x30b
[ 45.063155] __asan_report_store4_noabort+0x1c/0x20
[ 45.063313] ex_handler_refcount+0x146/0x180
[ 45.063371] ? ex_handler_clear_fs+0xb0/0xb0
[ 45.063428] fixup_exception+0x98/0xd7
[ 45.063484] ? raw_notifier_call_chain+0x20/0x20
[ 45.063548] do_trap+0x6d/0x210
[ 45.063605] ? _GLOBAL__sub_I_65535_1_drm_dp_aux_unregister_devnode+0x2f/0x1c6 [drm_kms_helper]
[ 45.063732] do_error_trap+0xc0/0x170
[ 45.063802] ? _GLOBAL__sub_I_65535_1_drm_dp_aux_unregister_devnode+0x2f/0x1c6 [drm_kms_helper]
[ 45.063929] do_invalid_op+0x3b/0x50
[ 45.063997] ? _GLOBAL__sub_I_65535_1_drm_dp_aux_unregister_devnode+0x2f/0x1c6 [drm_kms_helper]
[ 45.064103] invalid_op+0x14/0x20
[ 45.064162] RIP: 0010:_GLOBAL__sub_I_65535_1_drm_dp_aux_unregister_devnode+0x2f/0x1c6 [drm_kms_helper]
[ 45.064274] Code: 00 48 c7 c7 80 fe 53 a0 48 89 e5 e8 5b 6f 26 e1 5d c3 48 8d 0e 0f 0b 48 8d 0b 0f 0b 48 8d 0f 0f 0b 48 8d 0f 0f 0b 49 8d 4d 00 <0f> 0b 49 8d 0e 0f 0b 48 8d 08 0f 0b 49 8d 4d 00 0f 0b 48 8d 0b 0f
[ 45.064569] RSP: 0018:ffff8882b789ee10 EFLAGS: 00010282
[ 45.064637] RAX: ffff8882af47ae70 RBX: ffff8882af47aa60 RCX: ffff8882b4b70968
[ 45.064723] RDX: ffff8882af47ae70 RSI: 0000000000000008 RDI: ffff8882b788bdb8
[ 45.064808] RBP: ffff8882b789ee28 R08: ffffed1056f13db4 R09: ffffed1056f13db3
[ 45.064894] R10: ffffed1056f13db3 R11: ffff8882b789ed9f R12: ffff8882af47ad28
[ 45.064980] R13: ffff8882b4b70968 R14: ffff8882acd86728 R15: ffff8882b4b75dc8
[ 45.065084] drm_dp_mst_reset_vcpi_slots+0x12/0x80 [drm_kms_helper]
[ 45.065225] intel_mst_disable_dp+0xda/0x180 [i915]
[ 45.065361] intel_encoders_disable.isra.107+0x197/0x310 [i915]
[ 45.065498] haswell_crtc_disable+0xbe/0x400 [i915]
[ 45.065622] ? i9xx_disable_plane+0x1c0/0x3e0 [i915]
[ 45.065750] intel_atomic_commit_tail+0x74e/0x3e60 [i915]
[ 45.065884] ? intel_pre_plane_update+0xbc0/0xbc0 [i915]
[ 45.065968] ? drm_atomic_helper_swap_state+0x88b/0x1d90 [drm_kms_helper]
[ 45.066054] ? kasan_check_write+0x14/0x20
[ 45.066165] ? i915_gem_track_fb+0x13a/0x330 [i915]
[ 45.066277] ? i915_sw_fence_complete+0xe9/0x140 [i915]
[ 45.066406] ? __i915_sw_fence_complete+0xc50/0xc50 [i915]
[ 45.066540] intel_atomic_commit+0x72e/0xef0 [i915]
[ 45.066635] ? drm_dev_dbg+0x200/0x200 [drm]
[ 45.066764] ? intel_atomic_commit_tail+0x3e60/0x3e60 [i915]
[ 45.066898] ? intel_atomic_commit_tail+0x3e60/0x3e60 [i915]
[ 45.067001] drm_atomic_commit+0xc4/0xf0 [drm]
[ 45.067074] restore_fbdev_mode_atomic+0x562/0x780 [drm_kms_helper]
[ 45.067166] ? drm_fb_helper_debug_leave+0x690/0x690 [drm_kms_helper]
[ 45.067249] ? kasan_check_read+0x11/0x20
[ 45.067324] restore_fbdev_mode+0x127/0x4b0 [drm_kms_helper]
[ 45.067364] ? kasan_check_read+0x11/0x20
[ 45.067406] drm_fb_helper_restore_fbdev_mode_unlocked+0x164/0x200 [drm_kms_helper]
[ 45.067462] ? drm_fb_helper_hotplug_event+0x30/0x30 [drm_kms_helper]
[ 45.067508] ? kasan_check_write+0x14/0x20
[ 45.070360] ? mutex_unlock+0x22/0x40
[ 45.073748] drm_fb_helper_set_par+0xb2/0xf0 [drm_kms_helper]
[ 45.075846] drm_fb_helper_hotplug_event.part.33+0x1cd/0x290 [drm_kms_helper]
[ 45.078088] drm_fb_helper_hotplug_event+0x1c/0x30 [drm_kms_helper]
[ 45.082614] intel_fbdev_output_poll_changed+0x9f/0x140 [i915]
[ 45.087069] drm_kms_helper_hotplug_event+0x67/0x90 [drm_kms_helper]
[ 45.089319] intel_dp_mst_hotplug+0x37/0x50 [i915]
[ 45.091496] drm_dp_destroy_connector_work+0x510/0x6f0 [drm_kms_helper]
[ 45.093675] ? drm_dp_update_payload_part1+0x1220/0x1220 [drm_kms_helper]
[ 45.095851] ? kasan_check_write+0x14/0x20
[ 45.098473] ? kasan_check_read+0x11/0x20
[ 45.101155] ? strscpy+0x17c/0x530
[ 45.103808] ? __switch_to_asm+0x34/0x70
[ 45.106456] ? syscall_return_via_sysret+0xf/0x7f
[ 45.109711] ? read_word_at_a_time+0x20/0x20
[ 45.113138] ? __switch_to_asm+0x40/0x70
[ 45.116529] ? __switch_to_asm+0x34/0x70
[ 45.119891] ? __switch_to_asm+0x40/0x70
[ 45.123224] ? __switch_to_asm+0x34/0x70
[ 45.126540] ? __switch_to_asm+0x34/0x70
[ 45.129824] process_one_work+0x88d/0x15d0
[ 45.133172] ? pool_mayday_timeout+0x850/0x850
[ 45.136459] ? pci_mmcfg_check_reserved+0x110/0x128
[ 45.139739] ? wake_q_add+0xb0/0xb0
[ 45.143010] ? check_preempt_wakeup+0x652/0x1050
[ 45.146304] ? worker_enter_idle+0x29e/0x740
[ 45.149589] ? __schedule+0x1ec0/0x1ec0
[ 45.152937] ? kasan_check_read+0x11/0x20
[ 45.156179] ? _raw_spin_lock_irq+0xa3/0x130
[ 45.159382] ? _raw_read_unlock_irqrestore+0x30/0x30
[ 45.162542] ? kasan_check_write+0x14/0x20
[ 45.165657] worker_thread+0x1a5/0x1470
[ 45.168725] ? set_load_weight+0x2e0/0x2e0
[ 45.171755] ? process_one_work+0x15d0/0x15d0
[ 45.174806] ? __switch_to_asm+0x34/0x70
[ 45.177645] ? __switch_to_asm+0x40/0x70
[ 45.180323] ? __switch_to_asm+0x34/0x70
[ 45.182936] ? __switch_to_asm+0x40/0x70
[ 45.185539] ? __switch_to_asm+0x34/0x70
[ 45.188100] ? __switch_to_asm+0x40/0x70
[ 45.190628] ? __schedule+0x7d4/0x1ec0
[ 45.193143] ? save_stack+0xa9/0xd0
[ 45.195632] ? kasan_check_write+0x10/0x20
[ 45.198162] ? kasan_kmalloc+0xc4/0xe0
[ 45.200609] ? kmem_cache_alloc_trace+0xdd/0x190
[ 45.203046] ? kthread+0x9f/0x3b0
[ 45.205470] ? ret_from_fork+0x35/0x40
[ 45.207876] ? unwind_next_frame+0x43/0x50
[ 45.210273] ? __save_stack_trace+0x82/0x100
[ 45.212658] ? deactivate_slab.isra.67+0x3d4/0x580
[ 45.215026] ? default_wake_function+0x35/0x50
[ 45.217399] ? kasan_check_read+0x11/0x20
[ 45.219825] ? _raw_spin_lock_irqsave+0xae/0x140
[ 45.222174] ? __lock_text_start+0x8/0x8
[ 45.224521] ? replenish_dl_entity.cold.62+0x4f/0x4f
[ 45.226868] ? __kthread_parkme+0x87/0xf0
[ 45.229200] kthread+0x2f7/0x3b0
[ 45.231557] ? process_one_work+0x15d0/0x15d0
[ 45.233923] ? kthread_park+0x120/0x120
[ 45.236249] ret_from_fork+0x35/0x40
[ 45.240875] Allocated by task 242:
[ 45.243136] save_stack+0x43/0xd0
[ 45.245385] kasan_kmalloc+0xc4/0xe0
[ 45.247597] kmem_cache_alloc_trace+0xdd/0x190
[ 45.249793] drm_dp_add_port+0x1e0/0x2170 [drm_kms_helper]
[ 45.252000] drm_dp_send_link_address+0x4a7/0x740 [drm_kms_helper]
[ 45.254389] drm_dp_check_and_send_link_address+0x1a7/0x210 [drm_kms_helper]
[ 45.256803] drm_dp_mst_link_probe_work+0x6f/0xb0 [drm_kms_helper]
[ 45.259200] process_one_work+0x88d/0x15d0
[ 45.261597] worker_thread+0x1a5/0x1470
[ 45.264038] kthread+0x2f7/0x3b0
[ 45.266371] ret_from_fork+0x35/0x40
[ 45.270937] Freed by task 53:
[ 45.273170] save_stack+0x43/0xd0
[ 45.275382] __kasan_slab_free+0x139/0x190
[ 45.277604] kasan_slab_free+0xe/0x10
[ 45.279826] kfree+0x99/0x1b0
[ 45.282044] drm_dp_free_mst_port+0x4a/0x60 [drm_kms_helper]
[ 45.284330] drm_dp_destroy_connector_work+0x43e/0x6f0 [drm_kms_helper]
[ 45.286660] process_one_work+0x88d/0x15d0
[ 45.288934] worker_thread+0x1a5/0x1470
[ 45.291231] kthread+0x2f7/0x3b0
[ 45.293547] ret_from_fork+0x35/0x40
[ 45.298206] The buggy address belongs to the object at ffff8882b4b70968
which belongs to the cache kmalloc-2k of size 2048
[ 45.303047] The buggy address is located 0 bytes inside of
2048-byte region [ffff8882b4b70968, ffff8882b4b71168)
[ 45.308010] The buggy address belongs to the page:
[ 45.310477] page:ffffea000ad2dc00 count:1 mapcount:0 mapping:ffff8882c080cf40 index:0x0 compound_mapcount: 0
[ 45.313051] flags: 0x8000000000010200(slab|head)
[ 45.315635] raw: 8000000000010200 ffffea000aac2808 ffffea000abe8608 ffff8882c080cf40
[ 45.318300] raw: 0000000000000000 00000000000d000d 00000001ffffffff 0000000000000000
[ 45.320966] page dumped because: kasan: bad access detected
[ 45.326312] Memory state around the buggy address:
[ 45.329085] ffff8882b4b70800: fb fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[ 45.331845] ffff8882b4b70880: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
[ 45.334584] >ffff8882b4b70900: fc fc fc fc fc fc fc fc fc fc fc fc fc fb fb fb
[ 45.337302] ^
[ 45.340061] ffff8882b4b70980: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 45.342910] ffff8882b4b70a00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
[ 45.345748] ==================================================================
So, this definitely isn't a fix that we want. This being said; there's
no real easy fix for this problem because of some of the catch-22's of
the MST helpers current design. For starters; we always need to validate
a port with drm_dp_get_validated_port_ref(), but validation relies on
the lifetime of the port in the actual topology. So once the port is
gone, it can't be validated again.
If we were to try to make the payload helpers not use port validation,
then we'd cause another problem: if the port isn't validated, it could
be freed and we'd just start causing more KASAN issues. There are
already hacks that attempt to workaround this in
drm_dp_mst_destroy_connector_work() by re-initializing the kref so that
it can be used again and it's memory can be freed once the VCPI helpers
finish removing the port's respective payloads. But none of these really
do anything helpful since the port still can't be validated since it's
gone from the topology. Also, that workaround is immensely confusing to
read through.
What really needs to be done in order to fix this is to teach DRM how to
track the lifetime of the structs for MST ports and branch devices
seperately from their lifetime in the actual topology. Simply put; this
means having two different krefs-one that removes the port/branch device
from the topology, and one that finally calls kfree(). This would let us
simplify things, since we'd now be able to keep ports around without
having to keep them in the topology at the same time, which is exactly
what we need in order to teach our VCPI helpers to only validate ports
when it's actually necessary without running the risk of trying to use
unallocated memory.
Such a fix is on it's way, but for now let's play it safe and just
revert this. If this bug has been around for well over a year, we can
wait a little while to get an actual proper fix here.
Signed-off-by: Lyude Paul <lyude(a)redhat.com>
Fixes: c54c7374ff44 ("drm/dp_mst: Skip validating ports during destruction, just ref")
Cc: Daniel Vetter <daniel(a)ffwll.ch>
Cc: Sean Paul <sean(a)poorly.run>
Cc: Jerry Zuo <Jerry.Zuo(a)amd.com>
Cc: Harry Wentland <Harry.Wentland(a)amd.com>
Cc: stable(a)vger.kernel.org # v4.6+
---
drivers/gpu/drm/drm_dp_mst_topology.c | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 08978ad72f33..529414556962 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -1023,20 +1023,9 @@ static struct drm_dp_mst_port *drm_dp_mst_get_port_ref_locked(struct drm_dp_mst_
static struct drm_dp_mst_port *drm_dp_get_validated_port_ref(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port)
{
struct drm_dp_mst_port *rport = NULL;
-
mutex_lock(&mgr->lock);
- /*
- * Port may or may not be 'valid' but we don't care about that when
- * destroying the port and we are guaranteed that the port pointer
- * will be valid until we've finished
- */
- if (current_work() == &mgr->destroy_connector_work) {
- kref_get(&port->kref);
- rport = port;
- } else if (mgr->mst_primary) {
- rport = drm_dp_mst_get_port_ref_locked(mgr->mst_primary,
- port);
- }
+ if (mgr->mst_primary)
+ rport = drm_dp_mst_get_port_ref_locked(mgr->mst_primary, port);
mutex_unlock(&mgr->lock);
return rport;
}
--
2.19.2
After we drop the i_pages lock, the inode can be freed at any time.
The get_unlocked_entry() code has no choice but to reacquire the lock,
so it can't be used here. Create a new wait_entry_unlocked() which takes
care not to acquire the lock or dereference the address_space in any way.
Fixes: c2a7d2a11552 ("filesystem-dax: Introduce dax_lock_mapping_entry()")
Cc: stable(a)vger.kernel.org
Signed-off-by: Matthew Wilcox <willy(a)infradead.org>
---
fs/dax.c | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/fs/dax.c b/fs/dax.c
index e69fc231833b..cf1805645d18 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -232,6 +232,28 @@ static void *get_unlocked_entry(struct xa_state *xas)
}
}
+/*
+ * The only thing keeping the address space around is the i_pages lock
+ * (it's cycled in clear_inode() after removing the entries from i_pages)
+ * After we call xas_unlock_irq(), we cannot touch xas->xa.
+ */
+static void wait_entry_unlocked(struct xa_state *xas, void *entry)
+{
+ struct wait_exceptional_entry_queue ewait;
+ wait_queue_head_t *wq;
+
+ init_wait(&ewait.wait);
+ ewait.wait.func = wake_exceptional_entry_func;
+
+ wq = dax_entry_waitqueue(xas, entry, &ewait.key);
+ prepare_to_wait_exclusive(wq, &ewait.wait, TASK_UNINTERRUPTIBLE);
+ xas_unlock_irq(xas);
+ schedule();
+ finish_wait(wq, &ewait.wait);
+ if (waitqueue_active(wq))
+ __wake_up(wq, TASK_NORMAL, 1, &ewait.key);
+}
+
static void put_unlocked_entry(struct xa_state *xas, void *entry)
{
/* If we were the only waiter woken, wake the next one */
@@ -389,9 +411,7 @@ bool dax_lock_mapping_entry(struct page *page)
entry = xas_load(&xas);
if (dax_is_locked(entry)) {
rcu_read_unlock();
- entry = get_unlocked_entry(&xas);
- xas_unlock_irq(&xas);
- put_unlocked_entry(&xas, entry);
+ wait_entry_unlocked(&xas, entry);
rcu_read_lock();
continue;
}
--
2.19.1
This patch protects against data corruption that could happen in the bus,
by checking that that the digest size returned by the TPM during a PCR read
matches the size of the algorithm passed to tpm2_pcr_read().
This check is performed after information about the PCR banks has been
retrieved.
Signed-off-by: Roberto Sassu <roberto.sassu(a)huawei.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen(a)linux.intel.com>
Cc: stable(a)vger.kernel.org
---
drivers/char/tpm/tpm2-cmd.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/drivers/char/tpm/tpm2-cmd.c b/drivers/char/tpm/tpm2-cmd.c
index acaaab72ef2e..974465f04b78 100644
--- a/drivers/char/tpm/tpm2-cmd.c
+++ b/drivers/char/tpm/tpm2-cmd.c
@@ -179,15 +179,29 @@ struct tpm2_pcr_read_out {
int tpm2_pcr_read(struct tpm_chip *chip, u32 pcr_idx,
struct tpm_digest *digest_struct, u16 *digest_size_ptr)
{
+ int i;
int rc;
struct tpm_buf buf;
struct tpm2_pcr_read_out *out;
u8 pcr_select[TPM2_PCR_SELECT_MIN] = {0};
u16 digest_size;
+ u16 expected_digest_size = 0;
if (pcr_idx >= TPM2_PLATFORM_PCR)
return -EINVAL;
+ if (!digest_size_ptr) {
+ for (i = 0; i < chip->nr_allocated_banks &&
+ chip->allocated_banks[i].alg_id != digest_struct->alg_id;
+ i++)
+ ;
+
+ if (i == chip->nr_allocated_banks)
+ return -EINVAL;
+
+ expected_digest_size = chip->allocated_banks[i].digest_size;
+ }
+
rc = tpm_buf_init(&buf, TPM2_ST_NO_SESSIONS, TPM2_CC_PCR_READ);
if (rc)
return rc;
@@ -207,7 +221,8 @@ int tpm2_pcr_read(struct tpm_chip *chip, u32 pcr_idx,
out = (struct tpm2_pcr_read_out *)&buf.data[TPM_HEADER_SIZE];
digest_size = be16_to_cpu(out->digest_size);
- if (digest_size > sizeof(digest_struct->digest)) {
+ if (digest_size > sizeof(digest_struct->digest) ||
+ (!digest_size_ptr && digest_size != expected_digest_size)) {
rc = -EINVAL;
goto out;
}
--
2.17.1
From: Jerome Brunet <jbrunet(a)baylibre.com>
[ Upstream commit e39f9dd8206ad66992ac0e6218ef1ba746f2cce9 ]
If a bias is enabled on a pin of an Amlogic SoC, calling .pin_config_set()
with PIN_CONFIG_BIAS_DISABLE will not disable the bias. Instead it will
force a pull-down bias on the pin.
Instead of the pull type register bank, the driver should access the pull
enable register bank.
Fixes: 6ac730951104 ("pinctrl: add driver for Amlogic Meson SoCs")
Signed-off-by: Jerome Brunet <jbrunet(a)baylibre.com>
Acked-by: Neil Armstrong <narmstrong(a)baylibre.com>
Signed-off-by: Linus Walleij <linus.walleij(a)linaro.org>
Signed-off-by: Sasha Levin <sashal(a)kernel.org>
---
drivers/pinctrl/meson/pinctrl-meson.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index 66ed70c12733..6c43322dbb97 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -273,7 +273,7 @@ static int meson_pinconf_set(struct pinctrl_dev *pcdev, unsigned int pin,
dev_dbg(pc->dev, "pin %u: disable bias\n", pin);
meson_calc_reg_and_bit(bank, pin, REG_PULL, ®, &bit);
- ret = regmap_update_bits(pc->reg_pull, reg,
+ ret = regmap_update_bits(pc->reg_pullen, reg,
BIT(bit), 0);
if (ret)
return ret;
--
2.17.1
Hi Greg,
Few stable candidates for 4.4.y for your consideration.
Cherry picked and build tested on linux-4.4.165 for
ARCH=arm/arm64 + allmodconfig.
Few fixes are applicable for 3.18.y as well, but they
needed minor rebasing, so I'll submit them shortly in
a separate thread.
Regards,
Amit Pundir
Amitkumar Karwar (1):
mwifiex: Fix NULL pointer dereference in skb_dequeue()
Johannes Thumshirn (1):
cw1200: Don't leak memory if krealloc failes
Karthik D A (1):
mwifiex: fix p2p device doesn't find in scan problem
Liping Zhang (1):
netfilter: nf_tables: fix oops when inserting an element into a
verdict map
Mauricio Faria de Oliveira (1):
scsi: qla2xxx: do not queue commands when unloading
Subhash Jadavani (2):
scsi: ufs: fix race between clock gating and devfreq scaling work
scsi: ufshcd: release resources if probe fails
Vasanthakumar Thiagarajan (1):
ath10k: fix kernel panic due to race in accessing arvif list
Venkat Gopalakrishnan (1):
scsi: ufshcd: Fix race between clk scaling and ungate work
Yaniv Gardi (1):
scsi: ufs: fix bugs related to null pointer access and array size
drivers/net/wireless/ath/ath10k/mac.c | 6 +++
drivers/net/wireless/cw1200/wsm.c | 16 ++++---
drivers/net/wireless/mwifiex/cfg80211.c | 10 ++++-
drivers/net/wireless/mwifiex/wmm.c | 12 ++++--
drivers/scsi/qla2xxx/qla_os.c | 5 +++
drivers/scsi/ufs/ufs.h | 3 +-
drivers/scsi/ufs/ufshcd-pci.c | 2 +
drivers/scsi/ufs/ufshcd-pltfrm.c | 5 +--
drivers/scsi/ufs/ufshcd.c | 75 +++++++++++++++++++++++++++++----
net/netfilter/nf_tables_api.c | 1 +
10 files changed, 110 insertions(+), 25 deletions(-)
--
2.7.4
From: Lihong Yang <lihong.yang(a)intel.com>
In __i40e_del_filter function, the flag __I40E_MACVLAN_SYNC_PENDING for
the PF state is wrongly set for the VSI. Deleting any of the MAC filters
has caused the incorrect syncing for the PF. Fix it by setting this state
flag to the intended PF.
CC: stable <stable(a)vger.kernel.org>
Signed-off-by: Lihong Yang <lihong.yang(a)intel.com>
Tested-by: Andrew Bowers <andrewx.bowers(a)intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher(a)intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 21c2688d6308..a3f45335437c 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -1413,7 +1413,7 @@ void __i40e_del_filter(struct i40e_vsi *vsi, struct i40e_mac_filter *f)
}
vsi->flags |= I40E_VSI_FLAG_FILTER_CHANGED;
- set_bit(__I40E_MACVLAN_SYNC_PENDING, vsi->state);
+ set_bit(__I40E_MACVLAN_SYNC_PENDING, vsi->back->state);
}
/**
--
2.19.2
From: Greg Hackmann <ghackmann(a)android.com>
(commit 1a381d4a0a9a0f999a13faaba22bf6b3fc80dcb9 upstream)
Linking the ARM64 defconfig kernel with LLVM lld fails with the error:
ld.lld: error: unknown argument: -p
Makefile:1015: recipe for target 'vmlinux' failed
Without this flag, the ARM64 defconfig kernel successfully links with
lld and boots on Dragonboard 410c.
After digging through binutils source and changelogs, it turns out that
-p is only relevant to ancient binutils installations targeting 32-bit
ARM. binutils accepts -p for AArch64 too, but it's always been
undocumented and silently ignored. A comment in
ld/emultempl/aarch64elf.em explains that it's "Only here for backwards
compatibility".
Since this flag is a no-op on ARM64, we can safely drop it.
Acked-by: Will Deacon <will.deacon(a)arm.com>
Reviewed-by: Nick Desaulniers <ndesaulniers(a)google.com>
Signed-off-by: Greg Hackmann <ghackmann(a)google.com>
Signed-off-by: Catalin Marinas <catalin.marinas(a)arm.com>
Signed-off-by: Nick Desaulniers <ndesaulniers(a)google.com>
---
This is needed for linking arm64 kernels with LLVM's LLD linker. I'm
most interested in this for 4.14 and know it applies cleanly there, but
would like it in 4.9 and 4.4 if possible. The upstream patch first
landed in v4.18-rc4.
arch/arm64/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
index 48158c550110..7976d2d242fa 100644
--- a/arch/arm64/Makefile
+++ b/arch/arm64/Makefile
@@ -10,7 +10,7 @@
#
# Copyright (C) 1995-2001 by Russell King
-LDFLAGS_vmlinux :=-p --no-undefined -X
+LDFLAGS_vmlinux :=--no-undefined -X
CPPFLAGS_vmlinux.lds = -DTEXT_OFFSET=$(TEXT_OFFSET)
GZFLAGS :=-9
--
2.20.0.rc0.387.gc7a69e6b6c-goog
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 ceff2f4dcd44abf35864d9a99f85ac619e89a01d Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 27 Aug 2018 10:21:46 +0200
Subject: [PATCH] drm/mediatek: fix OF sibling-node lookup
Use the new of_get_compatible_child() helper to lookup the sibling
instead of using of_find_compatible_node(), which searches the entire
tree from a given start node and thus can return an unrelated (i.e.
non-sibling) node.
This also addresses a potential use-after-free (e.g. after probe
deferral) as the tree-wide helper drops a reference to its first
argument (i.e. the parent device node).
While at it, also fix the related cec-node reference leak.
Fixes: 8f83f26891e1 ("drm/mediatek: Add HDMI support")
Cc: stable <stable(a)vger.kernel.org> # 4.8
Cc: Junzhi Zhao <junzhi.zhao(a)mediatek.com>
Cc: Philipp Zabel <p.zabel(a)pengutronix.de>
Cc: CK Hu <ck.hu(a)mediatek.com>
Cc: David Airlie <airlied(a)linux.ie>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
index 2d45d1dd9554..643f5edd68fe 100644
--- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
+++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
@@ -1446,8 +1446,7 @@ static int mtk_hdmi_dt_parse_pdata(struct mtk_hdmi *hdmi,
}
/* The CEC module handles HDMI hotplug detection */
- cec_np = of_find_compatible_node(np->parent, NULL,
- "mediatek,mt8173-cec");
+ cec_np = of_get_compatible_child(np->parent, "mediatek,mt8173-cec");
if (!cec_np) {
dev_err(dev, "Failed to find CEC node\n");
return -EINVAL;
@@ -1457,8 +1456,10 @@ static int mtk_hdmi_dt_parse_pdata(struct mtk_hdmi *hdmi,
if (!cec_pdev) {
dev_err(hdmi->dev, "Waiting for CEC device %pOF\n",
cec_np);
+ of_node_put(cec_np);
return -EPROBE_DEFER;
}
+ of_node_put(cec_np);
hdmi->cec_dev = &cec_pdev->dev;
/*
Currently kernel might allocate different connector ids
for the same outputs in case of DP MST, which seems to
confuse userspace. There are can be different connector
ids in the list, which could be assigned to the same
output, while being in different states.
This results in issues, like external displays staying
blank after quick unplugging and plugging back(bug #106250).
Returning only active DP connectors fixes the issue.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106250
Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy(a)intel.com>
---
drivers/gpu/drm/drm_mode_config.c | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/drivers/gpu/drm/drm_mode_config.c b/drivers/gpu/drm/drm_mode_config.c
index ee80788f2c40..ec5b2b08a45e 100644
--- a/drivers/gpu/drm/drm_mode_config.c
+++ b/drivers/gpu/drm/drm_mode_config.c
@@ -143,6 +143,7 @@ int drm_mode_getresources(struct drm_device *dev, void *data,
drm_connector_list_iter_begin(dev, &conn_iter);
count = 0;
connector_id = u64_to_user_ptr(card_res->connector_id_ptr);
+ DRM_DEBUG_KMS("GetResources: writing connectors start");
drm_for_each_connector_iter(connector, &conn_iter) {
/* only expose writeback connectors if userspace understands them */
if (!file_priv->writeback_connectors &&
@@ -150,15 +151,20 @@ int drm_mode_getresources(struct drm_device *dev, void *data,
continue;
if (drm_lease_held(file_priv, connector->base.id)) {
- if (count < card_res->count_connectors &&
- put_user(connector->base.id, connector_id + count)) {
- drm_connector_list_iter_end(&conn_iter);
- return -EFAULT;
+ if (connector->connector_type != DRM_MODE_CONNECTOR_DisplayPort ||
+ connector->status != connector_status_disconnected) {
+ if (count < card_res->count_connectors &&
+ put_user(connector->base.id, connector_id + count)) {
+ drm_connector_list_iter_end(&conn_iter);
+ return -EFAULT;
+ }
+ DRM_DEBUG_KMS("GetResources: connector %s", connector->name);
+ count++;
}
- count++;
}
}
card_res->count_connectors = count;
+ DRM_DEBUG_KMS("GetResources: writing connectors end - count %d", count);
drm_connector_list_iter_end(&conn_iter);
return ret;
--
2.17.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 9844fb2e351311210e6660a9a1c62d17424a6145 Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 27 Aug 2018 10:21:53 +0200
Subject: [PATCH] power: supply: twl4030-charger: fix OF sibling-node lookup
Use the new of_get_compatible_child() helper to lookup the usb sibling
node instead of using of_find_compatible_node(), which searches the
entire tree from a given start node and thus can return an unrelated
(non-sibling) node.
This also addresses a potential use-after-free (e.g. after probe
deferral) as the tree-wide helper drops a reference to its first
argument (i.e. the parent device node).
While at it, also fix the related phy-node reference leak.
Fixes: f5e4edb8c888 ("power: twl4030_charger: find associated phy by more reliable means.")
Cc: stable <stable(a)vger.kernel.org> # 4.2
Cc: NeilBrown <neilb(a)suse.de>
Cc: Felipe Balbi <felipe.balbi(a)linux.intel.com>
Cc: Sebastian Reichel <sre(a)kernel.org>
Reviewed-by: Sebastian Reichel <sre(a)kernel.org>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
diff --git a/drivers/power/supply/twl4030_charger.c b/drivers/power/supply/twl4030_charger.c
index bbcaee56db9d..b6a7d9f74cf3 100644
--- a/drivers/power/supply/twl4030_charger.c
+++ b/drivers/power/supply/twl4030_charger.c
@@ -996,12 +996,13 @@ static int twl4030_bci_probe(struct platform_device *pdev)
if (bci->dev->of_node) {
struct device_node *phynode;
- phynode = of_find_compatible_node(bci->dev->of_node->parent,
- NULL, "ti,twl4030-usb");
+ phynode = of_get_compatible_child(bci->dev->of_node->parent,
+ "ti,twl4030-usb");
if (phynode) {
bci->usb_nb.notifier_call = twl4030_bci_usb_ncb;
bci->transceiver = devm_usb_get_phy_by_node(
bci->dev, phynode, &bci->usb_nb);
+ of_node_put(phynode);
if (IS_ERR(bci->transceiver)) {
ret = PTR_ERR(bci->transceiver);
if (ret == -EPROBE_DEFER)
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 5bf59773aaf36dd62117dc83d50e1bbf9ef432da Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 27 Aug 2018 10:21:52 +0200
Subject: [PATCH] NFC: nfcmrvl_uart: fix OF child-node lookup
Use the new of_get_compatible_child() helper to lookup the nfc child
node instead of using of_find_compatible_node(), which searches the
entire tree from a given start node and thus can return an unrelated
(i.e. non-child) node.
This also addresses a potential use-after-free (e.g. after probe
deferral) as the tree-wide helper drops a reference to its first
argument (i.e. the parent node).
Fixes: e097dc624f78 ("NFC: nfcmrvl: add UART driver")
Fixes: d8e018c0b321 ("NFC: nfcmrvl: update device tree bindings for Marvell NFC")
Cc: stable <stable(a)vger.kernel.org> # 4.2
Cc: Vincent Cuissard <cuissard(a)marvell.com>
Cc: Samuel Ortiz <sameo(a)linux.intel.com>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
diff --git a/drivers/nfc/nfcmrvl/uart.c b/drivers/nfc/nfcmrvl/uart.c
index 91162f8e0366..9a22056e8d9e 100644
--- a/drivers/nfc/nfcmrvl/uart.c
+++ b/drivers/nfc/nfcmrvl/uart.c
@@ -73,10 +73,9 @@ static int nfcmrvl_uart_parse_dt(struct device_node *node,
struct device_node *matched_node;
int ret;
- matched_node = of_find_compatible_node(node, NULL, "marvell,nfc-uart");
+ matched_node = of_get_compatible_child(node, "marvell,nfc-uart");
if (!matched_node) {
- matched_node = of_find_compatible_node(node, NULL,
- "mrvl,nfc-uart");
+ matched_node = of_get_compatible_child(node, "mrvl,nfc-uart");
if (!matched_node)
return -ENODEV;
}
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 d397dbe606120a1ea1b11b0020c3f7a3852da5ac Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 27 Aug 2018 10:21:50 +0200
Subject: [PATCH] net: bcmgenet: fix OF child-node lookup
Use the new of_get_compatible_child() helper to lookup the mdio child
node instead of using of_find_compatible_node(), which searches the
entire tree from a given start node and thus can return an unrelated
(i.e. non-child) node.
This also addresses a potential use-after-free (e.g. after probe
deferral) as the tree-wide helper drops a reference to its first
argument (i.e. the node of the device being probed).
Fixes: aa09677cba42 ("net: bcmgenet: add MDIO routines")
Cc: stable <stable(a)vger.kernel.org> # 3.15
Cc: David S. Miller <davem(a)davemloft.net>
Reviewed-by: Florian Fainelli <f.fainelli(a)gmail.com>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c
index 5333274a283c..87fc65560ceb 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
@@ -333,7 +333,7 @@ static struct device_node *bcmgenet_mii_of_find_mdio(struct bcmgenet_priv *priv)
if (!compat)
return NULL;
- priv->mdio_dn = of_find_compatible_node(dn, NULL, compat);
+ priv->mdio_dn = of_get_compatible_child(dn, compat);
kfree(compat);
if (!priv->mdio_dn) {
dev_err(kdev, "unable to find MDIO bus node\n");
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 d397dbe606120a1ea1b11b0020c3f7a3852da5ac Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 27 Aug 2018 10:21:50 +0200
Subject: [PATCH] net: bcmgenet: fix OF child-node lookup
Use the new of_get_compatible_child() helper to lookup the mdio child
node instead of using of_find_compatible_node(), which searches the
entire tree from a given start node and thus can return an unrelated
(i.e. non-child) node.
This also addresses a potential use-after-free (e.g. after probe
deferral) as the tree-wide helper drops a reference to its first
argument (i.e. the node of the device being probed).
Fixes: aa09677cba42 ("net: bcmgenet: add MDIO routines")
Cc: stable <stable(a)vger.kernel.org> # 3.15
Cc: David S. Miller <davem(a)davemloft.net>
Reviewed-by: Florian Fainelli <f.fainelli(a)gmail.com>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c
index 5333274a283c..87fc65560ceb 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
@@ -333,7 +333,7 @@ static struct device_node *bcmgenet_mii_of_find_mdio(struct bcmgenet_priv *priv)
if (!compat)
return NULL;
- priv->mdio_dn = of_find_compatible_node(dn, NULL, compat);
+ priv->mdio_dn = of_get_compatible_child(dn, compat);
kfree(compat);
if (!priv->mdio_dn) {
dev_err(kdev, "unable to find MDIO bus node\n");
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 d397dbe606120a1ea1b11b0020c3f7a3852da5ac Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 27 Aug 2018 10:21:50 +0200
Subject: [PATCH] net: bcmgenet: fix OF child-node lookup
Use the new of_get_compatible_child() helper to lookup the mdio child
node instead of using of_find_compatible_node(), which searches the
entire tree from a given start node and thus can return an unrelated
(i.e. non-child) node.
This also addresses a potential use-after-free (e.g. after probe
deferral) as the tree-wide helper drops a reference to its first
argument (i.e. the node of the device being probed).
Fixes: aa09677cba42 ("net: bcmgenet: add MDIO routines")
Cc: stable <stable(a)vger.kernel.org> # 3.15
Cc: David S. Miller <davem(a)davemloft.net>
Reviewed-by: Florian Fainelli <f.fainelli(a)gmail.com>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
diff --git a/drivers/net/ethernet/broadcom/genet/bcmmii.c b/drivers/net/ethernet/broadcom/genet/bcmmii.c
index 5333274a283c..87fc65560ceb 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmmii.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmmii.c
@@ -333,7 +333,7 @@ static struct device_node *bcmgenet_mii_of_find_mdio(struct bcmgenet_priv *priv)
if (!compat)
return NULL;
- priv->mdio_dn = of_find_compatible_node(dn, NULL, compat);
+ priv->mdio_dn = of_get_compatible_child(dn, compat);
kfree(compat);
if (!priv->mdio_dn) {
dev_err(kdev, "unable to find MDIO bus node\n");
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 5bf59773aaf36dd62117dc83d50e1bbf9ef432da Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 27 Aug 2018 10:21:52 +0200
Subject: [PATCH] NFC: nfcmrvl_uart: fix OF child-node lookup
Use the new of_get_compatible_child() helper to lookup the nfc child
node instead of using of_find_compatible_node(), which searches the
entire tree from a given start node and thus can return an unrelated
(i.e. non-child) node.
This also addresses a potential use-after-free (e.g. after probe
deferral) as the tree-wide helper drops a reference to its first
argument (i.e. the parent node).
Fixes: e097dc624f78 ("NFC: nfcmrvl: add UART driver")
Fixes: d8e018c0b321 ("NFC: nfcmrvl: update device tree bindings for Marvell NFC")
Cc: stable <stable(a)vger.kernel.org> # 4.2
Cc: Vincent Cuissard <cuissard(a)marvell.com>
Cc: Samuel Ortiz <sameo(a)linux.intel.com>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
diff --git a/drivers/nfc/nfcmrvl/uart.c b/drivers/nfc/nfcmrvl/uart.c
index 91162f8e0366..9a22056e8d9e 100644
--- a/drivers/nfc/nfcmrvl/uart.c
+++ b/drivers/nfc/nfcmrvl/uart.c
@@ -73,10 +73,9 @@ static int nfcmrvl_uart_parse_dt(struct device_node *node,
struct device_node *matched_node;
int ret;
- matched_node = of_find_compatible_node(node, NULL, "marvell,nfc-uart");
+ matched_node = of_get_compatible_child(node, "marvell,nfc-uart");
if (!matched_node) {
- matched_node = of_find_compatible_node(node, NULL,
- "mrvl,nfc-uart");
+ matched_node = of_get_compatible_child(node, "mrvl,nfc-uart");
if (!matched_node)
return -ENODEV;
}
Hi Greg,
Few stable candidates for 3.18.y for your consideration.
Cherry picked and build tested on linux-3.18.127 for
ARCH=arm/arm64 + allmodconfig.
Regards,
Amit Pundir
Johannes Thumshirn (1):
cw1200: Don't leak memory if krealloc failes
Mauricio Faria de Oliveira (1):
scsi: qla2xxx: do not queue commands when unloading
Subhash Jadavani (1):
scsi: ufs: fix race between clock gating and devfreq scaling work
Venkat Gopalakrishnan (1):
scsi: ufshcd: Fix race between clk scaling and ungate work
Yaniv Gardi (1):
scsi: ufs: fix bugs related to null pointer access and array size
drivers/net/wireless/cw1200/wsm.c | 16 +++++----
drivers/net/wireless/mwifiex/pcie.c | 9 +++--
drivers/scsi/qla2xxx/qla_os.c | 14 ++++++++
drivers/scsi/ufs/ufs.h | 3 +-
drivers/scsi/ufs/ufshcd.c | 72 +++++++++++++++++++++++++++++++++----
5 files changed, 97 insertions(+), 17 deletions(-)
--
2.7.4
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 5bf59773aaf36dd62117dc83d50e1bbf9ef432da Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 27 Aug 2018 10:21:52 +0200
Subject: [PATCH] NFC: nfcmrvl_uart: fix OF child-node lookup
Use the new of_get_compatible_child() helper to lookup the nfc child
node instead of using of_find_compatible_node(), which searches the
entire tree from a given start node and thus can return an unrelated
(i.e. non-child) node.
This also addresses a potential use-after-free (e.g. after probe
deferral) as the tree-wide helper drops a reference to its first
argument (i.e. the parent node).
Fixes: e097dc624f78 ("NFC: nfcmrvl: add UART driver")
Fixes: d8e018c0b321 ("NFC: nfcmrvl: update device tree bindings for Marvell NFC")
Cc: stable <stable(a)vger.kernel.org> # 4.2
Cc: Vincent Cuissard <cuissard(a)marvell.com>
Cc: Samuel Ortiz <sameo(a)linux.intel.com>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
diff --git a/drivers/nfc/nfcmrvl/uart.c b/drivers/nfc/nfcmrvl/uart.c
index 91162f8e0366..9a22056e8d9e 100644
--- a/drivers/nfc/nfcmrvl/uart.c
+++ b/drivers/nfc/nfcmrvl/uart.c
@@ -73,10 +73,9 @@ static int nfcmrvl_uart_parse_dt(struct device_node *node,
struct device_node *matched_node;
int ret;
- matched_node = of_find_compatible_node(node, NULL, "marvell,nfc-uart");
+ matched_node = of_get_compatible_child(node, "marvell,nfc-uart");
if (!matched_node) {
- matched_node = of_find_compatible_node(node, NULL,
- "mrvl,nfc-uart");
+ matched_node = of_get_compatible_child(node, "mrvl,nfc-uart");
if (!matched_node)
return -ENODEV;
}
Hi Amir,
Here's a backport of this patch to 4.18 and earlier. Tested good with
ltp/fanotify09.
I didn't quite understand the relevance of masking against ALL_FSNOTIFY_EVENTS
in __fsnotify_parent() and the backport in fsnotify() is also not quite trivial.
So, can you please review?
Thanks,
Miklos
---
From: Amir Goldstein <amir73il(a)gmail.com>
Date: Tue, 30 Oct 2018 20:29:53 +0200
Subject: [PATCH] fanotify: fix handling of events on child sub-directory
When an event is reported on a sub-directory and the parent inode has
a mark mask with FS_EVENT_ON_CHILD|FS_ISDIR, the event will be sent to
fsnotify() even if the event type is not in the parent mark mask
(e.g. FS_OPEN).
Further more, if that event happened on a mount or a filesystem with
a mount/sb mark that does have that event type in their mask, the "on
child" event will be reported on the mount/sb mark. That is not
desired, because user will get a duplicate event for the same action.
Note that the event reported on the victim inode is never merged with
the event reported on the parent inode, because of the check in
should_merge(): old_fsn->inode == new_fsn->inode.
Fix this by looking for a match of an actual event type (i.e. not just
FS_ISDIR) in parent's inode mark mask and by not reporting an "on child"
event to group if event type is only found on mount/sb marks.
[backport hint: The bug seems to have always been in fanotify, but this
patch will only apply cleanly to v4.19.y]
Cc: <stable(a)vger.kernel.org> # v4.19
Signed-off-by: Amir Goldstein <amir73il(a)gmail.com>
Signed-off-by: Jan Kara <jack(a)suse.cz>
(cherry picked from commit b469e7e47c8a075cc08bcd1e85d4365134bdcdd5)
---
fs/notify/fanotify/fanotify.c | 10 +++++-----
fs/notify/fsnotify.c | 8 ++++++--
2 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/fs/notify/fanotify/fanotify.c b/fs/notify/fanotify/fanotify.c
index f90842efea13..78126bd7c162 100644
--- a/fs/notify/fanotify/fanotify.c
+++ b/fs/notify/fanotify/fanotify.c
@@ -113,12 +113,12 @@ static bool fanotify_should_send_event(struct fsnotify_iter_info *iter_info,
continue;
mark = iter_info->marks[type];
/*
- * if the event is for a child and this inode doesn't care about
- * events on the child, don't send it!
+ * If the event is for a child and this mark doesn't care about
+ * events on a child, don't send it!
*/
- if (type == FSNOTIFY_OBJ_TYPE_INODE &&
- (event_mask & FS_EVENT_ON_CHILD) &&
- !(mark->mask & FS_EVENT_ON_CHILD))
+ if (event_mask & FS_EVENT_ON_CHILD &&
+ (type != FSNOTIFY_OBJ_TYPE_INODE ||
+ !(mark->mask & FS_EVENT_ON_CHILD)))
continue;
marks_mask |= mark->mask;
diff --git a/fs/notify/fsnotify.c b/fs/notify/fsnotify.c
index ababdbfab537..46d27b357226 100644
--- a/fs/notify/fsnotify.c
+++ b/fs/notify/fsnotify.c
@@ -158,9 +158,9 @@ int __fsnotify_parent(const struct path *path, struct dentry *dentry, __u32 mask
parent = dget_parent(dentry);
p_inode = parent->d_inode;
- if (unlikely(!fsnotify_inode_watches_children(p_inode)))
+ if (unlikely(!fsnotify_inode_watches_children(p_inode))) {
__fsnotify_update_child_dentry_flags(p_inode);
- else if (p_inode->i_fsnotify_mask & mask) {
+ } else if (p_inode->i_fsnotify_mask & mask & ~FS_EVENT_ON_CHILD) {
struct name_snapshot name;
/* we are notifying a parent so come up with the new mask which
@@ -329,6 +329,10 @@ int fsnotify(struct inode *to_tell, __u32 mask, const void *data, int data_is,
else
mnt = NULL;
+ /* An event "on child" is not intended for a mount mark */
+ if (mask & FS_EVENT_ON_CHILD)
+ mnt = NULL;
+
/*
* Optimization: srcu_read_lock() has a memory barrier which can
* be expensive. It protects walking the *_fsnotify_marks lists.
--
2.14.5
commit 2f31a67f01a8beb22cae754c53522cb61a005750 upstream.
Backport to apply on 4.14.y and older stable releases
USB3 roothub might autosuspend before a plugged USB3 device is detected,
causing USB3 device enumeration failure.
USB3 devices don't show up as connected and enabled until USB3 link trainig
completes. On a fast booting platform with a slow USB3 link training the
link might reach the connected enabled state just as the bus is suspending.
If this device is discovered first time by the xhci_bus_suspend() routine
it will be put to U3 suspended state like the other ports which failed to
suspend earlier.
The hub thread will notice the connect change and resume the bus,
moving the port back to U0
This U0 -> U3 -> U0 transition right after being connected seems to be
too much for some devices, causing them to first go to SS.Inactive state,
and finally end up stuck in a polling state with reset asserted
Fix this by failing the bus suspend if a port has a connect change or is
in a polling state in xhci_bus_suspend().
Don't do any port changes until all ports are checked, buffer all port
changes and only write them in the end if suspend can proceed
Cc: stable(a)vger.kernel.org
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/host/xhci-hub.c | 60 ++++++++++++++++++++++++++++++++++-----------
1 file changed, 46 insertions(+), 14 deletions(-)
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index d2a9767..61db9ee 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -1481,13 +1481,16 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
__le32 __iomem **port_array;
struct xhci_bus_state *bus_state;
unsigned long flags;
+ u32 portsc_buf[USB_MAXCHILDREN];
+ bool wake_enabled;
max_ports = xhci_get_ports(hcd, &port_array);
bus_state = &xhci->bus_state[hcd_index(hcd)];
+ wake_enabled = hcd->self.root_hub->do_remote_wakeup;
spin_lock_irqsave(&xhci->lock, flags);
- if (hcd->self.root_hub->do_remote_wakeup) {
+ if (wake_enabled) {
if (bus_state->resuming_ports || /* USB2 */
bus_state->port_remote_wakeup) { /* USB3 */
spin_unlock_irqrestore(&xhci->lock, flags);
@@ -1495,26 +1498,36 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
return -EBUSY;
}
}
-
- port_index = max_ports;
+ /*
+ * Prepare ports for suspend, but don't write anything before all ports
+ * are checked and we know bus suspend can proceed
+ */
bus_state->bus_suspended = 0;
+ port_index = max_ports;
while (port_index--) {
- /* suspend the port if the port is not suspended */
u32 t1, t2;
- int slot_id;
t1 = readl(port_array[port_index]);
t2 = xhci_port_state_to_neutral(t1);
+ portsc_buf[port_index] = 0;
- if ((t1 & PORT_PE) && !(t1 & PORT_PLS_MASK)) {
- xhci_dbg(xhci, "port %d not suspended\n", port_index);
- slot_id = xhci_find_slot_id_by_port(hcd, xhci,
- port_index + 1);
- if (slot_id) {
+ /* Bail out if a USB3 port has a new device in link training */
+ if ((t1 & PORT_PLS_MASK) == XDEV_POLLING) {
+ bus_state->bus_suspended = 0;
+ spin_unlock_irqrestore(&xhci->lock, flags);
+ xhci_dbg(xhci, "Bus suspend bailout, port in polling\n");
+ return -EBUSY;
+ }
+
+ /* suspend ports in U0, or bail out for new connect changes */
+ if ((t1 & PORT_PE) && (t1 & PORT_PLS_MASK) == XDEV_U0) {
+ if ((t1 & PORT_CSC) && wake_enabled) {
+ bus_state->bus_suspended = 0;
spin_unlock_irqrestore(&xhci->lock, flags);
- xhci_stop_device(xhci, slot_id, 1);
- spin_lock_irqsave(&xhci->lock, flags);
+ xhci_dbg(xhci, "Bus suspend bailout, port connect change\n");
+ return -EBUSY;
}
+ xhci_dbg(xhci, "port %d not suspended\n", port_index);
t2 &= ~PORT_PLS_MASK;
t2 |= PORT_LINK_STROBE | XDEV_U3;
set_bit(port_index, &bus_state->bus_suspended);
@@ -1523,7 +1536,7 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
* including the USB 3.0 roothub, but only if CONFIG_PM
* is enabled, so also enable remote wake here.
*/
- if (hcd->self.root_hub->do_remote_wakeup) {
+ if (wake_enabled) {
if (t1 & PORT_CONNECT) {
t2 |= PORT_WKOC_E | PORT_WKDISC_E;
t2 &= ~PORT_WKCONN_E;
@@ -1543,7 +1556,26 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
t1 = xhci_port_state_to_neutral(t1);
if (t1 != t2)
- writel(t2, port_array[port_index]);
+ portsc_buf[port_index] = t2;
+ }
+
+ /* write port settings, stopping and suspending ports if needed */
+ port_index = max_ports;
+ while (port_index--) {
+ if (!portsc_buf[port_index])
+ continue;
+ if (test_bit(port_index, &bus_state->bus_suspended)) {
+ int slot_id;
+
+ slot_id = xhci_find_slot_id_by_port(hcd, xhci,
+ port_index + 1);
+ if (slot_id) {
+ spin_unlock_irqrestore(&xhci->lock, flags);
+ xhci_stop_device(xhci, slot_id, 1);
+ spin_lock_irqsave(&xhci->lock, flags);
+ }
+ }
+ writel(portsc_buf[port_index], port_array[port_index]);
}
hcd->state = HC_STATE_SUSPENDED;
bus_state->next_statechange = jiffies + msecs_to_jiffies(10);
--
2.7.4
From: Parav Pandit <parav(a)mellanox.com>
commit b2bedfb39541a7e14798d066b6f8685d84c8fcf5 upstream
Currently qp->port stores the port number whenever IB_QP_PORT
QP attribute mask is set (during QP state transition to INIT state).
This port number should be stored for the real QP when XRC target QP
is used.
Follow the ib_modify_qp() implementation and hide the access to ->real_qp.
This commit is required for proper operation of commit 65be9cbe1224
("RDMA/uverbs: Expand primary and alt AV port checks") which was added
to 4.14.61.
Without this commit, XRC qp's do not work.
Fixes: a512c2fbef9c ("IB/core: Introduce modify QP operation with udata")
Signed-off-by: Jack Morgenstein <jackm(a)dev.mellanox.co.il>
Signed-off-by: Parav Pandit <parav(a)mellanox.com>
Reviewed-by: Daniel Jurgens <danielj(a)mellanox.com>
Signed-off-by: Leon Romanovsky <leon(a)kernel.org>
Signed-off-by: Jason Gunthorpe <jgg(a)mellanox.com>
---
drivers/infiniband/core/verbs.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index feb80db..6d59af0 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -1285,7 +1285,7 @@ int ib_resolve_eth_dmac(struct ib_device *device,
/**
* ib_modify_qp_with_udata - Modifies the attributes for the specified QP.
- * @qp: The QP to modify.
+ * @ib_qp: The QP to modify.
* @attr: On input, specifies the QP attributes to modify. On output,
* the current values of selected QP attributes are returned.
* @attr_mask: A bit-mask used to specify which attributes of the QP
@@ -1294,9 +1294,10 @@ int ib_resolve_eth_dmac(struct ib_device *device,
* are being modified.
* It returns 0 on success and returns appropriate error code on error.
*/
-int ib_modify_qp_with_udata(struct ib_qp *qp, struct ib_qp_attr *attr,
+int ib_modify_qp_with_udata(struct ib_qp *ib_qp, struct ib_qp_attr *attr,
int attr_mask, struct ib_udata *udata)
{
+ struct ib_qp *qp = ib_qp->real_qp;
int ret;
if (attr_mask & IB_QP_AV) {
--
1.8.1.2
From: Hans Verkuil <hverkuil-cisco(a)xs4all.nl>
vb2_start_streaming() already rolls back the buffers, so there is no
need to call __vb2_queue_cancel(). Especially since __vb2_queue_cancel()
does too much, such as zeroing the q->queued_count value, causing vb2
to think that no buffers have been queued.
It appears that this call to __vb2_queue_cancel() is a left-over from
before commit b3379c6201bb3.
Signed-off-by: Hans Verkuil <hverkuil-cisco(a)xs4all.nl>
Fixes: b3379c6201bb3 ('vb2: only call start_streaming if sufficient buffers are queued')
Cc: <stable(a)vger.kernel.org> # for v4.16 and up
---
drivers/media/common/videobuf2/videobuf2-core.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c
index 0ca81d495bda..77e2bfe5e722 100644
--- a/drivers/media/common/videobuf2/videobuf2-core.c
+++ b/drivers/media/common/videobuf2/videobuf2-core.c
@@ -1941,10 +1941,8 @@ int vb2_core_streamon(struct vb2_queue *q, unsigned int type)
if (ret)
return ret;
ret = vb2_start_streaming(q);
- if (ret) {
- __vb2_queue_cancel(q);
+ if (ret)
return ret;
- }
}
q->streaming = 1;
--
2.19.1
If we race with inode destroy, it's possible for page->mapping to be
NULL before we even enter this routine, as well as after having slept
waiting for the dax entry to become unlocked.
Fixes: c2a7d2a11552 ("filesystem-dax: Introduce dax_lock_mapping_entry()")
Cc: stable(a)vger.kernel.org
Reported-by: Jan Kara <jack(a)suse.cz>
Signed-off-by: Matthew Wilcox <willy(a)infradead.org>
---
fs/dax.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/dax.c b/fs/dax.c
index 9bcce89ea18e..e69fc231833b 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -365,7 +365,7 @@ bool dax_lock_mapping_entry(struct page *page)
struct address_space *mapping = READ_ONCE(page->mapping);
locked = false;
- if (!dax_mapping(mapping))
+ if (!mapping || !dax_mapping(mapping))
break;
/*
--
2.19.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 21556350ade3cb5d7afecc8b3544e56431d21695 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala(a)linux.intel.com>
Date: Wed, 14 Nov 2018 19:34:40 +0200
Subject: [PATCH] drm/i915: Disable LP3 watermarks on all SNB machines
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
I have a Thinkpad X220 Tablet in my hands that is losing vblank
interrupts whenever LP3 watermarks are used.
If I nudge the latency value written to the WM3 register just
by one in either direction the problem disappears. That to me
suggests that the punit will not enter the corrsponding
powersave mode (MPLL shutdown IIRC) unless the latency value
in the register matches exactly what we read from SSKPD. Ie.
it's not really a latency value but rather just a cookie
by which the punit can identify the desired power saving state.
On HSW/BDW this was changed such that we actually just write
the WM level number into those bits, which makes much more
sense given the observed behaviour.
We could try to handle this by disallowing LP3 watermarks
only when vblank interrupts are enabled but we'd first have
to prove that only vblank interrupts are affected, which
seems unlikely. Also we can't grab the wm mutex from the
vblank enable/disable hooks because those are called with
various spinlocks held. Thus we'd have to redesigne the
watermark locking. So to play it safe and keep the code
simple we simply disable LP3 watermarks on all SNB machines.
To do that we simply zero out the latency values for
watermark level 3, and we adjust the watermark computation
to check for that. The behaviour now matches that of the
g4x/vlv/skl wm code in the presence of a zeroed latency
value.
v2: s/USHRT_MAX/U32_MAX/ for consistency with the types (Chris)
Cc: stable(a)vger.kernel.org
Cc: Chris Wilson <chris(a)chris-wilson.co.uk>
Acked-by: Chris Wilson <chris(a)chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101269
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103713
Signed-off-by: Ville Syrjälä <ville.syrjala(a)linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20181114173440.6730-1-ville.s…
(cherry picked from commit 03981c6ebec4fc7056b9b45f847393aeac90d060)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen(a)linux.intel.com>
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 245f0022bcfd..3fe358db1276 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -2493,6 +2493,9 @@ static uint32_t ilk_compute_pri_wm(const struct intel_crtc_state *cstate,
uint32_t method1, method2;
int cpp;
+ if (mem_value == 0)
+ return U32_MAX;
+
if (!intel_wm_plane_visible(cstate, pstate))
return 0;
@@ -2522,6 +2525,9 @@ static uint32_t ilk_compute_spr_wm(const struct intel_crtc_state *cstate,
uint32_t method1, method2;
int cpp;
+ if (mem_value == 0)
+ return U32_MAX;
+
if (!intel_wm_plane_visible(cstate, pstate))
return 0;
@@ -2545,6 +2551,9 @@ static uint32_t ilk_compute_cur_wm(const struct intel_crtc_state *cstate,
{
int cpp;
+ if (mem_value == 0)
+ return U32_MAX;
+
if (!intel_wm_plane_visible(cstate, pstate))
return 0;
@@ -3008,6 +3017,34 @@ static void snb_wm_latency_quirk(struct drm_i915_private *dev_priv)
intel_print_wm_latency(dev_priv, "Cursor", dev_priv->wm.cur_latency);
}
+static void snb_wm_lp3_irq_quirk(struct drm_i915_private *dev_priv)
+{
+ /*
+ * On some SNB machines (Thinkpad X220 Tablet at least)
+ * LP3 usage can cause vblank interrupts to be lost.
+ * The DEIIR bit will go high but it looks like the CPU
+ * never gets interrupted.
+ *
+ * It's not clear whether other interrupt source could
+ * be affected or if this is somehow limited to vblank
+ * interrupts only. To play it safe we disable LP3
+ * watermarks entirely.
+ */
+ if (dev_priv->wm.pri_latency[3] == 0 &&
+ dev_priv->wm.spr_latency[3] == 0 &&
+ dev_priv->wm.cur_latency[3] == 0)
+ return;
+
+ dev_priv->wm.pri_latency[3] = 0;
+ dev_priv->wm.spr_latency[3] = 0;
+ dev_priv->wm.cur_latency[3] = 0;
+
+ DRM_DEBUG_KMS("LP3 watermarks disabled due to potential for lost interrupts\n");
+ intel_print_wm_latency(dev_priv, "Primary", dev_priv->wm.pri_latency);
+ intel_print_wm_latency(dev_priv, "Sprite", dev_priv->wm.spr_latency);
+ intel_print_wm_latency(dev_priv, "Cursor", dev_priv->wm.cur_latency);
+}
+
static void ilk_setup_wm_latency(struct drm_i915_private *dev_priv)
{
intel_read_wm_latency(dev_priv, dev_priv->wm.pri_latency);
@@ -3024,8 +3061,10 @@ static void ilk_setup_wm_latency(struct drm_i915_private *dev_priv)
intel_print_wm_latency(dev_priv, "Sprite", dev_priv->wm.spr_latency);
intel_print_wm_latency(dev_priv, "Cursor", dev_priv->wm.cur_latency);
- if (IS_GEN6(dev_priv))
+ if (IS_GEN6(dev_priv)) {
snb_wm_latency_quirk(dev_priv);
+ snb_wm_lp3_irq_quirk(dev_priv);
+ }
}
static void skl_setup_wm_latency(struct drm_i915_private *dev_priv)
From: Michael J. Ruhl <michael.j.ruhl(a)intel.com>
commit a0e0cb82804a6a21d9067022c2dfdf80d11da429 upstream
pq_update() can only be called in two places: from the completion
function when the complete (npkts) sequence of packets has been
submitted and processed, or from setup function if a subset of the
packets were submitted (i.e. the error path).
Currently both paths can call pq_update() if an error occurrs. This
race will cause the n_req value to go negative, hanging file_close(),
or cause a crash by freeing the txlist more than once.
Several variables are used to determine SDMA send state. Most of
these are unnecessary, and have code inspectible races between the
setup function and the completion function, in both the send path and
the error path.
The request 'status' value can be set by the setup or by the
completion function. This is code inspectibly racy. Since the status
is not needed in the completion code or by the caller it has been
removed.
The request 'done' value races between usage by the setup and the
completion function. The completion function does not need this.
When the number of processed packets matches npkts, it is done.
The 'has_error' value races between usage of the setup and the
completion function. This can cause incorrect error handling and leave
the n_req in an incorrect value (i.e. negative).
Simplify the code by removing all of the unneeded state checks and
variables.
Clean up iovs node when it is freed.
Eliminate race conditions in the error path:
If all packets are submitted, the completion handler will set the
completion status correctly (ok or aborted).
If all packets are not submitted, the caller must wait until the
submitted packets have completed, and then set the completion status.
These two change eliminate the race condition in the error path.
Cc: <stable(a)vger.kernel.org> # 4.14.0
Reviewed-by: Mitko Haralanov <mitko.haralanov(a)intel.com>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn(a)intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl(a)intel.com>
---
drivers/infiniband/hw/hfi1/user_sdma.c | 87 ++++++++++++++------------------
drivers/infiniband/hw/hfi1/user_sdma.h | 3 -
2 files changed, 39 insertions(+), 51 deletions(-)
diff --git a/drivers/infiniband/hw/hfi1/user_sdma.c b/drivers/infiniband/hw/hfi1/user_sdma.c
index 8c954a0..c14ec04 100644
--- a/drivers/infiniband/hw/hfi1/user_sdma.c
+++ b/drivers/infiniband/hw/hfi1/user_sdma.c
@@ -328,7 +328,6 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
u8 opcode, sc, vl;
u16 pkey;
u32 slid;
- int req_queued = 0;
u16 dlid;
u32 selector;
@@ -392,7 +391,6 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
req->data_len = 0;
req->pq = pq;
req->cq = cq;
- req->status = -1;
req->ahg_idx = -1;
req->iov_idx = 0;
req->sent = 0;
@@ -400,12 +398,14 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
req->seqcomp = 0;
req->seqsubmitted = 0;
req->tids = NULL;
- req->done = 0;
req->has_error = 0;
INIT_LIST_HEAD(&req->txps);
memcpy(&req->info, &info, sizeof(info));
+ /* The request is initialized, count it */
+ atomic_inc(&pq->n_reqs);
+
if (req_opcode(info.ctrl) == EXPECTED) {
/* expected must have a TID info and at least one data vector */
if (req->data_iovs < 2) {
@@ -500,7 +500,6 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
ret = pin_vector_pages(req, &req->iovs[i]);
if (ret) {
req->data_iovs = i;
- req->status = ret;
goto free_req;
}
req->data_len += req->iovs[i].iov.iov_len;
@@ -561,14 +560,10 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
req->ahg_idx = sdma_ahg_alloc(req->sde);
set_comp_state(pq, cq, info.comp_idx, QUEUED, 0);
- atomic_inc(&pq->n_reqs);
- req_queued = 1;
/* Send the first N packets in the request to buy us some time */
ret = user_sdma_send_pkts(req, pcount);
- if (unlikely(ret < 0 && ret != -EBUSY)) {
- req->status = ret;
+ if (unlikely(ret < 0 && ret != -EBUSY))
goto free_req;
- }
/*
* It is possible that the SDMA engine would have processed all the
@@ -588,14 +583,8 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
while (req->seqsubmitted != req->info.npkts) {
ret = user_sdma_send_pkts(req, pcount);
if (ret < 0) {
- if (ret != -EBUSY) {
- req->status = ret;
- WRITE_ONCE(req->has_error, 1);
- if (ACCESS_ONCE(req->seqcomp) ==
- req->seqsubmitted - 1)
- goto free_req;
- return ret;
- }
+ if (ret != -EBUSY)
+ goto free_req;
wait_event_interruptible_timeout(
pq->busy.wait_dma,
(pq->state == SDMA_PKT_Q_ACTIVE),
@@ -606,10 +595,19 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
*count += idx;
return 0;
free_req:
- user_sdma_free_request(req, true);
- if (req_queued)
+ /*
+ * If the submitted seqsubmitted == npkts, the completion routine
+ * controls the final state. If sequbmitted < npkts, wait for any
+ * outstanding packets to finish before cleaning up.
+ */
+ if (req->seqsubmitted < req->info.npkts) {
+ if (req->seqsubmitted)
+ wait_event(pq->busy.wait_dma,
+ (req->seqcomp == req->seqsubmitted - 1));
+ user_sdma_free_request(req, true);
pq_update(pq);
- set_comp_state(pq, cq, info.comp_idx, ERROR, req->status);
+ set_comp_state(pq, cq, info.comp_idx, ERROR, ret);
+ }
return ret;
}
@@ -917,7 +915,6 @@ static int user_sdma_send_pkts(struct user_sdma_request *req, unsigned maxpkts)
ret = sdma_send_txlist(req->sde, &pq->busy, &req->txps, &count);
req->seqsubmitted += count;
if (req->seqsubmitted == req->info.npkts) {
- WRITE_ONCE(req->done, 1);
/*
* The txreq has already been submitted to the HW queue
* so we can free the AHG entry now. Corruption will not
@@ -1347,11 +1344,15 @@ static int set_txreq_header_ahg(struct user_sdma_request *req,
return diff;
}
-/*
- * SDMA tx request completion callback. Called when the SDMA progress
- * state machine gets notification that the SDMA descriptors for this
- * tx request have been processed by the DMA engine. Called in
- * interrupt context.
+/**
+ * user_sdma_txreq_cb() - SDMA tx request completion callback.
+ * @txreq: valid sdma tx request
+ * @status: success/failure of request
+ *
+ * Called when the SDMA progress state machine gets notification that
+ * the SDMA descriptors for this tx request have been processed by the
+ * DMA engine. Called in interrupt context.
+ * Only do work on completed sequences.
*/
static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status)
{
@@ -1360,7 +1361,7 @@ static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status)
struct user_sdma_request *req;
struct hfi1_user_sdma_pkt_q *pq;
struct hfi1_user_sdma_comp_q *cq;
- u16 idx;
+ enum hfi1_sdma_comp_state state = COMPLETE;
if (!tx->req)
return;
@@ -1373,31 +1374,19 @@ static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status)
SDMA_DBG(req, "SDMA completion with error %d",
status);
WRITE_ONCE(req->has_error, 1);
+ state = ERROR;
}
req->seqcomp = tx->seqnum;
kmem_cache_free(pq->txreq_cache, tx);
- tx = NULL;
-
- idx = req->info.comp_idx;
- if (req->status == -1 && status == SDMA_TXREQ_S_OK) {
- if (req->seqcomp == req->info.npkts - 1) {
- req->status = 0;
- user_sdma_free_request(req, false);
- pq_update(pq);
- set_comp_state(pq, cq, idx, COMPLETE, 0);
- }
- } else {
- if (status != SDMA_TXREQ_S_OK)
- req->status = status;
- if (req->seqcomp == (ACCESS_ONCE(req->seqsubmitted) - 1) &&
- (READ_ONCE(req->done) ||
- READ_ONCE(req->has_error))) {
- user_sdma_free_request(req, false);
- pq_update(pq);
- set_comp_state(pq, cq, idx, ERROR, req->status);
- }
- }
+
+ /* sequence isn't complete? We are done */
+ if (req->seqcomp != req->info.npkts - 1)
+ return;
+
+ user_sdma_free_request(req, false);
+ set_comp_state(pq, cq, req->info.comp_idx, state, status);
+ pq_update(pq);
}
static inline void pq_update(struct hfi1_user_sdma_pkt_q *pq)
@@ -1430,6 +1419,8 @@ static void user_sdma_free_request(struct user_sdma_request *req, bool unpin)
if (!node)
continue;
+ req->iovs[i].node = NULL;
+
if (unpin)
hfi1_mmu_rb_remove(req->pq->handler,
&node->rb);
diff --git a/drivers/infiniband/hw/hfi1/user_sdma.h b/drivers/infiniband/hw/hfi1/user_sdma.h
index 9b8bb56..5af5233 100644
--- a/drivers/infiniband/hw/hfi1/user_sdma.h
+++ b/drivers/infiniband/hw/hfi1/user_sdma.h
@@ -196,8 +196,6 @@ struct user_sdma_request {
/* Writeable fields shared with interrupt */
u64 seqcomp ____cacheline_aligned_in_smp;
u64 seqsubmitted;
- /* status of the last txreq completed */
- int status;
/* Send side fields */
struct list_head txps ____cacheline_aligned_in_smp;
@@ -219,7 +217,6 @@ struct user_sdma_request {
u16 tididx;
/* progress index moving along the iovs array */
u8 iov_idx;
- u8 done;
u8 has_error;
struct user_sdma_iovec iovs[MAX_VECTORS_PER_REQ];
From: Michael J. Ruhl <michael.j.ruhl(a)intel.com>
commit a0e0cb82804a6a21d9067022c2dfdf80d11da429 upstream
pq_update() can only be called in two places: from the completion
function when the complete (npkts) sequence of packets has been
submitted and processed, or from setup function if a subset of the
packets were submitted (i.e. the error path).
Currently both paths can call pq_update() if an error occurrs. This
race will cause the n_req value to go negative, hanging file_close(),
or cause a crash by freeing the txlist more than once.
Several variables are used to determine SDMA send state. Most of
these are unnecessary, and have code inspectible races between the
setup function and the completion function, in both the send path and
the error path.
The request 'status' value can be set by the setup or by the
completion function. This is code inspectibly racy. Since the status
is not needed in the completion code or by the caller it has been
removed.
The request 'done' value races between usage by the setup and the
completion function. The completion function does not need this.
When the number of processed packets matches npkts, it is done.
The 'has_error' value races between usage of the setup and the
completion function. This can cause incorrect error handling and leave
the n_req in an incorrect value (i.e. negative).
Simplify the code by removing all of the unneeded state checks and
variables.
Clean up iovs node when it is freed.
Eliminate race conditions in the error path:
If all packets are submitted, the completion handler will set the
completion status correctly (ok or aborted).
If all packets are not submitted, the caller must wait until the
submitted packets have completed, and then set the completion status.
These two change eliminate the race condition in the error path.
Cc: <stable(a)vger.kernel.org> # 4.9.0
Reviewed-by: Mitko Haralanov <mitko.haralanov(a)intel.com>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn(a)intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl(a)intel.com>
---
drivers/infiniband/hw/hfi1/user_sdma.c | 106 ++++++++++++++------------------
1 file changed, 45 insertions(+), 61 deletions(-)
diff --git a/drivers/infiniband/hw/hfi1/user_sdma.c b/drivers/infiniband/hw/hfi1/user_sdma.c
index 018a415..619475c 100644
--- a/drivers/infiniband/hw/hfi1/user_sdma.c
+++ b/drivers/infiniband/hw/hfi1/user_sdma.c
@@ -148,11 +148,8 @@
#define TXREQ_FLAGS_REQ_LAST_PKT BIT(0)
/* SDMA request flag bits */
-#define SDMA_REQ_FOR_THREAD 1
-#define SDMA_REQ_SEND_DONE 2
-#define SDMA_REQ_HAVE_AHG 3
-#define SDMA_REQ_HAS_ERROR 4
-#define SDMA_REQ_DONE_ERROR 5
+#define SDMA_REQ_HAVE_AHG 1
+#define SDMA_REQ_HAS_ERROR 2
#define SDMA_PKT_Q_INACTIVE BIT(0)
#define SDMA_PKT_Q_ACTIVE BIT(1)
@@ -252,8 +249,6 @@ struct user_sdma_request {
u64 seqsubmitted;
struct list_head txps;
unsigned long flags;
- /* status of the last txreq completed */
- int status;
};
/*
@@ -546,7 +541,6 @@ int hfi1_user_sdma_process_request(struct file *fp, struct iovec *iovec,
struct sdma_req_info info;
struct user_sdma_request *req;
u8 opcode, sc, vl;
- int req_queued = 0;
u16 dlid;
u32 selector;
@@ -611,11 +605,13 @@ int hfi1_user_sdma_process_request(struct file *fp, struct iovec *iovec,
req->data_iovs = req_iovcnt(info.ctrl) - 1; /* subtract header vector */
req->pq = pq;
req->cq = cq;
- req->status = -1;
INIT_LIST_HEAD(&req->txps);
memcpy(&req->info, &info, sizeof(info));
+ /* The request is initialized, count it */
+ atomic_inc(&pq->n_reqs);
+
if (req_opcode(info.ctrl) == EXPECTED) {
/* expected must have a TID info and at least one data vector */
if (req->data_iovs < 2) {
@@ -704,7 +700,7 @@ int hfi1_user_sdma_process_request(struct file *fp, struct iovec *iovec,
memcpy(&req->iovs[i].iov, iovec + idx++, sizeof(struct iovec));
ret = pin_vector_pages(req, &req->iovs[i]);
if (ret) {
- req->status = ret;
+ req->data_iovs = i;
goto free_req;
}
req->data_len += req->iovs[i].iov.iov_len;
@@ -772,14 +768,10 @@ int hfi1_user_sdma_process_request(struct file *fp, struct iovec *iovec,
}
set_comp_state(pq, cq, info.comp_idx, QUEUED, 0);
- atomic_inc(&pq->n_reqs);
- req_queued = 1;
/* Send the first N packets in the request to buy us some time */
ret = user_sdma_send_pkts(req, pcount);
- if (unlikely(ret < 0 && ret != -EBUSY)) {
- req->status = ret;
+ if (unlikely(ret < 0 && ret != -EBUSY))
goto free_req;
- }
/*
* It is possible that the SDMA engine would have processed all the
@@ -796,17 +788,11 @@ int hfi1_user_sdma_process_request(struct file *fp, struct iovec *iovec,
* request have been submitted to the SDMA engine. However, it
* will not wait for send completions.
*/
- while (!test_bit(SDMA_REQ_SEND_DONE, &req->flags)) {
+ while (req->seqsubmitted != req->info.npkts) {
ret = user_sdma_send_pkts(req, pcount);
if (ret < 0) {
- if (ret != -EBUSY) {
- req->status = ret;
- set_bit(SDMA_REQ_DONE_ERROR, &req->flags);
- if (ACCESS_ONCE(req->seqcomp) ==
- req->seqsubmitted - 1)
- goto free_req;
- return ret;
- }
+ if (ret != -EBUSY)
+ goto free_req;
wait_event_interruptible_timeout(
pq->busy.wait_dma,
(pq->state == SDMA_PKT_Q_ACTIVE),
@@ -817,10 +803,19 @@ int hfi1_user_sdma_process_request(struct file *fp, struct iovec *iovec,
*count += idx;
return 0;
free_req:
- user_sdma_free_request(req, true);
- if (req_queued)
+ /*
+ * If the submitted seqsubmitted == npkts, the completion routine
+ * controls the final state. If sequbmitted < npkts, wait for any
+ * outstanding packets to finish before cleaning up.
+ */
+ if (req->seqsubmitted < req->info.npkts) {
+ if (req->seqsubmitted)
+ wait_event(pq->busy.wait_dma,
+ (req->seqcomp == req->seqsubmitted - 1));
+ user_sdma_free_request(req, true);
pq_update(pq);
- set_comp_state(pq, cq, info.comp_idx, ERROR, req->status);
+ set_comp_state(pq, cq, info.comp_idx, ERROR, ret);
+ }
return ret;
}
@@ -903,10 +898,8 @@ static int user_sdma_send_pkts(struct user_sdma_request *req, unsigned maxpkts)
pq = req->pq;
/* If tx completion has reported an error, we are done. */
- if (test_bit(SDMA_REQ_HAS_ERROR, &req->flags)) {
- set_bit(SDMA_REQ_DONE_ERROR, &req->flags);
+ if (test_bit(SDMA_REQ_HAS_ERROR, &req->flags))
return -EFAULT;
- }
/*
* Check if we might have sent the entire request already
@@ -929,10 +922,8 @@ static int user_sdma_send_pkts(struct user_sdma_request *req, unsigned maxpkts)
* with errors. If so, we are not going to process any
* more packets from this request.
*/
- if (test_bit(SDMA_REQ_HAS_ERROR, &req->flags)) {
- set_bit(SDMA_REQ_DONE_ERROR, &req->flags);
+ if (test_bit(SDMA_REQ_HAS_ERROR, &req->flags))
return -EFAULT;
- }
tx = kmem_cache_alloc(pq->txreq_cache, GFP_KERNEL);
if (!tx)
@@ -1090,7 +1081,6 @@ static int user_sdma_send_pkts(struct user_sdma_request *req, unsigned maxpkts)
ret = sdma_send_txlist(req->sde, &pq->busy, &req->txps, &count);
req->seqsubmitted += count;
if (req->seqsubmitted == req->info.npkts) {
- set_bit(SDMA_REQ_SEND_DONE, &req->flags);
/*
* The txreq has already been submitted to the HW queue
* so we can free the AHG entry now. Corruption will not
@@ -1489,11 +1479,15 @@ static int set_txreq_header_ahg(struct user_sdma_request *req,
return diff;
}
-/*
- * SDMA tx request completion callback. Called when the SDMA progress
- * state machine gets notification that the SDMA descriptors for this
- * tx request have been processed by the DMA engine. Called in
- * interrupt context.
+/**
+ * user_sdma_txreq_cb() - SDMA tx request completion callback.
+ * @txreq: valid sdma tx request
+ * @status: success/failure of request
+ *
+ * Called when the SDMA progress state machine gets notification that
+ * the SDMA descriptors for this tx request have been processed by the
+ * DMA engine. Called in interrupt context.
+ * Only do work on completed sequences.
*/
static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status)
{
@@ -1502,7 +1496,7 @@ static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status)
struct user_sdma_request *req;
struct hfi1_user_sdma_pkt_q *pq;
struct hfi1_user_sdma_comp_q *cq;
- u16 idx;
+ enum hfi1_sdma_comp_state state = COMPLETE;
if (!tx->req)
return;
@@ -1515,31 +1509,19 @@ static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status)
SDMA_DBG(req, "SDMA completion with error %d",
status);
set_bit(SDMA_REQ_HAS_ERROR, &req->flags);
+ state = ERROR;
}
req->seqcomp = tx->seqnum;
kmem_cache_free(pq->txreq_cache, tx);
- tx = NULL;
-
- idx = req->info.comp_idx;
- if (req->status == -1 && status == SDMA_TXREQ_S_OK) {
- if (req->seqcomp == req->info.npkts - 1) {
- req->status = 0;
- user_sdma_free_request(req, false);
- pq_update(pq);
- set_comp_state(pq, cq, idx, COMPLETE, 0);
- }
- } else {
- if (status != SDMA_TXREQ_S_OK)
- req->status = status;
- if (req->seqcomp == (ACCESS_ONCE(req->seqsubmitted) - 1) &&
- (test_bit(SDMA_REQ_SEND_DONE, &req->flags) ||
- test_bit(SDMA_REQ_DONE_ERROR, &req->flags))) {
- user_sdma_free_request(req, false);
- pq_update(pq);
- set_comp_state(pq, cq, idx, ERROR, req->status);
- }
- }
+
+ /* sequence isn't complete? We are done */
+ if (req->seqcomp != req->info.npkts - 1)
+ return;
+
+ user_sdma_free_request(req, false);
+ set_comp_state(pq, cq, req->info.comp_idx, state, status);
+ pq_update(pq);
}
static inline void pq_update(struct hfi1_user_sdma_pkt_q *pq)
@@ -1572,6 +1554,8 @@ static void user_sdma_free_request(struct user_sdma_request *req, bool unpin)
if (!node)
continue;
+ req->iovs[i].node = NULL;
+
if (unpin)
hfi1_mmu_rb_remove(req->pq->handler,
&node->rb);
From: Michael J. Ruhl <michael.j.ruhl(a)intel.com>
commit a0e0cb82804a6a21d9067022c2dfdf80d11da429 upstream
pq_update() can only be called in two places: from the completion
function when the complete (npkts) sequence of packets has been
submitted and processed, or from setup function if a subset of the
packets were submitted (i.e. the error path).
Currently both paths can call pq_update() if an error occurrs. This
race will cause the n_req value to go negative, hanging file_close(),
or cause a crash by freeing the txlist more than once.
Several variables are used to determine SDMA send state. Most of
these are unnecessary, and have code inspectible races between the
setup function and the completion function, in both the send path and
the error path.
The request 'status' value can be set by the setup or by the
completion function. This is code inspectibly racy. Since the status
is not needed in the completion code or by the caller it has been
removed.
The request 'done' value races between usage by the setup and the
completion function. The completion function does not need this.
When the number of processed packets matches npkts, it is done.
The 'has_error' value races between usage of the setup and the
completion function. This can cause incorrect error handling and leave
the n_req in an incorrect value (i.e. negative).
Simplify the code by removing all of the unneeded state checks and
variables.
Clean up iovs node when it is freed.
Eliminate race conditions in the error path:
If all packets are submitted, the completion handler will set the
completion status correctly (ok or aborted).
If all packets are not submitted, the caller must wait until the
submitted packets have completed, and then set the completion status.
These two change eliminate the race condition in the error path.
Cc: <stable(a)vger.kernel.org> # 4.18.x+
Reviewed-by: Mitko Haralanov <mitko.haralanov(a)intel.com>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn(a)intel.com>
Signed-off-by: Michael J. Ruhl <michael.j.ruhl(a)intel.com>
Signed-off-by: Dennis Dalessandro <dennis.dalessandro(a)intel.com>
Signed-off-by: Jason Gunthorpe <jgg(a)mellanox.com>
---
drivers/infiniband/hw/hfi1/user_sdma.c | 87 ++++++++++++++------------------
drivers/infiniband/hw/hfi1/user_sdma.h | 3 -
2 files changed, 39 insertions(+), 51 deletions(-)
diff --git a/drivers/infiniband/hw/hfi1/user_sdma.c b/drivers/infiniband/hw/hfi1/user_sdma.c
index 5c88706..39134dd 100644
--- a/drivers/infiniband/hw/hfi1/user_sdma.c
+++ b/drivers/infiniband/hw/hfi1/user_sdma.c
@@ -328,7 +328,6 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
u8 opcode, sc, vl;
u16 pkey;
u32 slid;
- int req_queued = 0;
u16 dlid;
u32 selector;
@@ -392,7 +391,6 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
req->data_len = 0;
req->pq = pq;
req->cq = cq;
- req->status = -1;
req->ahg_idx = -1;
req->iov_idx = 0;
req->sent = 0;
@@ -400,12 +398,14 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
req->seqcomp = 0;
req->seqsubmitted = 0;
req->tids = NULL;
- req->done = 0;
req->has_error = 0;
INIT_LIST_HEAD(&req->txps);
memcpy(&req->info, &info, sizeof(info));
+ /* The request is initialized, count it */
+ atomic_inc(&pq->n_reqs);
+
if (req_opcode(info.ctrl) == EXPECTED) {
/* expected must have a TID info and at least one data vector */
if (req->data_iovs < 2) {
@@ -500,7 +500,6 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
ret = pin_vector_pages(req, &req->iovs[i]);
if (ret) {
req->data_iovs = i;
- req->status = ret;
goto free_req;
}
req->data_len += req->iovs[i].iov.iov_len;
@@ -561,14 +560,10 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
req->ahg_idx = sdma_ahg_alloc(req->sde);
set_comp_state(pq, cq, info.comp_idx, QUEUED, 0);
- atomic_inc(&pq->n_reqs);
- req_queued = 1;
/* Send the first N packets in the request to buy us some time */
ret = user_sdma_send_pkts(req, pcount);
- if (unlikely(ret < 0 && ret != -EBUSY)) {
- req->status = ret;
+ if (unlikely(ret < 0 && ret != -EBUSY))
goto free_req;
- }
/*
* It is possible that the SDMA engine would have processed all the
@@ -588,14 +583,8 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
while (req->seqsubmitted != req->info.npkts) {
ret = user_sdma_send_pkts(req, pcount);
if (ret < 0) {
- if (ret != -EBUSY) {
- req->status = ret;
- WRITE_ONCE(req->has_error, 1);
- if (READ_ONCE(req->seqcomp) ==
- req->seqsubmitted - 1)
- goto free_req;
- return ret;
- }
+ if (ret != -EBUSY)
+ goto free_req;
wait_event_interruptible_timeout(
pq->busy.wait_dma,
(pq->state == SDMA_PKT_Q_ACTIVE),
@@ -606,10 +595,19 @@ int hfi1_user_sdma_process_request(struct hfi1_filedata *fd,
*count += idx;
return 0;
free_req:
- user_sdma_free_request(req, true);
- if (req_queued)
+ /*
+ * If the submitted seqsubmitted == npkts, the completion routine
+ * controls the final state. If sequbmitted < npkts, wait for any
+ * outstanding packets to finish before cleaning up.
+ */
+ if (req->seqsubmitted < req->info.npkts) {
+ if (req->seqsubmitted)
+ wait_event(pq->busy.wait_dma,
+ (req->seqcomp == req->seqsubmitted - 1));
+ user_sdma_free_request(req, true);
pq_update(pq);
- set_comp_state(pq, cq, info.comp_idx, ERROR, req->status);
+ set_comp_state(pq, cq, info.comp_idx, ERROR, ret);
+ }
return ret;
}
@@ -917,7 +915,6 @@ static int user_sdma_send_pkts(struct user_sdma_request *req, unsigned maxpkts)
ret = sdma_send_txlist(req->sde, &pq->busy, &req->txps, &count);
req->seqsubmitted += count;
if (req->seqsubmitted == req->info.npkts) {
- WRITE_ONCE(req->done, 1);
/*
* The txreq has already been submitted to the HW queue
* so we can free the AHG entry now. Corruption will not
@@ -1365,11 +1362,15 @@ static int set_txreq_header_ahg(struct user_sdma_request *req,
return idx;
}
-/*
- * SDMA tx request completion callback. Called when the SDMA progress
- * state machine gets notification that the SDMA descriptors for this
- * tx request have been processed by the DMA engine. Called in
- * interrupt context.
+/**
+ * user_sdma_txreq_cb() - SDMA tx request completion callback.
+ * @txreq: valid sdma tx request
+ * @status: success/failure of request
+ *
+ * Called when the SDMA progress state machine gets notification that
+ * the SDMA descriptors for this tx request have been processed by the
+ * DMA engine. Called in interrupt context.
+ * Only do work on completed sequences.
*/
static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status)
{
@@ -1378,7 +1379,7 @@ static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status)
struct user_sdma_request *req;
struct hfi1_user_sdma_pkt_q *pq;
struct hfi1_user_sdma_comp_q *cq;
- u16 idx;
+ enum hfi1_sdma_comp_state state = COMPLETE;
if (!tx->req)
return;
@@ -1391,31 +1392,19 @@ static void user_sdma_txreq_cb(struct sdma_txreq *txreq, int status)
SDMA_DBG(req, "SDMA completion with error %d",
status);
WRITE_ONCE(req->has_error, 1);
+ state = ERROR;
}
req->seqcomp = tx->seqnum;
kmem_cache_free(pq->txreq_cache, tx);
- tx = NULL;
-
- idx = req->info.comp_idx;
- if (req->status == -1 && status == SDMA_TXREQ_S_OK) {
- if (req->seqcomp == req->info.npkts - 1) {
- req->status = 0;
- user_sdma_free_request(req, false);
- pq_update(pq);
- set_comp_state(pq, cq, idx, COMPLETE, 0);
- }
- } else {
- if (status != SDMA_TXREQ_S_OK)
- req->status = status;
- if (req->seqcomp == (READ_ONCE(req->seqsubmitted) - 1) &&
- (READ_ONCE(req->done) ||
- READ_ONCE(req->has_error))) {
- user_sdma_free_request(req, false);
- pq_update(pq);
- set_comp_state(pq, cq, idx, ERROR, req->status);
- }
- }
+
+ /* sequence isn't complete? We are done */
+ if (req->seqcomp != req->info.npkts - 1)
+ return;
+
+ user_sdma_free_request(req, false);
+ set_comp_state(pq, cq, req->info.comp_idx, state, status);
+ pq_update(pq);
}
static inline void pq_update(struct hfi1_user_sdma_pkt_q *pq)
@@ -1448,6 +1437,8 @@ static void user_sdma_free_request(struct user_sdma_request *req, bool unpin)
if (!node)
continue;
+ req->iovs[i].node = NULL;
+
if (unpin)
hfi1_mmu_rb_remove(req->pq->handler,
&node->rb);
diff --git a/drivers/infiniband/hw/hfi1/user_sdma.h b/drivers/infiniband/hw/hfi1/user_sdma.h
index d2bc77f..0ae0645 100644
--- a/drivers/infiniband/hw/hfi1/user_sdma.h
+++ b/drivers/infiniband/hw/hfi1/user_sdma.h
@@ -205,8 +205,6 @@ struct user_sdma_request {
/* Writeable fields shared with interrupt */
u64 seqcomp ____cacheline_aligned_in_smp;
u64 seqsubmitted;
- /* status of the last txreq completed */
- int status;
/* Send side fields */
struct list_head txps ____cacheline_aligned_in_smp;
@@ -228,7 +226,6 @@ struct user_sdma_request {
u16 tididx;
/* progress index moving along the iovs array */
u8 iov_idx;
- u8 done;
u8 has_error;
struct user_sdma_iovec iovs[MAX_VECTORS_PER_REQ];
Snip
> > > >
> > > > On Tue, Nov 20, 2018 at 10:03:59AM +0100, Jean Delvare wrote:
> > > > > On Tue, 20 Nov 2018 09:54:19 +0100, Greg KH wrote:
> > > > > > Ok, I'll go revert this, but shouldn't it also be reverted in
> > > > > > Linus's tree as well?
> > > > >
Hi Jean and Greg,
> > > > > No. As I understand it (with my limited knowledge of ACPICA),
> > > > > the change itself is correct. The problem is that it will detect
> > > > > resource conflicts which were unnoticed before, and that will
> > > > > prevent drivers from loading. Some of them may be addressed with
> > > > > driver fixes or new drivers. Others are false positives (due to
> > > > > bogus BIOS) which users will have to work around with
> > > > > acpi_resource_conflicts=lax. We have been through this before,
> > > > > nothing new really, but it takes years to address such problems.
> > > > > This just
> > can't be done in stable kernel series.
> > >
> > > I would like to give you more context.
> > >
> > > There was a fairly complicated change that occurred in 4.17 and we
> > > caused a regression by forgetting to add region addresses in a
> > > global list during operation region initialization. We found the
> > > regression when bug reporters tried to boot their macbook pro and
> > > asus laptop and saw that there was a difference in behavior when
> > > drivers are being loaded
> >
> > Commit 4abb951b73ff0a8a979113ef185651aa3c8da19b has no Fixes tag.
> > Which commit introduced the regression? Can you point me to the
> > associated bug reports?
>
> Sorry about the missing fixed tag. It's supposed to fix
> 5a8361f7ecceaed64b4064000d16cb703462be49
> ACPICA: Integrate package handling with module-level code
>
> >
> > > So what I am trying to say is that we have been emitting these
> > > errors for a while before we caused the regression. The goal with
> > > this patch is to keep the behavior the same as kernels older than
> > > 4.17 where warnings are printed to dmesg due to resource conflicts.
> >
> > Fine with me for upstream, but I still need to be convinced that it
> > belongs to stable series. For now, the only 2 related bugs I know of
> > are
> > #200011 (which is NOT fixed by commit
>
> This bug is kind of messy. It's like 2 bugs in 1 report. This patch fixes a part of
> their problem. Another part has to do with ECDT load order.
>
> Would it help to open a separate bug report for this particular issue and close
> it?
> I think this might be a little confusing to someone who reads the commit
> message.
>
> > 4abb951b73ff0a8a979113ef185651aa3c8da19b) and #201721 (which is
> caused
>
> I did not know about this bug report.
>
> > by that commit). 1 vs 0, revert wins. If you want me to change my
> > mind, you must provide additional data points proving that commit
> > 4abb951b73ff0a8a979113ef185651aa3c8da19b solves more functional
> > regressions than it causes.
Here's an additional data point from the discussion on bz201721.
The user started using fancontrol during the period where resource conflict
checking was unintentionally removed. If the reporter tries using fancontrol
on 4.18.13, they report that fancontrol does not work. So it was basically
always the case that he needed to use acpi_resource_conflicts=lax for a short
period of time.
I understand that this "breaks" this machine but we shouldn't be reverting
resource conflict checking for all other drivers just because of fancontrol. By
removing this check, we are suppressing warnings and changing the loading behavior
of other drivers as well.
Thanks,
Erik
>
> If we do not have include this commit, then we are in a state where resource
> conflicts are not properly detected. These detections help kernels decide
> which drivers to load. However, I do see your point about this breaking the
> reporter's machine and it's possible that I may have missed something.
>
> We should get the reporter's dmesg for older kernels.
>
> It would be ideal to resolve this bug AND add region addresses in the global
> address list.
> I've asked the bug reporter in #201721 for more information. We can delay
> this patch for now and look at the reporter's issue more carefully.
>
> Thanks for all of the information!
>
> Erik
> >
> > Thanks,
> > --
> > Jean Delvare
> > SUSE L3 Support
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 cbffaf7aa09edbaea2bc7dc440c945297095e2fd Mon Sep 17 00:00:00 2001
From: Alexander Stein <alexander.stein(a)systec-electronic.com>
Date: Thu, 11 Oct 2018 17:01:25 +0200
Subject: [PATCH] can: flexcan: Always use last mailbox for TX
Essentially this patch moves the TX mailbox to position 63, regardless
of timestamp based offloading or RX FIFO. So mainly the iflag register
usage regarding TX has changed. The rest is consolidating RX FIFO and
timestamp offloading as they now use both the same TX mailbox.
The reason is a very annoying behavior regarding sending RTR frames when
_not_ using RX FIFO:
If a TX mailbox sent a RTR frame it becomes a RX mailbox. For that
reason flexcan_irq disables the TX mailbox again. But if during the time
the RTR was sent and the TX mailbox is disabled a new CAN frames is
received, it is lost without notice. The reason is that so-called
"Move-in" process starts from the lowest mailbox which happen to be a TX
mailbox set to EMPTY.
Steps to reproduce (I used an imx7d):
1. generate regular bursts of messages
2. send a RTR from flexcan with higher priority than burst messages every
1ms, e.g. cangen -I 0x100 -L 0 -g 1 -R can0
3. notice a lost message without notification after some seconds
When running an iperf in parallel this problem is occurring even more
frequently. Using filters is not possible as at least one single CAN-ID
is allowed. Handling the TX MB during RX is also not possible as there
is no race-free disable of RX MB.
There is still a slight window when the described problem can occur. But
for that all RX MB must be in use which is essentially next to an
overrun. Still there will be no indication if it ever occurs.
Signed-off-by: Alexander Stein <alexander.stein(a)systec-electronic.com>
Cc: linux-stable <stable(a)vger.kernel.org>
Signed-off-by: Marc Kleine-Budde <mkl(a)pengutronix.de>
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index 0431f8d05518..677c41701cf3 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -135,13 +135,12 @@
/* FLEXCAN interrupt flag register (IFLAG) bits */
/* Errata ERR005829 step7: Reserve first valid MB */
-#define FLEXCAN_TX_MB_RESERVED_OFF_FIFO 8
-#define FLEXCAN_TX_MB_OFF_FIFO 9
+#define FLEXCAN_TX_MB_RESERVED_OFF_FIFO 8
#define FLEXCAN_TX_MB_RESERVED_OFF_TIMESTAMP 0
-#define FLEXCAN_TX_MB_OFF_TIMESTAMP 1
-#define FLEXCAN_RX_MB_OFF_TIMESTAMP_FIRST (FLEXCAN_TX_MB_OFF_TIMESTAMP + 1)
-#define FLEXCAN_RX_MB_OFF_TIMESTAMP_LAST 63
-#define FLEXCAN_IFLAG_MB(x) BIT(x)
+#define FLEXCAN_TX_MB 63
+#define FLEXCAN_RX_MB_OFF_TIMESTAMP_FIRST (FLEXCAN_TX_MB_RESERVED_OFF_TIMESTAMP + 1)
+#define FLEXCAN_RX_MB_OFF_TIMESTAMP_LAST (FLEXCAN_TX_MB - 1)
+#define FLEXCAN_IFLAG_MB(x) BIT(x & 0x1f)
#define FLEXCAN_IFLAG_RX_FIFO_OVERFLOW BIT(7)
#define FLEXCAN_IFLAG_RX_FIFO_WARN BIT(6)
#define FLEXCAN_IFLAG_RX_FIFO_AVAILABLE BIT(5)
@@ -737,9 +736,9 @@ static inline u64 flexcan_read_reg_iflag_rx(struct flexcan_priv *priv)
struct flexcan_regs __iomem *regs = priv->regs;
u32 iflag1, iflag2;
- iflag2 = priv->read(®s->iflag2) & priv->reg_imask2_default;
- iflag1 = priv->read(®s->iflag1) & priv->reg_imask1_default &
+ iflag2 = priv->read(®s->iflag2) & priv->reg_imask2_default &
~FLEXCAN_IFLAG_MB(priv->tx_mb_idx);
+ iflag1 = priv->read(®s->iflag1) & priv->reg_imask1_default;
return (u64)iflag2 << 32 | iflag1;
}
@@ -751,11 +750,9 @@ static irqreturn_t flexcan_irq(int irq, void *dev_id)
struct flexcan_priv *priv = netdev_priv(dev);
struct flexcan_regs __iomem *regs = priv->regs;
irqreturn_t handled = IRQ_NONE;
- u32 reg_iflag1, reg_esr;
+ u32 reg_iflag2, reg_esr;
enum can_state last_state = priv->can.state;
- reg_iflag1 = priv->read(®s->iflag1);
-
/* reception interrupt */
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
u64 reg_iflag;
@@ -769,6 +766,9 @@ static irqreturn_t flexcan_irq(int irq, void *dev_id)
break;
}
} else {
+ u32 reg_iflag1;
+
+ reg_iflag1 = priv->read(®s->iflag1);
if (reg_iflag1 & FLEXCAN_IFLAG_RX_FIFO_AVAILABLE) {
handled = IRQ_HANDLED;
can_rx_offload_irq_offload_fifo(&priv->offload);
@@ -784,8 +784,10 @@ static irqreturn_t flexcan_irq(int irq, void *dev_id)
}
}
+ reg_iflag2 = priv->read(®s->iflag2);
+
/* transmission complete interrupt */
- if (reg_iflag1 & FLEXCAN_IFLAG_MB(priv->tx_mb_idx)) {
+ if (reg_iflag2 & FLEXCAN_IFLAG_MB(priv->tx_mb_idx)) {
handled = IRQ_HANDLED;
stats->tx_bytes += can_get_echo_skb(dev, 0);
stats->tx_packets++;
@@ -794,7 +796,7 @@ static irqreturn_t flexcan_irq(int irq, void *dev_id)
/* after sending a RTR frame MB is in RX mode */
priv->write(FLEXCAN_MB_CODE_TX_INACTIVE,
&priv->tx_mb->can_ctrl);
- priv->write(FLEXCAN_IFLAG_MB(priv->tx_mb_idx), ®s->iflag1);
+ priv->write(FLEXCAN_IFLAG_MB(priv->tx_mb_idx), ®s->iflag2);
netif_wake_queue(dev);
}
@@ -936,15 +938,13 @@ static int flexcan_chip_start(struct net_device *dev)
reg_mcr &= ~FLEXCAN_MCR_MAXMB(0xff);
reg_mcr |= FLEXCAN_MCR_FRZ | FLEXCAN_MCR_HALT | FLEXCAN_MCR_SUPV |
FLEXCAN_MCR_WRN_EN | FLEXCAN_MCR_SRX_DIS | FLEXCAN_MCR_IRMQ |
- FLEXCAN_MCR_IDAM_C;
+ FLEXCAN_MCR_IDAM_C | FLEXCAN_MCR_MAXMB(priv->tx_mb_idx);
- if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
+ if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP)
reg_mcr &= ~FLEXCAN_MCR_FEN;
- reg_mcr |= FLEXCAN_MCR_MAXMB(priv->offload.mb_last);
- } else {
- reg_mcr |= FLEXCAN_MCR_FEN |
- FLEXCAN_MCR_MAXMB(priv->tx_mb_idx);
- }
+ else
+ reg_mcr |= FLEXCAN_MCR_FEN;
+
netdev_dbg(dev, "%s: writing mcr=0x%08x", __func__, reg_mcr);
priv->write(reg_mcr, ®s->mcr);
@@ -987,16 +987,17 @@ static int flexcan_chip_start(struct net_device *dev)
priv->write(reg_ctrl2, ®s->ctrl2);
}
- /* clear and invalidate all mailboxes first */
- for (i = priv->tx_mb_idx; i < ARRAY_SIZE(regs->mb); i++) {
- priv->write(FLEXCAN_MB_CODE_RX_INACTIVE,
- ®s->mb[i].can_ctrl);
- }
-
if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
- for (i = priv->offload.mb_first; i <= priv->offload.mb_last; i++)
+ for (i = priv->offload.mb_first; i <= priv->offload.mb_last; i++) {
priv->write(FLEXCAN_MB_CODE_RX_EMPTY,
®s->mb[i].can_ctrl);
+ }
+ } else {
+ /* clear and invalidate unused mailboxes first */
+ for (i = FLEXCAN_TX_MB_RESERVED_OFF_FIFO; i <= ARRAY_SIZE(regs->mb); i++) {
+ priv->write(FLEXCAN_MB_CODE_RX_INACTIVE,
+ ®s->mb[i].can_ctrl);
+ }
}
/* Errata ERR005829: mark first TX mailbox as INACTIVE */
@@ -1360,17 +1361,15 @@ static int flexcan_probe(struct platform_device *pdev)
priv->devtype_data = devtype_data;
priv->reg_xceiver = reg_xceiver;
- if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP) {
- priv->tx_mb_idx = FLEXCAN_TX_MB_OFF_TIMESTAMP;
+ if (priv->devtype_data->quirks & FLEXCAN_QUIRK_USE_OFF_TIMESTAMP)
priv->tx_mb_reserved = ®s->mb[FLEXCAN_TX_MB_RESERVED_OFF_TIMESTAMP];
- } else {
- priv->tx_mb_idx = FLEXCAN_TX_MB_OFF_FIFO;
+ else
priv->tx_mb_reserved = ®s->mb[FLEXCAN_TX_MB_RESERVED_OFF_FIFO];
- }
+ priv->tx_mb_idx = FLEXCAN_TX_MB;
priv->tx_mb = ®s->mb[priv->tx_mb_idx];
- priv->reg_imask1_default = FLEXCAN_IFLAG_MB(priv->tx_mb_idx);
- priv->reg_imask2_default = 0;
+ priv->reg_imask1_default = 0;
+ priv->reg_imask2_default = FLEXCAN_IFLAG_MB(priv->tx_mb_idx);
priv->offload.mailbox_read = flexcan_mailbox_read;
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 e01ad46d53b59720c6ae69963ee1756506954c85 Mon Sep 17 00:00:00 2001
From: Jianchao Wang <jianchao.w.wang(a)oracle.com>
Date: Fri, 12 Oct 2018 18:07:28 +0800
Subject: [PATCH] blk-mq: fallback to previous nr_hw_queues when updating fails
When we try to increate the nr_hw_queues, we may fail due to
shortage of memory or other reason, then blk_mq_realloc_hw_ctxs stops
and some entries in q->queue_hw_ctx are left with NULL. However,
because queue map has been updated with new nr_hw_queues, some cpus
have been mapped to hw queue which just encounters allocation failure,
thus blk_mq_map_queue could return NULL. This will cause panic in
following blk_mq_map_swqueue.
To fix it, when increase nr_hw_queues fails, fallback to previous
nr_hw_queues and post warning. At the same time, driver's .map_queues
usually use completion irq affinity to map hw and cpu, fallback
nr_hw_queues will cause lack of some cpu's map to hw, so use default
blk_mq_map_queues to do that.
Reported-by: syzbot+83e8cbe702263932d9d4(a)syzkaller.appspotmail.com
Signed-off-by: Jianchao Wang <jianchao.w.wang(a)oracle.com>
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 941f51380077..c2ecd64a2403 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -2557,7 +2557,7 @@ static struct blk_mq_hw_ctx *blk_mq_alloc_and_init_hctx(
static void blk_mq_realloc_hw_ctxs(struct blk_mq_tag_set *set,
struct request_queue *q)
{
- int i, j;
+ int i, j, end;
struct blk_mq_hw_ctx **hctxs = q->queue_hw_ctx;
/* protect against switching io scheduler */
@@ -2591,8 +2591,20 @@ static void blk_mq_realloc_hw_ctxs(struct blk_mq_tag_set *set,
break;
}
}
+ /*
+ * Increasing nr_hw_queues fails. Free the newly allocated
+ * hctxs and keep the previous q->nr_hw_queues.
+ */
+ if (i != set->nr_hw_queues) {
+ j = q->nr_hw_queues;
+ end = i;
+ } else {
+ j = i;
+ end = q->nr_hw_queues;
+ q->nr_hw_queues = set->nr_hw_queues;
+ }
- for (j = i; j < q->nr_hw_queues; j++) {
+ for (; j < end; j++) {
struct blk_mq_hw_ctx *hctx = hctxs[j];
if (hctx) {
@@ -2604,7 +2616,6 @@ static void blk_mq_realloc_hw_ctxs(struct blk_mq_tag_set *set,
}
}
- q->nr_hw_queues = i;
mutex_unlock(&q->sysfs_lock);
}
@@ -2989,6 +3000,7 @@ static void __blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set,
{
struct request_queue *q;
LIST_HEAD(head);
+ int prev_nr_hw_queues;
lockdep_assert_held(&set->tag_list_lock);
@@ -3017,10 +3029,19 @@ static void __blk_mq_update_nr_hw_queues(struct blk_mq_tag_set *set,
blk_mq_sysfs_unregister(q);
}
+ prev_nr_hw_queues = set->nr_hw_queues;
set->nr_hw_queues = nr_hw_queues;
blk_mq_update_queue_map(set);
+fallback:
list_for_each_entry(q, &set->tag_list, tag_set_list) {
blk_mq_realloc_hw_ctxs(set, q);
+ if (q->nr_hw_queues != set->nr_hw_queues) {
+ pr_warn("Increasing nr_hw_queues to %d fails, fallback to %d\n",
+ nr_hw_queues, prev_nr_hw_queues);
+ set->nr_hw_queues = prev_nr_hw_queues;
+ blk_mq_map_queues(set);
+ goto fallback;
+ }
blk_mq_map_swqueue(q);
}
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 2f31a67f01a8beb22cae754c53522cb61a005750 Mon Sep 17 00:00:00 2001
From: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Date: Thu, 15 Nov 2018 11:38:41 +0200
Subject: [PATCH] usb: xhci: Prevent bus suspend if a port connect change or
polling state is detected
USB3 roothub might autosuspend before a plugged USB3 device is detected,
causing USB3 device enumeration failure.
USB3 devices don't show up as connected and enabled until USB3 link trainig
completes. On a fast booting platform with a slow USB3 link training the
link might reach the connected enabled state just as the bus is suspending.
If this device is discovered first time by the xhci_bus_suspend() routine
it will be put to U3 suspended state like the other ports which failed to
suspend earlier.
The hub thread will notice the connect change and resume the bus,
moving the port back to U0
This U0 -> U3 -> U0 transition right after being connected seems to be
too much for some devices, causing them to first go to SS.Inactive state,
and finally end up stuck in a polling state with reset asserted
Fix this by failing the bus suspend if a port has a connect change or is
in a polling state in xhci_bus_suspend().
Don't do any port changes until all ports are checked, buffer all port
changes and only write them in the end if suspend can proceed
Cc: stable(a)vger.kernel.org
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index da98a11244e2..94aca1b5ac8a 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -1474,15 +1474,18 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
unsigned long flags;
struct xhci_hub *rhub;
struct xhci_port **ports;
+ u32 portsc_buf[USB_MAXCHILDREN];
+ bool wake_enabled;
rhub = xhci_get_rhub(hcd);
ports = rhub->ports;
max_ports = rhub->num_ports;
bus_state = &xhci->bus_state[hcd_index(hcd)];
+ wake_enabled = hcd->self.root_hub->do_remote_wakeup;
spin_lock_irqsave(&xhci->lock, flags);
- if (hcd->self.root_hub->do_remote_wakeup) {
+ if (wake_enabled) {
if (bus_state->resuming_ports || /* USB2 */
bus_state->port_remote_wakeup) { /* USB3 */
spin_unlock_irqrestore(&xhci->lock, flags);
@@ -1490,26 +1493,36 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
return -EBUSY;
}
}
-
- port_index = max_ports;
+ /*
+ * Prepare ports for suspend, but don't write anything before all ports
+ * are checked and we know bus suspend can proceed
+ */
bus_state->bus_suspended = 0;
+ port_index = max_ports;
while (port_index--) {
- /* suspend the port if the port is not suspended */
u32 t1, t2;
- int slot_id;
t1 = readl(ports[port_index]->addr);
t2 = xhci_port_state_to_neutral(t1);
+ portsc_buf[port_index] = 0;
- if ((t1 & PORT_PE) && !(t1 & PORT_PLS_MASK)) {
- xhci_dbg(xhci, "port %d not suspended\n", port_index);
- slot_id = xhci_find_slot_id_by_port(hcd, xhci,
- port_index + 1);
- if (slot_id) {
+ /* Bail out if a USB3 port has a new device in link training */
+ if ((t1 & PORT_PLS_MASK) == XDEV_POLLING) {
+ bus_state->bus_suspended = 0;
+ spin_unlock_irqrestore(&xhci->lock, flags);
+ xhci_dbg(xhci, "Bus suspend bailout, port in polling\n");
+ return -EBUSY;
+ }
+
+ /* suspend ports in U0, or bail out for new connect changes */
+ if ((t1 & PORT_PE) && (t1 & PORT_PLS_MASK) == XDEV_U0) {
+ if ((t1 & PORT_CSC) && wake_enabled) {
+ bus_state->bus_suspended = 0;
spin_unlock_irqrestore(&xhci->lock, flags);
- xhci_stop_device(xhci, slot_id, 1);
- spin_lock_irqsave(&xhci->lock, flags);
+ xhci_dbg(xhci, "Bus suspend bailout, port connect change\n");
+ return -EBUSY;
}
+ xhci_dbg(xhci, "port %d not suspended\n", port_index);
t2 &= ~PORT_PLS_MASK;
t2 |= PORT_LINK_STROBE | XDEV_U3;
set_bit(port_index, &bus_state->bus_suspended);
@@ -1518,7 +1531,7 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
* including the USB 3.0 roothub, but only if CONFIG_PM
* is enabled, so also enable remote wake here.
*/
- if (hcd->self.root_hub->do_remote_wakeup) {
+ if (wake_enabled) {
if (t1 & PORT_CONNECT) {
t2 |= PORT_WKOC_E | PORT_WKDISC_E;
t2 &= ~PORT_WKCONN_E;
@@ -1538,7 +1551,26 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
t1 = xhci_port_state_to_neutral(t1);
if (t1 != t2)
- writel(t2, ports[port_index]->addr);
+ portsc_buf[port_index] = t2;
+ }
+
+ /* write port settings, stopping and suspending ports if needed */
+ port_index = max_ports;
+ while (port_index--) {
+ if (!portsc_buf[port_index])
+ continue;
+ if (test_bit(port_index, &bus_state->bus_suspended)) {
+ int slot_id;
+
+ slot_id = xhci_find_slot_id_by_port(hcd, xhci,
+ port_index + 1);
+ if (slot_id) {
+ spin_unlock_irqrestore(&xhci->lock, flags);
+ xhci_stop_device(xhci, slot_id, 1);
+ spin_lock_irqsave(&xhci->lock, flags);
+ }
+ }
+ writel(portsc_buf[port_index], ports[port_index]->addr);
}
hcd->state = HC_STATE_SUSPENDED;
bus_state->next_statechange = jiffies + msecs_to_jiffies(10);
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 11644a7659529730eaf2f166efaabe7c3dc7af8c Mon Sep 17 00:00:00 2001
From: "Cherian, George" <George.Cherian(a)cavium.com>
Date: Fri, 9 Nov 2018 17:21:22 +0200
Subject: [PATCH] xhci: Add quirk to workaround the errata seen on Cavium
Thunder-X2 Soc
Implement workaround for ThunderX2 Errata-129 (documented in
CN99XX Known Issues" available at Cavium support site).
As per ThunderX2errata-129, USB 2 device may come up as USB 1
if a connection to a USB 1 device is followed by another connection to
a USB 2 device, the link will come up as USB 1 for the USB 2 device.
Resolution: Reset the PHY after the USB 1 device is disconnected.
The PHY reset sequence is done using private registers in XHCI register
space. After the PHY is reset we check for the PLL lock status and retry
the operation if it fails. From our tests, retrying 4 times is sufficient.
Add a new quirk flag XHCI_RESET_PLL_ON_DISCONNECT to invoke the workaround
in handle_xhci_port_status().
Cc: stable(a)vger.kernel.org
Signed-off-by: George Cherian <george.cherian(a)cavium.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 1fb448cd2667..a9515265db4d 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -248,6 +248,11 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
if (pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241)
xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_7;
+ if ((pdev->vendor == PCI_VENDOR_ID_BROADCOM ||
+ pdev->vendor == PCI_VENDOR_ID_CAVIUM) &&
+ pdev->device == 0x9026)
+ xhci->quirks |= XHCI_RESET_PLL_ON_DISCONNECT;
+
if (xhci->quirks & XHCI_RESET_ON_RESUME)
xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
"QUIRK: Resetting on resume");
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 250b758efe9f..65750582133f 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1521,6 +1521,35 @@ static void handle_device_notification(struct xhci_hcd *xhci,
usb_wakeup_notification(udev->parent, udev->portnum);
}
+/*
+ * Quirk hanlder for errata seen on Cavium ThunderX2 processor XHCI
+ * Controller.
+ * As per ThunderX2errata-129 USB 2 device may come up as USB 1
+ * If a connection to a USB 1 device is followed by another connection
+ * to a USB 2 device.
+ *
+ * Reset the PHY after the USB device is disconnected if device speed
+ * is less than HCD_USB3.
+ * Retry the reset sequence max of 4 times checking the PLL lock status.
+ *
+ */
+static void xhci_cavium_reset_phy_quirk(struct xhci_hcd *xhci)
+{
+ struct usb_hcd *hcd = xhci_to_hcd(xhci);
+ u32 pll_lock_check;
+ u32 retry_count = 4;
+
+ do {
+ /* Assert PHY reset */
+ writel(0x6F, hcd->regs + 0x1048);
+ udelay(10);
+ /* De-assert the PHY reset */
+ writel(0x7F, hcd->regs + 0x1048);
+ udelay(200);
+ pll_lock_check = readl(hcd->regs + 0x1070);
+ } while (!(pll_lock_check & 0x1) && --retry_count);
+}
+
static void handle_port_status(struct xhci_hcd *xhci,
union xhci_trb *event)
{
@@ -1654,8 +1683,12 @@ static void handle_port_status(struct xhci_hcd *xhci,
goto cleanup;
}
- if (hcd->speed < HCD_USB3)
+ if (hcd->speed < HCD_USB3) {
xhci_test_and_clear_bit(xhci, port, PORT_PLC);
+ if ((xhci->quirks & XHCI_RESET_PLL_ON_DISCONNECT) &&
+ (portsc & PORT_CSC) && !(portsc & PORT_CONNECT))
+ xhci_cavium_reset_phy_quirk(xhci);
+ }
cleanup:
/* Update event ring dequeue pointer before dropping the lock */
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index 5f0c4f197f13..260b259b72bc 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1849,6 +1849,7 @@ struct xhci_hcd {
#define XHCI_INTEL_USB_ROLE_SW BIT_ULL(31)
#define XHCI_ZERO_64B_REGS BIT_ULL(32)
#define XHCI_DEFAULT_PM_RUNTIME_ALLOW BIT_ULL(33)
+#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
unsigned int num_active_eps;
unsigned int limit_active_eps;
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 958c0bd86075d4ef1c936998deefe1947e539240 Mon Sep 17 00:00:00 2001
From: Aaron Ma <aaron.ma(a)canonical.com>
Date: Fri, 9 Nov 2018 17:21:20 +0200
Subject: [PATCH] usb: xhci: fix uninitialized completion when USB3 port got
wrong status
Realtek USB3.0 Card Reader [0bda:0328] reports wrong port status on
Cannon lake PCH USB3.1 xHCI [8086:a36d] after resume from S3,
after clear port reset it works fine.
Since this device is registered on USB3 roothub at boot,
when port status reports not superspeed, xhci_get_port_status will call
an uninitialized completion in bus_state[0].
Kernel will hang because of NULL pointer.
Restrict the USB2 resume status check in USB2 roothub to fix hang issue.
Cc: stable(a)vger.kernel.org
Signed-off-by: Aaron Ma <aaron.ma(a)canonical.com>
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index 12eea73d9f20..60e4ac7ae4f8 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -876,7 +876,7 @@ static u32 xhci_get_port_status(struct usb_hcd *hcd,
status |= USB_PORT_STAT_SUSPEND;
}
if ((raw_port_status & PORT_PLS_MASK) == XDEV_RESUME &&
- !DEV_SUPERSPEED_ANY(raw_port_status)) {
+ !DEV_SUPERSPEED_ANY(raw_port_status) && hcd->speed < HCD_USB3) {
if ((raw_port_status & PORT_RESET) ||
!(raw_port_status & PORT_PE))
return 0xffffffff;
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index 730a6ecd85fc..250b758efe9f 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -1646,7 +1646,7 @@ static void handle_port_status(struct xhci_hcd *xhci,
* RExit to a disconnect state). If so, let the the driver know it's
* out of the RExit state.
*/
- if (!DEV_SUPERSPEED_ANY(portsc) &&
+ if (!DEV_SUPERSPEED_ANY(portsc) && hcd->speed < HCD_USB3 &&
test_and_clear_bit(hcd_portnum,
&bus_state->rexit_ports)) {
complete(&bus_state->rexit_done[hcd_portnum]);
Greg,
Please see the attached mbox of 5 patches. The first required a slight
backport as noted in the commit message, but the others applied
cleanly. Here's a build+boot of them in clang:
https://travis-ci.com/ClangBuiltLinux/continuous-integration/builds/92778054
(obviously we need to backport warning cleanups, but this set gets it
booting at least)
--
Thanks,
~Nick Desaulniers
From: Alistair Strachan <astrachan(a)google.com>
(commit 41f1c48420709470c51ee0e54b6fb28b956bb4e0 upstream)
When building with CONFIG_EFI and CONFIG_EFI_STUB on ARM, the libstub
Makefile would use -mno-single-pic-base without checking it was
supported by the compiler. As the ARM (32-bit) clang backend does not
support this flag, the build would fail.
This changes the Makefile to check the compiler's support for
-mno-single-pic-base before using it, similar to c1c386681bd7 ("ARM:
8767/1: add support for building ARM kernel with clang").
Signed-off-by: Alistair Strachan <astrachan(a)google.com>
Reviewed-by: Stefan Agner <stefan(a)agner.ch>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel(a)linaro.org>
Signed-off-by: Nick Desaulniers <ndesaulniers(a)google.com>
---
Please land in 4.19, 4.18. I'm preparing backports for 4.9 and 4.4 I
will send today or tomorrow. This is for building the Linux kernel for
arm32 with Clang.
drivers/firmware/efi/libstub/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile
index 14c40a7750d1..c51627660dbb 100644
--- a/drivers/firmware/efi/libstub/Makefile
+++ b/drivers/firmware/efi/libstub/Makefile
@@ -16,7 +16,8 @@ cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ -O2 \
cflags-$(CONFIG_ARM64) := $(subst -pg,,$(KBUILD_CFLAGS)) -fpie \
$(DISABLE_STACKLEAK_PLUGIN)
cflags-$(CONFIG_ARM) := $(subst -pg,,$(KBUILD_CFLAGS)) \
- -fno-builtin -fpic -mno-single-pic-base
+ -fno-builtin -fpic \
+ $(call cc-option,-mno-single-pic-base)
cflags-$(CONFIG_EFI_ARMSTUB) += -I$(srctree)/scripts/dtc/libfdt
--
2.20.0.rc0.387.gc7a69e6b6c-goog
The generic/513 tell that cloning into a file did not strip security
privileges (suid, capabilities) like a regular write would.
Signed-off-by: Lu Fengqi <lufq.fnst(a)cn.fujitsu.com>
---
The xfs and ocfs2 call generic_remap_file_range_prep to drop file
privileges, I'm not sure whether btrfs should do the same thing.
Any suggestion?
fs/btrfs/ioctl.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index 410c7e007ba8..bc33c480603b 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -4312,6 +4312,10 @@ static noinline int btrfs_clone_files(struct file *file, struct file *file_src,
goto out_unlock;
}
+ ret = file_remove_privs(file);
+ if (ret)
+ goto out_unlock;
+
if (destoff > inode->i_size) {
ret = btrfs_cont_expand(inode, inode->i_size, destoff);
if (ret)
--
2.19.2
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: b32d16ec9956 Linux 4.19.5
The results of these automated tests are provided below.
Overall result: PASSED
Patch merge: OK
Compile: OK
Kernel tests: OK
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 2 architectures:
aarch64:
make options: make INSTALL_MOD_STRIP=1 -j56 targz-pkg
configuration: https://artifacts.cki-project.org/builds/aarch64/b32d16ec995683be888520d12d…
x86_64:
make options: make INSTALL_MOD_STRIP=1 -j56 targz-pkg
configuration: https://artifacts.cki-project.org/builds/x86_64/b32d16ec995683be888520d12d8…
Hardware testing
----------------
We booted each kernel and ran the following tests:
arm64:
/distribution/kpkginstall (boot test)
LTP lite - release 20180515
xfstests: ext4
xfstests: xfs
/kernel/misc/amtu
x86_64:
/distribution/kpkginstall (boot test)
LTP lite - release 20180515
xfstests: ext4
xfstests: xfs
/kernel/misc/amtu
Right now, only way for task->thread_info->syscall to be updated is if
if _TIF_SYSCALL_WORK is set in current's task thread_info->flags
(similar to what has_syscall_work() checks for arm64).
This means that "->syscall" will only be updated if we are tracing the
syscalls through ptrace, for example. This is NOT the same behavior as
arm64, when pt_regs->syscallno is updated in the beginning of svc0
handler for *every* syscall entry.
This patch fixes the issue since this behavior is needed for
/proc/<pid>/syscall 1st argument to be correctly updated.
Link: https://bugs.linaro.org/show_bug.cgi?id=3783
Cc: <stable(a)vger.kernel.org> # v4.4 v4.9 v4.14 v4.19
Signed-off-by: Rafael David Tinoco <rafael.tinoco(a)linaro.org>
---
arch/arm/kernel/asm-offsets.c | 1 +
arch/arm/kernel/entry-common.S | 2 ++
2 files changed, 3 insertions(+)
diff --git a/arch/arm/kernel/asm-offsets.c b/arch/arm/kernel/asm-offsets.c
index 3968d6c22455..bfe68a98e1c6 100644
--- a/arch/arm/kernel/asm-offsets.c
+++ b/arch/arm/kernel/asm-offsets.c
@@ -64,6 +64,7 @@ int main(void)
DEFINE(TI_USED_CP, offsetof(struct thread_info, used_cp));
DEFINE(TI_TP_VALUE, offsetof(struct thread_info, tp_value));
DEFINE(TI_FPSTATE, offsetof(struct thread_info, fpstate));
+ DEFINE(TI_SYSCALL, offsetof(struct thread_info, syscall));
#ifdef CONFIG_VFP
DEFINE(TI_VFPSTATE, offsetof(struct thread_info, vfpstate));
#ifdef CONFIG_SMP
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index 0465d65d23de..557e2add4e83 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -257,6 +257,8 @@ local_restart:
tst r10, #_TIF_SYSCALL_WORK @ are we tracing syscalls?
bne __sys_trace
+ str r7, [tsk, #TI_SYSCALL] @ update thread_info->syscall
+
invoke_syscall tbl, scno, r10, __ret_fast_syscall
add r1, sp, #S_OFF
--
2.20.0.rc1
stable-rc/linux-3.18.y build: 185 builds: 2 failed, 183 passed, 4 errors, 1621 warnings (v3.18.127)
Full Build Summary: https://kernelci.org/build/stable-rc/branch/linux-3.18.y/kernel/v3.18.127/
Tree: stable-rc
Branch: linux-3.18.y
Git Describe: v3.18.127
Git Commit: 376f405256923b1d1ab14cb2970a25e11b074198
Git URL: http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Built: 5 unique architectures
Build Failures Detected:
arc: gcc version 7.1.1 20170710 (ARCv2 ISA Linux uClibc toolchain 2017.09)
allnoconfig: FAIL
tinyconfig: FAIL
Errors and Warnings Detected:
arc: gcc version 7.1.1 20170710 (ARCv2 ISA Linux uClibc toolchain 2017.09)
allnoconfig: 2 errors, 666 warnings
tinyconfig: 2 errors, 664 warnings
arm64: gcc version 7.3.0 (Debian 7.3.0-28)
allnoconfig: 2 warnings
defconfig: 2 warnings
tinyconfig: 2 warnings
arm: gcc version 7.3.0 (Debian 7.3.0-28)
acs5k_defconfig: 2 warnings
acs5k_tiny_defconfig: 2 warnings
allnoconfig: 2 warnings
am200epdkit_defconfig: 2 warnings
ape6evm_defconfig: 2 warnings
armadillo800eva_defconfig: 2 warnings
assabet_defconfig: 2 warnings
at91_dt_defconfig: 2 warnings
at91rm9200_defconfig: 2 warnings
at91sam9260_9g20_defconfig: 2 warnings
at91sam9261_9g10_defconfig: 2 warnings
at91sam9263_defconfig: 2 warnings
at91sam9g45_defconfig: 2 warnings
at91sam9rl_defconfig: 2 warnings
at91x40_defconfig: 2 warnings
axm55xx_defconfig: 2 warnings
badge4_defconfig: 2 warnings
bcm2835_defconfig: 2 warnings
bcm_defconfig: 2 warnings
bockw_defconfig: 2 warnings
cerfcube_defconfig: 2 warnings
clps711x_defconfig: 2 warnings
cm_x2xx_defconfig: 2 warnings
cm_x300_defconfig: 2 warnings
cns3420vb_defconfig: 2 warnings
colibri_pxa270_defconfig: 2 warnings
colibri_pxa300_defconfig: 2 warnings
collie_defconfig: 2 warnings
corgi_defconfig: 2 warnings
davinci_all_defconfig: 2 warnings
dove_defconfig: 2 warnings
ebsa110_defconfig: 2 warnings
efm32_defconfig: 2 warnings
em_x270_defconfig: 2 warnings
ep93xx_defconfig: 2 warnings
eseries_pxa_defconfig: 2 warnings
exynos_defconfig: 2 warnings
ezx_defconfig: 2 warnings
footbridge_defconfig: 2 warnings
h3600_defconfig: 2 warnings
h5000_defconfig: 2 warnings
hackkit_defconfig: 2 warnings
hisi_defconfig: 2 warnings
imote2_defconfig: 2 warnings
imx_v4_v5_defconfig: 2 warnings
imx_v6_v7_defconfig: 2 warnings
integrator_defconfig: 2 warnings
iop13xx_defconfig: 2 warnings
iop32x_defconfig: 2 warnings
iop33x_defconfig: 2 warnings
ixp4xx_defconfig: 2 warnings
jornada720_defconfig: 2 warnings
keystone_defconfig: 2 warnings
koelsch_defconfig: 2 warnings
ks8695_defconfig: 2 warnings
kzm9g_defconfig: 2 warnings
lager_defconfig: 2 warnings
lart_defconfig: 2 warnings
lpc32xx_defconfig: 2 warnings
lpd270_defconfig: 2 warnings
lubbock_defconfig: 2 warnings
mackerel_defconfig: 2 warnings
magician_defconfig: 2 warnings
mainstone_defconfig: 2 warnings
marzen_defconfig: 2 warnings
mini2440_defconfig: 2 warnings
mmp2_defconfig: 2 warnings
moxart_defconfig: 2 warnings
msm_defconfig: 2 warnings
multi_v5_defconfig: 2 warnings
multi_v7_defconfig: 2 warnings
mv78xx0_defconfig: 2 warnings
mvebu_v5_defconfig: 2 warnings
mvebu_v7_defconfig: 2 warnings
mxs_defconfig: 2 warnings
neponset_defconfig: 2 warnings
netwinder_defconfig: 2 warnings
netx_defconfig: 2 warnings
nhk8815_defconfig: 2 warnings
nuc910_defconfig: 2 warnings
nuc950_defconfig: 2 warnings
nuc960_defconfig: 2 warnings
omap1_defconfig: 2 warnings
omap2plus_defconfig: 2 warnings
orion5x_defconfig: 2 warnings
palmz72_defconfig: 2 warnings
pcm027_defconfig: 2 warnings
pleb_defconfig: 2 warnings
prima2_defconfig: 2 warnings
pxa168_defconfig: 2 warnings
pxa255-idp_defconfig: 2 warnings
pxa3xx_defconfig: 2 warnings
pxa910_defconfig: 2 warnings
qcom_defconfig: 2 warnings
raumfeld_defconfig: 2 warnings
realview-smp_defconfig: 2 warnings
realview_defconfig: 2 warnings
rpc_defconfig: 2 warnings
s3c2410_defconfig: 2 warnings
s3c6400_defconfig: 2 warnings
s5pv210_defconfig: 2 warnings
sama5_defconfig: 2 warnings
shannon_defconfig: 2 warnings
shmobile_defconfig: 2 warnings
simpad_defconfig: 2 warnings
socfpga_defconfig: 2 warnings
spear13xx_defconfig: 2 warnings
spear3xx_defconfig: 2 warnings
spear6xx_defconfig: 2 warnings
spitz_defconfig: 2 warnings
sunxi_defconfig: 2 warnings
tct_hammer_defconfig: 2 warnings
tegra_defconfig: 2 warnings
tinyconfig: 2 warnings
trizeps4_defconfig: 2 warnings
u300_defconfig: 2 warnings
u8500_defconfig: 2 warnings
versatile_defconfig: 2 warnings
vexpress_defconfig: 2 warnings
viper_defconfig: 2 warnings
vt8500_v6_v7_defconfig: 2 warnings
xcep_defconfig: 2 warnings
zeus_defconfig: 2 warnings
x86: gcc version 7.3.0 (Debian 7.3.0-30)
allnoconfig: 3 warnings
i386_defconfig: 3 warnings
tinyconfig: 3 warnings
x86_64_defconfig: 30 warnings
Errors summary:
2 arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
2 arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
Warnings summary:
663 arc-linux-gcc: warning: '-mno-mpy' is deprecated
654 cc1: warning: '-mno-mpy' is deprecated
128 scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
128 scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
3 arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
3 arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
3 arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
2 mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
2 kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
2 include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
2 include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
1 net/sunrpc/clnt.c:527:46: warning: '%s' directive output may be truncated writing up to 107 bytes into a region of size 48 [-Wformat-truncation=]
1 mm/mmap.c:684:2: warning: 'rb_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 mm/mmap.c:684:2: warning: 'rb_link' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 mm/mmap.c:683:2: warning: 'prev' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 lib/string_helpers.c:64:33: warning: '%03lld' directive output may be truncated writing between 3 and 13 bytes into a region of size 7 [-Wformat-truncation=]
1 kernel/relay.c:423:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
1 fs/nfs/client.c:1380:23: warning: '%u' directive output may be truncated writing between 1 and 7 bytes into a region of size between 3 and 6 [-Wformat-truncation=]
1 drivers/video/fbdev/core/../edid.h:74:72: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/usb/core/usb.c:471:9: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
1 drivers/usb/core/hcd.c:450:34: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 35 and 99 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11184:10: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11181:9: warning: '-rx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11178:9: warning: '-tx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11175:9: warning: '-txrx-' directive output may be truncated writing 6 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/input/mouse/psmouse-base.c:1466:52: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/mouse/lifebook.c:287:7: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/mouse/alps.c:2418:46: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/keyboard/atkbd.c:1069:7: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/ata/libata-core.c:2970:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2969:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2968:35: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2967:32: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2966:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2965:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2964:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2963:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2962:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2141:42: warning: '%d' directive output may be truncated writing between 1 and 2 bytes into a region of size between 1 and 11 [-Wformat-truncation=]
1 block/partition-generic.c:41:37: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
1 block/partition-generic.c:39:36: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 31 [-Wformat-truncation=]
1 block/elevator.c:841:14: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
================================================================================
Detailed per-defconfig build reports:
--------------------------------------------------------------------------------
acs5k_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
acs5k_tiny_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
allnoconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
allnoconfig (arc) — FAIL, 2 errors, 666 warnings, 0 section mismatches
Errors:
arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
Warnings:
arc-linux-gcc: warning: '-mno-mpy' is deprecated
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/mmap.c:684:2: warning: 'rb_link' may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/mmap.c:684:2: warning: 'rb_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/mmap.c:683:2: warning: 'prev' may be used uninitialized in this function [-Wmaybe-uninitialized]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
--------------------------------------------------------------------------------
am200epdkit_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ape6evm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ar7_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
armadillo800eva_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
assabet_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91_dt_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91rm9200_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9260_9g20_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9261_9g10_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9263_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9g45_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9rl_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91x40_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ath79_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
axm55xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
badge4_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bcm2835_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bcm47xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm63xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bigsur_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bockw_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
capcella_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cavium_octeon_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cerfcube_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
clps711x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cm_x2xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cm_x300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cns3420vb_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cobalt_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
colibri_pxa270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
colibri_pxa300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
collie_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
corgi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
davinci_all_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
db1xxx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
decstation_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
defconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
dove_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
e55_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ebsa110_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
efm32_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
em_x270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ep93xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
eseries_pxa_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
exynos_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ezx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
footbridge_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
fuloong2e_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
gpr_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
h3600_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
h5000_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
hackkit_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
hisi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
i386_defconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
imote2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
imx_v4_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
imx_v6_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
integrator_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop13xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop32x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop33x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ip22_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip27_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip28_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip32_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ixp4xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
jazz_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jmr3927_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jornada720_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
keystone_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
koelsch_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ks8695_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
kzm9g_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lager_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lart_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lasat_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lemote2f_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
loongson3_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lpc32xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lpd270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ls1b_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lubbock_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mackerel_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
magician_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mainstone_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
malta_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_kvm_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_kvm_guest_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltaaprp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltasmvp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltasmvp_eva_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltaup_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
markeins_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
marzen_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mini2440_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mips_paravirt_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mmp2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
moxart_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mpc30x_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
msm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
msp71xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mtx1_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
multi_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
multi_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mv78xx0_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mvebu_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mvebu_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mxs_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
neponset_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
netwinder_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
netx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nhk8815_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nlm_xlp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nlm_xlr_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nuc910_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nuc950_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nuc960_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
omap1_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
omap2plus_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
orion5x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
palmz72_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pcm027_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pleb_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pnx8335_stb225_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
prima2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa168_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa255-idp_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa3xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa910_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
qcom_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
qi_lb60_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
raumfeld_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rb532_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rbtx49xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
realview-smp_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
realview_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rm200_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rpc_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rt305x_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
s3c2410_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
s3c6400_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
s5pv210_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sama5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sb1250_swarm_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sead3_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sead3micro_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
shannon_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
shmobile_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
simpad_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
socfpga_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear13xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear3xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear6xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spitz_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sunxi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tb0219_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0226_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0287_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tct_hammer_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tegra_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
tinyconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (arc) — FAIL, 2 errors, 664 warnings, 0 section mismatches
Errors:
arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
Warnings:
arc-linux-gcc: warning: '-mno-mpy' is deprecated
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
--------------------------------------------------------------------------------
tinyconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
trizeps4_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
u300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
u8500_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
versatile_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
vexpress_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
viper_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
vt8500_v6_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
workpad_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
x86_64_defconfig (x86) — PASS, 0 errors, 30 warnings, 0 section mismatches
Warnings:
include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
kernel/relay.c:423:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
block/elevator.c:841:14: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
block/partition-generic.c:39:36: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 31 [-Wformat-truncation=]
block/partition-generic.c:41:37: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
fs/nfs/client.c:1380:23: warning: '%u' directive output may be truncated writing between 1 and 7 bytes into a region of size between 3 and 6 [-Wformat-truncation=]
drivers/ata/libata-core.c:2962:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2963:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2964:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2965:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2966:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2967:32: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2968:35: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2969:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2970:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2141:42: warning: '%d' directive output may be truncated writing between 1 and 2 bytes into a region of size between 1 and 11 [-Wformat-truncation=]
lib/string_helpers.c:64:33: warning: '%03lld' directive output may be truncated writing between 3 and 13 bytes into a region of size 7 [-Wformat-truncation=]
net/sunrpc/clnt.c:527:46: warning: '%s' directive output may be truncated writing up to 107 bytes into a region of size 48 [-Wformat-truncation=]
drivers/input/keyboard/atkbd.c:1069:7: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/psmouse-base.c:1466:52: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/alps.c:2418:46: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/lifebook.c:287:7: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11175:9: warning: '-txrx-' directive output may be truncated writing 6 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11178:9: warning: '-tx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11181:9: warning: '-rx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11184:10: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
drivers/usb/core/usb.c:471:9: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
drivers/usb/core/hcd.c:450:34: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 35 and 99 [-Wformat-truncation=]
drivers/video/fbdev/core/../edid.h:74:72: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
--------------------------------------------------------------------------------
xcep_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
xway_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
zeus_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
---
For more info write to <info(a)kernelci.org>
This is an automatic generated email to let you know that the following patch were queued:
Subject: media: dvb-pll: don't re-validate tuner frequencies
Author: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
Date: Fri Nov 23 12:10:57 2018 -0500
The dvb_frontend core already checks for the frequencies. No
need for any additional check inside the driver.
It is part of the fixes for the following bug:
https://bugzilla.opensuse.org/show_bug.cgi?id=1116374
Fixes: a3f90c75b833 ("media: dvb: convert tuner_info frequencies to Hz")
Reported-by: Stakanov Schufter <stakanov(a)eclipso.eu>
Reported-by: Takashi Iwai <tiwai(a)suse.de>
Cc: stable(a)vger.kernel.org # For 4.19
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
drivers/media/dvb-frontends/dvb-pll.c | 3 ---
1 file changed, 3 deletions(-)
---
diff --git a/drivers/media/dvb-frontends/dvb-pll.c b/drivers/media/dvb-frontends/dvb-pll.c
index fff5816f6ec4..29836c1a40e9 100644
--- a/drivers/media/dvb-frontends/dvb-pll.c
+++ b/drivers/media/dvb-frontends/dvb-pll.c
@@ -610,9 +610,6 @@ static int dvb_pll_configure(struct dvb_frontend *fe, u8 *buf,
u32 div;
int i;
- if (frequency && (frequency < desc->min || frequency > desc->max))
- return -EINVAL;
-
for (i = 0; i < desc->count; i++) {
if (frequency > desc->entries[i].limit)
continue;
This is an automatic generated email to let you know that the following patch were queued:
Subject: media: dvb-pll: don't re-validate tuner frequencies
Author: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
Date: Fri Nov 23 12:10:57 2018 -0500
The dvb_frontend core already checks for the frequencies. No
need for any additional check inside the driver.
It is part of the fixes for the following bug:
https://bugzilla.opensuse.org/show_bug.cgi?id=1116374
Fixes: a3f90c75b833 ("media: dvb: convert tuner_info frequencies to Hz")
Reported-by: Stakanov Schufter <stakanov(a)eclipso.eu>
Reported-by: Takashi Iwai <tiwai(a)suse.de>
Cc: stable(a)vger.kernel.org # For 4.19
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
drivers/media/dvb-frontends/dvb-pll.c | 3 ---
1 file changed, 3 deletions(-)
---
diff --git a/drivers/media/dvb-frontends/dvb-pll.c b/drivers/media/dvb-frontends/dvb-pll.c
index fff5816f6ec4..29836c1a40e9 100644
--- a/drivers/media/dvb-frontends/dvb-pll.c
+++ b/drivers/media/dvb-frontends/dvb-pll.c
@@ -610,9 +610,6 @@ static int dvb_pll_configure(struct dvb_frontend *fe, u8 *buf,
u32 div;
int i;
- if (frequency && (frequency < desc->min || frequency > desc->max))
- return -EINVAL;
-
for (i = 0; i < desc->count; i++) {
if (frequency > desc->entries[i].limit)
continue;
On Sat, 2018-11-17 at 12:24 +0000, Sasha Levin wrote:
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: all
>
> The bot has tested the following trees: v4.19.2, v4.18.19, v4.14.81,
> v4.9.137, v4.4.163, v3.18.125,
>
> v4.19.2: Build OK!
> v4.18.19: Build OK!
> v4.14.81: Failed to apply! Possible dependencies:
> e46368cf77f2 ("drm/nouveau/drm/nouveau: Grab runtime PM ref in
> nv50_mstc_detect()")
>
> v4.9.137: Failed to apply! Possible dependencies:
> e46368cf77f2 ("drm/nouveau/drm/nouveau: Grab runtime PM ref in
> nv50_mstc_detect()")
>
> v4.4.163: Failed to apply! Possible dependencies:
> e46368cf77f2 ("drm/nouveau/drm/nouveau: Grab runtime PM ref in
> nv50_mstc_detect()")
>
> v3.18.125: Failed to apply! Possible dependencies:
> e46368cf77f2 ("drm/nouveau/drm/nouveau: Grab runtime PM ref in
> nv50_mstc_detect()")
>
>
> How should we proceed with this patch?
e46368cf77f2 ("drm/nouveau/drm/nouveau: Grab runtime PM ref in nv50_mstc_detect()")
Should also be backported for v4.9+, and then this patch should be applied on
top of that.
>
> --
> Thanks,
> Sasha
--
Cheers,
Lyude Paul
stable/linux-3.18.y build: 185 builds: 2 failed, 183 passed, 4 errors, 1619 warnings (v3.18.127)
Full Build Summary: https://kernelci.org/build/stable/branch/linux-3.18.y/kernel/v3.18.127/
Tree: stable
Branch: linux-3.18.y
Git Describe: v3.18.127
Git Commit: 376f405256923b1d1ab14cb2970a25e11b074198
Git URL: http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Built: 5 unique architectures
Build Failures Detected:
arc: gcc version 7.1.1 20170710 (ARCv2 ISA Linux uClibc toolchain 2017.09)
allnoconfig: FAIL
tinyconfig: FAIL
Errors and Warnings Detected:
arc: gcc version 7.1.1 20170710 (ARCv2 ISA Linux uClibc toolchain 2017.09)
allnoconfig: 2 errors, 666 warnings
tinyconfig: 2 errors, 664 warnings
arm64: gcc version 7.3.0 (Debian 7.3.0-28)
allnoconfig: 2 warnings
defconfig: 2 warnings
tinyconfig: 2 warnings
arm: gcc version 7.3.0 (Debian 7.3.0-28)
acs5k_defconfig: 2 warnings
acs5k_tiny_defconfig: 2 warnings
allnoconfig: 2 warnings
am200epdkit_defconfig: 2 warnings
ape6evm_defconfig: 2 warnings
armadillo800eva_defconfig: 2 warnings
assabet_defconfig: 2 warnings
at91_dt_defconfig: 2 warnings
at91rm9200_defconfig: 2 warnings
at91sam9260_9g20_defconfig: 2 warnings
at91sam9261_9g10_defconfig: 2 warnings
at91sam9263_defconfig: 2 warnings
at91sam9g45_defconfig: 2 warnings
at91sam9rl_defconfig: 2 warnings
at91x40_defconfig: 2 warnings
axm55xx_defconfig: 2 warnings
badge4_defconfig: 2 warnings
bcm2835_defconfig: 2 warnings
bcm_defconfig: 2 warnings
bockw_defconfig: 2 warnings
cerfcube_defconfig: 2 warnings
clps711x_defconfig: 2 warnings
cm_x2xx_defconfig: 2 warnings
cm_x300_defconfig: 2 warnings
cns3420vb_defconfig: 2 warnings
colibri_pxa270_defconfig: 2 warnings
colibri_pxa300_defconfig: 2 warnings
collie_defconfig: 2 warnings
corgi_defconfig: 2 warnings
davinci_all_defconfig: 2 warnings
dove_defconfig: 2 warnings
ebsa110_defconfig: 2 warnings
efm32_defconfig: 2 warnings
em_x270_defconfig: 2 warnings
ep93xx_defconfig: 2 warnings
eseries_pxa_defconfig: 2 warnings
exynos_defconfig: 2 warnings
ezx_defconfig: 2 warnings
footbridge_defconfig: 2 warnings
h3600_defconfig: 2 warnings
h5000_defconfig: 2 warnings
hackkit_defconfig: 2 warnings
hisi_defconfig: 2 warnings
imote2_defconfig: 2 warnings
imx_v4_v5_defconfig: 2 warnings
imx_v6_v7_defconfig: 2 warnings
integrator_defconfig: 2 warnings
iop13xx_defconfig: 2 warnings
iop32x_defconfig: 2 warnings
iop33x_defconfig: 2 warnings
ixp4xx_defconfig: 2 warnings
jornada720_defconfig: 2 warnings
keystone_defconfig: 2 warnings
koelsch_defconfig: 2 warnings
ks8695_defconfig: 2 warnings
kzm9g_defconfig: 2 warnings
lager_defconfig: 2 warnings
lart_defconfig: 2 warnings
lpc32xx_defconfig: 2 warnings
lpd270_defconfig: 2 warnings
lubbock_defconfig: 2 warnings
mackerel_defconfig: 2 warnings
magician_defconfig: 2 warnings
mainstone_defconfig: 2 warnings
marzen_defconfig: 2 warnings
mini2440_defconfig: 2 warnings
mmp2_defconfig: 2 warnings
moxart_defconfig: 2 warnings
msm_defconfig: 2 warnings
multi_v5_defconfig: 2 warnings
multi_v7_defconfig: 2 warnings
mv78xx0_defconfig: 2 warnings
mvebu_v5_defconfig: 2 warnings
mvebu_v7_defconfig: 2 warnings
mxs_defconfig: 2 warnings
neponset_defconfig: 2 warnings
netwinder_defconfig: 2 warnings
netx_defconfig: 2 warnings
nhk8815_defconfig: 2 warnings
nuc910_defconfig: 2 warnings
nuc950_defconfig: 2 warnings
nuc960_defconfig: 2 warnings
omap1_defconfig: 2 warnings
orion5x_defconfig: 2 warnings
palmz72_defconfig: 2 warnings
pcm027_defconfig: 2 warnings
pleb_defconfig: 2 warnings
prima2_defconfig: 2 warnings
pxa168_defconfig: 2 warnings
pxa255-idp_defconfig: 2 warnings
pxa3xx_defconfig: 2 warnings
pxa910_defconfig: 2 warnings
qcom_defconfig: 2 warnings
raumfeld_defconfig: 2 warnings
realview-smp_defconfig: 2 warnings
realview_defconfig: 2 warnings
rpc_defconfig: 2 warnings
s3c2410_defconfig: 2 warnings
s3c6400_defconfig: 2 warnings
s5pv210_defconfig: 2 warnings
sama5_defconfig: 2 warnings
shannon_defconfig: 2 warnings
shmobile_defconfig: 2 warnings
simpad_defconfig: 2 warnings
socfpga_defconfig: 2 warnings
spear13xx_defconfig: 2 warnings
spear3xx_defconfig: 2 warnings
spear6xx_defconfig: 2 warnings
spitz_defconfig: 2 warnings
sunxi_defconfig: 2 warnings
tct_hammer_defconfig: 2 warnings
tegra_defconfig: 2 warnings
tinyconfig: 2 warnings
trizeps4_defconfig: 2 warnings
u300_defconfig: 2 warnings
u8500_defconfig: 2 warnings
versatile_defconfig: 2 warnings
vexpress_defconfig: 2 warnings
viper_defconfig: 2 warnings
vt8500_v6_v7_defconfig: 2 warnings
xcep_defconfig: 2 warnings
zeus_defconfig: 2 warnings
x86: gcc version 7.3.0 (Debian 7.3.0-30)
allnoconfig: 3 warnings
i386_defconfig: 3 warnings
tinyconfig: 3 warnings
x86_64_defconfig: 30 warnings
Errors summary:
2 arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
2 arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
Warnings summary:
663 arc-linux-gcc: warning: '-mno-mpy' is deprecated
654 cc1: warning: '-mno-mpy' is deprecated
127 scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
127 scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
3 arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
3 arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
3 arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
2 mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
2 kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
2 include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
2 include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
1 net/sunrpc/clnt.c:527:46: warning: '%s' directive output may be truncated writing up to 107 bytes into a region of size 48 [-Wformat-truncation=]
1 mm/mmap.c:684:2: warning: 'rb_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 mm/mmap.c:684:2: warning: 'rb_link' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 mm/mmap.c:683:2: warning: 'prev' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 lib/string_helpers.c:64:33: warning: '%03lld' directive output may be truncated writing between 3 and 13 bytes into a region of size 7 [-Wformat-truncation=]
1 kernel/relay.c:423:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
1 fs/nfs/client.c:1380:23: warning: '%u' directive output may be truncated writing between 1 and 7 bytes into a region of size between 3 and 6 [-Wformat-truncation=]
1 drivers/video/fbdev/core/../edid.h:74:72: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/usb/core/usb.c:471:9: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
1 drivers/usb/core/hcd.c:450:34: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 35 and 99 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11184:10: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11181:9: warning: '-rx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11178:9: warning: '-tx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11175:9: warning: '-txrx-' directive output may be truncated writing 6 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/input/mouse/psmouse-base.c:1466:52: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/mouse/lifebook.c:287:7: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/mouse/alps.c:2418:46: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/keyboard/atkbd.c:1069:7: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/ata/libata-core.c:2970:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2969:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2968:35: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2967:32: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2966:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2965:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2964:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2963:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2962:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2141:42: warning: '%d' directive output may be truncated writing between 1 and 2 bytes into a region of size between 1 and 11 [-Wformat-truncation=]
1 block/partition-generic.c:41:37: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
1 block/partition-generic.c:39:36: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 31 [-Wformat-truncation=]
1 block/elevator.c:841:14: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
================================================================================
Detailed per-defconfig build reports:
--------------------------------------------------------------------------------
acs5k_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
acs5k_tiny_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
allnoconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
allnoconfig (arc) — FAIL, 2 errors, 666 warnings, 0 section mismatches
Errors:
arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
Warnings:
arc-linux-gcc: warning: '-mno-mpy' is deprecated
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/mmap.c:684:2: warning: 'rb_link' may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/mmap.c:684:2: warning: 'rb_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/mmap.c:683:2: warning: 'prev' may be used uninitialized in this function [-Wmaybe-uninitialized]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
--------------------------------------------------------------------------------
am200epdkit_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ape6evm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ar7_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
armadillo800eva_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
assabet_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91_dt_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91rm9200_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9260_9g20_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9261_9g10_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9263_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9g45_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9rl_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91x40_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ath79_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
axm55xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
badge4_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bcm2835_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bcm47xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm63xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bigsur_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bockw_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
capcella_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cavium_octeon_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cerfcube_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
clps711x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cm_x2xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cm_x300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cns3420vb_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cobalt_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
colibri_pxa270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
colibri_pxa300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
collie_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
corgi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
davinci_all_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
db1xxx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
decstation_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
defconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
dove_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
e55_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ebsa110_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
efm32_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
em_x270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ep93xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
eseries_pxa_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
exynos_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ezx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
footbridge_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
fuloong2e_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
gpr_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
h3600_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
h5000_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
hackkit_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
hisi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
i386_defconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
imote2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
imx_v4_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
imx_v6_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
integrator_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop13xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop32x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop33x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ip22_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip27_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip28_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip32_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ixp4xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
jazz_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jmr3927_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jornada720_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
keystone_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
koelsch_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ks8695_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
kzm9g_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lager_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lart_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lasat_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lemote2f_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
loongson3_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lpc32xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lpd270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ls1b_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lubbock_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mackerel_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
magician_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mainstone_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
malta_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_kvm_guest_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltaaprp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltasmvp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltasmvp_eva_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
markeins_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
marzen_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mini2440_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mips_paravirt_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mmp2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
moxart_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mpc30x_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
msm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
msp71xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
multi_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
multi_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mv78xx0_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mvebu_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mvebu_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mxs_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
neponset_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
netwinder_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
netx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nhk8815_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nuc910_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nuc950_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nuc960_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
omap1_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
orion5x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
palmz72_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pcm027_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pleb_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pnx8335_stb225_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
prima2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa168_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa255-idp_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa3xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa910_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
qcom_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
qi_lb60_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
raumfeld_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rb532_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rbtx49xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
realview-smp_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
realview_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rm200_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rpc_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rt305x_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
s3c2410_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
s3c6400_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
s5pv210_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sama5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sb1250_swarm_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sead3_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sead3micro_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
shannon_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
shmobile_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
simpad_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
socfpga_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear13xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear3xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear6xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spitz_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sunxi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tb0219_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0226_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0287_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tct_hammer_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tegra_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
tinyconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tinyconfig (arc) — FAIL, 2 errors, 664 warnings, 0 section mismatches
Errors:
arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
Warnings:
arc-linux-gcc: warning: '-mno-mpy' is deprecated
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
--------------------------------------------------------------------------------
trizeps4_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
u300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
u8500_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
versatile_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
vexpress_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
viper_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
vt8500_v6_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
workpad_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
x86_64_defconfig (x86) — PASS, 0 errors, 30 warnings, 0 section mismatches
Warnings:
include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
kernel/relay.c:423:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
block/elevator.c:841:14: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
block/partition-generic.c:39:36: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 31 [-Wformat-truncation=]
block/partition-generic.c:41:37: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
fs/nfs/client.c:1380:23: warning: '%u' directive output may be truncated writing between 1 and 7 bytes into a region of size between 3 and 6 [-Wformat-truncation=]
drivers/ata/libata-core.c:2962:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2963:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2964:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2965:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2966:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2967:32: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2968:35: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2969:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2970:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2141:42: warning: '%d' directive output may be truncated writing between 1 and 2 bytes into a region of size between 1 and 11 [-Wformat-truncation=]
lib/string_helpers.c:64:33: warning: '%03lld' directive output may be truncated writing between 3 and 13 bytes into a region of size 7 [-Wformat-truncation=]
drivers/input/keyboard/atkbd.c:1069:7: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/psmouse-base.c:1466:52: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/alps.c:2418:46: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/lifebook.c:287:7: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11175:9: warning: '-txrx-' directive output may be truncated writing 6 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11178:9: warning: '-tx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11181:9: warning: '-rx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11184:10: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
net/sunrpc/clnt.c:527:46: warning: '%s' directive output may be truncated writing up to 107 bytes into a region of size 48 [-Wformat-truncation=]
drivers/usb/core/usb.c:471:9: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
drivers/usb/core/hcd.c:450:34: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 35 and 99 [-Wformat-truncation=]
drivers/video/fbdev/core/../edid.h:74:72: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
--------------------------------------------------------------------------------
xcep_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
xway_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
zeus_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
---
For more info write to <info(a)kernelci.org>
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 9844fb2e351311210e6660a9a1c62d17424a6145 Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 27 Aug 2018 10:21:53 +0200
Subject: [PATCH] power: supply: twl4030-charger: fix OF sibling-node lookup
Use the new of_get_compatible_child() helper to lookup the usb sibling
node instead of using of_find_compatible_node(), which searches the
entire tree from a given start node and thus can return an unrelated
(non-sibling) node.
This also addresses a potential use-after-free (e.g. after probe
deferral) as the tree-wide helper drops a reference to its first
argument (i.e. the parent device node).
While at it, also fix the related phy-node reference leak.
Fixes: f5e4edb8c888 ("power: twl4030_charger: find associated phy by more reliable means.")
Cc: stable <stable(a)vger.kernel.org> # 4.2
Cc: NeilBrown <neilb(a)suse.de>
Cc: Felipe Balbi <felipe.balbi(a)linux.intel.com>
Cc: Sebastian Reichel <sre(a)kernel.org>
Reviewed-by: Sebastian Reichel <sre(a)kernel.org>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
diff --git a/drivers/power/supply/twl4030_charger.c b/drivers/power/supply/twl4030_charger.c
index bbcaee56db9d..b6a7d9f74cf3 100644
--- a/drivers/power/supply/twl4030_charger.c
+++ b/drivers/power/supply/twl4030_charger.c
@@ -996,12 +996,13 @@ static int twl4030_bci_probe(struct platform_device *pdev)
if (bci->dev->of_node) {
struct device_node *phynode;
- phynode = of_find_compatible_node(bci->dev->of_node->parent,
- NULL, "ti,twl4030-usb");
+ phynode = of_get_compatible_child(bci->dev->of_node->parent,
+ "ti,twl4030-usb");
if (phynode) {
bci->usb_nb.notifier_call = twl4030_bci_usb_ncb;
bci->transceiver = devm_usb_get_phy_by_node(
bci->dev, phynode, &bci->usb_nb);
+ of_node_put(phynode);
if (IS_ERR(bci->transceiver)) {
ret = PTR_ERR(bci->transceiver);
if (ret == -EPROBE_DEFER)
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 9844fb2e351311210e6660a9a1c62d17424a6145 Mon Sep 17 00:00:00 2001
From: Johan Hovold <johan(a)kernel.org>
Date: Mon, 27 Aug 2018 10:21:53 +0200
Subject: [PATCH] power: supply: twl4030-charger: fix OF sibling-node lookup
Use the new of_get_compatible_child() helper to lookup the usb sibling
node instead of using of_find_compatible_node(), which searches the
entire tree from a given start node and thus can return an unrelated
(non-sibling) node.
This also addresses a potential use-after-free (e.g. after probe
deferral) as the tree-wide helper drops a reference to its first
argument (i.e. the parent device node).
While at it, also fix the related phy-node reference leak.
Fixes: f5e4edb8c888 ("power: twl4030_charger: find associated phy by more reliable means.")
Cc: stable <stable(a)vger.kernel.org> # 4.2
Cc: NeilBrown <neilb(a)suse.de>
Cc: Felipe Balbi <felipe.balbi(a)linux.intel.com>
Cc: Sebastian Reichel <sre(a)kernel.org>
Reviewed-by: Sebastian Reichel <sre(a)kernel.org>
Signed-off-by: Johan Hovold <johan(a)kernel.org>
Signed-off-by: Rob Herring <robh(a)kernel.org>
diff --git a/drivers/power/supply/twl4030_charger.c b/drivers/power/supply/twl4030_charger.c
index bbcaee56db9d..b6a7d9f74cf3 100644
--- a/drivers/power/supply/twl4030_charger.c
+++ b/drivers/power/supply/twl4030_charger.c
@@ -996,12 +996,13 @@ static int twl4030_bci_probe(struct platform_device *pdev)
if (bci->dev->of_node) {
struct device_node *phynode;
- phynode = of_find_compatible_node(bci->dev->of_node->parent,
- NULL, "ti,twl4030-usb");
+ phynode = of_get_compatible_child(bci->dev->of_node->parent,
+ "ti,twl4030-usb");
if (phynode) {
bci->usb_nb.notifier_call = twl4030_bci_usb_ncb;
bci->transceiver = devm_usb_get_phy_by_node(
bci->dev, phynode, &bci->usb_nb);
+ of_node_put(phynode);
if (IS_ERR(bci->transceiver)) {
ret = PTR_ERR(bci->transceiver);
if (ret == -EPROBE_DEFER)
Fixes an error caused by 3-bit right rotation on offset address
calculation of MSI-X table in dw_pcie_ep_raise_msix_irq().
During the development time, by default the offset address of MSI-X
table was set to zero, so that even with a 3-bit right rotation the
computed result would still be zero and valid, therefore not being
noticed this bug.
Fixes: beb4641a787d ("PCI: dwc: Add MSI-X callbacks handler")
Signed-off-by: Gustavo Pimentel <gustavo.pimentel(a)synopsys.com>
Cc: stable(a)vger.kernel.org
---
drivers/pci/controller/dwc/pcie-designware-ep.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/pci/controller/dwc/pcie-designware-ep.c b/drivers/pci/controller/dwc/pcie-designware-ep.c
index 1e7b022..de8635a 100644
--- a/drivers/pci/controller/dwc/pcie-designware-ep.c
+++ b/drivers/pci/controller/dwc/pcie-designware-ep.c
@@ -440,7 +440,6 @@ int dw_pcie_ep_raise_msix_irq(struct dw_pcie_ep *ep, u8 func_no,
tbl_offset = dw_pcie_readl_dbi(pci, reg);
bir = (tbl_offset & PCI_MSIX_TABLE_BIR);
tbl_offset &= PCI_MSIX_TABLE_OFFSET;
- tbl_offset >>= 3;
reg = PCI_BASE_ADDRESS_0 + (4 * bir);
bar_addr_upper = 0;
--
2.7.4
On 11/27/18 8:43 AM, Sasha Levin wrote:
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: v4.19,
> v4.14, v4.9, v4.4.
>
> The bot has tested the following trees: v4.19.4, v4.14.83, v4.9.140, v4.4.164,
> v3.18.126.
>
> v4.19.4: Build OK!
> v4.14.83: Failed to apply! Possible dependencies:
> afc9f65e01cd ("ARM: 8781/1: Fix Thumb-2 syscall return for binutils 2.29+")
>
> v4.9.140: Failed to apply! Possible dependencies:
> afc9f65e01cd ("ARM: 8781/1: Fix Thumb-2 syscall return for binutils 2.29+")
>
> v4.4.164: Failed to apply! Possible dependencies:
> 10573ae547c8 ("ARM: spectre-v1: fix syscall entry")
> afc9f65e01cd ("ARM: 8781/1: Fix Thumb-2 syscall return for binutils 2.29+")
>
>
> How should we proceed with this patch?
I'm sending a v2 for the same patch. Please hold.
Thank you!
This is the start of the stable review cycle for the 3.18.127 release.
There are 24 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Wed Nov 28 10:50:13 UTC 2018.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v3.x/stable-review/patch-3.18.127-r…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-3.18.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 3.18.127-rc1
Eric Biggers <ebiggers(a)google.com>
HID: uhid: forbid UHID_CREATE under KERNEL_DS or elevated privileges
Al Viro <viro(a)zeniv.linux.org.uk>
new helper: uaccess_kernel()
Hans de Goede <hdegoede(a)redhat.com>
ACPI / platform: Add SMB0001 HID to forbidden_id_list
Mattias Jacobsson <2pi(a)mok.nu>
USB: misc: appledisplay: add 20" Apple Cinema Display
Nathan Chancellor <natechancellor(a)gmail.com>
misc: atmel-ssc: Fix section annotation on atmel_ssc_get_driver_data
Emmanuel Pescosta <emmanuelpescosta099(a)gmail.com>
usb: quirks: Add delay-init quirk for Corsair K70 LUX RGB
Kai-Heng Feng <kai.heng.feng(a)canonical.com>
USB: quirks: Add no-lpm quirk for Raydium touchscreens
Maarten Jacobs <maarten256(a)outlook.com>
usb: cdc-acm: add entry for Hiro (Conexant) modem
Dan Carpenter <dan.carpenter(a)oracle.com>
uio: Fix an Oops on load
Sakari Ailus <sakari.ailus(a)linux.intel.com>
media: v4l: event: Add subscription to list before calling "add" operation
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Revert "Bluetooth: h5: Fix missing dependency on BT_HCIUART_SERDEV"
YueHaibing <yuehaibing(a)huawei.com>
SUNRPC: drop pointless static qualifier in xdr_get_next_encode_buffer()
Sasha Levin <sashal(a)kernel.org>
Revert "Revert "drm/i915: Fix mutex->owner inspection race under DEBUG_MUTEXES""
Minchan Kim <minchan(a)kernel.org>
zram: close udev startup race condition as default groups
Vignesh R <vigneshr(a)ti.com>
i2c: omap: Enable for ARCH_K3
Jeremy Linton <jeremy.linton(a)arm.com>
lib/raid6: Fix arm64 test build
Vasily Gorbik <gor(a)linux.ibm.com>
s390/vdso: add missing FORCE to build targets
Marek Szyprowski <m.szyprowski(a)samsung.com>
clk: samsung: exynos5420: Enable PERIS clocks for suspend
Chengguang Xu <cgxu519(a)gmx.com>
fs/exofs: fix potential memory leak in mount option parsing
Richard Weinberger <richard(a)nod.at>
um: Give start_idle_thread() a return code
Ernesto A. Fernández <ernesto.mnd.fernandez(a)gmail.com>
hfsplus: prevent btree data loss on root split
Ernesto A. Fernández <ernesto.mnd.fernandez(a)gmail.com>
hfs: prevent btree data loss on root split
Jann Horn <jannh(a)google.com>
reiserfs: propagate errors from fill_with_dentries() properly
Eric Dumazet <edumazet(a)google.com>
net-gro: reset skb->pkt_type in napi_reuse_skb()
-------------
Diffstat:
Makefile | 4 ++--
arch/s390/kernel/vdso32/Makefile | 6 ++---
arch/s390/kernel/vdso64/Makefile | 6 ++---
arch/um/os-Linux/skas/process.c | 5 +++++
drivers/acpi/acpi_platform.c | 1 +
drivers/block/zram/zram_drv.c | 18 +++++----------
drivers/bluetooth/Kconfig | 1 -
drivers/clk/samsung/clk-exynos5420.c | 1 +
drivers/gpu/drm/i915/i915_gem.c | 2 +-
drivers/hid/uhid.c | 13 +++++++++++
drivers/i2c/busses/Kconfig | 2 +-
drivers/media/v4l2-core/v4l2-event.c | 43 ++++++++++++++++++++----------------
drivers/misc/atmel-ssc.c | 2 +-
drivers/uio/uio.c | 7 ++++--
drivers/usb/class/cdc-acm.c | 3 +++
drivers/usb/core/quirks.c | 8 +++++++
drivers/usb/misc/appledisplay.c | 1 +
fs/exofs/super.c | 5 ++++-
fs/hfs/brec.c | 4 ++++
fs/hfsplus/brec.c | 4 ++++
fs/reiserfs/xattr.c | 7 ++++++
include/linux/uaccess.h | 3 +++
lib/raid6/test/Makefile | 4 ++--
net/core/dev.c | 4 ++++
net/sunrpc/xdr.c | 2 +-
25 files changed, 107 insertions(+), 49 deletions(-)
This is a note to let you know that I've just added the patch titled
tty: do not set TTY_IO_ERROR flag if console port
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 2a48602615e0a2f563549c7d5c8d507f904cf96e Mon Sep 17 00:00:00 2001
From: Chanho Park <parkch98(a)gmail.com>
Date: Thu, 22 Nov 2018 18:23:47 +0900
Subject: tty: do not set TTY_IO_ERROR flag if console port
Since Commit 761ed4a94582 ('tty: serial_core: convert uart_close to use
tty_port_close') and Commit 4dda864d7307 ('tty: serial_core: Fix serial
console crash on port shutdown), a serial port which is used as
console can be stuck when logging out if there is a remained process.
After logged out, agetty will try to grab the serial port but it will
be failed because the previous process did not release the port
correctly. To fix this, TTY_IO_ERROR bit should not be enabled of
tty_port_close if the port is console port.
Reproduce step:
- Run background processes from serial console
$ while true; do sleep 10; done &
- Log out
$ logout
-> Stuck
- Read journal log by journalctl | tail
Jan 28 16:07:01 ubuntu systemd[1]: Stopped Serial Getty on ttyAMA0.
Jan 28 16:07:01 ubuntu systemd[1]: Started Serial Getty on ttyAMA0.
Jan 28 16:07:02 ubuntu agetty[1643]: /dev/ttyAMA0: not a tty
Fixes: 761ed4a94582 ("tty: serial_core: convert uart_close to use tty_port_close")
Cc: Geert Uytterhoeven <geert+renesas(a)glider.be>
Cc: Rob Herring <robh(a)kernel.org>
Cc: Jiri Slaby <jslaby(a)suse.com>
Signed-off-by: Chanho Park <parkch98(a)gmail.com>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/tty/tty_port.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c
index cb6075096a5b..044c3cbdcfa4 100644
--- a/drivers/tty/tty_port.c
+++ b/drivers/tty/tty_port.c
@@ -633,7 +633,8 @@ void tty_port_close(struct tty_port *port, struct tty_struct *tty,
if (tty_port_close_start(port, tty, filp) == 0)
return;
tty_port_shutdown(port, tty);
- set_bit(TTY_IO_ERROR, &tty->flags);
+ if (!port->console)
+ set_bit(TTY_IO_ERROR, &tty->flags);
tty_port_close_end(port, tty);
tty_port_tty_set(port, NULL);
}
--
2.19.2
imx274_read_reg() takes a u8 pointer ("reg") and casts it to pass it
to regmap_read(), which takes an unsigned int pointer. This results in
a corrupted stack and random crashes.
Fixes: 0985dd306f72 ("media: imx274: V4l2 driver for Sony imx274 CMOS sensor")
Cc: stable(a)vger.kernel.org # 4.15.x
Signed-off-by: Luca Ceresoli <luca(a)lucaceresoli.net>
---
Notes!
I have no evidence of this bug showing up in the mainline driver. It
appeared on a modified version where imx274_read_reg() is used,
unmodified, in a different way than it does in mainline (passing a
pointer to a single u8 instead of a pointer to an element of a u8
array).
Also the bug is only present in versions v4.15 (where the driver was
added) to v4.19. The offending function is unused since commit
ca017467c78b ("media: imx274: add helper to read multibyte
registers"), merged in v4.20-rc1, thus master is not affected. I'm
sending this bugfix patch anyway for easier integration in the stable
branches. Later I plan to send a patch against master to entirely
remove the function. Or somebody might want to use this function
again, so better having a fixed version out anyway.
I'm not 100% sure this qualifies this commit for stable trees.
---
drivers/media/i2c/imx274.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/media/i2c/imx274.c b/drivers/media/i2c/imx274.c
index e1b0395a657f..40c717f13eb8 100644
--- a/drivers/media/i2c/imx274.c
+++ b/drivers/media/i2c/imx274.c
@@ -619,16 +619,19 @@ static int imx274_write_table(struct stimx274 *priv, const struct reg_8 table[])
static inline int imx274_read_reg(struct stimx274 *priv, u16 addr, u8 *val)
{
+ unsigned int uint_val;
int err;
- err = regmap_read(priv->regmap, addr, (unsigned int *)val);
+ err = regmap_read(priv->regmap, addr, &uint_val);
if (err)
dev_err(&priv->client->dev,
"%s : i2c read failed, addr = %x\n", __func__, addr);
else
dev_dbg(&priv->client->dev,
"%s : addr 0x%x, val=0x%x\n", __func__,
- addr, *val);
+ addr, uint_val);
+
+ *val = uint_val;
return err;
}
--
2.17.1
In order for ULPI PHYs to work, dwc3_phy_setup() and dwc3_ulpi_init()
must be doene before dwc3_core_get_phy().
commit 541768b08a40 ("usb: dwc3: core: Call dwc3_core_get_phy() before initializing phys")
broke this.
The other issue is that dwc3_core_get_phy() and dwc3_ulpi_init() should
be called only once during the life cycle of the driver. However,
as dwc3_core_init() is called during system suspend/resume it will
result in multiple calls to dwc3_core_get_phy() and dwc3_ulpi_init()
which is wrong.
Fix this by moving dwc3_ulpi_init() out of dwc3_phy_setup()
into dwc3_core_ulpi_init(). Use a flag 'ulpi_ready' to ensure that
dwc3_core_ulpi_init() is called only once from dwc3_core_init().
Use another flag 'phys_ready' to call dwc3_core_get_phy() only once from
dwc3_core_init().
Fixes: 541768b08a40 ("usb: dwc3: core: Call dwc3_core_get_phy() before initializing phys")
Fixes: f54edb539c11 ("usb: dwc3: core: initialize ULPI before trying to get the PHY")
Cc: linux-stable <stable(a)vger.kernel.org> # >= v4.13
Signed-off-by: Roger Quadros <rogerq(a)ti.com>
---
Changelog:
v2:
- don't break ULPI case. Also take into consideration suspend/resume for ULPI case.
drivers/usb/dwc3/core.c | 47 ++++++++++++++++++++++++++++++++++++-----------
drivers/usb/dwc3/core.h | 5 +++++
2 files changed, 41 insertions(+), 11 deletions(-)
diff --git a/drivers/usb/dwc3/core.c b/drivers/usb/dwc3/core.c
index 0783250..84382f6 100644
--- a/drivers/usb/dwc3/core.c
+++ b/drivers/usb/dwc3/core.c
@@ -482,6 +482,22 @@ static void dwc3_cache_hwparams(struct dwc3 *dwc)
parms->hwparams8 = dwc3_readl(dwc->regs, DWC3_GHWPARAMS8);
}
+static int dwc3_core_ulpi_init(struct dwc3 *dwc)
+{
+ int intf;
+ int ret = 0;
+
+ intf = DWC3_GHWPARAMS3_HSPHY_IFC(dwc->hwparams.hwparams3);
+
+ if (intf == DWC3_GHWPARAMS3_HSPHY_IFC_ULPI ||
+ (intf == DWC3_GHWPARAMS3_HSPHY_IFC_UTMI_ULPI &&
+ dwc->hsphy_interface &&
+ !strncmp(dwc->hsphy_interface, "ulpi", 4)))
+ ret = dwc3_ulpi_init(dwc);
+
+ return ret;
+}
+
/**
* dwc3_phy_setup - Configure USB PHY Interface of DWC3 Core
* @dwc: Pointer to our controller context structure
@@ -493,7 +509,6 @@ static void dwc3_cache_hwparams(struct dwc3 *dwc)
static int dwc3_phy_setup(struct dwc3 *dwc)
{
u32 reg;
- int ret;
reg = dwc3_readl(dwc->regs, DWC3_GUSB3PIPECTL(0));
@@ -564,9 +579,6 @@ static int dwc3_phy_setup(struct dwc3 *dwc)
}
/* FALLTHROUGH */
case DWC3_GHWPARAMS3_HSPHY_IFC_ULPI:
- ret = dwc3_ulpi_init(dwc);
- if (ret)
- return ret;
/* FALLTHROUGH */
default:
break;
@@ -723,6 +735,7 @@ static void dwc3_core_setup_global_control(struct dwc3 *dwc)
}
static int dwc3_core_get_phy(struct dwc3 *dwc);
+static int dwc3_core_ulpi_init(struct dwc3 *dwc);
/**
* dwc3_core_init - Low-level initialization of DWC3 Core
@@ -754,17 +767,27 @@ static int dwc3_core_init(struct dwc3 *dwc)
dwc->maximum_speed = USB_SPEED_HIGH;
}
- ret = dwc3_core_get_phy(dwc);
+ ret = dwc3_phy_setup(dwc);
if (ret)
goto err0;
- ret = dwc3_core_soft_reset(dwc);
- if (ret)
- goto err0;
+ if (!dwc->ulpi_ready) {
+ ret = dwc3_core_ulpi_init(dwc);
+ if (ret)
+ goto err0;
+ dwc->ulpi_ready = true;
+ }
- ret = dwc3_phy_setup(dwc);
+ if (!dwc->phys_ready) {
+ ret = dwc3_core_get_phy(dwc);
+ if (ret)
+ goto err0a;
+ dwc->phys_ready = true;
+ }
+
+ ret = dwc3_core_soft_reset(dwc);
if (ret)
- goto err0;
+ goto err0a;
dwc3_core_setup_global_control(dwc);
dwc3_core_num_eps(dwc);
@@ -837,6 +860,9 @@ static int dwc3_core_init(struct dwc3 *dwc)
phy_exit(dwc->usb2_generic_phy);
phy_exit(dwc->usb3_generic_phy);
+err0a:
+ dwc3_ulpi_exit(dwc);
+
err0:
return ret;
}
@@ -1229,7 +1255,6 @@ static int dwc3_probe(struct platform_device *pdev)
err3:
dwc3_free_event_buffers(dwc);
- dwc3_ulpi_exit(dwc);
err2:
pm_runtime_allow(&pdev->dev);
diff --git a/drivers/usb/dwc3/core.h b/drivers/usb/dwc3/core.h
index 4a4a4c9..6b202e3 100644
--- a/drivers/usb/dwc3/core.h
+++ b/drivers/usb/dwc3/core.h
@@ -795,7 +795,9 @@ struct dwc3_scratchpad_array {
* @usb3_phy: pointer to USB3 PHY
* @usb2_generic_phy: pointer to USB2 PHY
* @usb3_generic_phy: pointer to USB3 PHY
+ * @phys_ready: flag to indicate that PHYs are ready
* @ulpi: pointer to ulpi interface
+ * @ulpi_ready: flag to indicate that ULPI is initialized
* @isoch_delay: wValue from Set Isochronous Delay request;
* @u2sel: parameter from Set SEL request.
* @u2pel: parameter from Set SEL request.
@@ -893,7 +895,10 @@ struct dwc3 {
struct phy *usb2_generic_phy;
struct phy *usb3_generic_phy;
+ bool phys_ready;
+
struct ulpi *ulpi;
+ bool ulpi_ready;
void __iomem *regs;
size_t regs_size;
--
cheers,
-roger
Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki. Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki
This is a note to let you know that I've just added the patch titled
misc: mic/scif: fix copy-paste error in scif_create_remote_lookup
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 6484a677294aa5d08c0210f2f387ebb9be646115 Mon Sep 17 00:00:00 2001
From: YueHaibing <yuehaibing(a)huawei.com>
Date: Wed, 14 Nov 2018 01:57:03 +0000
Subject: misc: mic/scif: fix copy-paste error in scif_create_remote_lookup
gcc '-Wunused-but-set-variable' warning:
drivers/misc/mic/scif/scif_rma.c: In function 'scif_create_remote_lookup':
drivers/misc/mic/scif/scif_rma.c:373:25: warning:
variable 'vmalloc_num_pages' set but not used [-Wunused-but-set-variable]
'vmalloc_num_pages' should be used to determine if the address is
within the vmalloc range.
Fixes: ba612aa8b487 ("misc: mic: SCIF memory registration and unregistration")
Signed-off-by: YueHaibing <yuehaibing(a)huawei.com>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/misc/mic/scif/scif_rma.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/misc/mic/scif/scif_rma.c b/drivers/misc/mic/scif/scif_rma.c
index c824329f7012..0e4193cb08cf 100644
--- a/drivers/misc/mic/scif/scif_rma.c
+++ b/drivers/misc/mic/scif/scif_rma.c
@@ -416,7 +416,7 @@ static int scif_create_remote_lookup(struct scif_dev *remote_dev,
if (err)
goto error_window;
err = scif_map_page(&window->num_pages_lookup.lookup[j],
- vmalloc_dma_phys ?
+ vmalloc_num_pages ?
vmalloc_to_page(&window->num_pages[i]) :
virt_to_page(&window->num_pages[i]),
remote_dev);
--
2.19.2
+cc stable(a)vger.kernel.org
W dniu 2018-11-19 o 02:31, Mika Westerberg pisze:
> On Sun, Nov 18, 2018 at 07:13:18PM -0800, Krzysztof Olędzki wrote:
>> Hello Mika, Rafael, Greg,
>
> Hi,
>
>> Would it be possible to include the following two patches in 4.9-stable:
>> - "ACPI / watchdog: Prefer iTCO_wdt on Lenovo Z50-70"
>> - "ACPI / watchdog: Prefer iTCO_wdt always when WDAT table uses RTC SRAM"
>>
>> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/com…
>> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/com…
>>
>> Context: I just upgrade one of my servers from 4.4.161 to 4.9.137 and
>> run into a problem of not working RTC and watchdog. Adding these two
>> patches fixed the issue. No changes were necessary for them to be applied.
>
> I think the best way to get these included in stable trees is to send
> the commit ids with the above explanation to stable(a)vger.kernel.org.
Thank you Mika! I forgot how the process works. :/
The commits are:
a0a37862a4e1844793d39aca9ccb8fecbdcb8659
5a802a7a285c8877ca872e44eeb0f06afcb5212f
It also looks like the first patch is already in 4.14-stable, just not
in 4.9.
- a0a37862a4e1844793d39aca9ccb8fecbdcb8659 was included in 4.14.51:
https://cdn.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.14.51
However, it does not look like the 2nd one has been included in 4.14
yet. Would it be then possible to add
5a802a7a285c8877ca872e44eeb0f06afcb5212f to both 4.9-stable and 4.14-stable?
The impacted system is:
Dell Inc. PowerEdge T110 II/0PM2CW, BIOS 2.10.0 05/24/2018
Krzysztof
From: Dexuan Cui <decui(a)microsoft.com>
This is a longstanding issue: if the vmbus upper-layer drivers try to
consume too many GPADLs, the host may return with an error
0xC0000044 (STATUS_QUOTA_EXCEEDED), but currently we forget to check
the creation_status, and hence we can pass an invalid GPADL handle
into the OPEN_CHANNEL message, and get an error code 0xc0000225 in
open_info->response.open_result.status, and finally we hang in
vmbus_open() -> "goto error_free_info" -> vmbus_teardown_gpadl().
With this patch, we can exit gracefully on STATUS_QUOTA_EXCEEDED.
Cc: Stephen Hemminger <sthemmin(a)microsoft.com>
Cc: K. Y. Srinivasan <kys(a)microsoft.com>
Cc: Haiyang Zhang <haiyangz(a)microsoft.com>
Cc: stable(a)vger.kernel.org
Signed-off-by: Dexuan Cui <decui(a)microsoft.com>
Signed-off-by: K. Y. Srinivasan <kys(a)microsoft.com>
---
drivers/hv/channel.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/hv/channel.c b/drivers/hv/channel.c
index f96a77b18bb9..ce0ba2062723 100644
--- a/drivers/hv/channel.c
+++ b/drivers/hv/channel.c
@@ -516,6 +516,14 @@ int vmbus_establish_gpadl(struct vmbus_channel *channel, void *kbuffer,
}
wait_for_completion(&msginfo->waitevent);
+ if (msginfo->response.gpadl_created.creation_status != 0) {
+ pr_err("Failed to establish GPADL: err = 0x%x\n",
+ msginfo->response.gpadl_created.creation_status);
+
+ ret = -EDQUOT;
+ goto cleanup;
+ }
+
if (channel->rescind) {
ret = -ENODEV;
goto cleanup;
--
2.19.1
fast_coprocessor exception handler expects that the coprocessor owner
task never gets the "coprocessor disabled" exception for a coprocessor
that is marked as enabled in the thread_info::cpenable. If that happens
it will reload potentially outdated context from the thread_info
structure into the coprocessor registers.
Only call coprocessor_clear_cpenable from the coprocessor_release_all
if the latter is called for the current task.
Cc: stable(a)vger.kernel.org
Signed-off-by: Max Filippov <jcmvbkbc(a)gmail.com>
---
arch/xtensa/kernel/process.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/xtensa/kernel/process.c b/arch/xtensa/kernel/process.c
index 3fa0c440f664..6c7c80106f60 100644
--- a/arch/xtensa/kernel/process.c
+++ b/arch/xtensa/kernel/process.c
@@ -87,7 +87,8 @@ void coprocessor_release_all(struct thread_info *ti)
}
ti->cpenable = cpenable;
- coprocessor_clear_cpenable();
+ if (ti == current_thread_info())
+ coprocessor_clear_cpenable();
preempt_enable();
}
--
2.11.0
From: Lyude <cpaul(a)redhat.com>
As observed with the latest ThinkPad docks, we unfortunately can't rely
on docks keeping us updated with hotplug events that happened while we
were suspended. On top of that, even if the number of connectors remains
the same between suspend and resume it's still not safe to assume that
there were no hotplugs, since a different monitor might have been
plugged into a port another monitor previously occupied. As such, we
need to go through all of the MST ports and check whether or not their
EDIDs have changed.
In addition to that, we also now return -EINVAL from
drm_dp_mst_topology_mgr_resume to indicate to callers that they need to
reset the MST connection, and that they can't rely on any other method
of reprobing.
Cc: stable(a)vger.kernel.org
Signed-off-by: Lyude <cpaul(a)redhat.com>
Signed-off-by: Juston Li <juston.li(a)intel.com>
---
drivers/gpu/drm/drm_dp_mst_topology.c | 94 ++++++++++++++++++++++++++-
1 file changed, 93 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 5ff1d79b86c4..88abebe52021 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -29,6 +29,7 @@
#include <linux/i2c.h>
#include <drm/drm_dp_mst_helper.h>
#include <drm/drmP.h>
+#include <drm/drm_edid.h>
#include <drm/drm_fixed.h>
#include <drm/drm_atomic.h>
@@ -2201,6 +2202,64 @@ void drm_dp_mst_topology_mgr_suspend(struct drm_dp_mst_topology_mgr *mgr)
}
EXPORT_SYMBOL(drm_dp_mst_topology_mgr_suspend);
+static bool drm_dp_mst_edids_changed(struct drm_dp_mst_topology_mgr *mgr,
+ struct drm_dp_mst_port *port)
+{
+ struct drm_device *dev;
+ struct drm_connector *connector;
+ struct drm_dp_mst_port *dport;
+ struct drm_dp_mst_branch *mstb;
+ struct edid *current_edid, *cached_edid;
+ bool ret = false;
+
+ port = drm_dp_get_validated_port_ref(mgr, port);
+ if (!port)
+ return false;
+
+ mstb = drm_dp_get_validated_mstb_ref(mgr, port->mstb);
+ if (mstb) {
+ list_for_each_entry(dport, &port->mstb->ports, next) {
+ ret = drm_dp_mst_edids_changed(mgr, dport);
+ if (ret)
+ break;
+ }
+
+ drm_dp_put_mst_branch_device(mstb);
+ if (ret)
+ goto out;
+ }
+
+ connector = port->connector;
+ if (!connector || !port->aux.ddc.algo)
+ goto out;
+
+ dev = connector->dev;
+ mutex_lock(&dev->mode_config.mutex);
+
+ current_edid = drm_get_edid(connector, &port->aux.ddc);
+ if (connector->edid_blob_ptr)
+ cached_edid = (void *)connector->edid_blob_ptr->data;
+ else
+ return false;
+
+ if ((current_edid && cached_edid && memcmp(current_edid, cached_edid,
+ sizeof(struct edid)) != 0) ||
+ (!current_edid && cached_edid) || (current_edid && !cached_edid)) {
+ ret = true;
+ DRM_DEBUG_KMS("EDID on %s changed, reprobing connectors\n",
+ connector->name);
+ }
+
+ mutex_unlock(&dev->mode_config.mutex);
+
+ kfree(current_edid);
+
+out:
+ drm_dp_put_port(port);
+
+ return ret;
+}
+
/**
* drm_dp_mst_topology_mgr_resume() - resume the MST manager
* @mgr: manager to resume
@@ -2210,9 +2269,15 @@ EXPORT_SYMBOL(drm_dp_mst_topology_mgr_suspend);
*
* if the device fails this returns -1, and the driver should do
* a full MST reprobe, in case we were undocked.
+ *
+ * if the device can no longer be trusted, this returns -EINVAL
+ * and the driver should unconditionally disconnect and reconnect
+ * the dock.
*/
int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr)
{
+ struct drm_dp_mst_branch *mstb;
+ struct drm_dp_mst_port *port;
int ret = 0;
mutex_lock(&mgr->lock);
@@ -2246,8 +2311,35 @@ int drm_dp_mst_topology_mgr_resume(struct drm_dp_mst_topology_mgr *mgr)
drm_dp_check_mstb_guid(mgr->mst_primary, guid);
ret = 0;
- } else
+
+ /*
+ * Some hubs also forget to notify us of hotplugs that happened
+ * while we were in suspend, so we need to verify that the edid
+ * hasn't changed for any of the connectors. If it has been,
+ * we unfortunately can't rely on the dock updating us with
+ * hotplug events, so indicate we need a full reconnect.
+ */
+
+ /* MST's I2C helpers can't be used while holding this lock */
+ mutex_unlock(&mgr->lock);
+
+ mstb = drm_dp_get_validated_mstb_ref(mgr, mgr->mst_primary);
+ if (mstb) {
+ list_for_each_entry(port, &mstb->ports, next) {
+ if (drm_dp_mst_edids_changed(mgr, port)) {
+ ret = -EINVAL;
+ break;
+ }
+ }
+
+ drm_dp_put_mst_branch_device(mstb);
+ }
+ } else {
ret = -1;
+ mutex_unlock(&mgr->lock);
+ }
+
+ return ret;
out_unlock:
mutex_unlock(&mgr->lock);
--
2.17.2
coprocessor_flush_all may be called from a context of a thread that is
different from the thread being flushed. In that case contents of the
cpenable special register may not match ti->cpenable of the target
thread, resulting in unhandled coprocessor exception in the kernel
context.
Set cpenable special register to the ti->cpenable of the target register
for the duration of the flush and restore it afterwards.
This fixes the following crash caused by coprocessor register inspection
in native gdb:
(gdb) p/x $w0
Illegal instruction in kernel: sig: 9 [#1] PREEMPT
Call Trace:
___might_sleep+0x184/0x1a4
__might_sleep+0x41/0xac
exit_signals+0x14/0x218
do_exit+0xc9/0x8b8
die+0x99/0xa0
do_illegal_instruction+0x18/0x6c
common_exception+0x77/0x77
coprocessor_flush+0x16/0x3c
arch_ptrace+0x46c/0x674
sys_ptrace+0x2ce/0x3b4
system_call+0x54/0x80
common_exception+0x77/0x77
note: gdb[100] exited with preempt_count 1
Killed
Cc: stable(a)vger.kernel.org
Signed-off-by: Max Filippov <jcmvbkbc(a)gmail.com>
---
arch/xtensa/kernel/process.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/xtensa/kernel/process.c b/arch/xtensa/kernel/process.c
index 9363629eb7cc..3fa0c440f664 100644
--- a/arch/xtensa/kernel/process.c
+++ b/arch/xtensa/kernel/process.c
@@ -94,18 +94,21 @@ void coprocessor_release_all(struct thread_info *ti)
void coprocessor_flush_all(struct thread_info *ti)
{
- unsigned long cpenable;
+ unsigned long cpenable, old_cpenable;
int i;
preempt_disable();
+ RSR_CPENABLE(old_cpenable);
cpenable = ti->cpenable;
+ WSR_CPENABLE(cpenable);
for (i = 0; i < XCHAL_CP_MAX; i++) {
if ((cpenable & 1) != 0 && coprocessor_owner[i] == ti)
coprocessor_flush(ti, i);
cpenable >>= 1;
}
+ WSR_CPENABLE(old_cpenable);
preempt_enable();
}
--
2.11.0
Hi Greg,
This was not marked for stable but seems it should be in stable.
And another commit which fixes it.
Please apply to your queue of 4.14-stable.
--
Regards
Sudip
> From: Sasha Levin <sashal(a)kernel.org>
> Sent: Monday, November 26, 2018 1:53 AM
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a -stable tag.
> The stable tag indicates that it's relevant for the following trees: all
>
> The bot has tested the following trees: v4.19.4, v4.14.83, v4.9.140, v4.4.164,
> v3.18.126.
>
> v4.19.4: Build OK!
> v4.14.83: Build OK!
> v4.9.140: Build OK!
> v4.4.164: Failed to apply! Possible dependencies:
> v3.18.126: Failed to apply! Possible dependencies:
> How should we proceed with this patch?
>
> Sasha
Hi Sasha,
Please see the attached patch, which is a rebase for both v4.4.164 and v3.18.126.
Thanks,
--Dexuan
Jerry Zuo pointed out a rather obscure hotplugging issue that it seems I
accidentally introduced into DRM two years ago.
Pretend we have a topology like this:
|- DP-1: mst_primary
|- DP-4: active display
|- DP-5: disconnected
|- DP-6: active hub
|- DP-7: active display
|- DP-8: disconnected
|- DP-9: disconnected
If we unplug DP-6, the topology starting at DP-7 will be destroyed but
it's payloads will live on in DP-1's VCPI allocations and thus require
removal. However, this removal currently fails because
drm_dp_update_payload_part1() will (rightly so) try to validate the port
before accessing it, fail then abort. If we keep going, eventually we
run the MST hub out of bandwidth and all new allocations will start to
fail (or in my case; all new displays just start flickering a ton).
We could just teach drm_dp_update_payload_part1() not to drop the port
ref in this case, but then we also need to teach
drm_dp_destroy_payload_step1() to do the same thing, then hope no one
ever adds anything to the that requires a validated port reference in
drm_dp_destroy_connector_work(). Kind of sketchy.
So let's go with a more clever solution: any port that
drm_dp_destroy_connector_work() interacts with is guaranteed to still
exist in memory until we say so. While said port might not be valid we
don't really care: that's the whole reason we're destroying it in the
first place! So, teach drm_dp_get_validated_port_ref() to use the all
mighty current_work() function to avoid attempting to validate ports
from the context of mgr->destroy_connector_work. I can't see any
situation where this wouldn't be safe, and this avoids having to play
whack-a-mole in the future of trying to work around port validation.
Signed-off-by: Lyude Paul <lyude(a)redhat.com>
Fixes: 263efde31f97 ("drm/dp/mst: Get validated port ref in drm_dp_update_payload_part1()")
Reported-by: Jerry Zuo <Jerry.Zuo(a)amd.com>
Cc: Jerry Zuo <Jerry.Zuo(a)amd.com>
Cc: Harry Wentland <Harry.Wentland(a)amd.com>
Cc: <stable(a)vger.kernel.org> # v4.6+
---
drivers/gpu/drm/drm_dp_mst_topology.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/drm_dp_mst_topology.c b/drivers/gpu/drm/drm_dp_mst_topology.c
index 529414556962..08978ad72f33 100644
--- a/drivers/gpu/drm/drm_dp_mst_topology.c
+++ b/drivers/gpu/drm/drm_dp_mst_topology.c
@@ -1023,9 +1023,20 @@ static struct drm_dp_mst_port *drm_dp_mst_get_port_ref_locked(struct drm_dp_mst_
static struct drm_dp_mst_port *drm_dp_get_validated_port_ref(struct drm_dp_mst_topology_mgr *mgr, struct drm_dp_mst_port *port)
{
struct drm_dp_mst_port *rport = NULL;
+
mutex_lock(&mgr->lock);
- if (mgr->mst_primary)
- rport = drm_dp_mst_get_port_ref_locked(mgr->mst_primary, port);
+ /*
+ * Port may or may not be 'valid' but we don't care about that when
+ * destroying the port and we are guaranteed that the port pointer
+ * will be valid until we've finished
+ */
+ if (current_work() == &mgr->destroy_connector_work) {
+ kref_get(&port->kref);
+ rport = port;
+ } else if (mgr->mst_primary) {
+ rport = drm_dp_mst_get_port_ref_locked(mgr->mst_primary,
+ port);
+ }
mutex_unlock(&mgr->lock);
return rport;
}
--
2.19.1
The patch titled
Subject: userfaultfd: shmem: add i_size checks
has been added to the -mm tree. Its filename is
userfaultfd-shmem-add-i_size-checks.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/userfaultfd-shmem-add-i_size-check…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/userfaultfd-shmem-add-i_size-check…
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: Andrea Arcangeli <aarcange(a)redhat.com>
Subject: userfaultfd: shmem: add i_size checks
With MAP_SHARED: recheck the i_size after taking the PT lock, to serialize
against truncate with the PT lock. Delete the page from the pagecache if
the i_size_read check fails.
With MAP_PRIVATE: check the i_size after the PT lock before mapping
anonymous memory or zeropages into the MAP_PRIVATE shmem mapping.
A mostly irrelevant cleanup: like we do the delete_from_page_cache()
pagecache removal after dropping the PT lock, the PT lock is a spinlock so
drop it before the sleepable page lock.
Link: http://lkml.kernel.org/r/20181126173452.26955-5-aarcange@redhat.com
Fixes: 4c27fe4c4c84 ("userfaultfd: shmem: add shmem_mcopy_atomic_pte for userfaultfd support")
Signed-off-by: Andrea Arcangeli <aarcange(a)redhat.com>
Reviewed-by: Mike Rapoport <rppt(a)linux.ibm.com>
Reviewed-by: Hugh Dickins <hughd(a)google.com>
Reported-by: Jann Horn <jannh(a)google.com>
Cc: <stable(a)vger.kernel.org>
Cc: "Dr. David Alan Gilbert" <dgilbert(a)redhat.com>
Cc: Mike Kravetz <mike.kravetz(a)oracle.com>
Cc: Peter Xu <peterx(a)redhat.com>
Cc: stable(a)vger.kernel.org
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/shmem.c~userfaultfd-shmem-add-i_size-checks
+++ a/mm/shmem.c
@@ -2216,6 +2216,7 @@ static int shmem_mfill_atomic_pte(struct
struct page *page;
pte_t _dst_pte, *dst_pte;
int ret;
+ pgoff_t offset, max_off;
ret = -ENOMEM;
if (!shmem_inode_acct_block(inode, 1))
@@ -2253,6 +2254,12 @@ static int shmem_mfill_atomic_pte(struct
__SetPageSwapBacked(page);
__SetPageUptodate(page);
+ ret = -EFAULT;
+ offset = linear_page_index(dst_vma, dst_addr);
+ max_off = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE);
+ if (unlikely(offset >= max_off))
+ goto out_release;
+
ret = mem_cgroup_try_charge_delay(page, dst_mm, gfp, &memcg, false);
if (ret)
goto out_release;
@@ -2268,8 +2275,14 @@ static int shmem_mfill_atomic_pte(struct
if (dst_vma->vm_flags & VM_WRITE)
_dst_pte = pte_mkwrite(pte_mkdirty(_dst_pte));
- ret = -EEXIST;
dst_pte = pte_offset_map_lock(dst_mm, dst_pmd, dst_addr, &ptl);
+
+ ret = -EFAULT;
+ max_off = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE);
+ if (unlikely(offset >= max_off))
+ goto out_release_uncharge_unlock;
+
+ ret = -EEXIST;
if (!pte_none(*dst_pte))
goto out_release_uncharge_unlock;
@@ -2287,13 +2300,14 @@ static int shmem_mfill_atomic_pte(struct
/* No need to invalidate - it was non-present before */
update_mmu_cache(dst_vma, dst_addr, dst_pte);
- unlock_page(page);
pte_unmap_unlock(dst_pte, ptl);
+ unlock_page(page);
ret = 0;
out:
return ret;
out_release_uncharge_unlock:
pte_unmap_unlock(dst_pte, ptl);
+ delete_from_page_cache(page);
out_release_uncharge:
mem_cgroup_cancel_charge(page, memcg, false);
out_release:
--- a/mm/userfaultfd.c~userfaultfd-shmem-add-i_size-checks
+++ a/mm/userfaultfd.c
@@ -33,6 +33,8 @@ static int mcopy_atomic_pte(struct mm_st
void *page_kaddr;
int ret;
struct page *page;
+ pgoff_t offset, max_off;
+ struct inode *inode;
if (!*pagep) {
ret = -ENOMEM;
@@ -73,8 +75,17 @@ static int mcopy_atomic_pte(struct mm_st
if (dst_vma->vm_flags & VM_WRITE)
_dst_pte = pte_mkwrite(pte_mkdirty(_dst_pte));
- ret = -EEXIST;
dst_pte = pte_offset_map_lock(dst_mm, dst_pmd, dst_addr, &ptl);
+ if (dst_vma->vm_file) {
+ /* the shmem MAP_PRIVATE case requires checking the i_size */
+ inode = dst_vma->vm_file->f_inode;
+ offset = linear_page_index(dst_vma, dst_addr);
+ max_off = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE);
+ ret = -EFAULT;
+ if (unlikely(offset >= max_off))
+ goto out_release_uncharge_unlock;
+ }
+ ret = -EEXIST;
if (!pte_none(*dst_pte))
goto out_release_uncharge_unlock;
@@ -108,11 +119,22 @@ static int mfill_zeropage_pte(struct mm_
pte_t _dst_pte, *dst_pte;
spinlock_t *ptl;
int ret;
+ pgoff_t offset, max_off;
+ struct inode *inode;
_dst_pte = pte_mkspecial(pfn_pte(my_zero_pfn(dst_addr),
dst_vma->vm_page_prot));
- ret = -EEXIST;
dst_pte = pte_offset_map_lock(dst_mm, dst_pmd, dst_addr, &ptl);
+ if (dst_vma->vm_file) {
+ /* the shmem MAP_PRIVATE case requires checking the i_size */
+ inode = dst_vma->vm_file->f_inode;
+ offset = linear_page_index(dst_vma, dst_addr);
+ max_off = DIV_ROUND_UP(i_size_read(inode), PAGE_SIZE);
+ ret = -EFAULT;
+ if (unlikely(offset >= max_off))
+ goto out_unlock;
+ }
+ ret = -EEXIST;
if (!pte_none(*dst_pte))
goto out_unlock;
set_pte_at(dst_mm, dst_addr, dst_pte, _dst_pte);
_
Patches currently in -mm which might be from aarcange(a)redhat.com are
userfaultfd-use-enoent-instead-of-efault-if-the-atomic-copy-user-fails.patch
userfaultfd-shmem-allocate-anonymous-memory-for-map_private-shmem.patch
userfaultfd-shmem-hugetlbfs-only-allow-to-register-vm_maywrite-vmas.patch
userfaultfd-shmem-add-i_size-checks.patch
userfaultfd-shmem-uffdio_copy-set-the-page-dirty-if-vm_write-is-not-set.patch
The patch titled
Subject: userfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas
has been added to the -mm tree. Its filename is
userfaultfd-shmem-hugetlbfs-only-allow-to-register-vm_maywrite-vmas.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/userfaultfd-shmem-hugetlbfs-only-a…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/userfaultfd-shmem-hugetlbfs-only-a…
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: Andrea Arcangeli <aarcange(a)redhat.com>
Subject: userfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas
After the VMA to register the uffd onto is found, check that it has
VM_MAYWRITE set before allowing registration. This way we inherit all
common code checks before allowing to fill file holes in shmem and
hugetlbfs with UFFDIO_COPY.
The userfaultfd memory model is not applicable for readonly files unless
it's a MAP_PRIVATE.
Link: http://lkml.kernel.org/r/20181126173452.26955-4-aarcange@redhat.com
Fixes: ff62a3421044 ("hugetlb: implement memfd sealing")
Signed-off-by: Andrea Arcangeli <aarcange(a)redhat.com>
Reviewed-by: Mike Rapoport <rppt(a)linux.ibm.com>
Reviewed-by: Hugh Dickins <hughd(a)google.com>
Reported-by: Jann Horn <jannh(a)google.com>
Fixes: 4c27fe4c4c84 ("userfaultfd: shmem: add shmem_mcopy_atomic_pte for userfaultfd support")
Cc: <stable(a)vger.kernel.org>
Cc: "Dr. David Alan Gilbert" <dgilbert(a)redhat.com>
Cc: Mike Kravetz <mike.kravetz(a)oracle.com>
Cc: Peter Xu <peterx(a)redhat.com>
Cc: stable(a)vger.kernel.org
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/fs/userfaultfd.c~userfaultfd-shmem-hugetlbfs-only-allow-to-register-vm_maywrite-vmas
+++ a/fs/userfaultfd.c
@@ -1361,6 +1361,19 @@ static int userfaultfd_register(struct u
ret = -EINVAL;
if (!vma_can_userfault(cur))
goto out_unlock;
+
+ /*
+ * UFFDIO_COPY will fill file holes even without
+ * PROT_WRITE. This check enforces that if this is a
+ * MAP_SHARED, the process has write permission to the backing
+ * file. If VM_MAYWRITE is set it also enforces that on a
+ * MAP_SHARED vma: there is no F_WRITE_SEAL and no further
+ * F_WRITE_SEAL can be taken until the vma is destroyed.
+ */
+ ret = -EPERM;
+ if (unlikely(!(cur->vm_flags & VM_MAYWRITE)))
+ goto out_unlock;
+
/*
* If this vma contains ending address, and huge pages
* check alignment.
@@ -1406,6 +1419,7 @@ static int userfaultfd_register(struct u
BUG_ON(!vma_can_userfault(vma));
BUG_ON(vma->vm_userfaultfd_ctx.ctx &&
vma->vm_userfaultfd_ctx.ctx != ctx);
+ WARN_ON(!(vma->vm_flags & VM_MAYWRITE));
/*
* Nothing to do: this vma is already registered into this
@@ -1552,6 +1566,7 @@ static int userfaultfd_unregister(struct
cond_resched();
BUG_ON(!vma_can_userfault(vma));
+ WARN_ON(!(vma->vm_flags & VM_MAYWRITE));
/*
* Nothing to do: this vma is already registered into this
--- a/mm/userfaultfd.c~userfaultfd-shmem-hugetlbfs-only-allow-to-register-vm_maywrite-vmas
+++ a/mm/userfaultfd.c
@@ -205,8 +205,9 @@ retry:
if (!dst_vma || !is_vm_hugetlb_page(dst_vma))
goto out_unlock;
/*
- * Only allow __mcopy_atomic_hugetlb on userfaultfd
- * registered ranges.
+ * Check the vma is registered in uffd, this is
+ * required to enforce the VM_MAYWRITE check done at
+ * uffd registration time.
*/
if (!dst_vma->vm_userfaultfd_ctx.ctx)
goto out_unlock;
@@ -459,13 +460,9 @@ retry:
if (!dst_vma)
goto out_unlock;
/*
- * Be strict and only allow __mcopy_atomic on userfaultfd
- * registered ranges to prevent userland errors going
- * unnoticed. As far as the VM consistency is concerned, it
- * would be perfectly safe to remove this check, but there's
- * no useful usage for __mcopy_atomic ouside of userfaultfd
- * registered ranges. This is after all why these are ioctls
- * belonging to the userfaultfd and not syscalls.
+ * Check the vma is registered in uffd, this is required to
+ * enforce the VM_MAYWRITE check done at uffd registration
+ * time.
*/
if (!dst_vma->vm_userfaultfd_ctx.ctx)
goto out_unlock;
_
Patches currently in -mm which might be from aarcange(a)redhat.com are
userfaultfd-use-enoent-instead-of-efault-if-the-atomic-copy-user-fails.patch
userfaultfd-shmem-allocate-anonymous-memory-for-map_private-shmem.patch
userfaultfd-shmem-hugetlbfs-only-allow-to-register-vm_maywrite-vmas.patch
userfaultfd-shmem-add-i_size-checks.patch
userfaultfd-shmem-uffdio_copy-set-the-page-dirty-if-vm_write-is-not-set.patch
The patch titled
Subject: userfaultfd: shmem: allocate anonymous memory for MAP_PRIVATE shmem
has been added to the -mm tree. Its filename is
userfaultfd-shmem-allocate-anonymous-memory-for-map_private-shmem.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/userfaultfd-shmem-allocate-anonymo…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/userfaultfd-shmem-allocate-anonymo…
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: Andrea Arcangeli <aarcange(a)redhat.com>
Subject: userfaultfd: shmem: allocate anonymous memory for MAP_PRIVATE shmem
Userfaultfd did not create private memory when UFFDIO_COPY was invoked on
a MAP_PRIVATE shmem mapping. Instead it wrote to the shmem file, even
when that had not been opened for writing. Though, fortunately, that
could only happen where there was a hole in the file.
Fix the shmem-backed implementation of UFFDIO_COPY to create private
memory for MAP_PRIVATE mappings. The hugetlbfs-backed implementation was
already correct.
This change is visible to userland, if userfaultfd has been used in
unintended ways: so it introduces a small risk of incompatibility, but is
necessary in order to respect file permissions.
An app that uses UFFDIO_COPY for anything like postcopy live migration
won't notice the difference, and in fact it'll run faster because there
will be no copy-on-write and memory waste in the tmpfs pagecache anymore.
Userfaults on MAP_PRIVATE shmem keep triggering only on file holes like
before.
The real zeropage can also be built on a MAP_PRIVATE shmem mapping through
UFFDIO_ZEROPAGE and that's safe because the zeropage pte is never dirty,
in turn even an mprotect upgrading the vma permission from PROT_READ to
PROT_READ|PROT_WRITE won't make the zeropage pte writable.
Link: http://lkml.kernel.org/r/20181126173452.26955-3-aarcange@redhat.com
Fixes: 4c27fe4c4c84 ("userfaultfd: shmem: add shmem_mcopy_atomic_pte for userfaultfd support")
Signed-off-by: Andrea Arcangeli <aarcange(a)redhat.com>
Reported-by: Mike Rapoport <rppt(a)linux.ibm.com>
Reviewed-by: Hugh Dickins <hughd(a)google.com>
Cc: <stable(a)vger.kernel.org>
Cc: "Dr. David Alan Gilbert" <dgilbert(a)redhat.com>
Cc: Jann Horn <jannh(a)google.com>
Cc: Mike Kravetz <mike.kravetz(a)oracle.com>
Cc: Peter Xu <peterx(a)redhat.com>
Cc: stable(a)vger.kernel.org
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/userfaultfd.c~userfaultfd-shmem-allocate-anonymous-memory-for-map_private-shmem
+++ a/mm/userfaultfd.c
@@ -380,7 +380,17 @@ static __always_inline ssize_t mfill_ato
{
ssize_t err;
- if (vma_is_anonymous(dst_vma)) {
+ /*
+ * The normal page fault path for a shmem will invoke the
+ * fault, fill the hole in the file and COW it right away. The
+ * result generates plain anonymous memory. So when we are
+ * asked to fill an hole in a MAP_PRIVATE shmem mapping, we'll
+ * generate anonymous memory directly without actually filling
+ * the hole. For the MAP_PRIVATE case the robustness check
+ * only happens in the pagetable (to verify it's still none)
+ * and not in the radix tree.
+ */
+ if (!(dst_vma->vm_flags & VM_SHARED)) {
if (!zeropage)
err = mcopy_atomic_pte(dst_mm, dst_pmd, dst_vma,
dst_addr, src_addr, page);
@@ -489,7 +499,8 @@ retry:
* dst_vma.
*/
err = -ENOMEM;
- if (vma_is_anonymous(dst_vma) && unlikely(anon_vma_prepare(dst_vma)))
+ if (!(dst_vma->vm_flags & VM_SHARED) &&
+ unlikely(anon_vma_prepare(dst_vma)))
goto out_unlock;
while (src_addr < src_start + len) {
_
Patches currently in -mm which might be from aarcange(a)redhat.com are
userfaultfd-use-enoent-instead-of-efault-if-the-atomic-copy-user-fails.patch
userfaultfd-shmem-allocate-anonymous-memory-for-map_private-shmem.patch
userfaultfd-shmem-hugetlbfs-only-allow-to-register-vm_maywrite-vmas.patch
userfaultfd-shmem-add-i_size-checks.patch
userfaultfd-shmem-uffdio_copy-set-the-page-dirty-if-vm_write-is-not-set.patch
The patch titled
Subject: userfaultfd: use ENOENT instead of EFAULT if the atomic copy user fails
has been added to the -mm tree. Its filename is
userfaultfd-use-enoent-instead-of-efault-if-the-atomic-copy-user-fails.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/userfaultfd-use-enoent-instead-of-…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/userfaultfd-use-enoent-instead-of-…
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: Andrea Arcangeli <aarcange(a)redhat.com>
Subject: userfaultfd: use ENOENT instead of EFAULT if the atomic copy user fails
Patch series "userfaultfd shmem updates".
Jann found two bugs in the userfaultfd shmem MAP_SHARED backend: the lack
of the VM_MAYWRITE check and the lack of i_size checks.
Then looking into the above we also fixed the MAP_PRIVATE case.
Hugh by source review also found a data loss source if UFFDIO_COPY is used
on shmem MAP_SHARED PROT_READ mappings (the production usages incidentally
run with PROT_READ|PROT_WRITE, so the data loss couldn't happen in those
production usages like with QEMU).
The whole patchset is marked for stable.
We verified QEMU postcopy live migration with guest running on shmem
MAP_PRIVATE run as well as before after the fix of shmem MAP_PRIVATE.
Regardless if it's shmem or hugetlbfs or MAP_PRIVATE or MAP_SHARED, QEMU
unconditionally invokes a punch hole if the guest mapping is filebacked
and a MADV_DONTNEED too (needed to get rid of the MAP_PRIVATE COWs and for
the anon backend).
This patch (of 5):
We internally used EFAULT to communicate with the caller, switch to
ENOENT, so EFAULT can be used as a non internal retval.
Link: http://lkml.kernel.org/r/20181126173452.26955-2-aarcange@redhat.com
Fixes: 4c27fe4c4c84 ("userfaultfd: shmem: add shmem_mcopy_atomic_pte for userfaultfd support")
Signed-off-by: Andrea Arcangeli <aarcange(a)redhat.com>
Reviewed-by: Mike Rapoport <rppt(a)linux.ibm.com>
Reviewed-by: Hugh Dickins <hughd(a)google.com>
Cc: Mike Kravetz <mike.kravetz(a)oracle.com>
Cc: Jann Horn <jannh(a)google.com>
Cc: Peter Xu <peterx(a)redhat.com>
Cc: "Dr. David Alan Gilbert" <dgilbert(a)redhat.com>
Cc: <stable(a)vger.kernel.org>
Cc: stable(a)vger.kernel.org
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/hugetlb.c~userfaultfd-use-enoent-instead-of-efault-if-the-atomic-copy-user-fails
+++ a/mm/hugetlb.c
@@ -4080,7 +4080,7 @@ int hugetlb_mcopy_atomic_pte(struct mm_s
/* fallback to copy_from_user outside mmap_sem */
if (unlikely(ret)) {
- ret = -EFAULT;
+ ret = -ENOENT;
*pagep = page;
/* don't free the page */
goto out;
--- a/mm/shmem.c~userfaultfd-use-enoent-instead-of-efault-if-the-atomic-copy-user-fails
+++ a/mm/shmem.c
@@ -2238,7 +2238,7 @@ static int shmem_mfill_atomic_pte(struct
*pagep = page;
shmem_inode_unacct_blocks(inode, 1);
/* don't free the page */
- return -EFAULT;
+ return -ENOENT;
}
} else { /* mfill_zeropage_atomic */
clear_highpage(page);
--- a/mm/userfaultfd.c~userfaultfd-use-enoent-instead-of-efault-if-the-atomic-copy-user-fails
+++ a/mm/userfaultfd.c
@@ -48,7 +48,7 @@ static int mcopy_atomic_pte(struct mm_st
/* fallback to copy_from_user outside mmap_sem */
if (unlikely(ret)) {
- ret = -EFAULT;
+ ret = -ENOENT;
*pagep = page;
/* don't free the page */
goto out;
@@ -274,7 +274,7 @@ retry:
cond_resched();
- if (unlikely(err == -EFAULT)) {
+ if (unlikely(err == -ENOENT)) {
up_read(&dst_mm->mmap_sem);
BUG_ON(!page);
@@ -530,7 +530,7 @@ retry:
src_addr, &page, zeropage);
cond_resched();
- if (unlikely(err == -EFAULT)) {
+ if (unlikely(err == -ENOENT)) {
void *page_kaddr;
up_read(&dst_mm->mmap_sem);
_
Patches currently in -mm which might be from aarcange(a)redhat.com are
userfaultfd-use-enoent-instead-of-efault-if-the-atomic-copy-user-fails.patch
userfaultfd-shmem-allocate-anonymous-memory-for-map_private-shmem.patch
userfaultfd-shmem-hugetlbfs-only-allow-to-register-vm_maywrite-vmas.patch
userfaultfd-shmem-add-i_size-checks.patch
userfaultfd-shmem-uffdio_copy-set-the-page-dirty-if-vm_write-is-not-set.patch
This is a note to let you know that I've just added the patch titled
binder: fix race that allows malicious free of live buffer
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 7bada55ab50697861eee6bb7d60b41e68a961a9c Mon Sep 17 00:00:00 2001
From: Todd Kjos <tkjos(a)android.com>
Date: Tue, 6 Nov 2018 15:55:32 -0800
Subject: binder: fix race that allows malicious free of live buffer
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Malicious code can attempt to free buffers using the BC_FREE_BUFFER
ioctl to binder. There are protections against a user freeing a buffer
while in use by the kernel, however there was a window where
BC_FREE_BUFFER could be used to free a recently allocated buffer that
was not completely initialized. This resulted in a use-after-free
detected by KASAN with a malicious test program.
This window is closed by setting the buffer's allow_user_free attribute
to 0 when the buffer is allocated or when the user has previously freed
it instead of waiting for the caller to set it. The problem was that
when the struct buffer was recycled, allow_user_free was stale and set
to 1 allowing a free to go through.
Signed-off-by: Todd Kjos <tkjos(a)google.com>
Acked-by: Arve Hjønnevåg <arve(a)android.com>
Cc: stable <stable(a)vger.kernel.org> # 4.14
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/android/binder.c | 21 ++++++++++++---------
drivers/android/binder_alloc.c | 16 ++++++----------
drivers/android/binder_alloc.h | 3 +--
3 files changed, 19 insertions(+), 21 deletions(-)
diff --git a/drivers/android/binder.c b/drivers/android/binder.c
index cb30a524d16d..9f1000d2a40c 100644
--- a/drivers/android/binder.c
+++ b/drivers/android/binder.c
@@ -2974,7 +2974,6 @@ static void binder_transaction(struct binder_proc *proc,
t->buffer = NULL;
goto err_binder_alloc_buf_failed;
}
- t->buffer->allow_user_free = 0;
t->buffer->debug_id = t->debug_id;
t->buffer->transaction = t;
t->buffer->target_node = target_node;
@@ -3510,14 +3509,18 @@ static int binder_thread_write(struct binder_proc *proc,
buffer = binder_alloc_prepare_to_free(&proc->alloc,
data_ptr);
- if (buffer == NULL) {
- binder_user_error("%d:%d BC_FREE_BUFFER u%016llx no match\n",
- proc->pid, thread->pid, (u64)data_ptr);
- break;
- }
- if (!buffer->allow_user_free) {
- binder_user_error("%d:%d BC_FREE_BUFFER u%016llx matched unreturned buffer\n",
- proc->pid, thread->pid, (u64)data_ptr);
+ if (IS_ERR_OR_NULL(buffer)) {
+ if (PTR_ERR(buffer) == -EPERM) {
+ binder_user_error(
+ "%d:%d BC_FREE_BUFFER u%016llx matched unreturned or currently freeing buffer\n",
+ proc->pid, thread->pid,
+ (u64)data_ptr);
+ } else {
+ binder_user_error(
+ "%d:%d BC_FREE_BUFFER u%016llx no match\n",
+ proc->pid, thread->pid,
+ (u64)data_ptr);
+ }
break;
}
binder_debug(BINDER_DEBUG_FREE_BUFFER,
diff --git a/drivers/android/binder_alloc.c b/drivers/android/binder_alloc.c
index 64fd96eada31..030c98f35cca 100644
--- a/drivers/android/binder_alloc.c
+++ b/drivers/android/binder_alloc.c
@@ -151,16 +151,12 @@ static struct binder_buffer *binder_alloc_prepare_to_free_locked(
else {
/*
* Guard against user threads attempting to
- * free the buffer twice
+ * free the buffer when in use by kernel or
+ * after it's already been freed.
*/
- if (buffer->free_in_progress) {
- binder_alloc_debug(BINDER_DEBUG_USER_ERROR,
- "%d:%d FREE_BUFFER u%016llx user freed buffer twice\n",
- alloc->pid, current->pid,
- (u64)user_ptr);
- return NULL;
- }
- buffer->free_in_progress = 1;
+ if (!buffer->allow_user_free)
+ return ERR_PTR(-EPERM);
+ buffer->allow_user_free = 0;
return buffer;
}
}
@@ -500,7 +496,7 @@ static struct binder_buffer *binder_alloc_new_buf_locked(
rb_erase(best_fit, &alloc->free_buffers);
buffer->free = 0;
- buffer->free_in_progress = 0;
+ buffer->allow_user_free = 0;
binder_insert_allocated_buffer_locked(alloc, buffer);
binder_alloc_debug(BINDER_DEBUG_BUFFER_ALLOC,
"%d: binder_alloc_buf size %zd got %pK\n",
diff --git a/drivers/android/binder_alloc.h b/drivers/android/binder_alloc.h
index 9ef64e563856..fb3238c74c8a 100644
--- a/drivers/android/binder_alloc.h
+++ b/drivers/android/binder_alloc.h
@@ -50,8 +50,7 @@ struct binder_buffer {
unsigned free:1;
unsigned allow_user_free:1;
unsigned async_transaction:1;
- unsigned free_in_progress:1;
- unsigned debug_id:28;
+ unsigned debug_id:29;
struct binder_transaction *transaction;
--
2.19.2
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: be4bbf9fbca5 Linux 4.19.5-rc1
The results of these automated tests are provided below.
Overall result: PASSED
Patch merge: OK
Compile: OK
Kernel tests: OK
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 2 architectures:
aarch64:
make options: make INSTALL_MOD_STRIP=1 -j56 targz-pkg
configuration: https://artifacts.cki-project.org/builds/aarch64/be4bbf9fbca5867a720f1f53c7…
x86_64:
make options: make INSTALL_MOD_STRIP=1 -j56 targz-pkg
configuration: https://artifacts.cki-project.org/builds/x86_64/be4bbf9fbca5867a720f1f53c7d…
Hardware testing
----------------
We booted each kernel and ran the following tests:
arm64:
/distribution/kpkginstall (boot test)
LTP lite - release 20180515
xfstests: ext4
xfstests: xfs
/kernel/misc/amtu
x86_64:
/distribution/kpkginstall (boot test)
LTP lite - release 20180515
xfstests: ext4
xfstests: xfs
/kernel/misc/amtu
Hi Greg,
Please apply commit 2278446e2b7c ("xhci: Fix USB3 NULL pointer dereference
at logical disconnect.") to v4.4.y. It fixes commit 44a182b9d177 ("xhci:
Fix use-after-free in xhci_free_virt_device"), which was applied to v4.4.y.
Thanks,
Guenter
The driver defines three states for a cppi channel.
- idle: .chan_busy == 0 && not in .pending list
- pending: .chan_busy == 0 && in .pending list
- busy: .chan_busy == 1 && not in .pending list
There are cases in which the cppi channel could be in the pending state
when cppi41_dma_issue_pending() is called after cppi41_runtime_suspend()
is called.
cppi41_stop_chan() has a bug for these cases to set channels to idle state.
It only checks the .chan_busy flag, but not the .pending list, then later
when cppi41_runtime_resume() is called the channels in .pending list will
be transitioned to busy state.
Removing channels from the .pending list solves the problem.
Fixes: 975faaeb9985 ("dma: cppi41: start tear down only if channel is busy")
Cc: stable(a)vger.kernel.org # v3.15+
Signed-off-by: Bin Liu <b-liu(a)ti.com>
---
drivers/dma/ti/cppi41.c | 16 +++++++++++++++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/drivers/dma/ti/cppi41.c b/drivers/dma/ti/cppi41.c
index 1497da367710..e507ec36c0d3 100644
--- a/drivers/dma/ti/cppi41.c
+++ b/drivers/dma/ti/cppi41.c
@@ -723,8 +723,22 @@ static int cppi41_stop_chan(struct dma_chan *chan)
desc_phys = lower_32_bits(c->desc_phys);
desc_num = (desc_phys - cdd->descs_phys) / sizeof(struct cppi41_desc);
- if (!cdd->chan_busy[desc_num])
+ if (!cdd->chan_busy[desc_num]) {
+ struct cppi41_channel *cc, *_ct;
+
+ /*
+ * channels might still be in the pendling list if
+ * cppi41_dma_issue_pending() is called after
+ * cppi41_runtime_suspend() is called
+ */
+ list_for_each_entry_safe(cc, _ct, &cdd->pending, node) {
+ if (cc != c)
+ continue;
+ list_del(&cc->node);
+ break;
+ }
return 0;
+ }
ret = cppi41_tear_down_chan(c);
if (ret)
--
2.17.1
Commit 78d3a92edbfb ("gpiolib-acpi: Register GpioInt ACPI event handlers
from a late_initcall") deferred the entire acpi_gpiochip_request_interrupt
call for each event resource.
This means it also delays the gpiochip_request_own_desc(..., "ACPI:Event")
call. This is a problem if some AML code reads the GPIO pin before we
run the deferred acpi_gpiochip_request_interrupt, because in that case
acpi_gpio_adr_space_handler() will already have called
gpiochip_request_own_desc(..., "ACPI:OpRegion") causing the call from
acpi_gpiochip_request_interrupt to fail with -EBUSY and we will fail to
register an event handler.
acpi_gpio_adr_space_handler is prepared for acpi_gpiochip_request_interrupt
already having claimed the pin, but the other way around does not work.
One example of a problem this causes, is the event handler for the OTG
ID pin on a Prowise PT301 tablet not registering, keeping the port stuck
in whatever mode it was in during boot and e.g. only allowing charging
after a reboot.
This commit fixes this by only deferring the request_irq call and the
initial run of edge-triggered IRQs instead of deferring all of
acpi_gpiochip_request_interrupt.
Cc: stable(a)vger.kernel.org
Fixes: 78d3a92edbfb ("gpiolib-acpi: Register GpioInt ACPI event ...")
Signed-off-by: Hans de Goede <hdegoede(a)redhat.com>
---
drivers/gpio/gpiolib-acpi.c | 136 +++++++++++++++++++-----------------
1 file changed, 73 insertions(+), 63 deletions(-)
diff --git a/drivers/gpio/gpiolib-acpi.c b/drivers/gpio/gpiolib-acpi.c
index 55b72fbe1631..bda19373835a 100644
--- a/drivers/gpio/gpiolib-acpi.c
+++ b/drivers/gpio/gpiolib-acpi.c
@@ -22,8 +22,12 @@
struct acpi_gpio_event {
struct list_head node;
acpi_handle handle;
+ irq_handler_t handler;
unsigned int pin;
unsigned int irq;
+ unsigned long irqflags;
+ bool irq_is_wake;
+ bool irq_requested;
struct gpio_desc *desc;
};
@@ -49,10 +53,10 @@ struct acpi_gpio_chip {
/*
* For gpiochips which call acpi_gpiochip_request_interrupts() before late_init
- * (so builtin drivers) we register the ACPI GpioInt event handlers from a
+ * (so builtin drivers) we register the ACPI GpioInt irq-handlers from a
* late_initcall_sync handler, so that other builtin drivers can register their
* OpRegions before the event handlers can run. This list contains gpiochips
- * for which the acpi_gpiochip_request_interrupts() has been deferred.
+ * for which the acpi_gpiochip_request_irqs() call has been deferred.
*/
static DEFINE_MUTEX(acpi_gpio_deferred_req_irqs_lock);
static LIST_HEAD(acpi_gpio_deferred_req_irqs_list);
@@ -133,8 +137,43 @@ bool acpi_gpio_get_irq_resource(struct acpi_resource *ares,
}
EXPORT_SYMBOL_GPL(acpi_gpio_get_irq_resource);
-static acpi_status acpi_gpiochip_request_interrupt(struct acpi_resource *ares,
- void *context)
+static void acpi_gpiochip_request_irq(struct acpi_gpio_chip *acpi_gpio,
+ struct acpi_gpio_event *event)
+{
+ int ret, value;
+
+ ret = request_threaded_irq(event->irq, NULL, event->handler,
+ event->irqflags, "ACPI:Event", event);
+ if (ret) {
+ dev_err(acpi_gpio->chip->parent,
+ "Failed to setup interrupt handler for %d\n",
+ event->irq);
+ return;
+ }
+
+ if (event->irq_is_wake)
+ enable_irq_wake(event->irq);
+
+ event->irq_requested = true;
+
+ /* Make sure we trigger the initial state of edge-triggered IRQs */
+ value = gpiod_get_raw_value_cansleep(event->desc);
+ if (((event->irqflags & IRQF_TRIGGER_RISING) && value == 1) ||
+ ((event->irqflags & IRQF_TRIGGER_FALLING) && value == 0))
+ event->handler(event->irq, event);
+}
+
+static void acpi_gpiochip_request_irqs(struct acpi_gpio_chip *acpi_gpio)
+{
+ struct acpi_gpio_event *event;
+
+ list_for_each_entry(event, &acpi_gpio->events, node)
+ acpi_gpiochip_request_irq(acpi_gpio, event);
+}
+
+static acpi_status
+acpi_gpiochip_request_interrupt_desc(struct acpi_resource *ares,
+ void *context)
{
struct acpi_gpio_chip *acpi_gpio = context;
struct gpio_chip *chip = acpi_gpio->chip;
@@ -143,8 +182,7 @@ static acpi_status acpi_gpiochip_request_interrupt(struct acpi_resource *ares,
struct acpi_gpio_event *event;
irq_handler_t handler = NULL;
struct gpio_desc *desc;
- unsigned long irqflags;
- int ret, pin, irq, value;
+ int ret, pin, irq;
if (!acpi_gpio_get_irq_resource(ares, &agpio))
return AE_OK;
@@ -175,8 +213,6 @@ static acpi_status acpi_gpiochip_request_interrupt(struct acpi_resource *ares,
gpiod_direction_input(desc);
- value = gpiod_get_value_cansleep(desc);
-
ret = gpiochip_lock_as_irq(chip, pin);
if (ret) {
dev_err(chip->parent, "Failed to lock GPIO as interrupt\n");
@@ -189,64 +225,42 @@ static acpi_status acpi_gpiochip_request_interrupt(struct acpi_resource *ares,
goto fail_unlock_irq;
}
- irqflags = IRQF_ONESHOT;
+ event = kzalloc(sizeof(*event), GFP_KERNEL);
+ if (!event)
+ goto fail_unlock_irq;
+
+ event->irqflags = IRQF_ONESHOT;
if (agpio->triggering == ACPI_LEVEL_SENSITIVE) {
if (agpio->polarity == ACPI_ACTIVE_HIGH)
- irqflags |= IRQF_TRIGGER_HIGH;
+ event->irqflags |= IRQF_TRIGGER_HIGH;
else
- irqflags |= IRQF_TRIGGER_LOW;
+ event->irqflags |= IRQF_TRIGGER_LOW;
} else {
switch (agpio->polarity) {
case ACPI_ACTIVE_HIGH:
- irqflags |= IRQF_TRIGGER_RISING;
+ event->irqflags |= IRQF_TRIGGER_RISING;
break;
case ACPI_ACTIVE_LOW:
- irqflags |= IRQF_TRIGGER_FALLING;
+ event->irqflags |= IRQF_TRIGGER_FALLING;
break;
default:
- irqflags |= IRQF_TRIGGER_RISING |
- IRQF_TRIGGER_FALLING;
+ event->irqflags |= IRQF_TRIGGER_RISING |
+ IRQF_TRIGGER_FALLING;
break;
}
}
- event = kzalloc(sizeof(*event), GFP_KERNEL);
- if (!event)
- goto fail_unlock_irq;
-
event->handle = evt_handle;
+ event->handler = handler;
event->irq = irq;
+ event->irq_is_wake = agpio->wake_capable == ACPI_WAKE_CAPABLE;
event->pin = pin;
event->desc = desc;
- ret = request_threaded_irq(event->irq, NULL, handler, irqflags,
- "ACPI:Event", event);
- if (ret) {
- dev_err(chip->parent,
- "Failed to setup interrupt handler for %d\n",
- event->irq);
- goto fail_free_event;
- }
-
- if (agpio->wake_capable == ACPI_WAKE_CAPABLE)
- enable_irq_wake(irq);
-
list_add_tail(&event->node, &acpi_gpio->events);
- /*
- * Make sure we trigger the initial state of the IRQ when using RISING
- * or FALLING. Note we run the handlers on late_init, the AML code
- * may refer to OperationRegions from other (builtin) drivers which
- * may be probed after us.
- */
- if (((irqflags & IRQF_TRIGGER_RISING) && value == 1) ||
- ((irqflags & IRQF_TRIGGER_FALLING) && value == 0))
- handler(event->irq, event);
-
return AE_OK;
-fail_free_event:
- kfree(event);
fail_unlock_irq:
gpiochip_unlock_as_irq(chip, pin);
fail_free_desc:
@@ -283,6 +297,9 @@ void acpi_gpiochip_request_interrupts(struct gpio_chip *chip)
if (ACPI_FAILURE(status))
return;
+ acpi_walk_resources(handle, "_AEI",
+ acpi_gpiochip_request_interrupt_desc, acpi_gpio);
+
mutex_lock(&acpi_gpio_deferred_req_irqs_lock);
defer = !acpi_gpio_deferred_req_irqs_done;
if (defer)
@@ -290,11 +307,8 @@ void acpi_gpiochip_request_interrupts(struct gpio_chip *chip)
&acpi_gpio_deferred_req_irqs_list);
mutex_unlock(&acpi_gpio_deferred_req_irqs_lock);
- if (defer)
- return;
-
- acpi_walk_resources(handle, "_AEI",
- acpi_gpiochip_request_interrupt, acpi_gpio);
+ if (!defer)
+ acpi_gpiochip_request_irqs(acpi_gpio);
}
EXPORT_SYMBOL_GPL(acpi_gpiochip_request_interrupts);
@@ -331,10 +345,13 @@ void acpi_gpiochip_free_interrupts(struct gpio_chip *chip)
list_for_each_entry_safe_reverse(event, ep, &acpi_gpio->events, node) {
struct gpio_desc *desc;
- if (irqd_is_wakeup_set(irq_get_irq_data(event->irq)))
- disable_irq_wake(event->irq);
+ if (event->irq_requested) {
+ if (event->irq_is_wake)
+ disable_irq_wake(event->irq);
+
+ free_irq(event->irq, event);
+ }
- free_irq(event->irq, event);
desc = event->desc;
if (WARN_ON(IS_ERR(desc)))
continue;
@@ -1200,23 +1217,16 @@ bool acpi_can_fallback_to_crs(struct acpi_device *adev, const char *con_id)
return con_id == NULL;
}
-/* Run deferred acpi_gpiochip_request_interrupts() */
-static int acpi_gpio_handle_deferred_request_interrupts(void)
+/* Run deferred acpi_gpiochip_request_irqs() */
+static int acpi_gpio_handle_deferred_request_irqs(void)
{
struct acpi_gpio_chip *acpi_gpio, *tmp;
mutex_lock(&acpi_gpio_deferred_req_irqs_lock);
list_for_each_entry_safe(acpi_gpio, tmp,
&acpi_gpio_deferred_req_irqs_list,
- deferred_req_irqs_list_entry) {
- acpi_handle handle;
-
- handle = ACPI_HANDLE(acpi_gpio->chip->parent);
- acpi_walk_resources(handle, "_AEI",
- acpi_gpiochip_request_interrupt, acpi_gpio);
-
- list_del_init(&acpi_gpio->deferred_req_irqs_list_entry);
- }
+ deferred_req_irqs_list_entry)
+ acpi_gpiochip_request_irqs(acpi_gpio);
acpi_gpio_deferred_req_irqs_done = true;
mutex_unlock(&acpi_gpio_deferred_req_irqs_lock);
@@ -1224,4 +1234,4 @@ static int acpi_gpio_handle_deferred_request_interrupts(void)
return 0;
}
/* We must use _sync so that this runs after the first deferred_probe run */
-late_initcall_sync(acpi_gpio_handle_deferred_request_interrupts);
+late_initcall_sync(acpi_gpio_handle_deferred_request_irqs);
--
2.19.1
stable-rc/linux-3.18.y build: 185 builds: 2 failed, 183 passed, 4 errors, 1621 warnings (v3.18.126-25-g25e59a4c2d29)
Full Build Summary: https://kernelci.org/build/stable-rc/branch/linux-3.18.y/kernel/v3.18.126-2…
Tree: stable-rc
Branch: linux-3.18.y
Git Describe: v3.18.126-25-g25e59a4c2d29
Git Commit: 25e59a4c2d2906c14a061ae1e5eadd299e5dce65
Git URL: http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Built: 5 unique architectures
Build Failures Detected:
arc: gcc version 7.1.1 20170710 (ARCv2 ISA Linux uClibc toolchain 2017.09)
allnoconfig: FAIL
tinyconfig: FAIL
Errors and Warnings Detected:
arc: gcc version 7.1.1 20170710 (ARCv2 ISA Linux uClibc toolchain 2017.09)
allnoconfig: 2 errors, 666 warnings
tinyconfig: 2 errors, 664 warnings
arm64: gcc version 7.3.0 (Debian 7.3.0-28)
allnoconfig: 2 warnings
defconfig: 2 warnings
tinyconfig: 2 warnings
arm: gcc version 7.3.0 (Debian 7.3.0-28)
acs5k_defconfig: 2 warnings
acs5k_tiny_defconfig: 2 warnings
allnoconfig: 2 warnings
am200epdkit_defconfig: 2 warnings
ape6evm_defconfig: 2 warnings
armadillo800eva_defconfig: 2 warnings
assabet_defconfig: 2 warnings
at91_dt_defconfig: 2 warnings
at91rm9200_defconfig: 2 warnings
at91sam9260_9g20_defconfig: 2 warnings
at91sam9261_9g10_defconfig: 2 warnings
at91sam9263_defconfig: 2 warnings
at91sam9g45_defconfig: 2 warnings
at91sam9rl_defconfig: 2 warnings
at91x40_defconfig: 2 warnings
axm55xx_defconfig: 2 warnings
badge4_defconfig: 2 warnings
bcm2835_defconfig: 2 warnings
bcm_defconfig: 2 warnings
bockw_defconfig: 2 warnings
cerfcube_defconfig: 2 warnings
clps711x_defconfig: 2 warnings
cm_x2xx_defconfig: 2 warnings
cm_x300_defconfig: 2 warnings
cns3420vb_defconfig: 2 warnings
colibri_pxa270_defconfig: 2 warnings
colibri_pxa300_defconfig: 2 warnings
collie_defconfig: 2 warnings
corgi_defconfig: 2 warnings
davinci_all_defconfig: 2 warnings
dove_defconfig: 2 warnings
ebsa110_defconfig: 2 warnings
efm32_defconfig: 2 warnings
em_x270_defconfig: 2 warnings
ep93xx_defconfig: 2 warnings
eseries_pxa_defconfig: 2 warnings
exynos_defconfig: 2 warnings
ezx_defconfig: 2 warnings
footbridge_defconfig: 2 warnings
h3600_defconfig: 2 warnings
h5000_defconfig: 2 warnings
hackkit_defconfig: 2 warnings
hisi_defconfig: 2 warnings
imote2_defconfig: 2 warnings
imx_v4_v5_defconfig: 2 warnings
imx_v6_v7_defconfig: 2 warnings
integrator_defconfig: 2 warnings
iop13xx_defconfig: 2 warnings
iop32x_defconfig: 2 warnings
iop33x_defconfig: 2 warnings
ixp4xx_defconfig: 2 warnings
jornada720_defconfig: 2 warnings
keystone_defconfig: 2 warnings
koelsch_defconfig: 2 warnings
ks8695_defconfig: 2 warnings
kzm9g_defconfig: 2 warnings
lager_defconfig: 2 warnings
lart_defconfig: 2 warnings
lpc32xx_defconfig: 2 warnings
lpd270_defconfig: 2 warnings
lubbock_defconfig: 2 warnings
mackerel_defconfig: 2 warnings
magician_defconfig: 2 warnings
mainstone_defconfig: 2 warnings
marzen_defconfig: 2 warnings
mini2440_defconfig: 2 warnings
mmp2_defconfig: 2 warnings
moxart_defconfig: 2 warnings
msm_defconfig: 2 warnings
multi_v5_defconfig: 2 warnings
multi_v7_defconfig: 2 warnings
mv78xx0_defconfig: 2 warnings
mvebu_v5_defconfig: 2 warnings
mvebu_v7_defconfig: 2 warnings
mxs_defconfig: 2 warnings
neponset_defconfig: 2 warnings
netwinder_defconfig: 2 warnings
netx_defconfig: 2 warnings
nhk8815_defconfig: 2 warnings
nuc910_defconfig: 2 warnings
nuc950_defconfig: 2 warnings
nuc960_defconfig: 2 warnings
omap1_defconfig: 2 warnings
omap2plus_defconfig: 2 warnings
orion5x_defconfig: 2 warnings
palmz72_defconfig: 2 warnings
pcm027_defconfig: 2 warnings
pleb_defconfig: 2 warnings
prima2_defconfig: 2 warnings
pxa168_defconfig: 2 warnings
pxa255-idp_defconfig: 2 warnings
pxa3xx_defconfig: 2 warnings
pxa910_defconfig: 2 warnings
qcom_defconfig: 2 warnings
raumfeld_defconfig: 2 warnings
realview-smp_defconfig: 2 warnings
realview_defconfig: 2 warnings
rpc_defconfig: 2 warnings
s3c2410_defconfig: 2 warnings
s3c6400_defconfig: 2 warnings
s5pv210_defconfig: 2 warnings
sama5_defconfig: 2 warnings
shannon_defconfig: 2 warnings
shmobile_defconfig: 2 warnings
simpad_defconfig: 2 warnings
socfpga_defconfig: 2 warnings
spear13xx_defconfig: 2 warnings
spear3xx_defconfig: 2 warnings
spear6xx_defconfig: 2 warnings
spitz_defconfig: 2 warnings
sunxi_defconfig: 2 warnings
tct_hammer_defconfig: 2 warnings
tegra_defconfig: 2 warnings
tinyconfig: 2 warnings
trizeps4_defconfig: 2 warnings
u300_defconfig: 2 warnings
u8500_defconfig: 2 warnings
versatile_defconfig: 2 warnings
vexpress_defconfig: 2 warnings
viper_defconfig: 2 warnings
vt8500_v6_v7_defconfig: 2 warnings
xcep_defconfig: 2 warnings
zeus_defconfig: 2 warnings
x86: gcc version 7.3.0 (Debian 7.3.0-30)
allnoconfig: 3 warnings
i386_defconfig: 3 warnings
tinyconfig: 3 warnings
x86_64_defconfig: 30 warnings
Errors summary:
2 arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
2 arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
Warnings summary:
663 arc-linux-gcc: warning: '-mno-mpy' is deprecated
654 cc1: warning: '-mno-mpy' is deprecated
128 scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
128 scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
3 arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
3 arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
3 arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
2 mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
2 kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
2 include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
2 include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
1 net/sunrpc/clnt.c:527:46: warning: '%s' directive output may be truncated writing up to 107 bytes into a region of size 48 [-Wformat-truncation=]
1 mm/mmap.c:684:2: warning: 'rb_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 mm/mmap.c:684:2: warning: 'rb_link' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 mm/mmap.c:683:2: warning: 'prev' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 lib/string_helpers.c:64:33: warning: '%03lld' directive output may be truncated writing between 3 and 13 bytes into a region of size 7 [-Wformat-truncation=]
1 kernel/relay.c:423:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
1 fs/nfs/client.c:1380:23: warning: '%u' directive output may be truncated writing between 1 and 7 bytes into a region of size between 3 and 6 [-Wformat-truncation=]
1 drivers/video/fbdev/core/../edid.h:74:72: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/usb/core/usb.c:471:9: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
1 drivers/usb/core/hcd.c:450:34: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 35 and 99 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11184:10: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11181:9: warning: '-rx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11178:9: warning: '-tx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11175:9: warning: '-txrx-' directive output may be truncated writing 6 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/input/mouse/psmouse-base.c:1466:52: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/mouse/lifebook.c:287:7: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/mouse/alps.c:2418:46: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/keyboard/atkbd.c:1069:7: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/ata/libata-core.c:2970:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2969:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2968:35: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2967:32: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2966:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2965:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2964:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2963:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2962:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2141:42: warning: '%d' directive output may be truncated writing between 1 and 2 bytes into a region of size between 1 and 11 [-Wformat-truncation=]
1 block/partition-generic.c:41:37: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
1 block/partition-generic.c:39:36: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 31 [-Wformat-truncation=]
1 block/elevator.c:841:14: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
================================================================================
Detailed per-defconfig build reports:
--------------------------------------------------------------------------------
acs5k_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
acs5k_tiny_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
allnoconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
allnoconfig (arc) — FAIL, 2 errors, 666 warnings, 0 section mismatches
Errors:
arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
Warnings:
arc-linux-gcc: warning: '-mno-mpy' is deprecated
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/mmap.c:684:2: warning: 'rb_link' may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/mmap.c:684:2: warning: 'rb_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/mmap.c:683:2: warning: 'prev' may be used uninitialized in this function [-Wmaybe-uninitialized]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
--------------------------------------------------------------------------------
am200epdkit_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ape6evm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ar7_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
armadillo800eva_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
assabet_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91_dt_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91rm9200_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9260_9g20_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9261_9g10_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9263_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9g45_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9rl_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91x40_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ath79_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
axm55xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
badge4_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bcm2835_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bcm47xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm63xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bigsur_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bockw_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
capcella_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cavium_octeon_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cerfcube_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
clps711x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cm_x2xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cm_x300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cns3420vb_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cobalt_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
colibri_pxa270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
colibri_pxa300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
collie_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
corgi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
davinci_all_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
db1xxx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
decstation_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
defconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
dove_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
e55_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ebsa110_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
efm32_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
em_x270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ep93xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
eseries_pxa_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
exynos_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ezx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
footbridge_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
fuloong2e_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
gpr_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
h3600_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
h5000_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
hackkit_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
hisi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
i386_defconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
imote2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
imx_v4_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
imx_v6_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
integrator_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop13xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop32x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop33x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ip22_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip27_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip28_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip32_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ixp4xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
jazz_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jmr3927_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jornada720_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
keystone_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
koelsch_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ks8695_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
kzm9g_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lager_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lart_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lasat_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lemote2f_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
loongson3_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lpc32xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lpd270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ls1b_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lubbock_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mackerel_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
magician_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mainstone_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
malta_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_kvm_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_kvm_guest_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltaaprp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltasmvp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltasmvp_eva_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltaup_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
markeins_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
marzen_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mini2440_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mips_paravirt_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mmp2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
moxart_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mpc30x_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
msm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
msp71xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
multi_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
multi_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mv78xx0_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mvebu_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mvebu_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mxs_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
neponset_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
netwinder_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
netx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nhk8815_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nlm_xlp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nlm_xlr_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nuc910_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nuc950_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nuc960_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
omap1_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
omap2plus_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
orion5x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
palmz72_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pcm027_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pleb_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pnx8335_stb225_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
prima2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa168_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa255-idp_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa3xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa910_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
qcom_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
qi_lb60_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
raumfeld_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rb532_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rbtx49xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
realview-smp_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
realview_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rm200_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rpc_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rt305x_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
s3c2410_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
s3c6400_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
s5pv210_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sama5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sb1250_swarm_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sead3_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sead3micro_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
shannon_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
shmobile_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
simpad_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
socfpga_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear13xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear3xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear6xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spitz_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sunxi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tb0219_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0226_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0287_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tct_hammer_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tegra_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
tinyconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (arc) — FAIL, 2 errors, 664 warnings, 0 section mismatches
Errors:
arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
Warnings:
arc-linux-gcc: warning: '-mno-mpy' is deprecated
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
--------------------------------------------------------------------------------
tinyconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
trizeps4_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
u300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
u8500_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
versatile_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
vexpress_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
viper_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
vt8500_v6_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
workpad_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
x86_64_defconfig (x86) — PASS, 0 errors, 30 warnings, 0 section mismatches
Warnings:
include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
kernel/relay.c:423:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
block/elevator.c:841:14: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
fs/nfs/client.c:1380:23: warning: '%u' directive output may be truncated writing between 1 and 7 bytes into a region of size between 3 and 6 [-Wformat-truncation=]
block/partition-generic.c:39:36: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 31 [-Wformat-truncation=]
block/partition-generic.c:41:37: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
drivers/ata/libata-core.c:2962:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2963:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2964:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2965:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2966:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2967:32: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2968:35: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2969:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2970:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2141:42: warning: '%d' directive output may be truncated writing between 1 and 2 bytes into a region of size between 1 and 11 [-Wformat-truncation=]
lib/string_helpers.c:64:33: warning: '%03lld' directive output may be truncated writing between 3 and 13 bytes into a region of size 7 [-Wformat-truncation=]
drivers/input/keyboard/atkbd.c:1069:7: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/psmouse-base.c:1466:52: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/alps.c:2418:46: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/lifebook.c:287:7: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
net/sunrpc/clnt.c:527:46: warning: '%s' directive output may be truncated writing up to 107 bytes into a region of size 48 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11175:9: warning: '-txrx-' directive output may be truncated writing 6 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11178:9: warning: '-tx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11181:9: warning: '-rx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11184:10: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
drivers/usb/core/usb.c:471:9: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
drivers/usb/core/hcd.c:450:34: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 35 and 99 [-Wformat-truncation=]
drivers/video/fbdev/core/../edid.h:74:72: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
--------------------------------------------------------------------------------
xcep_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
xway_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
zeus_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
---
For more info write to <info(a)kernelci.org>
Hello,
We ran automated tests on a recent commit from this kernel tree:
Kernel repo: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Commit: ba8189574643 Linux 4.19.5-rc1
The results of these automated tests are provided below.
Overall result: PASSED
Patch merge: OK
Compile: OK
Kernel tests: OK
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 2 architectures:
aarch64:
make options: make INSTALL_MOD_STRIP=1 -j56 targz-pkg
configuration: https://artifacts.cki-project.org/builds/aarch64/ba81895746439d9b5d37169c61…
x86_64:
make options: make INSTALL_MOD_STRIP=1 -j56 targz-pkg
configuration: https://artifacts.cki-project.org/builds/x86_64/ba81895746439d9b5d37169c618…
Hardware testing
----------------
We booted each kernel and ran the following tests:
arm64:
/distribution/kpkginstall (boot test)
LTP lite - release 20180515
xfstests: ext4
xfstests: xfs
/kernel/misc/amtu
x86_64:
/distribution/kpkginstall (boot test)
LTP lite - release 20180515
xfstests: ext4
xfstests: xfs
/kernel/misc/amtu
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 e670de54c813b5bc3672dd1c67871dc60e9206f4 Mon Sep 17 00:00:00 2001
From: Dexuan Cui <decui(a)microsoft.com>
Date: Thu, 18 Oct 2018 05:09:30 +0000
Subject: [PATCH] Drivers: hv: kvp: Fix the recent regression caused by
incorrect clean-up
In kvp_send_key(), we do need call process_ib_ipinfo() if
message->kvp_hdr.operation is KVP_OP_GET_IP_INFO, because it turns out
the userland hv_kvp_daemon needs the info of operation, adapter_id and
addr_family. With the incorrect fc62c3b1977d, the host can't get the
VM's IP via KVP.
And, fc62c3b1977d added a "break;", but actually forgot to initialize
the key_size/value in the case of KVP_OP_SET, so the default key_size of
0 is passed to the kvp daemon, and the pool files
/var/lib/hyperv/.kvp_pool_* can't be updated.
This patch effectively rolls back the previous fc62c3b1977d, and
correctly fixes the "this statement may fall through" warnings.
This patch is tested on WS 2012 R2 and 2016.
Fixes: fc62c3b1977d ("Drivers: hv: kvp: Fix two "this statement may fall through" warnings")
Signed-off-by: Dexuan Cui <decui(a)microsoft.com>
Cc: K. Y. Srinivasan <kys(a)microsoft.com>
Cc: Stephen Hemminger <sthemmin(a)microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz(a)microsoft.com>
Cc: <Stable(a)vger.kernel.org>
Signed-off-by: K. Y. Srinivasan <kys(a)microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
diff --git a/drivers/hv/hv_kvp.c b/drivers/hv/hv_kvp.c
index a7513a8a8e37..d6106e1a0d4a 100644
--- a/drivers/hv/hv_kvp.c
+++ b/drivers/hv/hv_kvp.c
@@ -353,6 +353,9 @@ static void process_ib_ipinfo(void *in_msg, void *out_msg, int op)
out->body.kvp_ip_val.dhcp_enabled = in->kvp_ip_val.dhcp_enabled;
+ /* fallthrough */
+
+ case KVP_OP_GET_IP_INFO:
utf16s_to_utf8s((wchar_t *)in->kvp_ip_val.adapter_id,
MAX_ADAPTER_ID_SIZE,
UTF16_LITTLE_ENDIAN,
@@ -405,7 +408,11 @@ kvp_send_key(struct work_struct *dummy)
process_ib_ipinfo(in_msg, message, KVP_OP_SET_IP_INFO);
break;
case KVP_OP_GET_IP_INFO:
- /* We only need to pass on message->kvp_hdr.operation. */
+ /*
+ * We only need to pass on the info of operation, adapter_id
+ * and addr_family to the userland kvp daemon.
+ */
+ process_ib_ipinfo(in_msg, message, KVP_OP_GET_IP_INFO);
break;
case KVP_OP_SET:
switch (in_msg->body.kvp_set.data.value_type) {
@@ -446,9 +453,9 @@ kvp_send_key(struct work_struct *dummy)
}
- break;
-
- case KVP_OP_GET:
+ /*
+ * The key is always a string - utf16 encoding.
+ */
message->body.kvp_set.data.key_size =
utf16s_to_utf8s(
(wchar_t *)in_msg->body.kvp_set.data.key,
@@ -456,6 +463,17 @@ kvp_send_key(struct work_struct *dummy)
UTF16_LITTLE_ENDIAN,
message->body.kvp_set.data.key,
HV_KVP_EXCHANGE_MAX_KEY_SIZE - 1) + 1;
+
+ break;
+
+ case KVP_OP_GET:
+ message->body.kvp_get.data.key_size =
+ utf16s_to_utf8s(
+ (wchar_t *)in_msg->body.kvp_get.data.key,
+ in_msg->body.kvp_get.data.key_size,
+ UTF16_LITTLE_ENDIAN,
+ message->body.kvp_get.data.key,
+ HV_KVP_EXCHANGE_MAX_KEY_SIZE - 1) + 1;
break;
case KVP_OP_DELETE:
Plase add below commit to 4.19, it fixes monitor mode and starting
connection to AP.
commit 473f0a763d2c7cd68a6dedf51e7d81e8f58f78ac
Author: Lorenzo Bianconi <lorenzo.bianconi(a)redhat.com>
Date: Fri Sep 7 23:13:12 2018 +0200
mt76x0: run vco calibration for each channel configuration
Thanks
Stanislaw
The crash http://termbin.com/zitb is caused by the timer register
into system in early pahse during kernel boot, but the clock
sources didn't get ready at that time.
A better way is to switch to use CLK_OF_DECLARE() in driver for things
that need them early, but this node is actually useless in MT7622.
So we drop it.
Fixes: 9cc7f0de9e67 ("arm64: dts: mt7622: add timer, CCI-400 and PMU nodes")
Cc: stable(a)vger.kernel.org
Signed-off-by: Ryder Lee <ryder.lee(a)mediatek.com>
---
arch/arm64/boot/dts/mediatek/mt7622.dtsi | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/arch/arm64/boot/dts/mediatek/mt7622.dtsi b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
index fe0c875..14a1028 100644
--- a/arch/arm64/boot/dts/mediatek/mt7622.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt7622.dtsi
@@ -227,16 +227,6 @@
#reset-cells = <1>;
};
- timer: timer@10004000 {
- compatible = "mediatek,mt7622-timer",
- "mediatek,mt6577-timer";
- reg = <0 0x10004000 0 0x80>;
- interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_LOW>;
- clocks = <&infracfg CLK_INFRA_APXGPT_PD>,
- <&topckgen CLK_TOP_RTC>;
- clock-names = "system-clk", "rtc-clk";
- };
-
scpsys: scpsys@10006000 {
compatible = "mediatek,mt7622-scpsys",
"syscon";
--
1.9.1
stable-rc/linux-3.18.y build: 185 builds: 4 failed, 181 passed, 6 errors, 1622 warnings (v3.18.126-25-g370f85bf6ea2)
Full Build Summary: https://kernelci.org/build/stable-rc/branch/linux-3.18.y/kernel/v3.18.126-2…
Tree: stable-rc
Branch: linux-3.18.y
Git Describe: v3.18.126-25-g370f85bf6ea2
Git Commit: 370f85bf6ea241301c2e85819c289778fada9162
Git URL: http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Built: 5 unique architectures
Build Failures Detected:
arc: gcc version 7.1.1 20170710 (ARCv2 ISA Linux uClibc toolchain 2017.09)
allnoconfig: FAIL
tinyconfig: FAIL
mips: gcc version 6.3.0 (GCC)
db1xxx_defconfig: FAIL
loongson3_defconfig: FAIL
Errors and Warnings Detected:
arc: gcc version 7.1.1 20170710 (ARCv2 ISA Linux uClibc toolchain 2017.09)
allnoconfig: 2 errors, 666 warnings
tinyconfig: 2 errors, 664 warnings
arm64: gcc version 7.3.0 (Debian 7.3.0-28)
allnoconfig: 2 warnings
defconfig: 2 warnings
tinyconfig: 2 warnings
arm: gcc version 7.3.0 (Debian 7.3.0-28)
acs5k_defconfig: 2 warnings
acs5k_tiny_defconfig: 2 warnings
allnoconfig: 2 warnings
am200epdkit_defconfig: 2 warnings
ape6evm_defconfig: 2 warnings
armadillo800eva_defconfig: 2 warnings
assabet_defconfig: 2 warnings
at91_dt_defconfig: 2 warnings
at91rm9200_defconfig: 2 warnings
at91sam9260_9g20_defconfig: 2 warnings
at91sam9261_9g10_defconfig: 2 warnings
at91sam9263_defconfig: 2 warnings
at91sam9g45_defconfig: 2 warnings
at91sam9rl_defconfig: 2 warnings
at91x40_defconfig: 2 warnings
axm55xx_defconfig: 2 warnings
badge4_defconfig: 2 warnings
bcm2835_defconfig: 2 warnings
bcm_defconfig: 2 warnings
bockw_defconfig: 2 warnings
cerfcube_defconfig: 2 warnings
clps711x_defconfig: 2 warnings
cm_x2xx_defconfig: 2 warnings
cm_x300_defconfig: 2 warnings
cns3420vb_defconfig: 2 warnings
colibri_pxa270_defconfig: 2 warnings
colibri_pxa300_defconfig: 2 warnings
collie_defconfig: 2 warnings
corgi_defconfig: 2 warnings
davinci_all_defconfig: 2 warnings
dove_defconfig: 2 warnings
ebsa110_defconfig: 2 warnings
efm32_defconfig: 2 warnings
em_x270_defconfig: 2 warnings
ep93xx_defconfig: 2 warnings
eseries_pxa_defconfig: 2 warnings
exynos_defconfig: 2 warnings
ezx_defconfig: 2 warnings
footbridge_defconfig: 2 warnings
h3600_defconfig: 2 warnings
h5000_defconfig: 2 warnings
hackkit_defconfig: 2 warnings
hisi_defconfig: 2 warnings
imote2_defconfig: 2 warnings
imx_v4_v5_defconfig: 2 warnings
imx_v6_v7_defconfig: 2 warnings
integrator_defconfig: 2 warnings
iop13xx_defconfig: 2 warnings
iop32x_defconfig: 2 warnings
iop33x_defconfig: 2 warnings
ixp4xx_defconfig: 2 warnings
jornada720_defconfig: 2 warnings
keystone_defconfig: 2 warnings
koelsch_defconfig: 2 warnings
ks8695_defconfig: 2 warnings
kzm9g_defconfig: 2 warnings
lager_defconfig: 2 warnings
lart_defconfig: 2 warnings
lpc32xx_defconfig: 2 warnings
lpd270_defconfig: 2 warnings
lubbock_defconfig: 2 warnings
mackerel_defconfig: 2 warnings
magician_defconfig: 2 warnings
mainstone_defconfig: 2 warnings
marzen_defconfig: 2 warnings
mini2440_defconfig: 2 warnings
mmp2_defconfig: 2 warnings
moxart_defconfig: 2 warnings
msm_defconfig: 2 warnings
multi_v5_defconfig: 2 warnings
multi_v7_defconfig: 2 warnings
mv78xx0_defconfig: 2 warnings
mvebu_v5_defconfig: 2 warnings
mvebu_v7_defconfig: 2 warnings
mxs_defconfig: 2 warnings
neponset_defconfig: 2 warnings
netwinder_defconfig: 2 warnings
netx_defconfig: 2 warnings
nhk8815_defconfig: 2 warnings
nuc910_defconfig: 2 warnings
nuc950_defconfig: 2 warnings
nuc960_defconfig: 2 warnings
omap1_defconfig: 2 warnings
omap2plus_defconfig: 2 warnings
orion5x_defconfig: 2 warnings
palmz72_defconfig: 2 warnings
pcm027_defconfig: 2 warnings
pleb_defconfig: 2 warnings
prima2_defconfig: 2 warnings
pxa168_defconfig: 2 warnings
pxa255-idp_defconfig: 2 warnings
pxa3xx_defconfig: 2 warnings
pxa910_defconfig: 2 warnings
qcom_defconfig: 2 warnings
raumfeld_defconfig: 2 warnings
realview-smp_defconfig: 2 warnings
realview_defconfig: 2 warnings
rpc_defconfig: 2 warnings
s3c2410_defconfig: 2 warnings
s3c6400_defconfig: 2 warnings
s5pv210_defconfig: 2 warnings
sama5_defconfig: 2 warnings
shannon_defconfig: 2 warnings
shmobile_defconfig: 2 warnings
simpad_defconfig: 2 warnings
socfpga_defconfig: 2 warnings
spear13xx_defconfig: 2 warnings
spear3xx_defconfig: 2 warnings
spear6xx_defconfig: 2 warnings
spitz_defconfig: 2 warnings
sunxi_defconfig: 2 warnings
tct_hammer_defconfig: 2 warnings
tegra_defconfig: 2 warnings
tinyconfig: 2 warnings
trizeps4_defconfig: 2 warnings
u300_defconfig: 2 warnings
u8500_defconfig: 2 warnings
versatile_defconfig: 2 warnings
vexpress_defconfig: 2 warnings
viper_defconfig: 2 warnings
vt8500_v6_v7_defconfig: 2 warnings
xcep_defconfig: 2 warnings
zeus_defconfig: 2 warnings
mips: gcc version 6.3.0 (GCC)
db1xxx_defconfig: 1 error, 1 warning
loongson3_defconfig: 1 error
x86: gcc version 7.3.0 (Debian 7.3.0-30)
allnoconfig: 3 warnings
i386_defconfig: 3 warnings
tinyconfig: 3 warnings
x86_64_defconfig: 30 warnings
Errors summary:
2 arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
2 arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
1 sound/pci/hda/patch_realtek.c:5423:50: error: 'ALC269_FIXUP_HP_MUTE_LED_MIC3' undeclared here (not in a function)
1 drivers/hid/uhid.c:730:41: error: implicit declaration of function 'uaccess_kernel' [-Werror=implicit-function-declaration]
Warnings summary:
663 arc-linux-gcc: warning: '-mno-mpy' is deprecated
654 cc1: warning: '-mno-mpy' is deprecated
128 scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
128 scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
3 arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
3 arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
3 arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
2 mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
2 kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
2 include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
2 include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
1 net/sunrpc/clnt.c:527:46: warning: '%s' directive output may be truncated writing up to 107 bytes into a region of size 48 [-Wformat-truncation=]
1 mm/mmap.c:684:2: warning: 'rb_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 mm/mmap.c:684:2: warning: 'rb_link' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 mm/mmap.c:683:2: warning: 'prev' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 lib/string_helpers.c:64:33: warning: '%03lld' directive output may be truncated writing between 3 and 13 bytes into a region of size 7 [-Wformat-truncation=]
1 kernel/relay.c:423:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
1 fs/nfs/client.c:1380:23: warning: '%u' directive output may be truncated writing between 1 and 7 bytes into a region of size between 3 and 6 [-Wformat-truncation=]
1 drivers/video/fbdev/core/../edid.h:74:72: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/usb/core/usb.c:471:9: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
1 drivers/usb/core/hcd.c:450:34: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 35 and 99 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11184:10: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11181:9: warning: '-rx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11178:9: warning: '-tx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/net/ethernet/broadcom/tg3.c:11175:9: warning: '-txrx-' directive output may be truncated writing 6 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
1 drivers/input/mouse/psmouse-base.c:1466:52: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/mouse/lifebook.c:287:7: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/mouse/alps.c:2418:46: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/input/keyboard/atkbd.c:1069:7: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
1 drivers/ata/libata-core.c:2970:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2969:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2968:35: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2967:32: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2966:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2965:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2964:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2963:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2962:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
1 drivers/ata/libata-core.c:2141:42: warning: '%d' directive output may be truncated writing between 1 and 2 bytes into a region of size between 1 and 11 [-Wformat-truncation=]
1 cc1: some warnings being treated as errors
1 block/partition-generic.c:41:37: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
1 block/partition-generic.c:39:36: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 31 [-Wformat-truncation=]
1 block/elevator.c:841:14: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
================================================================================
Detailed per-defconfig build reports:
--------------------------------------------------------------------------------
acs5k_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
acs5k_tiny_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
allnoconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
allnoconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
allnoconfig (arc) — FAIL, 2 errors, 666 warnings, 0 section mismatches
Errors:
arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
Warnings:
arc-linux-gcc: warning: '-mno-mpy' is deprecated
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/mmap.c:684:2: warning: 'rb_link' may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/mmap.c:684:2: warning: 'rb_parent' may be used uninitialized in this function [-Wmaybe-uninitialized]
mm/mmap.c:683:2: warning: 'prev' may be used uninitialized in this function [-Wmaybe-uninitialized]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
--------------------------------------------------------------------------------
am200epdkit_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ape6evm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ar7_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
armadillo800eva_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
assabet_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91_dt_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91rm9200_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9260_9g20_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9261_9g10_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9263_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9g45_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91sam9rl_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
at91x40_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ath79_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
axm55xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
badge4_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bcm2835_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bcm47xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm63xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bcm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
bigsur_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
bockw_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
capcella_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cavium_octeon_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
cerfcube_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
clps711x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cm_x2xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cm_x300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cns3420vb_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
cobalt_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
colibri_pxa270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
colibri_pxa300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
collie_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
corgi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
davinci_all_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
db1xxx_defconfig (mips) — FAIL, 1 error, 1 warning, 0 section mismatches
Errors:
drivers/hid/uhid.c:730:41: error: implicit declaration of function 'uaccess_kernel' [-Werror=implicit-function-declaration]
Warnings:
cc1: some warnings being treated as errors
--------------------------------------------------------------------------------
decstation_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
defconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
dove_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
e55_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ebsa110_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
efm32_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
em_x270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ep93xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
eseries_pxa_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
exynos_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ezx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
footbridge_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
fuloong2e_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
gpr_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
h3600_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
h5000_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
hackkit_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
hisi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
i386_defconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
imote2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
imx_v4_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
imx_v6_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
integrator_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop13xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop32x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
iop33x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ip22_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip27_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip28_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ip32_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ixp4xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
jazz_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jmr3927_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
jornada720_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
keystone_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
koelsch_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ks8695_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
kzm9g_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lager_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lart_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lasat_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lemote2f_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
loongson3_defconfig (mips) — FAIL, 1 error, 0 warnings, 0 section mismatches
Errors:
sound/pci/hda/patch_realtek.c:5423:50: error: 'ALC269_FIXUP_HP_MUTE_LED_MIC3' undeclared here (not in a function)
--------------------------------------------------------------------------------
lpc32xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
lpd270_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
ls1b_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
lubbock_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mackerel_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
magician_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mainstone_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
malta_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_kvm_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
malta_kvm_guest_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltaaprp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltasmvp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltasmvp_eva_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
maltaup_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
markeins_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
marzen_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mini2440_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mips_paravirt_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mmp2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
moxart_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mpc30x_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
msm_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
msp71xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
mtx1_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
multi_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
multi_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mv78xx0_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mvebu_v5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mvebu_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
mxs_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
neponset_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
netwinder_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
netx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nhk8815_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nlm_xlp_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nlm_xlr_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
nuc910_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nuc950_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
nuc960_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
omap1_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
omap2plus_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
orion5x_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
palmz72_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pcm027_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pleb_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pnx8335_stb225_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
prima2_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa168_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa255-idp_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa3xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
pxa910_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
qcom_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
qi_lb60_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
raumfeld_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rb532_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rbtx49xx_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
realview-smp_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
realview_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rm200_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
rpc_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
rt305x_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
s3c2410_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
s3c6400_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
s5pv210_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sama5_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sb1250_swarm_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sead3_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
sead3micro_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
shannon_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
shmobile_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
simpad_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
socfpga_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear13xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear3xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spear6xx_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
spitz_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
sunxi_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tb0219_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0226_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tb0287_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
tct_hammer_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tegra_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (x86) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
--------------------------------------------------------------------------------
tinyconfig (arm64) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
tinyconfig (arc) — FAIL, 2 errors, 664 warnings, 0 section mismatches
Errors:
arch/arc/mm/tlbex.S:291: Error: unknown opcode 'lsl'
arch/arc/mm/tlbex.S:348: Error: unknown opcode 'lsl'
Warnings:
arc-linux-gcc: warning: '-mno-mpy' is deprecated
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
kernel/sched/core.c:2766:1: warning: control reaches end of non-void function [-Wreturn-type]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
include/linux/kernel.h:707:17: warning: comparison of distinct pointer types lacks a cast
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
--------------------------------------------------------------------------------
tinyconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
trizeps4_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
u300_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
u8500_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
versatile_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
vexpress_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
viper_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
vt8500_v6_v7_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
workpad_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
x86_64_defconfig (x86) — PASS, 0 errors, 30 warnings, 0 section mismatches
Warnings:
include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
include/linux/ftrace.h:632:36: warning: calling '__builtin_return_address' with a nonzero argument is unsafe [-Wframe-address]
kernel/relay.c:423:35: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
block/elevator.c:841:14: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
block/partition-generic.c:39:36: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 31 [-Wformat-truncation=]
block/partition-generic.c:41:37: warning: 'snprintf' output may be truncated before the last format character [-Wformat-truncation=]
fs/nfs/client.c:1380:23: warning: '%u' directive output may be truncated writing between 1 and 7 bytes into a region of size between 3 and 6 [-Wformat-truncation=]
lib/string_helpers.c:64:33: warning: '%03lld' directive output may be truncated writing between 3 and 13 bytes into a region of size 7 [-Wformat-truncation=]
drivers/ata/libata-core.c:2962:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2963:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2964:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2965:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2966:31: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2967:32: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2968:35: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2969:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2970:30: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
drivers/ata/libata-core.c:2141:42: warning: '%d' directive output may be truncated writing between 1 and 2 bytes into a region of size between 1 and 11 [-Wformat-truncation=]
net/sunrpc/clnt.c:527:46: warning: '%s' directive output may be truncated writing up to 107 bytes into a region of size 48 [-Wformat-truncation=]
drivers/input/keyboard/atkbd.c:1069:7: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/psmouse-base.c:1466:52: warning: '/input0' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/alps.c:2418:46: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/input/mouse/lifebook.c:287:7: warning: '/input1' directive output may be truncated writing 7 bytes into a region of size between 1 and 32 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11175:9: warning: '-txrx-' directive output may be truncated writing 6 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11178:9: warning: '-tx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11181:9: warning: '-rx-' directive output may be truncated writing 4 bytes into a region of size between 1 and 16 [-Wformat-truncation=]
drivers/net/ethernet/broadcom/tg3.c:11184:10: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
drivers/usb/core/usb.c:471:9: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 15 [-Wformat-truncation=]
drivers/usb/core/hcd.c:450:34: warning: '%s' directive output may be truncated writing up to 64 bytes into a region of size between 35 and 99 [-Wformat-truncation=]
drivers/video/fbdev/core/../edid.h:74:72: warning: '*' in boolean context, suggest '&&' instead [-Wint-in-bool-context]
--------------------------------------------------------------------------------
xcep_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
--------------------------------------------------------------------------------
xway_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
zeus_defconfig (arm) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
---
For more info write to <info(a)kernelci.org>
[ upstream commit ad608fbcf166fec809e402d548761768f602702c ]
The event subscriptions are added to the subscribed event list while
holding a spinlock, but that lock is subsequently released while still
accessing the subscription object. This makes it possible to unsubscribe
the event --- and freeing the subscription object's memory --- while
the subscription object is simultaneously accessed.
Prevent this by adding a mutex to serialise the event subscription and
unsubscription. This also gives a guarantee to the callback ops that the
add op has returned before the del op is called.
This change also results in making the elems field less special:
subscriptions are only added to the event list once they are fully
initialised.
Signed-off-by: Sakari Ailus <sakari.ailus(a)linux.intel.com>
Reviewed-by: Hans Verkuil <hans.verkuil(a)cisco.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart(a)ideasonboard.com>
Cc: stable(a)vger.kernel.org # for 4.14 and up
Fixes: c3b5b0241f62 ("V4L/DVB: V4L: Events: Add backend")
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung(a)kernel.org>
---
drivers/media/v4l2-core/v4l2-event.c | 38 +++++++++++++++++++-----------------
drivers/media/v4l2-core/v4l2-fh.c | 2 ++
include/media/v4l2-fh.h | 1 +
3 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/drivers/media/v4l2-core/v4l2-event.c b/drivers/media/v4l2-core/v4l2-event.c
index 8761aab99de95..fcf65f131a2ac 100644
--- a/drivers/media/v4l2-core/v4l2-event.c
+++ b/drivers/media/v4l2-core/v4l2-event.c
@@ -119,14 +119,6 @@ static void __v4l2_event_queue_fh(struct v4l2_fh *fh, const struct v4l2_event *e
if (sev == NULL)
return;
- /*
- * If the event has been added to the fh->subscribed list, but its
- * add op has not completed yet elems will be 0, treat this as
- * not being subscribed.
- */
- if (!sev->elems)
- return;
-
/* Increase event sequence number on fh. */
fh->sequence++;
@@ -209,6 +201,7 @@ int v4l2_event_subscribe(struct v4l2_fh *fh,
struct v4l2_subscribed_event *sev, *found_ev;
unsigned long flags;
unsigned i;
+ int ret = 0;
if (sub->type == V4L2_EVENT_ALL)
return -EINVAL;
@@ -226,31 +219,36 @@ int v4l2_event_subscribe(struct v4l2_fh *fh,
sev->flags = sub->flags;
sev->fh = fh;
sev->ops = ops;
+ sev->elems = elems;
+
+ mutex_lock(&fh->subscribe_lock);
spin_lock_irqsave(&fh->vdev->fh_lock, flags);
found_ev = v4l2_event_subscribed(fh, sub->type, sub->id);
- if (!found_ev)
- list_add(&sev->list, &fh->subscribed);
spin_unlock_irqrestore(&fh->vdev->fh_lock, flags);
if (found_ev) {
+ /* Already listening */
kfree(sev);
- return 0; /* Already listening */
+ goto out_unlock;
}
if (sev->ops && sev->ops->add) {
- int ret = sev->ops->add(sev, elems);
+ ret = sev->ops->add(sev, elems);
if (ret) {
- sev->ops = NULL;
- v4l2_event_unsubscribe(fh, sub);
- return ret;
+ kfree(sev);
+ goto out_unlock;
}
}
- /* Mark as ready for use */
- sev->elems = elems;
+ spin_lock_irqsave(&fh->vdev->fh_lock, flags);
+ list_add(&sev->list, &fh->subscribed);
+ spin_unlock_irqrestore(&fh->vdev->fh_lock, flags);
- return 0;
+out_unlock:
+ mutex_unlock(&fh->subscribe_lock);
+
+ return ret;
}
EXPORT_SYMBOL_GPL(v4l2_event_subscribe);
@@ -289,6 +287,8 @@ int v4l2_event_unsubscribe(struct v4l2_fh *fh,
return 0;
}
+ mutex_lock(&fh->subscribe_lock);
+
spin_lock_irqsave(&fh->vdev->fh_lock, flags);
sev = v4l2_event_subscribed(fh, sub->type, sub->id);
@@ -306,6 +306,8 @@ int v4l2_event_unsubscribe(struct v4l2_fh *fh,
if (sev && sev->ops && sev->ops->del)
sev->ops->del(sev);
+ mutex_unlock(&fh->subscribe_lock);
+
kfree(sev);
return 0;
diff --git a/drivers/media/v4l2-core/v4l2-fh.c b/drivers/media/v4l2-core/v4l2-fh.c
index e57c002b41506..573ec2f192d44 100644
--- a/drivers/media/v4l2-core/v4l2-fh.c
+++ b/drivers/media/v4l2-core/v4l2-fh.c
@@ -42,6 +42,7 @@ void v4l2_fh_init(struct v4l2_fh *fh, struct video_device *vdev)
INIT_LIST_HEAD(&fh->available);
INIT_LIST_HEAD(&fh->subscribed);
fh->sequence = -1;
+ mutex_init(&fh->subscribe_lock);
}
EXPORT_SYMBOL_GPL(v4l2_fh_init);
@@ -88,6 +89,7 @@ void v4l2_fh_exit(struct v4l2_fh *fh)
if (fh->vdev == NULL)
return;
v4l2_event_unsubscribe_all(fh);
+ mutex_destroy(&fh->subscribe_lock);
fh->vdev = NULL;
}
EXPORT_SYMBOL_GPL(v4l2_fh_exit);
diff --git a/include/media/v4l2-fh.h b/include/media/v4l2-fh.h
index 803516775162d..a2777a324e083 100644
--- a/include/media/v4l2-fh.h
+++ b/include/media/v4l2-fh.h
@@ -41,6 +41,7 @@ struct v4l2_fh {
/* Events */
wait_queue_head_t wait;
+ struct mutex subscribe_lock;
struct list_head subscribed; /* Subscribed events */
struct list_head available; /* Dequeueable event */
unsigned int navailable;
--
2.11.0
It should not appear in the 4.9 kernel,
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=…
it cause Can't set device: Protocol not supported Can't initialize
device: Protocol not supported
# rtk_hciattach -n -s 115200 /dev/ttyS1 rtk_h5
Realtek Bluetooth init uart with init speed:115200,
final_speed:115200, type:HCI UART H5
Realtek Bluetooth :Realtek hciattach version 2.5
Realtek Bluetooth :3-wire sync pattern resend : 1, len: 8
Realtek Bluetooth :Get SYNC Resp Pkt
Realtek Bluetooth :Get SYNC pkt-active mode
Realtek Bluetooth :3-wire config pattern resend : 1 , len: 10
Realtek Bluetooth :Get CONFG pkt-active mode
Realtek Bluetooth :Get CONFG resp pkt-active mode
Realtek Bluetooth :H5 init finished
Realtek Bluetooth :config offset(f4),length(8)
Realtek Bluetooth :config baud rate to :4928002, hwflowcontrol:5f, 1
Realtek Bluetooth :config offset(27),length(1)
Realtek Bluetooth :config offset(fe),length(1)
Realtek Bluetooth :config offset(15b),length(4)
Realtek Bluetooth :config offset(1e3),length(1)
Realtek Bluetooth :Get config baud rate from config file:4928002
Realtek Bluetooth :Load FW OK
Realtek Bluetooth :RTK send HCI_VENDOR_READ_RTK_ROM_VERISION_Command
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :receive hci command complete event with command:1001
Realtek Bluetooth :Read RTK LMP version with Status:0
Realtek Bluetooth :gLmpVersion = 0x8723
Realtek Bluetooth :RTK send HCI_VENDOR_READ_RTK_ROM_VERISION_Command
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :receive hci command complete event with command:fc6d
Realtek Bluetooth :Read RTK rom version with Status:0
Realtek Bluetooth :rtk_hw_cfg.eversion = 1
Realtek Bluetooth :rtk_get_fw_project_id: opcode 0, len 1, data 1
Realtek Bluetooth :fw_ver 0x1e3ee40e, patch_num 2
Realtek Bluetooth :patch length is 0x5e90
Realtek Bluetooth :start offset is 0x4f00
Realtek Bluetooth :fw: exists, config file: exists
Realtek Bluetooth :baudrate in change speed command: 0x2 0x80 0x92 0x4
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :receive hci command complete event with command:fc17
Realtek Bluetooth :Change BD Rate with status:0
Realtek Bluetooth :final_speed 1500000
Realtek Bluetooth :hw flow control enable
Realtek Bluetooth :iEndIndex:96 iLastPacketLen:71 iAdditionpkt:4
Realtek Bluetooth :hci_download_patch tx_index:0 rx_index: -1
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 0
Realtek Bluetooth :hci_download_patch tx_index:1 rx_index: 0
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 1
Realtek Bluetooth :hci_download_patch tx_index:2 rx_index: 1
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 2
Realtek Bluetooth :hci_download_patch tx_index:3 rx_index: 2
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 3
Realtek Bluetooth :hci_download_patch tx_index:4 rx_index: 3
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 4
Realtek Bluetooth :hci_download_patch tx_index:5 rx_index: 4
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 5
Realtek Bluetooth :hci_download_patch tx_index:6 rx_index: 5
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 6
Realtek Bluetooth :hci_download_patch tx_index:7 rx_index: 6
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 7
Realtek Bluetooth :hci_download_patch tx_index:8 rx_index: 7
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 8
Realtek Bluetooth :hci_download_patch tx_index:9 rx_index: 8
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 9
Realtek Bluetooth :hci_download_patch tx_index:10 rx_index: 9
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 10
Realtek Bluetooth :hci_download_patch tx_index:11 rx_index: 10
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 11
Realtek Bluetooth :hci_download_patch tx_index:12 rx_index: 11
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 12
Realtek Bluetooth :hci_download_patch tx_index:13 rx_index: 12
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 13
Realtek Bluetooth :hci_download_patch tx_index:14 rx_index: 13
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 14
Realtek Bluetooth :hci_download_patch tx_index:15 rx_index: 14
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 15
Realtek Bluetooth :hci_download_patch tx_index:16 rx_index: 15
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 16
Realtek Bluetooth :hci_download_patch tx_index:17 rx_index: 16
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 17
Realtek Bluetooth :hci_download_patch tx_index:18 rx_index: 17
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 18
Realtek Bluetooth :hci_download_patch tx_index:19 rx_index: 18
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 19
Realtek Bluetooth :hci_download_patch tx_index:20 rx_index: 19
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 20
Realtek Bluetooth :hci_download_patch tx_index:21 rx_index: 20
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 21
Realtek Bluetooth :hci_download_patch tx_index:22 rx_index: 21
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 22
Realtek Bluetooth :hci_download_patch tx_index:23 rx_index: 22
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 23
Realtek Bluetooth :hci_download_patch tx_index:24 rx_index: 23
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 24
Realtek Bluetooth :hci_download_patch tx_index:25 rx_index: 24
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 25
Realtek Bluetooth :hci_download_patch tx_index:26 rx_index: 25
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 26
Realtek Bluetooth :hci_download_patch tx_index:27 rx_index: 26
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 27
Realtek Bluetooth :hci_download_patch tx_index:28 rx_index: 27
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 28
Realtek Bluetooth :hci_download_patch tx_index:29 rx_index: 28
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 29
Realtek Bluetooth :hci_download_patch tx_index:30 rx_index: 29
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 30
Realtek Bluetooth :hci_download_patch tx_index:31 rx_index: 30
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 31
Realtek Bluetooth :hci_download_patch tx_index:32 rx_index: 31
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 32
Realtek Bluetooth :hci_download_patch tx_index:33 rx_index: 32
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 33
Realtek Bluetooth :hci_download_patch tx_index:34 rx_index: 33
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 34
Realtek Bluetooth :hci_download_patch tx_index:35 rx_index: 34
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 35
Realtek Bluetooth :hci_download_patch tx_index:36 rx_index: 35
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 36
Realtek Bluetooth :hci_download_patch tx_index:37 rx_index: 36
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 37
Realtek Bluetooth :hci_download_patch tx_index:38 rx_index: 37
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 38
Realtek Bluetooth :hci_download_patch tx_index:39 rx_index: 38
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 39
Realtek Bluetooth :hci_download_patch tx_index:40 rx_index: 39
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 40
Realtek Bluetooth :hci_download_patch tx_index:41 rx_index: 40
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 41
Realtek Bluetooth :hci_download_patch tx_index:42 rx_index: 41
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 42
Realtek Bluetooth :hci_download_patch tx_index:43 rx_index: 42
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 43
Realtek Bluetooth :hci_download_patch tx_index:44 rx_index: 43
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 44
Realtek Bluetooth :hci_download_patch tx_index:45 rx_index: 44
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 45
Realtek Bluetooth :hci_download_patch tx_index:46 rx_index: 45
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 46
Realtek Bluetooth :hci_download_patch tx_index:47 rx_index: 46
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 47
Realtek Bluetooth :hci_download_patch tx_index:48 rx_index: 47
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 48
Realtek Bluetooth :hci_download_patch tx_index:49 rx_index: 48
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 49
Realtek Bluetooth :hci_download_patch tx_index:50 rx_index: 49
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 50
Realtek Bluetooth :hci_download_patch tx_index:51 rx_index: 50
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 51
Realtek Bluetooth :hci_download_patch tx_index:52 rx_index: 51
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 52
Realtek Bluetooth :hci_download_patch tx_index:53 rx_index: 52
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 53
Realtek Bluetooth :hci_download_patch tx_index:54 rx_index: 53
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 54
Realtek Bluetooth :hci_download_patch tx_index:55 rx_index: 54
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 55
Realtek Bluetooth :hci_download_patch tx_index:56 rx_index: 55
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 56
Realtek Bluetooth :hci_download_patch tx_index:57 rx_index: 56
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 57
Realtek Bluetooth :hci_download_patch tx_index:58 rx_index: 57
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 58
Realtek Bluetooth :hci_download_patch tx_index:59 rx_index: 58
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 59
Realtek Bluetooth :hci_download_patch tx_index:60 rx_index: 59
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 60
Realtek Bluetooth :hci_download_patch tx_index:61 rx_index: 60
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 61
Realtek Bluetooth :hci_download_patch tx_index:62 rx_index: 61
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 62
Realtek Bluetooth :hci_download_patch tx_index:63 rx_index: 62
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 63
Realtek Bluetooth :hci_download_patch tx_index:64 rx_index: 63
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 64
Realtek Bluetooth :hci_download_patch tx_index:65 rx_index: 64
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 65
Realtek Bluetooth :hci_download_patch tx_index:66 rx_index: 65
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 66
Realtek Bluetooth :hci_download_patch tx_index:67 rx_index: 66
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 67
Realtek Bluetooth :hci_download_patch tx_index:68 rx_index: 67
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 68
Realtek Bluetooth :hci_download_patch tx_index:69 rx_index: 68
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 69
Realtek Bluetooth :hci_download_patch tx_index:70 rx_index: 69
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 70
Realtek Bluetooth :hci_download_patch tx_index:71 rx_index: 70
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 71
Realtek Bluetooth :hci_download_patch tx_index:72 rx_index: 71
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 72
Realtek Bluetooth :hci_download_patch tx_index:73 rx_index: 72
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 73
Realtek Bluetooth :hci_download_patch tx_index:74 rx_index: 73
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 74
Realtek Bluetooth :hci_download_patch tx_index:75 rx_index: 74
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 75
Realtek Bluetooth :hci_download_patch tx_index:76 rx_index: 75
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 76
Realtek Bluetooth :hci_download_patch tx_index:77 rx_index: 76
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 77
Realtek Bluetooth :hci_download_patch tx_index:78 rx_index: 77
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 78
Realtek Bluetooth :hci_download_patch tx_index:79 rx_index: 78
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 79
Realtek Bluetooth :hci_download_patch tx_index:80 rx_index: 79
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 80
Realtek Bluetooth :hci_download_patch tx_index:81 rx_index: 80
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 81
Realtek Bluetooth :hci_download_patch tx_index:82 rx_index: 81
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 82
Realtek Bluetooth :hci_download_patch tx_index:83 rx_index: 82
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 83
Realtek Bluetooth :hci_download_patch tx_index:84 rx_index: 83
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 84
Realtek Bluetooth :hci_download_patch tx_index:85 rx_index: 84
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 85
Realtek Bluetooth :hci_download_patch tx_index:86 rx_index: 85
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 86
Realtek Bluetooth :hci_download_patch tx_index:87 rx_index: 86
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 87
Realtek Bluetooth :hci_download_patch tx_index:88 rx_index: 87
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 88
Realtek Bluetooth :hci_download_patch tx_index:89 rx_index: 88
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 89
Realtek Bluetooth :hci_download_patch tx_index:90 rx_index: 89
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 90
Realtek Bluetooth :hci_download_patch tx_index:91 rx_index: 90
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 91
Realtek Bluetooth :hci_download_patch tx_index:92 rx_index: 91
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 92
Realtek Bluetooth :hci_download_patch tx_index:93 rx_index: 92
Realtek Bluetooth :Received reliable seqno 0 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 93
Realtek Bluetooth :hci_download_patch tx_index:94 rx_index: 93
Realtek Bluetooth :Received reliable seqno 1 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 94
Realtek Bluetooth :hci_download_patch tx_index:95 rx_index: 94
Realtek Bluetooth :Received reliable seqno 2 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 95
Realtek Bluetooth :hci_download_patch tx_index:96 rx_index: 95
Realtek Bluetooth :Received reliable seqno 3 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 96
Realtek Bluetooth :hci_download_patch tx_index:97 rx_index: 96
Realtek Bluetooth :Received reliable seqno 4 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 97
Realtek Bluetooth :hci_download_patch tx_index:98 rx_index: 97
Realtek Bluetooth :Received reliable seqno 5 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 98
Realtek Bluetooth :hci_download_patch tx_index:99 rx_index: 98
Realtek Bluetooth :Received reliable seqno 6 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 99
Realtek Bluetooth :Send FW last command
Realtek Bluetooth :hci_download_patch tx_index:100 rx_index: 99
Realtek Bluetooth :Received reliable seqno 7 from card
Realtek Bluetooth :rtk_hw_cfg.rx_index 100
Realtek Bluetooth :Init Process finished
Can't set device: Protocol not supported
Can't initialize device: Protocol not supported
This is a note to let you know that I've just added the patch titled
usb: core: quirks: add RESET_RESUME quirk for Cherry G230 Stream
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 effd14f66cc1ef6701a19c5a56e39c35f4d395a5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20Niew=C3=B6hner?= <linux(a)mniewoehner.de>
Date: Sun, 25 Nov 2018 17:57:33 +0100
Subject: usb: core: quirks: add RESET_RESUME quirk for Cherry G230 Stream
series
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cherry G230 Stream 2.0 (G85-231) and 3.0 (G85-232) need this quirk to
function correctly. This fixes a but where double pressing numlock locks
up the device completely with need to replug the keyboard.
Signed-off-by: Michael Niewöhner <linux(a)mniewoehner.de>
Tested-by: Michael Niewöhner <linux(a)mniewoehner.de>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/core/quirks.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/usb/core/quirks.c b/drivers/usb/core/quirks.c
index f9ff03e6af93..0690fcff0ea2 100644
--- a/drivers/usb/core/quirks.c
+++ b/drivers/usb/core/quirks.c
@@ -209,6 +209,9 @@ static const struct usb_device_id usb_quirk_list[] = {
/* Microsoft LifeCam-VX700 v2.0 */
{ USB_DEVICE(0x045e, 0x0770), .driver_info = USB_QUIRK_RESET_RESUME },
+ /* Cherry Stream G230 2.0 (G85-231) and 3.0 (G85-232) */
+ { USB_DEVICE(0x046a, 0x0023), .driver_info = USB_QUIRK_RESET_RESUME },
+
/* Logitech HD Pro Webcams C920, C920-C, C925e and C930e */
{ USB_DEVICE(0x046d, 0x082d), .driver_info = USB_QUIRK_DELAY_INIT },
{ USB_DEVICE(0x046d, 0x0841), .driver_info = USB_QUIRK_DELAY_INIT },
--
2.19.2
This is a note to let you know that I've just added the patch titled
USB: usb-storage: Add new IDs to ums-realtek
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 a84a1bcc992f0545a51d2e120b8ca2ef20e2ea97 Mon Sep 17 00:00:00 2001
From: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Date: Fri, 23 Nov 2018 08:42:19 +0000
Subject: USB: usb-storage: Add new IDs to ums-realtek
There are two new Realtek card readers require ums-realtek to work
correctly.
Add the new IDs to support them.
Signed-off-by: Kai-Heng Feng <kai.heng.feng(a)canonical.com>
Acked-by: Alan Stern <stern(a)rowland.harvard.edu>
Cc: stable <stable(a)vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/storage/unusual_realtek.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/usb/storage/unusual_realtek.h b/drivers/usb/storage/unusual_realtek.h
index d17cd95b55bb..6b2140f966ef 100644
--- a/drivers/usb/storage/unusual_realtek.h
+++ b/drivers/usb/storage/unusual_realtek.h
@@ -27,4 +27,14 @@ UNUSUAL_DEV(0x0bda, 0x0159, 0x0000, 0x9999,
"USB Card Reader",
USB_SC_DEVICE, USB_PR_DEVICE, init_realtek_cr, 0),
+UNUSUAL_DEV(0x0bda, 0x0177, 0x0000, 0x9999,
+ "Realtek",
+ "USB Card Reader",
+ USB_SC_DEVICE, USB_PR_DEVICE, init_realtek_cr, 0),
+
+UNUSUAL_DEV(0x0bda, 0x0184, 0x0000, 0x9999,
+ "Realtek",
+ "USB Card Reader",
+ USB_SC_DEVICE, USB_PR_DEVICE, init_realtek_cr, 0),
+
#endif /* defined(CONFIG_USB_STORAGE_REALTEK) || ... */
--
2.19.2
On Sat, Nov 24, 2018 at 11:54 PM Sasha Levin <sashal(a)kernel.org> wrote:
>
> Hi,
>
> [This is an automated email]
>
> This commit has been processed because it contains a "Fixes:" tag,
> fixing commit: cfe30b872058 libnvdimm, pmem: adjust for section collisions with 'System RAM'.
>
> The bot has tested the following trees: v4.19.4, v4.14.83, v4.9.140.
>
> v4.19.4: Build OK!
> v4.14.83: Build OK!
> v4.9.140: Failed to apply! Possible dependencies:
> Unable to calculate
>
>
> How should we proceed with this patch?
4.9-stable will need a manual backport since this code was refactored
in the intervening kernel releases.
The patch titled
Subject: lib/test_kmod.c: fix rmmod double free
has been added to the -mm tree. Its filename is
test_kmod-fix-rmmod-double-free.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/test_kmod-fix-rmmod-double-free.pa…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/test_kmod-fix-rmmod-double-free.pa…
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: Luis Chamberlain <mcgrof(a)kernel.org>
Subject: lib/test_kmod.c: fix rmmod double free
We free the misc device string twice on rmmod; fix this. Without this we
cannot remove the module without crashing.
Link: http://lkml.kernel.org/r/20181124050500.5257-1-mcgrof@kernel.org
Signed-off-by: Luis Chamberlain <mcgrof(a)kernel.org>
Reported-by: Randy Dunlap <rdunlap(a)infradead.org>
Reviewed-by: Andrew Morton <akpm(a)linux-foundation.org>
Cc: <stable(a)vger.kernel.org> [4.12+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/lib/test_kmod.c~test_kmod-fix-rmmod-double-free
+++ a/lib/test_kmod.c
@@ -1214,7 +1214,6 @@ void unregister_test_dev_kmod(struct kmo
dev_info(test_dev->dev, "removing interface\n");
misc_deregister(&test_dev->misc_dev);
- kfree(&test_dev->misc_dev.name);
mutex_unlock(&test_dev->config_mutex);
mutex_unlock(&test_dev->trigger_mutex);
_
Patches currently in -mm which might be from mcgrof(a)kernel.org are
maintainers-update-name-change-for-myself.patch
test_kmod-fix-rmmod-double-free.patch
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 b082f2dd80612015cd6d9d84e52099734ec9a0e1 Mon Sep 17 00:00:00 2001
From: "Kirill A. Shutemov" <kirill.shutemov(a)linux.intel.com>
Date: Fri, 26 Oct 2018 15:28:56 +0300
Subject: [PATCH] x86/ldt: Remove unused variable in map_ldt_struct()
Splitting out the sanity check in map_ldt_struct() moved page table syncing
into a separate function, which made the pgd variable unused. Remove it.
[ tglx: Massaged changelog ]
Fixes: 9bae3197e15d ("x86/ldt: Split out sanity check in map_ldt_struct()")
Signed-off-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Reviewed-by: Andy Lutomirski <luto(a)kernel.org>
Cc: bp(a)alien8.de
Cc: hpa(a)zytor.com
Cc: dave.hansen(a)linux.intel.com
Cc: peterz(a)infradead.org
Cc: boris.ostrovsky(a)oracle.com
Cc: jgross(a)suse.com
Cc: bhe(a)redhat.com
Cc: willy(a)infradead.org
Cc: linux-mm(a)kvack.org
Cc: stable(a)vger.kernel.org
Link: https://lkml.kernel.org/r/20181026122856.66224-4-kirill.shutemov@linux.inte…
diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c
index 18e4525c5933..6135ae8ce036 100644
--- a/arch/x86/kernel/ldt.c
+++ b/arch/x86/kernel/ldt.c
@@ -207,7 +207,6 @@ map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
bool is_vmalloc;
spinlock_t *ptl;
int i, nr_pages;
- pgd_t *pgd;
if (!static_cpu_has(X86_FEATURE_PTI))
return 0;
@@ -221,13 +220,6 @@ map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
/* Check if the current mappings are sane */
sanity_check_ldt_mapping(mm);
- /*
- * Did we already have the top level entry allocated? We can't
- * use pgd_none() for this because it doens't do anything on
- * 4-level page table kernels.
- */
- pgd = pgd_offset(mm, LDT_BASE_ADDR);
-
is_vmalloc = is_vmalloc_addr(ldt->entries);
nr_pages = DIV_ROUND_UP(ldt->nr_entries * LDT_ENTRY_SIZE, PAGE_SIZE);
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 a0e6e0831c516860fc7f9be1db6c081fe902ebcf Mon Sep 17 00:00:00 2001
From: "Kirill A. Shutemov" <kirill.shutemov(a)linux.intel.com>
Date: Fri, 26 Oct 2018 15:28:55 +0300
Subject: [PATCH] x86/ldt: Unmap PTEs for the slot before freeing LDT pages
modify_ldt(2) leaves the old LDT mapped after switching over to the new
one. The old LDT gets freed and the pages can be re-used.
Leaving the mapping in place can have security implications. The mapping is
present in the userspace page tables and Meltdown-like attacks can read
these freed and possibly reused pages.
It's relatively simple to fix: unmap the old LDT and flush TLB before
freeing the old LDT memory.
This further allows to avoid flushing the TLB in map_ldt_struct() as the
slot is unmapped and flushed by unmap_ldt_struct() or has never been mapped
at all.
[ tglx: Massaged changelog and removed the needless line breaks ]
Fixes: f55f0501cbf6 ("x86/pti: Put the LDT in its own PGD if PTI is on")
Signed-off-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Cc: bp(a)alien8.de
Cc: hpa(a)zytor.com
Cc: dave.hansen(a)linux.intel.com
Cc: luto(a)kernel.org
Cc: peterz(a)infradead.org
Cc: boris.ostrovsky(a)oracle.com
Cc: jgross(a)suse.com
Cc: bhe(a)redhat.com
Cc: willy(a)infradead.org
Cc: linux-mm(a)kvack.org
Cc: stable(a)vger.kernel.org
Link: https://lkml.kernel.org/r/20181026122856.66224-3-kirill.shutemov@linux.inte…
diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c
index ab18e0884dc6..18e4525c5933 100644
--- a/arch/x86/kernel/ldt.c
+++ b/arch/x86/kernel/ldt.c
@@ -199,14 +199,6 @@ static void sanity_check_ldt_mapping(struct mm_struct *mm)
/*
* If PTI is enabled, this maps the LDT into the kernelmode and
* usermode tables for the given mm.
- *
- * There is no corresponding unmap function. Even if the LDT is freed, we
- * leave the PTEs around until the slot is reused or the mm is destroyed.
- * This is harmless: the LDT is always in ordinary memory, and no one will
- * access the freed slot.
- *
- * If we wanted to unmap freed LDTs, we'd also need to do a flush to make
- * it useful, and the flush would slow down modify_ldt().
*/
static int
map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
@@ -214,8 +206,8 @@ map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
unsigned long va;
bool is_vmalloc;
spinlock_t *ptl;
+ int i, nr_pages;
pgd_t *pgd;
- int i;
if (!static_cpu_has(X86_FEATURE_PTI))
return 0;
@@ -238,7 +230,9 @@ map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
is_vmalloc = is_vmalloc_addr(ldt->entries);
- for (i = 0; i * PAGE_SIZE < ldt->nr_entries * LDT_ENTRY_SIZE; i++) {
+ nr_pages = DIV_ROUND_UP(ldt->nr_entries * LDT_ENTRY_SIZE, PAGE_SIZE);
+
+ for (i = 0; i < nr_pages; i++) {
unsigned long offset = i << PAGE_SHIFT;
const void *src = (char *)ldt->entries + offset;
unsigned long pfn;
@@ -272,13 +266,39 @@ map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
/* Propagate LDT mapping to the user page-table */
map_ldt_struct_to_user(mm);
- va = (unsigned long)ldt_slot_va(slot);
- flush_tlb_mm_range(mm, va, va + LDT_SLOT_STRIDE, PAGE_SHIFT, false);
-
ldt->slot = slot;
return 0;
}
+static void unmap_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt)
+{
+ unsigned long va;
+ int i, nr_pages;
+
+ if (!ldt)
+ return;
+
+ /* LDT map/unmap is only required for PTI */
+ if (!static_cpu_has(X86_FEATURE_PTI))
+ return;
+
+ nr_pages = DIV_ROUND_UP(ldt->nr_entries * LDT_ENTRY_SIZE, PAGE_SIZE);
+
+ for (i = 0; i < nr_pages; i++) {
+ unsigned long offset = i << PAGE_SHIFT;
+ spinlock_t *ptl;
+ pte_t *ptep;
+
+ va = (unsigned long)ldt_slot_va(ldt->slot) + offset;
+ ptep = get_locked_pte(mm, va, &ptl);
+ pte_clear(mm, va, ptep);
+ pte_unmap_unlock(ptep, ptl);
+ }
+
+ va = (unsigned long)ldt_slot_va(ldt->slot);
+ flush_tlb_mm_range(mm, va, va + nr_pages * PAGE_SIZE, PAGE_SHIFT, false);
+}
+
#else /* !CONFIG_PAGE_TABLE_ISOLATION */
static int
@@ -286,6 +306,10 @@ map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
{
return 0;
}
+
+static void unmap_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt)
+{
+}
#endif /* CONFIG_PAGE_TABLE_ISOLATION */
static void free_ldt_pgtables(struct mm_struct *mm)
@@ -524,6 +548,7 @@ static int write_ldt(void __user *ptr, unsigned long bytecount, int oldmode)
}
install_ldt(mm, new_ldt);
+ unmap_ldt_struct(mm, old_ldt);
free_ldt_struct(old_ldt);
error = 0;
The patch below does not apply to the 4.18-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 a0e6e0831c516860fc7f9be1db6c081fe902ebcf Mon Sep 17 00:00:00 2001
From: "Kirill A. Shutemov" <kirill.shutemov(a)linux.intel.com>
Date: Fri, 26 Oct 2018 15:28:55 +0300
Subject: [PATCH] x86/ldt: Unmap PTEs for the slot before freeing LDT pages
modify_ldt(2) leaves the old LDT mapped after switching over to the new
one. The old LDT gets freed and the pages can be re-used.
Leaving the mapping in place can have security implications. The mapping is
present in the userspace page tables and Meltdown-like attacks can read
these freed and possibly reused pages.
It's relatively simple to fix: unmap the old LDT and flush TLB before
freeing the old LDT memory.
This further allows to avoid flushing the TLB in map_ldt_struct() as the
slot is unmapped and flushed by unmap_ldt_struct() or has never been mapped
at all.
[ tglx: Massaged changelog and removed the needless line breaks ]
Fixes: f55f0501cbf6 ("x86/pti: Put the LDT in its own PGD if PTI is on")
Signed-off-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx(a)linutronix.de>
Cc: bp(a)alien8.de
Cc: hpa(a)zytor.com
Cc: dave.hansen(a)linux.intel.com
Cc: luto(a)kernel.org
Cc: peterz(a)infradead.org
Cc: boris.ostrovsky(a)oracle.com
Cc: jgross(a)suse.com
Cc: bhe(a)redhat.com
Cc: willy(a)infradead.org
Cc: linux-mm(a)kvack.org
Cc: stable(a)vger.kernel.org
Link: https://lkml.kernel.org/r/20181026122856.66224-3-kirill.shutemov@linux.inte…
diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c
index ab18e0884dc6..18e4525c5933 100644
--- a/arch/x86/kernel/ldt.c
+++ b/arch/x86/kernel/ldt.c
@@ -199,14 +199,6 @@ static void sanity_check_ldt_mapping(struct mm_struct *mm)
/*
* If PTI is enabled, this maps the LDT into the kernelmode and
* usermode tables for the given mm.
- *
- * There is no corresponding unmap function. Even if the LDT is freed, we
- * leave the PTEs around until the slot is reused or the mm is destroyed.
- * This is harmless: the LDT is always in ordinary memory, and no one will
- * access the freed slot.
- *
- * If we wanted to unmap freed LDTs, we'd also need to do a flush to make
- * it useful, and the flush would slow down modify_ldt().
*/
static int
map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
@@ -214,8 +206,8 @@ map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
unsigned long va;
bool is_vmalloc;
spinlock_t *ptl;
+ int i, nr_pages;
pgd_t *pgd;
- int i;
if (!static_cpu_has(X86_FEATURE_PTI))
return 0;
@@ -238,7 +230,9 @@ map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
is_vmalloc = is_vmalloc_addr(ldt->entries);
- for (i = 0; i * PAGE_SIZE < ldt->nr_entries * LDT_ENTRY_SIZE; i++) {
+ nr_pages = DIV_ROUND_UP(ldt->nr_entries * LDT_ENTRY_SIZE, PAGE_SIZE);
+
+ for (i = 0; i < nr_pages; i++) {
unsigned long offset = i << PAGE_SHIFT;
const void *src = (char *)ldt->entries + offset;
unsigned long pfn;
@@ -272,13 +266,39 @@ map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
/* Propagate LDT mapping to the user page-table */
map_ldt_struct_to_user(mm);
- va = (unsigned long)ldt_slot_va(slot);
- flush_tlb_mm_range(mm, va, va + LDT_SLOT_STRIDE, PAGE_SHIFT, false);
-
ldt->slot = slot;
return 0;
}
+static void unmap_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt)
+{
+ unsigned long va;
+ int i, nr_pages;
+
+ if (!ldt)
+ return;
+
+ /* LDT map/unmap is only required for PTI */
+ if (!static_cpu_has(X86_FEATURE_PTI))
+ return;
+
+ nr_pages = DIV_ROUND_UP(ldt->nr_entries * LDT_ENTRY_SIZE, PAGE_SIZE);
+
+ for (i = 0; i < nr_pages; i++) {
+ unsigned long offset = i << PAGE_SHIFT;
+ spinlock_t *ptl;
+ pte_t *ptep;
+
+ va = (unsigned long)ldt_slot_va(ldt->slot) + offset;
+ ptep = get_locked_pte(mm, va, &ptl);
+ pte_clear(mm, va, ptep);
+ pte_unmap_unlock(ptep, ptl);
+ }
+
+ va = (unsigned long)ldt_slot_va(ldt->slot);
+ flush_tlb_mm_range(mm, va, va + nr_pages * PAGE_SIZE, PAGE_SHIFT, false);
+}
+
#else /* !CONFIG_PAGE_TABLE_ISOLATION */
static int
@@ -286,6 +306,10 @@ map_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt, int slot)
{
return 0;
}
+
+static void unmap_ldt_struct(struct mm_struct *mm, struct ldt_struct *ldt)
+{
+}
#endif /* CONFIG_PAGE_TABLE_ISOLATION */
static void free_ldt_pgtables(struct mm_struct *mm)
@@ -524,6 +548,7 @@ static int write_ldt(void __user *ptr, unsigned long bytecount, int oldmode)
}
install_ldt(mm, new_ldt);
+ unmap_ldt_struct(mm, old_ldt);
free_ldt_struct(old_ldt);
error = 0;