From: Emmanuel Grumbach <emmanuel.grumbach(a)intel.com>
Old firmware versions don't support this command. Sending it
to any firmware before -41.ucode will crash the firmware.
This fixes https://bugzilla.kernel.org/show_bug.cgi?id=201975
Fixes: 66e839030fd6 ("iwlwifi: fix wrong WGDS_WIFI_DATA_SIZE")
CC: <stable(a)vger.kernel.org> #4.19+
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach(a)intel.com>
Signed-off-by: Luca Coelho <luciano.coelho(a)intel.com>
---
drivers/net/wireless/intel/iwlwifi/mvm/fw.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
index 2ba890445c35..1689bead1b4f 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw.c
@@ -881,6 +881,15 @@ static int iwl_mvm_sar_geo_init(struct iwl_mvm *mvm)
int ret, i, j;
u16 cmd_wide_id = WIDE_ID(PHY_OPS_GROUP, GEO_TX_POWER_LIMIT);
+ /*
+ * This command is not supported on earlier firmware versions.
+ * Unfortunately, we don't have a TLV API flag to rely on, so
+ * rely on the major version which is in the first byte of
+ * ucode_ver.
+ */
+ if (IWL_UCODE_SERIAL(mvm->fw->ucode_ver) < 41)
+ return 0;
+
ret = iwl_mvm_sar_get_wgds_table(mvm);
if (ret < 0) {
IWL_DEBUG_RADIO(mvm,
--
2.19.2
This is a note to let you know that I've just added the patch titled
usb: roles: Add a description for the class to Kconfig
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-testing 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 be merged to the usb-next branch sometime soon,
after it passes testing, and the merge window is open.
If you have any questions about this process, please let me know.
>From c3788cd9963eb2e77de3c24142fb7c67b61f1a26 Mon Sep 17 00:00:00 2001
From: Heikki Krogerus <heikki.krogerus(a)linux.intel.com>
Date: Wed, 12 Dec 2018 20:13:55 +0300
Subject: usb: roles: Add a description for the class to Kconfig
That makes the USB role switch support option visible and
selectable for the user. The class driver is also moved to
drivers/usb/roles/ directory.
This will fix an issue that we have with the Intel USB role
switch driver on systems that don't have USB Type-C connectors:
Intel USB role switch driver depends on the USB role switch
class as it should, but since there was no way for the user
to enable the USB role switch class, there was also no way
to select that driver. USB Type-C drivers select the USB
role switch class which makes the Intel USB role switch
driver available and therefore hides the problem.
So in practice Intel USB role switch driver was depending on
USB Type-C drivers.
Fixes: f6fb9ec02be1 ("usb: roles: Add Intel xHCI USB role switch driver")
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Heikki Krogerus <heikki.krogerus(a)linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/usb/Kconfig | 4 ----
drivers/usb/common/Makefile | 1 -
drivers/usb/roles/Kconfig | 13 +++++++++++++
drivers/usb/roles/Makefile | 4 +++-
drivers/usb/{common/roles.c => roles/class.c} | 0
5 files changed, 16 insertions(+), 6 deletions(-)
rename drivers/usb/{common/roles.c => roles/class.c} (100%)
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
index 987fc5ba6321..70e6c956c23c 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -205,8 +205,4 @@ config USB_ULPI_BUS
To compile this driver as a module, choose M here: the module will
be called ulpi.
-config USB_ROLE_SWITCH
- tristate
- select USB_COMMON
-
endif # USB_SUPPORT
diff --git a/drivers/usb/common/Makefile b/drivers/usb/common/Makefile
index fb4d5ef4165c..0a7c45e85481 100644
--- a/drivers/usb/common/Makefile
+++ b/drivers/usb/common/Makefile
@@ -9,4 +9,3 @@ usb-common-$(CONFIG_USB_LED_TRIG) += led.o
obj-$(CONFIG_USB_OTG_FSM) += usb-otg-fsm.o
obj-$(CONFIG_USB_ULPI_BUS) += ulpi.o
-obj-$(CONFIG_USB_ROLE_SWITCH) += roles.o
diff --git a/drivers/usb/roles/Kconfig b/drivers/usb/roles/Kconfig
index f5a5e6f79f1b..e4194ac94510 100644
--- a/drivers/usb/roles/Kconfig
+++ b/drivers/usb/roles/Kconfig
@@ -1,3 +1,16 @@
+config USB_ROLE_SWITCH
+ tristate "USB Role Switch Support"
+ help
+ USB Role Switch is a device that can select the USB role - host or
+ device - for a USB port (connector). In most cases dual-role capable
+ USB controller will also represent the switch, but on some platforms
+ multiplexer/demultiplexer switch is used to route the data lines on
+ the USB connector between separate USB host and device controllers.
+
+ Say Y here if your USB connectors support both device and host roles.
+ To compile the driver as module, choose M here: the module will be
+ called roles.ko.
+
if USB_ROLE_SWITCH
config USB_ROLES_INTEL_XHCI
diff --git a/drivers/usb/roles/Makefile b/drivers/usb/roles/Makefile
index e44b179ba275..c02873206fc1 100644
--- a/drivers/usb/roles/Makefile
+++ b/drivers/usb/roles/Makefile
@@ -1 +1,3 @@
-obj-$(CONFIG_USB_ROLES_INTEL_XHCI) += intel-xhci-usb-role-switch.o
+obj-$(CONFIG_USB_ROLE_SWITCH) += roles.o
+roles-y := class.o
+obj-$(CONFIG_USB_ROLES_INTEL_XHCI) += intel-xhci-usb-role-switch.o
diff --git a/drivers/usb/common/roles.c b/drivers/usb/roles/class.c
similarity index 100%
rename from drivers/usb/common/roles.c
rename to drivers/usb/roles/class.c
--
2.20.1
Hi,
I'm not sure what the connection is exactly but commit dcd51305cd41
("ALSA: hda/realtek - fix the pop noise on headphone for lenovo
laptops") broke the mute button LED on my Lenovo X1 Extreme laptop.
I don't have any more info frankly and don't even know where to start
debugging. Other LEDs work fine. This mute button LED never had any
entry in /sys/class/leds, I'm not sure how it's handled.
Let me know if you need more debugging on my part.
Best regards,
Bartosz Golaszewski
After expanding i_mmap_rwsem use for better shared pmd and page fault/
truncation synchronization, remove code that is no longer necessary.
Cc: <stable(a)vger.kernel.org>
Fixes: ebed4bfc8da8 ("hugetlb: fix absurd HugePages_Rsvd")
Signed-off-by: Mike Kravetz <mike.kravetz(a)oracle.com>
---
fs/hugetlbfs/inode.c | 46 +++++++++++++++-----------------------------
mm/hugetlb.c | 21 ++++++++++----------
2 files changed, 25 insertions(+), 42 deletions(-)
diff --git a/fs/hugetlbfs/inode.c b/fs/hugetlbfs/inode.c
index 3244147fc42b..a9c00c6ef80d 100644
--- a/fs/hugetlbfs/inode.c
+++ b/fs/hugetlbfs/inode.c
@@ -383,17 +383,16 @@ hugetlb_vmdelete_list(struct rb_root_cached *root, pgoff_t start, pgoff_t end)
* truncation is indicated by end of range being LLONG_MAX
* In this case, we first scan the range and release found pages.
* After releasing pages, hugetlb_unreserve_pages cleans up region/reserv
- * maps and global counts. Page faults can not race with truncation
- * in this routine. hugetlb_no_page() prevents page faults in the
- * truncated range. It checks i_size before allocation, and again after
- * with the page table lock for the page held. The same lock must be
- * acquired to unmap a page.
+ * maps and global counts.
* hole punch is indicated if end is not LLONG_MAX
* In the hole punch case we scan the range and release found pages.
* Only when releasing a page is the associated region/reserv map
* deleted. The region/reserv map for ranges without associated
- * pages are not modified. Page faults can race with hole punch.
- * This is indicated if we find a mapped page.
+ * pages are not modified.
+ *
+ * Callers of this routine must hold the i_mmap_rwsem in write mode to prevent
+ * races with page faults.
+ *
* Note: If the passed end of range value is beyond the end of file, but
* not LLONG_MAX this routine still performs a hole punch operation.
*/
@@ -423,32 +422,14 @@ static void remove_inode_hugepages(struct inode *inode, loff_t lstart,
for (i = 0; i < pagevec_count(&pvec); ++i) {
struct page *page = pvec.pages[i];
- u32 hash;
index = page->index;
- hash = hugetlb_fault_mutex_hash(h, current->mm,
- &pseudo_vma,
- mapping, index, 0);
- mutex_lock(&hugetlb_fault_mutex_table[hash]);
-
/*
- * If page is mapped, it was faulted in after being
- * unmapped in caller. Unmap (again) now after taking
- * the fault mutex. The mutex will prevent faults
- * until we finish removing the page.
- *
- * This race can only happen in the hole punch case.
- * Getting here in a truncate operation is a bug.
+ * A mapped page is impossible as callers should unmap
+ * all references before calling. And, i_mmap_rwsem
+ * prevents the creation of additional mappings.
*/
- if (unlikely(page_mapped(page))) {
- BUG_ON(truncate_op);
-
- i_mmap_lock_write(mapping);
- hugetlb_vmdelete_list(&mapping->i_mmap,
- index * pages_per_huge_page(h),
- (index + 1) * pages_per_huge_page(h));
- i_mmap_unlock_write(mapping);
- }
+ VM_BUG_ON(page_mapped(page));
lock_page(page);
/*
@@ -470,7 +451,6 @@ static void remove_inode_hugepages(struct inode *inode, loff_t lstart,
}
unlock_page(page);
- mutex_unlock(&hugetlb_fault_mutex_table[hash]);
}
huge_pagevec_release(&pvec);
cond_resched();
@@ -624,7 +604,11 @@ static long hugetlbfs_fallocate(struct file *file, int mode, loff_t offset,
/* addr is the offset within the file (zero based) */
addr = index * hpage_size;
- /* mutex taken here, fault path and hole punch */
+ /*
+ * fault mutex taken here, protects against fault path
+ * and hole punch. inode_lock previously taken protects
+ * against truncation.
+ */
hash = hugetlb_fault_mutex_hash(h, mm, &pseudo_vma, mapping,
index, addr);
mutex_lock(&hugetlb_fault_mutex_table[hash]);
diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 362601b69c56..89e1a253a40b 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -3760,16 +3760,16 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *mm,
}
/*
- * Use page lock to guard against racing truncation
- * before we get page_table_lock.
+ * We can not race with truncation due to holding i_mmap_rwsem.
+ * Check once here for faults beyond end of file.
*/
+ size = i_size_read(mapping->host) >> huge_page_shift(h);
+ if (idx >= size)
+ goto out;
+
retry:
page = find_lock_page(mapping, idx);
if (!page) {
- size = i_size_read(mapping->host) >> huge_page_shift(h);
- if (idx >= size)
- goto out;
-
/*
* Check for page in userfault range
*/
@@ -3859,9 +3859,6 @@ static vm_fault_t hugetlb_no_page(struct mm_struct *mm,
}
ptl = huge_pte_lock(h, mm, ptep);
- size = i_size_read(mapping->host) >> huge_page_shift(h);
- if (idx >= size)
- goto backout;
ret = 0;
if (!huge_pte_none(huge_ptep_get(ptep)))
@@ -3964,8 +3961,10 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
/*
* Acquire i_mmap_rwsem before calling huge_pte_alloc and hold
- * until finished with ptep. This prevents huge_pmd_unshare from
- * being called elsewhere and making the ptep no longer valid.
+ * until finished with ptep. This serves two purposes:
+ * 1) It prevents huge_pmd_unshare from being called elsewhere
+ * and making the ptep no longer valid.
+ * 2) It synchronizes us with file truncation.
*
* ptep could have already be assigned via huge_pte_offset. That
* is OK, as huge_pte_alloc will return the same value unless
--
2.17.2
This is the start of the stable review cycle for the 4.9.146 release.
There are 51 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 Sun Dec 16 11:56:52 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.146-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.146-rc1
Guenter Roeck <linux(a)roeck-us.net>
staging: speakup: Replace strncpy with memcpy
Namhyung Kim <namhyung(a)kernel.org>
pstore: Convert console write to use ->write_buf
Pan Bian <bianpan2016(a)163.com>
ocfs2: fix potential use after free
Qian Cai <cai(a)gmx.us>
debugobjects: avoid recursive calls with kmemleak
Pan Bian <bianpan2016(a)163.com>
hfsplus: do not free node before using
Pan Bian <bianpan2016(a)163.com>
hfs: do not free node before using
Larry Chen <lchen(a)suse.com>
ocfs2: fix deadlock caused by ocfs2_defrag_extent()
Colin Ian King <colin.king(a)canonical.com>
fscache, cachefiles: remove redundant variable 'cache'
NeilBrown <neilb(a)suse.com>
fscache: fix race between enablement and dropping of object
Srikanth Boddepalli <boddepalli.srikanth(a)gmail.com>
xen: xlate_mmu: add missing header to fix 'W=1' warning
Y.C. Chen <yc_chen(a)aspeedtech.com>
drm/ast: fixed reading monitor EDID not stable issue
Pan Bian <bianpan2016(a)163.com>
net: hisilicon: remove unexpected free_netdev
Josh Elsasser <jelsasser(a)appneta.com>
ixgbe: recognize 1000BaseLX SFP modules as 1Gbps
Yunjian Wang <wangyunjian(a)huawei.com>
igb: fix uninitialized variables
Kiran Kumar Modukuri <kiran.modukuri(a)gmail.com>
cachefiles: Fix page leak in cachefiles_read_backing_file while vmscan is active
Lorenzo Bianconi <lorenzo.bianconi(a)redhat.com>
net: thunderx: fix NULL pointer dereference in nic_remove
Yi Wang <wang.yi59(a)zte.com.cn>
x86/kvm/vmx: fix old-style function declaration
Yi Wang <wang.yi59(a)zte.com.cn>
KVM: x86: fix empty-body warnings
Aaro Koskinen <aaro.koskinen(a)iki.fi>
USB: omap_udc: fix USB gadget functionality on Palm Tungsten E
Aaro Koskinen <aaro.koskinen(a)iki.fi>
USB: omap_udc: fix omap_udc_start() on 15xx machines
Aaro Koskinen <aaro.koskinen(a)iki.fi>
USB: omap_udc: fix crashes on probe error and module removal
Aaro Koskinen <aaro.koskinen(a)iki.fi>
USB: omap_udc: use devm_request_irq()
Xin Long <lucien.xin(a)gmail.com>
ipvs: call ip_vs_dst_notifier earlier than ipv6_dev_notf
Martynas Pumputis <m(a)lambda.lt>
bpf: fix check of allowed specifiers in bpf_trace_printk
Pan Bian <bianpan2016(a)163.com>
exportfs: do not read dentry after free
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ASoC: omap-dmic: Add pm_qos handling to avoid overruns with CPU_IDLE
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ASoC: omap-mcpdm: Add pm_qos handling to avoid under/overruns with CPU_IDLE
Majd Dibbiny <majd(a)mellanox.com>
RDMA/mlx5: Fix fence type for IB_WR_LOCAL_INV WR
Robbie Ko <robbieko(a)synology.com>
Btrfs: send, fix infinite loop due to directory rename dependencies
Artem Savkov <asavkov(a)redhat.com>
objtool: Fix segfault in .cold detection with -ffunction-sections
Artem Savkov <asavkov(a)redhat.com>
objtool: Fix double-free in .cold detection error path
Huacai Chen <chenhc(a)lemote.com>
hwmon: (w83795) temp4_type has writable permission
Tzung-Bi Shih <tzungbi(a)google.com>
ASoC: dapm: Recalculate audio map forcely when card instantiated
Peter Ujfalusi <peter.ujfalusi(a)ti.com>
ASoC: omap-abe-twl6040: Fix missing audio card caused by deferred probing
Nicolin Chen <nicoleotsuka(a)gmail.com>
hwmon: (ina2xx) Fix current value calculation
Thomas Richter <tmricht(a)linux.ibm.com>
s390/cpum_cf: Reject request for sampling in event initialization
Florian Westphal <fw(a)strlen.de>
selftests: add script to stress-test nft packet path vs. control plane
YueHaibing <yuehaibing(a)huawei.com>
sysv: return 'err' instead of 0 in __sysv_write_inode
Janusz Krzysztofik <jmkrzyszt(a)gmail.com>
ARM: OMAP1: ams-delta: Fix possible use of uninitialized field
Adam Ford <aford173(a)gmail.com>
ARM: dts: logicpd-somlv: Fix interrupt on mmc3_dat1
Nathan Chancellor <natechancellor(a)gmail.com>
ARM: OMAP2+: prm44xx: Fix section annotation on omap44xx_prm_enable_io_wakeup
Stefano Brivio <sbrivio(a)redhat.com>
neighbour: Avoid writing before skb->head in neigh_hh_output()
Nicolas Dichtel <nicolas.dichtel(a)6wind.com>
tun: forbid iface creation with rtnl ops
Yuchung Cheng <ycheng(a)google.com>
tcp: fix NULL ref in tail loss probe
Eric Dumazet <edumazet(a)google.com>
rtnetlink: ndo_dflt_fdb_dump() only work for ARPHRD_ETHER devices
Christoph Paasch <cpaasch(a)apple.com>
net: Prevent invalid access to skb->prev in __qdisc_drop_all
Heiner Kallweit <hkallweit1(a)gmail.com>
net: phy: don't allow __set_phy_supported to add unsupported modes
Tarick Bedeir <tarick(a)google.com>
net/mlx4_core: Correctly set PFC param if global pause is turned off.
Su Yanjun <suyj.fnst(a)cn.fujitsu.com>
net: 8139cp: fix a BUG triggered by changing mtu with network traffic
Stefano Brivio <sbrivio(a)redhat.com>
ipv6: Check available headroom in ip6_xmit() even without options
Jiri Wiesner <jwiesner(a)suse.com>
ipv4: ipv6: netfilter: Adjust the frag mem limit when truesize changes
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/logicpd-som-lv.dtsi | 2 +-
arch/arm/mach-omap1/board-ams-delta.c | 3 +
arch/arm/mach-omap2/prm44xx.c | 2 +-
arch/s390/kernel/perf_cpum_cf.c | 2 +
arch/x86/kvm/lapic.c | 2 +-
arch/x86/kvm/vmx.c | 8 +-
drivers/gpu/drm/ast/ast_mode.c | 36 +++++++--
drivers/hwmon/ina2xx.c | 2 +-
drivers/hwmon/w83795.c | 2 +-
drivers/infiniband/hw/mlx5/qp.c | 19 ++---
drivers/net/ethernet/cavium/thunder/nic_main.c | 3 +
drivers/net/ethernet/hisilicon/hip04_eth.c | 4 +-
drivers/net/ethernet/intel/igb/e1000_i210.c | 1 +
drivers/net/ethernet/intel/ixgbe/ixgbe_x550.c | 4 +-
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 4 +-
drivers/net/ethernet/realtek/8139cp.c | 5 ++
drivers/net/phy/phy_device.c | 19 ++---
drivers/net/tun.c | 6 +-
drivers/staging/speakup/kobjects.c | 4 +-
drivers/usb/gadget/udc/omap_udc.c | 87 ++++++++--------------
drivers/xen/xlate_mmu.c | 1 +
fs/btrfs/send.c | 11 ++-
fs/cachefiles/rdwr.c | 9 ++-
fs/exportfs/expfs.c | 2 +-
fs/fscache/object.c | 3 +
fs/hfs/btree.c | 3 +-
fs/hfsplus/btree.c | 3 +-
fs/ocfs2/export.c | 2 +-
fs/ocfs2/move_extents.c | 47 ++++++------
fs/pstore/platform.c | 4 +-
fs/sysv/inode.c | 2 +-
include/net/neighbour.h | 28 +++++--
kernel/trace/bpf_trace.c | 8 +-
lib/debugobjects.c | 3 +-
net/core/rtnetlink.c | 3 +
net/ipv4/ip_fragment.c | 7 ++
net/ipv4/tcp_output.c | 12 ++-
net/ipv6/ip6_output.c | 42 +++++------
net/ipv6/netfilter/nf_conntrack_reasm.c | 8 +-
net/ipv6/reassembly.c | 8 +-
net/netfilter/ipvs/ip_vs_ctl.c | 3 +
net/sched/sch_netem.c | 3 +
sound/soc/omap/omap-abe-twl6040.c | 67 ++++++++---------
sound/soc/omap/omap-dmic.c | 9 +++
sound/soc/omap/omap-mcpdm.c | 43 ++++++++++-
sound/soc/soc-core.c | 1 +
tools/objtool/elf.c | 19 ++++-
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/netfilter/Makefile | 6 ++
tools/testing/selftests/netfilter/config | 2 +
.../selftests/netfilter/nft_trans_stress.sh | 78 +++++++++++++++++++
52 files changed, 439 insertions(+), 218 deletions(-)
Mr Gleixner,
I was upset when I compiled 4.14.87 found that SCHED_SMT had been
forced on. At the time, I just reported it to my blog, and posted a
question about it to a couple of forums, and stayed with an earlier
kernel.
However, when 4.14.88 came out, and still the same situation, alarm
bells went off, and I looked through the kernel changelog. Found it,
4.14.86:
"x86/Kconfig: Select SCHED_SMT if SMP enabled"
Then:
"CONFIG_SCHED_SMT is enabled by all distros, so there is not a real point to
have it configurable. ..."
...that is a lie. It would be correct to state that is true of the
distros you use, and presumably also for all of you guys who signed
off on it.
Puppy Linux is an example of a distro that has mostly not had
SCHED_SMT enabled. Ditto for most of the forks of Puppy. Two distros
that I currently maintain, Quirky and EasyOS (easyos.org) have SMP
enabled but not SCHED_SMT.
The difference between them is important, they should remain
independently settable. I am so surprised that all of you guys went
along with forcing it on.
For the record, my blog post:
http://bkhome.org/news/201812/kernel-41487-compiled.html
Regards,
Barry Kauler
Now MTD emulated by UBI volumn doesn't allocate wbuf_verify in
jffs2_ubivol_setup(), because UBI can do the verifcation itself,
so when CONFIG_JFFS2_FS_WBUF_VERIFY is enabled and a MTD device
emulated by UBI volumn is used, a Oops will occur as show in the
following trace:
general protection fault: 0000 [#1] SMP KASAN PTI
CPU: 6 PID: 404 Comm: kworker/6:1 Not tainted 4.19.0-rc8
Workqueue: events_long delayed_wbuf_sync
RIP: 0010:ubi_io_read+0x156/0x650
Call Trace:
ubi_eba_read_leb+0x57d/0xba0
ubi_leb_read+0xe5/0x1b0
gluebi_read+0x10c/0x1a0
mtd_read+0x112/0x340
jffs2_verify_write+0xef/0x440
__jffs2_flush_wbuf+0x3fa/0x3540
jffs2_flush_wbuf_gc+0x1b1/0x2e0
process_one_work+0x58b/0x11e0
worker_thread+0x8f/0xfe0
kthread+0x2ae/0x3a0
ret_from_fork+0x35/0x40
Fix the problem by checking the validity of wbuf_verify before
using it in jffs2_verify_write().
Cc: stable(a)vger.kernel.org
Fixes: 0029da3bf430 ("JFFS2: add UBI support")
Signed-off-by: Hou Tao <houtao1(a)huawei.com>
---
fs/jffs2/wbuf.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/fs/jffs2/wbuf.c b/fs/jffs2/wbuf.c
index c6821a509481..3de45f4559d1 100644
--- a/fs/jffs2/wbuf.c
+++ b/fs/jffs2/wbuf.c
@@ -234,6 +234,13 @@ static int jffs2_verify_write(struct jffs2_sb_info *c, unsigned char *buf,
size_t retlen;
char *eccstr;
+ /*
+ * MTD emulated by UBI volume doesn't allocate wbuf_verify,
+ * because it can do the verification itself.
+ */
+ if (!c->wbuf_verify)
+ return 0;
+
ret = mtd_read(c->mtd, ofs, c->wbuf_pagesize, &retlen, c->wbuf_verify);
if (ret && ret != -EUCLEAN && ret != -EBADMSG) {
pr_warn("%s(): Read back of page at %08x failed: %d\n",
--
2.16.2.dirty
commit 1f82de10d6 ("PCI/x86: don't assume prefetchable ranges are
64bit") added probing of bridge support for 64 bit memory
each time bridge is re-enumerated.
Unfortunately this probing is destructive if any device behind
the bridge is in use at this time.
There's no real need to re-probe the bridge features as the
regiters in question never change - detect that using
the memory flag being set and skip the probing.
Avoiding repeated calls to pci_bridge_check_ranges might be even nicer
would be a bigger patch and probably not appropriate on stable.
Reported-by: xuyandong <xuyandong2(a)huawei.com>
Cc: stable(a)vger.kernel.org
Cc: Yinghai Lu <yinghai(a)kernel.org>
Cc: Jesse Barnes <jbarnes(a)virtuousgeek.org>
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
---
This issue has been reported on upstream Linux and Centos.
drivers/pci/setup-bus.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index ed960436df5e..7ab42f76579e 100644
--- a/drivers/pci/setup-bus.c
+++ b/drivers/pci/setup-bus.c
@@ -741,6 +741,13 @@ static void pci_bridge_check_ranges(struct pci_bus *bus)
struct resource *b_res;
b_res = &bridge->resource[PCI_BRIDGE_RESOURCES];
+
+ /* Don't re-check after this was called once already:
+ * important since bridge might be in use.
+ */
+ if (b_res[1].flags & IORESOURCE_MEM)
+ return;
+
b_res[1].flags |= IORESOURCE_MEM;
pci_read_config_word(bridge, PCI_IO_BASE, &io);
--
MST
According to my memo at hand and saved records, writing 0x00000001 to
SND_FF_REG_FETCH_PCM_FRAMES disables fetching PCM frames in corresponding
channel, however current implement uses reversed logic. This results in
muted volume in device side during playback.
This commit corrects the bug.
Cc: <stable(a)vger.kernel.org> # v4.12+
Fixes: 76fdb3a9e13a ('ALSA: fireface: add support for Fireface 400')
Signed-off-by: Takashi Sakamoto <o-takashi(a)sakamocchi.jp>
---
sound/firewire/fireface/ff-protocol-ff400.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/firewire/fireface/ff-protocol-ff400.c b/sound/firewire/fireface/ff-protocol-ff400.c
index 8f34174ee813..fd257051d4a4 100644
--- a/sound/firewire/fireface/ff-protocol-ff400.c
+++ b/sound/firewire/fireface/ff-protocol-ff400.c
@@ -86,7 +86,7 @@ static int ff400_switch_fetching_mode(struct snd_ff *ff, bool enable)
if (reg == NULL)
return -ENOMEM;
- if (enable) {
+ if (!enable) {
/*
* Each quadlet is corresponding to data channels in a data
* blocks in reverse order. Precisely, quadlets for available
--
2.19.1
marvell_nfc_wait_op() waits for completion during 'timeout_ms'
milliseconds before throwing an error. While the logic is fine, the
value of 'timeout_ms' is given by the core and actually correspond to
the maximum time the NAND chip will take to complete the
operation. Assuming there is no overhead in the propagation of the
interrupt signal to the the NAND controller (through the Ready/Busy
line), this delay does not take into account the latency of the
operating system. For instance, for a page write, the delay given by
the core is rounded up to 1ms. Hence, when the machine is over loaded,
there is chances that this timeout will be reached.
There are two ways to solve this issue that are not incompatible:
1/ Enlarge the timeout value (if so, how much?).
2/ Check after the waiting method if we did not miss any interrupt
because of the OS latency (an interrupt is still pending). In this
case, we assume the operation exited successfully.
We choose the second approach that is a must in all cases, with the
possibility to also modify the timeout value to be, e.g. at least 1
second in all cases.
Fixes: 02f26ecf8c77 ("mtd: nand: add reworked Marvell NAND controller driver")
Cc: stable(a)vger.kernel.org
Signed-off-by: Miquel Raynal <miquel.raynal(a)bootlin.com>
---
drivers/mtd/nand/raw/marvell_nand.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/drivers/mtd/nand/raw/marvell_nand.c b/drivers/mtd/nand/raw/marvell_nand.c
index e6c3739cea73..bc0eef4ade4f 100644
--- a/drivers/mtd/nand/raw/marvell_nand.c
+++ b/drivers/mtd/nand/raw/marvell_nand.c
@@ -514,9 +514,14 @@ static void marvell_nfc_enable_int(struct marvell_nfc *nfc, u32 int_mask)
writel_relaxed(reg & ~int_mask, nfc->regs + NDCR);
}
-static void marvell_nfc_clear_int(struct marvell_nfc *nfc, u32 int_mask)
+static int marvell_nfc_clear_int(struct marvell_nfc *nfc, u32 int_mask)
{
+ u32 reg;
+
+ reg = readl_relaxed(nfc->regs + NDSR);
writel_relaxed(int_mask, nfc->regs + NDSR);
+
+ return reg & int_mask;
}
static void marvell_nfc_force_byte_access(struct nand_chip *chip,
@@ -683,6 +688,7 @@ static int marvell_nfc_wait_cmdd(struct nand_chip *chip)
static int marvell_nfc_wait_op(struct nand_chip *chip, unsigned int timeout_ms)
{
struct marvell_nfc *nfc = to_marvell_nfc(chip->controller);
+ int pending;
int ret;
/* Timeout is expressed in ms */
@@ -695,8 +701,13 @@ static int marvell_nfc_wait_op(struct nand_chip *chip, unsigned int timeout_ms)
ret = wait_for_completion_timeout(&nfc->complete,
msecs_to_jiffies(timeout_ms));
marvell_nfc_disable_int(nfc, NDCR_RDYM);
- marvell_nfc_clear_int(nfc, NDSR_RDY(0) | NDSR_RDY(1));
- if (!ret) {
+ pending = marvell_nfc_clear_int(nfc, NDSR_RDY(0) | NDSR_RDY(1));
+
+ /*
+ * In case the interrupt was not served in the required time frame,
+ * check if the ISR was not served or if something went actually wrong.
+ */
+ if (ret && !pending) {
dev_err(nfc->dev, "Timeout waiting for RB signal\n");
return -ETIMEDOUT;
}
--
2.19.1
Commit 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
accidentally broke unwinding from userspace, because ld would strip the
.eh_frame sections when linking.
Originally, the compiler would implicitly add --eh-frame-hdr when
invoking the linker, but when this Makefile was converted from invoking
ld via the compiler, to invoking it directly (like vmlinux does),
the flag was missed. (The EH_FRAME section is important for the VDSO
shared libraries, but not for vmlinux.)
Fix the problem by explicitly specifying --eh-frame-hdr, which restores
parity with the old method.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=201741
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1659295
Reported-by: Florian Weimer <fweimer(a)redhat.com>
Reported-by: Carlos O'Donell <carlos(a)redhat.com>
Reported-by: "H. J. Lu" <hjl.tools(a)gmail.com>
Tested-by: Laura Abbott <labbott(a)redhat.com>
Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
Cc: stable(a)vger.kernel.org
Cc: Andy Lutomirski <luto(a)kernel.org>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Cc: "H. Peter Anvin" <hpa(a)zytor.com>
Cc: X86 ML <x86(a)kernel.org>
Cc: Joel Fernandes <joel(a)joelfernandes.org>
Cc: kernel-team(a)android.com
Signed-off-by: Alistair Strachan <astrachan(a)google.com>
---
v2: Updated commit message, no changes to the code
arch/x86/entry/vdso/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index 141d415a8c80..c3d7ccd25381 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -171,7 +171,8 @@ quiet_cmd_vdso = VDSO $@
sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
VDSO_LDFLAGS = -shared $(call ld-option, --hash-style=both) \
- $(call ld-option, --build-id) -Bsymbolic
+ $(call ld-option, --build-id) $(call ld-option, --eh-frame-hdr) \
+ -Bsymbolic
GCOV_PROFILE := n
#
--
2.20.0.405.gbc1bbc6f85-goog
Commit e1e6255c311b ("mtd: rawnand: omap2: convert driver to
nand_scan()") moved part of the init code in the ->attach_chip hook
and at the same time changed the struct device object passed to
dma_request_chan() (&pdev->dev instead of pdev->dev.parent).
Fixes: e1e6255c311b ("mtd: rawnand: omap2: convert driver to nand_scan()")
Reported-by: Alexander Sverdlin <alexander.sverdlin(a)gmail.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Boris Brezillon <boris.brezillon(a)bootlin.com>
---
Changes in v2:
- Fix the prefix
---
drivers/mtd/nand/raw/omap2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/mtd/nand/raw/omap2.c b/drivers/mtd/nand/raw/omap2.c
index 886d05c391ef..68e8b9f7f372 100644
--- a/drivers/mtd/nand/raw/omap2.c
+++ b/drivers/mtd/nand/raw/omap2.c
@@ -1944,7 +1944,7 @@ static int omap_nand_attach_chip(struct nand_chip *chip)
case NAND_OMAP_PREFETCH_DMA:
dma_cap_zero(mask);
dma_cap_set(DMA_SLAVE, mask);
- info->dma = dma_request_chan(dev, "rxtx");
+ info->dma = dma_request_chan(dev->parent, "rxtx");
if (IS_ERR(info->dma)) {
dev_err(dev, "DMA engine request failed\n");
--
2.17.1
In IEC 61883-1/6 engine of ALSA firewire stack, a packet handler has a
second argument for 'the number of bytes in payload of isochronous
packet'. However, an incoming packet handler without CIP header uses the
value as 'the number of quadlets in the payload'. This brings userspace
applications to receive the number of PCM frames as four times against
real time.
This commit fixes the bug.
Cc: <stable(a)vger.kernel.org> # v4.12+
Fixes: 3b196c394dd ('ALSA: firewire-lib: add no-header packet processing')
Signed-off-by: Takashi Sakamoto <o-takashi(a)sakamocchi.jp>
---
sound/firewire/amdtp-stream.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sound/firewire/amdtp-stream.c b/sound/firewire/amdtp-stream.c
index 9be76c808fcc..3ada55ed5381 100644
--- a/sound/firewire/amdtp-stream.c
+++ b/sound/firewire/amdtp-stream.c
@@ -654,15 +654,17 @@ static int handle_in_packet(struct amdtp_stream *s,
}
static int handle_in_packet_without_header(struct amdtp_stream *s,
- unsigned int payload_quadlets, unsigned int cycle,
+ unsigned int payload_length, unsigned int cycle,
unsigned int index)
{
__be32 *buffer;
+ unsigned int payload_quadlets;
unsigned int data_blocks;
struct snd_pcm_substream *pcm;
unsigned int pcm_frames;
buffer = s->buffer.packets[s->packet_index].buffer;
+ payload_quadlets = payload_length / 4;
data_blocks = payload_quadlets / s->data_block_quadlets;
trace_in_packet_without_header(s, cycle, payload_quadlets, data_blocks,
--
2.19.1
On Fri, Dec 14, 2018 at 11:42:01PM +0100, Thomas Schöbel-Theuer wrote:
> Ah, I overlooked that commit e56c92565dfe2 is already providing a different
> solution to the same problem in newer kernels _only_, as a _side_ effect
> (not clear to me from the description, but clear from reading the code).
Damn, I missed the fact that this is not the upstream kernel:
CPU: 0 PID: 1 UID: 0 Comm: swapper/0 Not tainted 4.4.0-ui18344.004-uiabi1-infong-amd64 #1
> So another alternative would be backporting e56c92565dfe2 to the 4.4 LTS
> series. Also fine for me.
That looks like the right fix.
A note for the next time: do not send a fix for a stable kernel which is
not upstream:
>From Documentation/process/stable-kernel-rules.rst:
" - It or an equivalent fix must already exist in Linus' tree (upstream)."
The stable kernels track upstream so if a stable kernel has a problem,
the first thing one needs to do is to check whether this has been fixed
upstream and if so, to backport it. This is the case most of the time.
In the very seldom cases where a separate fix is needed, it needs to be
handled by asking Greg what to do. :-)
Adding stable@ folks to CC to set me straight if I'm missing something.
--
Regards/Gruss,
Boris.
Good mailing practices for 400: avoid top-posting and trim the reply.
On 12/15/18 2:10 AM, Michael Lyle wrote:
> Coly--
>
> Apologies for the late reply on this. I just noticed it based on Greg's
> comment about stable.
>
> When I wrote the previous "accelerate writeback" patchset, my first
> attempt was very much like this. I believe it was asked (by you?)
> whether it would impact the latency of front-end I/O because of deep
> backing device queues when a new request comes in.
>
> Won't this cause lots of requests to be pending to backing, so if there
> is intermittent front-end I/O they'll have to wait for the device?
> That's why I previous had it set to only complete one writeback at a
> time, to bound the impact on latency-- based on that review feedback.
Hi Mike,
This patch is a much more conservative effort. It sets a high writeback
rate only when all attached bcache device are idled for quite many
seconds. In this situation, the cache set is really quite and spared.
Commit b1092c9af9ed ("bcache: allow quick writeback when backing idle")
just looks at single bcache device. If there are I/Os for other bcache
device on the cache set, and a single bcache device is idle, a faster
writeback rate for this single idle bcache device will happen, I/O to
read dirty data on cache for writeback will have negative impact to I/O
requests of other bcache devices.
Therefore I give up a specific faster writeback, to make sure the
latency of front end I/O in general.
Thanks.
Coly Li
> On Mon, Jul 23, 2018 at 9:03 PM Coly Li <colyli(a)suse.de
> <mailto:colyli@suse.de>> wrote:
>
> Commit b1092c9af9ed ("bcache: allow quick writeback when backing idle")
> allows the writeback rate to be faster if there is no I/O request on a
> bcache device. It works well if there is only one bcache device attached
> to the cache set. If there are many bcache devices attached to a cache
> set, it may introduce performance regression because multiple faster
> writeback threads of the idle bcache devices will compete the btree
> level
> locks with the bcache device who have I/O requests coming.
>
> This patch fixes the above issue by only permitting fast writebac when
> all bcache devices attached on the cache set are idle. And if one of the
> bcache devices has new I/O request coming, minimized all writeback
> throughput immediately and let PI controller __update_writeback_rate()
> to decide the upcoming writeback rate for each bcache device.
>
> Also when all bcache devices are idle, limited wrieback rate to a small
> number is wast of thoughput, especially when backing devices are slower
> non-rotation devices (e.g. SATA SSD). This patch sets a max writeback
> rate for each backing device if the whole cache set is idle. A faster
> writeback rate in idle time means new I/Os may have more available space
> for dirty data, and people may observe a better write performance then.
>
> Please note bcache may change its cache mode in run time, and this patch
> still works if the cache mode is switched from writeback mode and there
> is still dirty data on cache.
>
> Fixes: Commit b1092c9af9ed ("bcache: allow quick writeback when
> backing idle")
> Cc: stable(a)vger.kernel.org <mailto:stable@vger.kernel.org> #4.16+
> Signed-off-by: Coly Li <colyli(a)suse.de <mailto:colyli@suse.de>>
> Tested-by: Kai Krakow <kai(a)kaishome.de <mailto:kai@kaishome.de>>
> Cc: Michael Lyle <mlyle(a)lyle.org <mailto:mlyle@lyle.org>>
> Cc: Stefan Priebe <s.priebe(a)profihost.ag <mailto:s.priebe@profihost.ag>>
> ---
> Channgelog:
> v2, Fix a deadlock reported by Stefan Priebe.
> v1, Initial version.
>
> drivers/md/bcache/bcache.h | 11 ++--
> drivers/md/bcache/request.c | 51 ++++++++++++++-
> drivers/md/bcache/super.c | 1 +
> drivers/md/bcache/sysfs.c | 14 +++--
> drivers/md/bcache/util.c | 2 +-
> drivers/md/bcache/util.h | 2 +-
> drivers/md/bcache/writeback.c | 115 ++++++++++++++++++++++++++--------
> 7 files changed, 155 insertions(+), 41 deletions(-)
>
> diff --git a/drivers/md/bcache/bcache.h b/drivers/md/bcache/bcache.h
> index d6bf294f3907..469ab1a955e0 100644
> --- a/drivers/md/bcache/bcache.h
> +++ b/drivers/md/bcache/bcache.h
> @@ -328,13 +328,6 @@ struct cached_dev {
> */
> atomic_t has_dirty;
>
> - /*
> - * Set to zero by things that touch the backing volume-- except
> - * writeback. Incremented by writeback. Used to determine
> when to
> - * accelerate idle writeback.
> - */
> - atomic_t backing_idle;
> -
> struct bch_ratelimit writeback_rate;
> struct delayed_work writeback_rate_update;
>
> @@ -514,6 +507,8 @@ struct cache_set {
> struct cache_accounting accounting;
>
> unsigned long flags;
> + atomic_t idle_counter;
> + atomic_t at_max_writeback_rate;
>
> struct cache_sb sb;
>
> @@ -523,6 +518,8 @@ struct cache_set {
>
> struct bcache_device **devices;
> unsigned devices_max_used;
> + /* See set_at_max_writeback_rate() for how it is used */
> + unsigned previous_dirty_dc_nr;
> struct list_head cached_devs;
> uint64_t cached_dev_sectors;
> struct closure caching;
> diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
> index ae67f5fa8047..1af3d96abfa5 100644
> --- a/drivers/md/bcache/request.c
> +++ b/drivers/md/bcache/request.c
> @@ -1104,6 +1104,43 @@ static void detached_dev_do_request(struct
> bcache_device *d, struct bio *bio)
>
> /* Cached devices - read & write stuff */
>
> +static void quit_max_writeback_rate(struct cache_set *c,
> + struct cached_dev *this_dc)
> +{
> + int i;
> + struct bcache_device *d;
> + struct cached_dev *dc;
> +
> + /*
> + * If bch_register_lock is acquired by other attach/detach
> operations,
> + * waiting here will increase I/O request latency for
> seconds or more.
> + * To avoid such situation, only writeback rate of current
> cached device
> + * is set to 1, and __update_write_back() will decide
> writeback rate
> + * of other cached devices (remember c->idle_counter is 0 now).
> + */
> + if (mutex_trylock(&bch_register_lock)){
> + for (i = 0; i < c->devices_max_used; i++) {
> + if (!c->devices[i])
> + continue;
> +
> + if (UUID_FLASH_ONLY(&c->uuids[i]))
> + continue;
> +
> + d = c->devices[i];
> + dc = container_of(d, struct cached_dev, disk);
> + /*
> + * set writeback rate to default minimum value,
> + * then let update_writeback_rate() to
> decide the
> + * upcoming rate.
> + */
> + atomic64_set(&dc->writeback_rate.rate, 1);
> + }
> +
> + mutex_unlock(&bch_register_lock);
> + } else
> + atomic64_set(&this_dc->writeback_rate.rate, 1);
> +}
> +
> static blk_qc_t cached_dev_make_request(struct request_queue *q,
> struct bio *bio)
> {
> @@ -1119,7 +1156,19 @@ static blk_qc_t
> cached_dev_make_request(struct request_queue *q,
> return BLK_QC_T_NONE;
> }
>
> - atomic_set(&dc->backing_idle, 0);
> + if (d->c) {
> + atomic_set(&d->c->idle_counter, 0);
> + /*
> + * If at_max_writeback_rate of cache set is true and
> new I/O
> + * comes, quit max writeback rate of all cached devices
> + * attached to this cache set, and set
> at_max_writeback_rate
> + * to false.
> + */
> + if
> (unlikely(atomic_read(&d->c->at_max_writeback_rate) == 1)) {
> + atomic_set(&d->c->at_max_writeback_rate, 0);
> + quit_max_writeback_rate(d->c, dc);
> + }
> + }
> generic_start_io_acct(q, rw, bio_sectors(bio), &d->disk->part0);
>
> bio_set_dev(bio, dc->bdev);
> diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
> index fa4058e43202..fa532d9f9353 100644
> --- a/drivers/md/bcache/super.c
> +++ b/drivers/md/bcache/super.c
> @@ -1687,6 +1687,7 @@ struct cache_set *bch_cache_set_alloc(struct
> cache_sb *sb)
> c->block_bits = ilog2(sb->block_size);
> c->nr_uuids = bucket_bytes(c) / sizeof(struct
> uuid_entry);
> c->devices_max_used = 0;
> + c->previous_dirty_dc_nr = 0;
> c->btree_pages = bucket_pages(c);
> if (c->btree_pages > BTREE_MAX_PAGES)
> c->btree_pages = max_t(int, c->btree_pages / 4,
> diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c
> index 225b15aa0340..d719021bff81 100644
> --- a/drivers/md/bcache/sysfs.c
> +++ b/drivers/md/bcache/sysfs.c
> @@ -170,7 +170,8 @@ SHOW(__bch_cached_dev)
> var_printf(writeback_running, "%i");
> var_print(writeback_delay);
> var_print(writeback_percent);
> - sysfs_hprint(writeback_rate, dc->writeback_rate.rate << 9);
> + sysfs_hprint(writeback_rate,
> + atomic64_read(&dc->writeback_rate.rate) << 9);
> sysfs_hprint(io_errors, atomic_read(&dc->io_errors));
> sysfs_printf(io_error_limit, "%i", dc->error_limit);
> sysfs_printf(io_disable, "%i", dc->io_disable);
> @@ -188,7 +189,8 @@ SHOW(__bch_cached_dev)
> char change[20];
> s64 next_io;
>
> - bch_hprint(rate, dc->writeback_rate.rate << 9);
> + bch_hprint(rate,
> + atomic64_read(&dc->writeback_rate.rate)
> << 9);
> bch_hprint(dirty,
> bcache_dev_sectors_dirty(&dc->disk) << 9);
> bch_hprint(target, dc->writeback_rate_target << 9);
>
> bch_hprint(proportional,dc->writeback_rate_proportional << 9);
> @@ -255,8 +257,12 @@ STORE(__cached_dev)
>
> sysfs_strtoul_clamp(writeback_percent,
> dc->writeback_percent, 0, 40);
>
> - sysfs_strtoul_clamp(writeback_rate,
> - dc->writeback_rate.rate, 1, INT_MAX);
> + if (attr == &sysfs_writeback_rate) {
> + int v;
> +
> + sysfs_strtoul_clamp(writeback_rate, v, 1, INT_MAX);
> + atomic64_set(&dc->writeback_rate.rate, v);
> + }
>
> sysfs_strtoul_clamp(writeback_rate_update_seconds,
> dc->writeback_rate_update_seconds,
> diff --git a/drivers/md/bcache/util.c b/drivers/md/bcache/util.c
> index fc479b026d6d..84f90c3d996d 100644
> --- a/drivers/md/bcache/util.c
> +++ b/drivers/md/bcache/util.c
> @@ -200,7 +200,7 @@ uint64_t bch_next_delay(struct bch_ratelimit *d,
> uint64_t done)
> {
> uint64_t now = local_clock();
>
> - d->next += div_u64(done * NSEC_PER_SEC, d->rate);
> + d->next += div_u64(done * NSEC_PER_SEC,
> atomic64_read(&d->rate));
>
> /* Bound the time. Don't let us fall further than 2 seconds
> behind
> * (this prevents unnecessary backlog that would make it
> impossible
> diff --git a/drivers/md/bcache/util.h b/drivers/md/bcache/util.h
> index cced87f8eb27..7e17f32ab563 100644
> --- a/drivers/md/bcache/util.h
> +++ b/drivers/md/bcache/util.h
> @@ -442,7 +442,7 @@ struct bch_ratelimit {
> * Rate at which we want to do work, in units per second
> * The units here correspond to the units passed to
> bch_next_delay()
> */
> - uint32_t rate;
> + atomic64_t rate;
> };
>
> static inline void bch_ratelimit_reset(struct bch_ratelimit *d)
> diff --git a/drivers/md/bcache/writeback.c
> b/drivers/md/bcache/writeback.c
> index ad45ebe1a74b..11ffadc3cf8f 100644
> --- a/drivers/md/bcache/writeback.c
> +++ b/drivers/md/bcache/writeback.c
> @@ -49,6 +49,80 @@ static uint64_t __calc_target_rate(struct
> cached_dev *dc)
> return (cache_dirty_target * bdev_share) >>
> WRITEBACK_SHARE_SHIFT;
> }
>
> +static bool set_at_max_writeback_rate(struct cache_set *c,
> + struct cached_dev *dc)
> +{
> + int i, dirty_dc_nr = 0;
> + struct bcache_device *d;
> +
> + /*
> + * bch_register_lock is acquired in
> cached_dev_detach_finish() before
> + * calling cancel_writeback_rate_update_dwork() to stop the
> delayed
> + * kworker writeback_rate_update (where the context we are
> for now).
> + * Therefore call mutex_lock() here may introduce deadlock
> when shut
> + * down the bcache device.
> + * c->previous_dirty_dc_nr is used to record previous calculated
> + * dirty_dc_nr when mutex_trylock() last time succeeded. Then if
> + * mutex_trylock() failed here, use c->previous_dirty_dc_nr
> as dirty
> + * cached device number. Of cause it might be inaccurate,
> but a few more
> + * or less loop before setting c->at_max_writeback_rate is
> much better
> + * then a deadlock here.
> + */
> + if (mutex_trylock(&bch_register_lock)) {
> + for (i = 0; i < c->devices_max_used; i++) {
> + if (!c->devices[i])
> + continue;
> + if (UUID_FLASH_ONLY(&c->uuids[i]))
> + continue;
> + d = c->devices[i];
> + dc = container_of(d, struct cached_dev, disk);
> + if (atomic_read(&dc->has_dirty))
> + dirty_dc_nr++;
> + }
> + c->previous_dirty_dc_nr = dirty_dc_nr;
> +
> + mutex_unlock(&bch_register_lock);
> + } else
> + dirty_dc_nr = c->previous_dirty_dc_nr;
> +
> + /*
> + * Idle_counter is increased everytime when
> update_writeback_rate()
> + * is rescheduled in. If all backing devices attached to the
> same
> + * cache set has same dc->writeback_rate_update_seconds
> value, it
> + * is about 10 rounds of update_writeback_rate() is called
> on each
> + * backing device, then the code will fall through at set 1 to
> + * c->at_max_writeback_rate, and a max wrteback rate to each
> + * dc->writeback_rate.rate. This is not very accurate but
> works well
> + * to make sure the whole cache set has no new I/O coming before
> + * writeback rate is set to a max number.
> + */
> + if (atomic_inc_return(&c->idle_counter) < dirty_dc_nr * 10)
> + return false;
> +
> + if (atomic_read(&c->at_max_writeback_rate) != 1)
> + atomic_set(&c->at_max_writeback_rate, 1);
> +
> +
> + atomic64_set(&dc->writeback_rate.rate, INT_MAX);
> +
> + /* keep writeback_rate_target as existing value */
> + dc->writeback_rate_proportional = 0;
> + dc->writeback_rate_integral_scaled = 0;
> + dc->writeback_rate_change = 0;
> +
> + /*
> + * Check c->idle_counter and c->at_max_writeback_rate
> agagain in case
> + * new I/O arrives during before set_at_max_writeback_rate()
> returns.
> + * Then the writeback rate is set to 1, and its new value
> should be
> + * decided via __update_writeback_rate().
> + */
> + if (atomic_read(&c->idle_counter) < dirty_dc_nr * 10 ||
> + !atomic_read(&c->at_max_writeback_rate))
> + return false;
> +
> + return true;
> +}
> +
> static void __update_writeback_rate(struct cached_dev *dc)
> {
> /*
> @@ -104,8 +178,9 @@ static void __update_writeback_rate(struct
> cached_dev *dc)
>
> dc->writeback_rate_proportional = proportional_scaled;
> dc->writeback_rate_integral_scaled = integral_scaled;
> - dc->writeback_rate_change = new_rate - dc->writeback_rate.rate;
> - dc->writeback_rate.rate = new_rate;
> + dc->writeback_rate_change = new_rate -
> + atomic64_read(&dc->writeback_rate.rate);
> + atomic64_set(&dc->writeback_rate.rate, new_rate);
> dc->writeback_rate_target = target;
> }
>
> @@ -138,9 +213,16 @@ static void update_writeback_rate(struct
> work_struct *work)
>
> down_read(&dc->writeback_lock);
>
> - if (atomic_read(&dc->has_dirty) &&
> - dc->writeback_percent)
> - __update_writeback_rate(dc);
> + if (atomic_read(&dc->has_dirty) && dc->writeback_percent) {
> + /*
> + * If the whole cache set is idle,
> set_at_max_writeback_rate()
> + * will set writeback rate to a max number. Then it is
> + * unncessary to update writeback rate for an idle
> cache set
> + * in maximum writeback rate number(s).
> + */
> + if (!set_at_max_writeback_rate(c, dc))
> + __update_writeback_rate(dc);
> + }
>
> up_read(&dc->writeback_lock);
>
> @@ -422,27 +504,6 @@ static void read_dirty(struct cached_dev *dc)
>
> delay = writeback_delay(dc, size);
>
> - /* If the control system would wait for at least half a
> - * second, and there's been no reqs hitting the
> backing disk
> - * for awhile: use an alternate mode where we have
> at most
> - * one contiguous set of writebacks in flight at a
> time. If
> - * someone wants to do IO it will be quick, as it
> will only
> - * have to contend with one operation in flight, and
> we'll
> - * be round-tripping data to the backing disk as
> quickly as
> - * it can accept it.
> - */
> - if (delay >= HZ / 2) {
> - /* 3 means at least 1.5 seconds, up to 7.5 if we
> - * have slowed way down.
> - */
> - if (atomic_inc_return(&dc->backing_idle) >= 3) {
> - /* Wait for current I/Os to finish */
> - closure_sync(&cl);
> - /* And immediately launch a new set. */
> - delay = 0;
> - }
> - }
> -
> while (!kthread_should_stop() &&
> !test_bit(CACHE_SET_IO_DISABLE,
> &dc->disk.c->flags) &&
> delay) {
> @@ -715,7 +776,7 @@ void bch_cached_dev_writeback_init(struct
> cached_dev *dc)
> dc->writeback_running = true;
> dc->writeback_percent = 10;
> dc->writeback_delay = 30;
> - dc->writeback_rate.rate = 1024;
> + atomic64_set(&dc->writeback_rate.rate, 1024);
> dc->writeback_rate_minimum = 8;
>
> dc->writeback_rate_update_seconds =
> WRITEBACK_RATE_UPDATE_SECS_DEFAULT;
> --
> 2.17.1
>
Commit 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
accidentally broke unwinding from userspace, because ld would strip the
.eh_frame sections when linking.
Originally, the compiler would implicitly add --eh-frame-hdr when
invoking the linker, but when this Makefile was converted from invoking
ld via the compiler, to invoking it directly (like vmlinux does),
the flag was missed. (The EH_FRAME section is important for the VDSO
shared libraries, but not for vmlinux.)
Fix the problem by explicitly specifying --eh-frame-hdr, which restores
parity with the old method.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=201741
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1659295
Reported-by: Laura Abbott <labbott(a)redhat.com>
Fixes: 379d98ddf413 ("x86: vdso: Use $LD instead of $CC to link")
Cc: stable(a)vger.kernel.org
Cc: Andy Lutomirski <luto(a)kernel.org>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Cc: "H. Peter Anvin" <hpa(a)zytor.com>
Cc: X86 ML <x86(a)kernel.org>
Cc: Florian Weimer <fweimer(a)redhat.com>,
Cc: Carlos O'Donell <carlos(a)redhat.com>,
Cc: "H. J. Lu" <hjl.tools(a)gmail.com>
Cc: Joel Fernandes <joel(a)joelfernandes.org>
Cc: kernel-team(a)android.com
Signed-off-by: Alistair Strachan <astrachan(a)google.com>
---
arch/x86/entry/vdso/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/x86/entry/vdso/Makefile b/arch/x86/entry/vdso/Makefile
index 141d415a8c80..c3d7ccd25381 100644
--- a/arch/x86/entry/vdso/Makefile
+++ b/arch/x86/entry/vdso/Makefile
@@ -171,7 +171,8 @@ quiet_cmd_vdso = VDSO $@
sh $(srctree)/$(src)/checkundef.sh '$(NM)' '$@'
VDSO_LDFLAGS = -shared $(call ld-option, --hash-style=both) \
- $(call ld-option, --build-id) -Bsymbolic
+ $(call ld-option, --build-id) $(call ld-option, --eh-frame-hdr) \
+ -Bsymbolic
GCOV_PROFILE := n
#
--
2.20.0.405.gbc1bbc6f85-goog
From: Thierry Reding <treding(a)nvidia.com>
Subject: scripts/spdxcheck.py: always open files in binary mode
The spdxcheck script currently falls over when confronted with a binary
file (such as Documentation/logo.gif). To avoid that, always open files
in binary mode and decode line-by-line, ignoring encoding errors.
One tricky case is when piping data into the script and reading it from
standard input. By default, standard input will be opened in text mode,
so we need to reopen it in binary mode.
The breakage only happens with python3 and results in a
UnicodeDecodeError (according to Uwe).
Link: http://lkml.kernel.org/r/20181212131210.28024-1-thierry.reding@gmail.com
Fixes: 6f4d29df66ac ("scripts/spdxcheck.py: make python3 compliant")
Signed-off-by: Thierry Reding <treding(a)nvidia.com>
Reviewed-by: Jeremy Cline <jcline(a)redhat.com>
Cc: Thomas Gleixner <tglx(a)linutronix.de>
Cc: Jonathan Corbet <corbet(a)lwn.net>
Cc: Joe Perches <joe(a)perches.com>
Cc: Uwe Kleine-König <u.kleine-koenig(a)pengutronix.de>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
scripts/spdxcheck.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--- a/scripts/spdxcheck.py~scripts-spdxcheckpy-always-open-files-in-binary-mode
+++ a/scripts/spdxcheck.py
@@ -168,6 +168,7 @@ class id_parser(object):
self.curline = 0
try:
for line in fd:
+ line = line.decode(locale.getpreferredencoding(False), errors='ignore')
self.curline += 1
if self.curline > maxlines:
break
@@ -249,12 +250,13 @@ if __name__ == '__main__':
try:
if len(args.path) and args.path[0] == '-':
- parser.parse_lines(sys.stdin, args.maxlines, '-')
+ stdin = os.fdopen(sys.stdin.fileno(), 'rb')
+ parser.parse_lines(stdin, args.maxlines, '-')
else:
if args.path:
for p in args.path:
if os.path.isfile(p):
- parser.parse_lines(open(p), args.maxlines, p)
+ parser.parse_lines(open(p, 'rb'), args.maxlines, p)
elif os.path.isdir(p):
scan_git_subtree(repo.head.reference.commit.tree, p)
else:
_
From: Andrea Arcangeli <aarcange(a)redhat.com>
Subject: userfaultfd: check VM_MAYWRITE was set after verifying the uffd is registered
Calling UFFDIO_UNREGISTER on virtual ranges not yet registered in uffd
could trigger an harmless false positive WARN_ON. Check the vma is
already registered before checking VM_MAYWRITE to shut off the false
positive warning.
Link: http://lkml.kernel.org/r/20181206212028.18726-2-aarcange@redhat.com
Cc: <stable(a)vger.kernel.org>
Fixes: 29ec90660d68 ("userfaultfd: shmem/hugetlbfs: only allow to register VM_MAYWRITE vmas")
Signed-off-by: Andrea Arcangeli <aarcange(a)redhat.com>
Reported-by: syzbot+06c7092e7d71218a2c16(a)syzkaller.appspotmail.com
Acked-by: Mike Rapoport <rppt(a)linux.ibm.com>
Acked-by: Hugh Dickins <hughd(a)google.com>
Acked-by: Peter Xu <peterx(a)redhat.com>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/userfaultfd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
--- a/fs/userfaultfd.c~userfaultfd-check-vm_maywrite-was-set-after-verifying-the-uffd-is-registered
+++ a/fs/userfaultfd.c
@@ -1566,7 +1566,6 @@ 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
@@ -1575,6 +1574,8 @@ static int userfaultfd_unregister(struct
if (!vma->vm_userfaultfd_ctx.ctx)
goto skip;
+ WARN_ON(!(vma->vm_flags & VM_MAYWRITE));
+
if (vma->vm_start > start)
start = vma->vm_start;
vma_end = min(end, vma->vm_end);
_
From: Piotr Jaroszynski <pjaroszynski(a)nvidia.com>
Subject: fs/iomap.c: get/put the page in iomap_page_create/release()
migrate_page_move_mapping() expects pages with private data set to have a
page_count elevated by 1. This is what used to happen for xfs through the
buffer_heads code before the switch to iomap in commit 82cb14175e7d ("xfs:
add support for sub-pagesize writeback without buffer_heads"). Not having
the count elevated causes move_pages() to fail on memory mapped files
coming from xfs.
Make iomap compatible with the migrate_page_move_mapping() assumption by
elevating the page count as part of iomap_page_create() and lowering it in
iomap_page_release().
It causes the move_pages() syscall to misbehave on memory mapped files
from xfs. It does not not move any pages, which I suppose is "just" a
perf issue, but it also ends up returning a positive number which is
out of spec for the syscall. Talking to Michal Hocko, it sounds like
returning positive numbers might be a necessary update to move_pages()
anyway though
(https://lkml.kernel.org/r/20181116114955.GJ14706@dhcp22.suse.cz).
I only hit this in tests that verify that move_pages() actually moved
the pages. The test also got confused by the positive return from
move_pages() (it got treated as a success as positive numbers were not
expected and not handled) making it a bit harder to track down what's
going on.
Link: http://lkml.kernel.org/r/20181115184140.1388751-1-pjaroszynski@nvidia.com
Fixes: 82cb14175e7d ("xfs: add support for sub-pagesize writeback without buffer_heads")
Signed-off-by: Piotr Jaroszynski <pjaroszynski(a)nvidia.com>
Reviewed-by: Christoph Hellwig <hch(a)lst.de>
Cc: William Kucharski <william.kucharski(a)oracle.com>
Cc: Darrick J. Wong <darrick.wong(a)oracle.com>
Cc: Brian Foster <bfoster(a)redhat.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
fs/iomap.c | 7 +++++++
1 file changed, 7 insertions(+)
--- a/fs/iomap.c~iomap-get-put-the-page-in-iomap_page_create-release
+++ a/fs/iomap.c
@@ -116,6 +116,12 @@ iomap_page_create(struct inode *inode, s
atomic_set(&iop->read_count, 0);
atomic_set(&iop->write_count, 0);
bitmap_zero(iop->uptodate, PAGE_SIZE / SECTOR_SIZE);
+
+ /*
+ * migrate_page_move_mapping() assumes that pages with private data have
+ * their count elevated by 1.
+ */
+ get_page(page);
set_page_private(page, (unsigned long)iop);
SetPagePrivate(page);
return iop;
@@ -132,6 +138,7 @@ iomap_page_release(struct page *page)
WARN_ON_ONCE(atomic_read(&iop->write_count));
ClearPagePrivate(page);
set_page_private(page, 0);
+ put_page(page);
kfree(iop);
}
_
The nr_dentry_unused per-cpu counter tracks dentries in both the
LRU lists and the shrink lists where the DCACHE_LRU_LIST bit is set.
The shrink_dcache_sb() function moves dentries from the LRU list to a
shrink list and subtracts the dentry count from nr_dentry_unused. This
is incorrect as the nr_dentry_unused count Will also be decremented in
shrink_dentry_list() via d_shrink_del(). To fix this double decrement,
the decrement in the shrink_dcache_sb() function is taken out.
Fixes: 4e717f5c1083 ("list_lru: remove special case function list_lru_dispose_all."
Cc: stable(a)vger.kernel.org
Signed-off-by: Waiman Long <longman(a)redhat.com>
Reviewed-by: Dave Chinner <dchinner(a)redhat.com>
---
fs/dcache.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/fs/dcache.c b/fs/dcache.c
index 2593153..44e5652 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1188,15 +1188,11 @@ static enum lru_status dentry_lru_isolate_shrink(struct list_head *item,
*/
void shrink_dcache_sb(struct super_block *sb)
{
- long freed;
-
do {
LIST_HEAD(dispose);
- freed = list_lru_walk(&sb->s_dentry_lru,
+ list_lru_walk(&sb->s_dentry_lru,
dentry_lru_isolate_shrink, &dispose, 1024);
-
- this_cpu_sub(nr_dentry_unused, freed);
shrink_dentry_list(&dispose);
} while (list_lru_count(&sb->s_dentry_lru) > 0);
}
--
1.8.3.1
From: Shuah Khan <shuah(a)kernel.org>
Commit b2d35fa5fc80 ("selftests: add headers_install to lib.mk") added
khdr target to run headers_install target from the main Makefile. The
logic uses KSFT_KHDR_INSTALL and top_srcdir as controls to initialize
variables and include files to run headers_install from the top level
Makefile. There are a few problems with this logic.
1. Exposes top_srcdir to all tests
2. Common logic impacts all tests
3. Uses KSFT_KHDR_INSTALL, top_srcdir, and khdr in an adhoc way. Tests
add "khdr" dependency in their Makefiles to TEST_PROGS_EXTENDED in
some cases, and STATIC_LIBS in other cases. This makes this framework
confusing to use.
The common logic that runs for all tests even when KSFT_KHDR_INSTALL
isn't defined by the test. top_srcdir is initialized to a default value
when test doesn't initialize it. It works for all tests without a sub-dir
structure and tests with sub-dir structure fail to build.
e.g: make -C sparc64/drivers/ or make -C drivers/dma-buf
../../lib.mk:20: ../../../../scripts/subarch.include: No such file or directory
make: *** No rule to make target '../../../../scripts/subarch.include'. Stop.
There is no reason to require all tests to define top_srcdir and there is
no need to require tests to add khdr dependency using adhoc changes to
TEST_* and other variables.
Fix it with a consistent use of KSFT_KHDR_INSTALL and top_srcdir from tests
that have the dependency on headers_install.
Change common logic to include khdr target define and "all" target with
dependency on khdr when KSFT_KHDR_INSTALL is defined.
Only tests that have dependency on headers_install have to define just
the KSFT_KHDR_INSTALL, and top_srcdir variables and there is no need to
specify khdr dependency in the test Makefiles.
Fixes: b2d35fa5fc80 ("selftests: add headers_install to lib.mk")
Cc: stable(a)vger.kernel.org
Signed-off-by: Shuah Khan <shuah(a)kernel.org>
---
tools/testing/selftests/android/Makefile | 2 +-
tools/testing/selftests/futex/functional/Makefile | 1 +
tools/testing/selftests/gpio/Makefile | 6 +++---
tools/testing/selftests/kvm/Makefile | 2 +-
tools/testing/selftests/lib.mk | 8 ++++----
tools/testing/selftests/networking/timestamping/Makefile | 1 +
tools/testing/selftests/tc-testing/bpf/Makefile | 1 +
tools/testing/selftests/vm/Makefile | 1 +
8 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/tools/testing/selftests/android/Makefile b/tools/testing/selftests/android/Makefile
index d9a725478375..72c25a3cb658 100644
--- a/tools/testing/selftests/android/Makefile
+++ b/tools/testing/selftests/android/Makefile
@@ -6,7 +6,7 @@ TEST_PROGS := run.sh
include ../lib.mk
-all: khdr
+all:
@for DIR in $(SUBDIRS); do \
BUILD_TARGET=$(OUTPUT)/$$DIR; \
mkdir $$BUILD_TARGET -p; \
diff --git a/tools/testing/selftests/futex/functional/Makefile b/tools/testing/selftests/futex/functional/Makefile
index ad1eeb14fda7..30996306cabc 100644
--- a/tools/testing/selftests/futex/functional/Makefile
+++ b/tools/testing/selftests/futex/functional/Makefile
@@ -19,6 +19,7 @@ TEST_GEN_FILES := \
TEST_PROGS := run.sh
top_srcdir = ../../../../..
+KSFT_KHDR_INSTALL := 1
include ../../lib.mk
$(TEST_GEN_FILES): $(HEADERS)
diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
index 46648427d537..07f572a1bd3f 100644
--- a/tools/testing/selftests/gpio/Makefile
+++ b/tools/testing/selftests/gpio/Makefile
@@ -10,8 +10,6 @@ TEST_PROGS_EXTENDED := gpio-mockup-chardev
GPIODIR := $(realpath ../../../gpio)
GPIOOBJ := gpio-utils.o
-include ../lib.mk
-
all: $(TEST_PROGS_EXTENDED)
override define CLEAN
@@ -19,7 +17,9 @@ override define CLEAN
$(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
endef
-$(TEST_PROGS_EXTENDED):| khdr
+KSFT_KHDR_INSTALL := 1
+include ../lib.mk
+
$(TEST_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
$(GPIODIR)/$(GPIOOBJ):
diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
index 01a219229238..52bfe5e76907 100644
--- a/tools/testing/selftests/kvm/Makefile
+++ b/tools/testing/selftests/kvm/Makefile
@@ -1,6 +1,7 @@
all:
top_srcdir = ../../../..
+KSFT_KHDR_INSTALL := 1
UNAME_M := $(shell uname -m)
LIBKVM = lib/assert.c lib/elf.c lib/io.c lib/kvm_util.c lib/ucall.c lib/sparsebit.c
@@ -44,7 +45,6 @@ $(OUTPUT)/libkvm.a: $(LIBKVM_OBJ)
all: $(STATIC_LIBS)
$(TEST_GEN_PROGS): $(STATIC_LIBS)
-$(STATIC_LIBS):| khdr
cscope: include_paths = $(LINUX_TOOL_INCLUDE) $(LINUX_HDR_PATH) include lib ..
cscope:
diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 0a8e75886224..8b0f16409ed7 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -16,18 +16,18 @@ TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
TEST_GEN_PROGS_EXTENDED := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS_EXTENDED))
TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))
+ifdef KSFT_KHDR_INSTALL
top_srcdir ?= ../../../..
include $(top_srcdir)/scripts/subarch.include
ARCH ?= $(SUBARCH)
-all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
-
.PHONY: khdr
khdr:
make ARCH=$(ARCH) -C $(top_srcdir) headers_install
-ifdef KSFT_KHDR_INSTALL
-$(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES):| khdr
+all: khdr $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
+else
+all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
endif
.ONESHELL:
diff --git a/tools/testing/selftests/networking/timestamping/Makefile b/tools/testing/selftests/networking/timestamping/Makefile
index 14cfcf006936..c46c0eefab9e 100644
--- a/tools/testing/selftests/networking/timestamping/Makefile
+++ b/tools/testing/selftests/networking/timestamping/Makefile
@@ -6,6 +6,7 @@ TEST_PROGS := hwtstamp_config rxtimestamp timestamping txtimestamp
all: $(TEST_PROGS)
top_srcdir = ../../../../..
+KSFT_KHDR_INSTALL := 1
include ../../lib.mk
clean:
diff --git a/tools/testing/selftests/tc-testing/bpf/Makefile b/tools/testing/selftests/tc-testing/bpf/Makefile
index dc92eb271d9a..be5a5e542804 100644
--- a/tools/testing/selftests/tc-testing/bpf/Makefile
+++ b/tools/testing/selftests/tc-testing/bpf/Makefile
@@ -4,6 +4,7 @@ APIDIR := ../../../../include/uapi
TEST_GEN_FILES = action.o
top_srcdir = ../../../../..
+KSFT_KHDR_INSTALL := 1
include ../../lib.mk
CLANG ?= clang
diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile
index 6e67e726e5a5..e13eb6cc8901 100644
--- a/tools/testing/selftests/vm/Makefile
+++ b/tools/testing/selftests/vm/Makefile
@@ -25,6 +25,7 @@ TEST_GEN_FILES += virtual_address_range
TEST_PROGS := run_vmtests
+KSFT_KHDR_INSTALL := 1
include ../lib.mk
$(OUTPUT)/userfaultfd: LDLIBS += -lpthread
--
2.17.1
On Fri, Dec 14, 2018 at 06:29:54AM -0800, Eric Dumazet wrote:
> On Fri, Dec 14, 2018 at 6:26 AM Greg Kroah-Hartman <
> gregkh(a)linuxfoundation.org> wrote:
>
> > On Fri, Dec 14, 2018 at 02:03:55PM +0000, Sudip Mukherjee wrote:
> > > Hi Greg,
> > >
> > > On Fri, Dec 14, 2018 at 12:08 PM Greg Kroah-Hartman
> > > <gregkh(a)linuxfoundation.org> wrote:
> > > >
> > > > 4.14-stable review patch. If anyone has any objections, please let me
> > know.
> > > >
> > > > ------------------
> > > >
> > > > From: Eric Dumazet <edumazet(a)google.com>
> > > >
> > > > [ Upstream commit 41727549de3e7281feb174d568c6e46823db8684 ]
> > >
> > > There is one upstream commit which fixes this one.
> > > f9bfe4e6a9d0 ("tcp: lack of available data can also cause TSO defer")
> >
> > I can take this if Eric and/or David ack it :)
> >
> >
> I ack it, I guess David had this queued already.
>
> No big deal, that is only for tcp_info instrumentation accuracy.
If this is already queued for the next round of stable patches, and it's
not a major issue, I'll just wait and take it when it shows up in a week
or so.
thanks,
greg k-h
ASIDs have always been stored as unsigned longs, ie. 32 bits on MIPS32
kernels. This is problematic because it is feasible for the ASID version
to overflow & wrap around to zero.
We currently attempt to handle this overflow by simply setting the ASID
version to 1, using asid_first_version(), but we make no attempt to
account for the fact that there may be mm_structs with stale ASIDs that
have versions which we now reuse due to the overflow & wrap around.
Encountering this requires that:
1) A struct mm_struct X is active on CPU A using ASID (V,n).
2) That mm is not used on CPU A for the length of time that it takes
for CPU A's asid_cache to overflow & wrap around to the same
version V that the mm had in step 1. During this time tasks using
the mm could either be sleeping or only scheduled on other CPUs.
3) Some other mm Y becomes active on CPU A and is allocated the same
ASID (V,n).
4) mm X now becomes active on CPU A again, and now incorrectly has the
same ASID as mm Y.
Where struct mm_struct ASIDs are represented above in the format
(version, EntryHi.ASID), and on a typical MIPS32 system version will be
24 bits wide & EntryHi.ASID will be 8 bits wide.
The length of time required in step 2 is highly dependent upon the CPU &
workload, but for a hypothetical 2GHz CPU running a workload which
generates a new ASID every 10000 cycles this period is around 248 days.
Due to this long period of time & the fact that tasks need to be
scheduled in just the right (or wrong, depending upon your inclination)
way, this is obviously a difficult bug to encounter but it's entirely
possible as evidenced by reports.
In order to fix this, simply extend ASIDs to 64 bits even on MIPS32
builds. This will extend the period of time required for the
hypothetical system above to encounter the problem from 28 days to
around 3 trillion years, which feels safely outside of the realms of
possibility.
The cost of this is slightly more generated code in some commonly
executed paths, but this is pretty minimal:
| Code Size Gain | Percentage
-----------------------|----------------|-------------
decstation_defconfig | +270 | +0.00%
32r2el_defconfig | +652 | +0.01%
32r6el_defconfig | +1000 | +0.01%
I have been unable to measure any change in performance of the LMbench
lat_ctx or lat_proc tests resulting from the 64b ASIDs on either
32r2el_defconfig+interAptiv or 32r6el_defconfig+I6500 systems.
Signed-off-by: Paul Burton <paul.burton(a)mips.com>
Suggested-by: James Hogan <jhogan(a)kernel.org>
References: https://lore.kernel.org/linux-mips/80B78A8B8FEE6145A87579E8435D78C30205D5F3…
References: https://lore.kernel.org/linux-mips/1488684260-18867-1-git-send-email-jiwei.…
Cc: Jiwei Sun <jiwei.sun(a)windriver.com>
Cc: Yu Huabing <yhb(a)ruijie.com.cn>
Cc: stable(a)vger.kernel.org # 2.6.12+
---
arch/mips/include/asm/cpu-info.h | 2 +-
arch/mips/include/asm/mmu.h | 2 +-
arch/mips/include/asm/mmu_context.h | 8 ++++----
arch/mips/mm/c-r3k.c | 2 +-
4 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/mips/include/asm/cpu-info.h b/arch/mips/include/asm/cpu-info.h
index a41059d47d31..ed7ffe4e63a3 100644
--- a/arch/mips/include/asm/cpu-info.h
+++ b/arch/mips/include/asm/cpu-info.h
@@ -50,7 +50,7 @@ struct guest_info {
#define MIPS_CACHE_PINDEX 0x00000020 /* Physically indexed cache */
struct cpuinfo_mips {
- unsigned long asid_cache;
+ u64 asid_cache;
#ifdef CONFIG_MIPS_ASID_BITS_VARIABLE
unsigned long asid_mask;
#endif
diff --git a/arch/mips/include/asm/mmu.h b/arch/mips/include/asm/mmu.h
index 0740be7d5d4a..24d6b42345fb 100644
--- a/arch/mips/include/asm/mmu.h
+++ b/arch/mips/include/asm/mmu.h
@@ -7,7 +7,7 @@
#include <linux/wait.h>
typedef struct {
- unsigned long asid[NR_CPUS];
+ u64 asid[NR_CPUS];
void *vdso;
atomic_t fp_mode_switching;
diff --git a/arch/mips/include/asm/mmu_context.h b/arch/mips/include/asm/mmu_context.h
index 94414561de0e..fd869d538a3c 100644
--- a/arch/mips/include/asm/mmu_context.h
+++ b/arch/mips/include/asm/mmu_context.h
@@ -76,14 +76,14 @@ extern unsigned long pgd_current[];
* All unused by hardware upper bits will be considered
* as a software asid extension.
*/
-static unsigned long asid_version_mask(unsigned int cpu)
+static u64 asid_version_mask(unsigned int cpu)
{
unsigned long asid_mask = cpu_asid_mask(&cpu_data[cpu]);
- return ~(asid_mask | (asid_mask - 1));
+ return ~(u64)(asid_mask | (asid_mask - 1));
}
-static unsigned long asid_first_version(unsigned int cpu)
+static u64 asid_first_version(unsigned int cpu)
{
return ~asid_version_mask(cpu) + 1;
}
@@ -102,7 +102,7 @@ static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk)
static inline void
get_new_mmu_context(struct mm_struct *mm, unsigned long cpu)
{
- unsigned long asid = asid_cache(cpu);
+ u64 asid = asid_cache(cpu);
if (!((asid += cpu_asid_inc()) & cpu_asid_mask(&cpu_data[cpu]))) {
if (cpu_has_vtag_icache)
diff --git a/arch/mips/mm/c-r3k.c b/arch/mips/mm/c-r3k.c
index 3466fcdae0ca..01848cdf2074 100644
--- a/arch/mips/mm/c-r3k.c
+++ b/arch/mips/mm/c-r3k.c
@@ -245,7 +245,7 @@ static void r3k_flush_cache_page(struct vm_area_struct *vma,
pmd_t *pmdp;
pte_t *ptep;
- pr_debug("cpage[%08lx,%08lx]\n",
+ pr_debug("cpage[%08llx,%08lx]\n",
cpu_context(smp_processor_id(), mm), addr);
/* No ASID => no such page in the cache. */
--
2.19.1
The patch titled
Subject: proc/sysctl: don't return ENOMEM on lookup when a table is unregistering
has been added to the -mm tree. Its filename is
proc-sysctl-dont-return-enomem-on-lookup-when-a-table-is-unregistering.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/proc-sysctl-dont-return-enomem-on-…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/proc-sysctl-dont-return-enomem-on-…
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: Ivan Delalande <colona(a)arista.com>
Subject: proc/sysctl: don't return ENOMEM on lookup when a table is unregistering
proc_sys_lookup can fail with ENOMEM instead of ENOENT when the
corresponding sysctl table is being unregistered. In our case we see this
upon opening /proc/sys/net/*/conf files while network interfaces are being
deleted, which confuses our configuration daemon.
The problem was successfully reproduced and this fix tested on v4.9.122
and v4.20-rc6.
Link: http://lkml.kernel.org/r/20181213232052.GA1513@visor
Fixes: ace0c791e6c3 ("proc/sysctl: Don't grab i_lock under sysctl_lock.")
Signed-off-by: Ivan Delalande <colona(a)arista.com>
Reviewed-by: Andrew Morton <akpm(a)linux-foundation.org>
Cc: Luis Chamberlain <mcgrof(a)kernel.org>
Cc: Kees Cook <keescook(a)chromium.org>
Cc: Al Viro <viro(a)zeniv.linux.org.uk>
Cc: "Eric W. Biederman" <ebiederm(a)xmission.com>
Cc: Alexey Dobriyan <adobriyan(a)gmail.com>
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/fs/proc/proc_sysctl.c~proc-sysctl-dont-return-enomem-on-lookup-when-a-table-is-unregistering
+++ a/fs/proc/proc_sysctl.c
@@ -464,7 +464,7 @@ static struct inode *proc_sys_make_inode
inode = new_inode(sb);
if (!inode)
- goto out;
+ return ERR_PTR(-ENOMEM);
inode->i_ino = get_next_ino();
@@ -474,7 +474,7 @@ static struct inode *proc_sys_make_inode
if (unlikely(head->unregistering)) {
spin_unlock(&sysctl_lock);
iput(inode);
- inode = NULL;
+ inode = ERR_PTR(-ENOENT);
goto out;
}
ei->sysctl = head;
@@ -549,10 +549,11 @@ static struct dentry *proc_sys_lookup(st
goto out;
}
- err = ERR_PTR(-ENOMEM);
inode = proc_sys_make_inode(dir->i_sb, h ? h : head, p);
- if (!inode)
+ if (IS_ERR(inode)) {
+ err = ERR_CAST(inode);
goto out;
+ }
d_set_d_op(dentry, &proc_sys_dentry_operations);
err = d_splice_alias(inode, dentry);
@@ -685,7 +686,7 @@ static bool proc_sys_fill_cache(struct f
if (d_in_lookup(child)) {
struct dentry *res;
inode = proc_sys_make_inode(dir->d_sb, head, table);
- if (!inode) {
+ if (IS_ERR(inode)) {
d_lookup_done(child);
dput(child);
return false;
_
Patches currently in -mm which might be from colona(a)arista.com are
proc-sysctl-dont-return-enomem-on-lookup-when-a-table-is-unregistering.patch
The 'nr_pages' attribute of the 'msc' subdevices parses a comma-separated
list of window sizes, passed from userspace. However, there is a bug in
the string parsing logic wherein it doesn't exclude the comma character
from the range of characters as it consumes them. This leads to an
out-of-bounds access given a sufficiently long list. For example:
> # echo 8,8,8,8 > /sys/bus/intel_th/devices/0-msc0/nr_pages
> ==================================================================
> BUG: KASAN: slab-out-of-bounds in memchr+0x1e/0x40
> Read of size 1 at addr ffff8803ffcebcd1 by task sh/825
>
> CPU: 3 PID: 825 Comm: npktest.sh Tainted: G W 4.20.0-rc1+
> Call Trace:
> dump_stack+0x7c/0xc0
> print_address_description+0x6c/0x23c
> ? memchr+0x1e/0x40
> kasan_report.cold.5+0x241/0x308
> memchr+0x1e/0x40
> nr_pages_store+0x203/0xd00 [intel_th_msu]
Fix this by accounting for the comma character.
Signed-off-by: Alexander Shishkin <alexander.shishkin(a)linux.intel.com>
Fixes: ba82664c134ef ("intel_th: Add Memory Storage Unit driver")
Cc: stable(a)vger.kernel.org # v4.4+
---
drivers/hwtracing/intel_th/msu.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/hwtracing/intel_th/msu.c b/drivers/hwtracing/intel_th/msu.c
index d293e55553bd..ba7aaf421f36 100644
--- a/drivers/hwtracing/intel_th/msu.c
+++ b/drivers/hwtracing/intel_th/msu.c
@@ -1423,7 +1423,8 @@ nr_pages_store(struct device *dev, struct device_attribute *attr,
if (!end)
break;
- len -= end - p;
+ /* consume the number and the following comma, hence +1 */
+ len -= end - p + 1;
p = end + 1;
} while (len);
--
2.19.2
If CONFIG_GPOILIB is not set, the stub of gpio_to_desc() should return
the same type of error as regular version: NULL. All the callers
compare the return value of gpio_to_desc() against NULL, so returned
ERR_PTR would be treated as non-error case leading to dereferencing of
error value.
Fixes: 79a9becda894 ("gpiolib: export descriptor-based GPIO interface")
Cc: <stable(a)vger.kernel.org>
Signed-off-by: Krzysztof Kozlowski <krzk(a)kernel.org>
---
include/linux/gpio/consumer.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/linux/gpio/consumer.h b/include/linux/gpio/consumer.h
index ed070512b40e..3b01fbcafc94 100644
--- a/include/linux/gpio/consumer.h
+++ b/include/linux/gpio/consumer.h
@@ -505,7 +505,7 @@ static inline int gpiod_set_consumer_name(struct gpio_desc *desc,
static inline struct gpio_desc *gpio_to_desc(unsigned gpio)
{
- return ERR_PTR(-EINVAL);
+ return NULL;
}
static inline int desc_to_gpio(const struct gpio_desc *desc)
--
2.7.4
To change the active state of an MMIO, halt is requested for all vcpus of
the affected guest before modifying the IRQ state. This is done by calling
cond_resched_lock() in vgic_mmio_change_active(). However interrupts are
disabled at this point and we cannot reschedule a vcpu.
Solve this by waiting for all vcpus to be halted after emmiting the halt
request.
Signed-off-by: Julien Thierry <julien.thierry(a)arm.com>
Suggested-by: Marc Zyngier <marc.zyngier(a)arm.com>
Cc: Christoffer Dall <christoffer.dall(a)arm.com>
Cc: Marc Zyngier <marc.zyngier(a)arm.com>
Cc: stable(a)vger.kernel.org
---
virt/kvm/arm/vgic/vgic-mmio.c | 36 ++++++++++++++----------------------
1 file changed, 14 insertions(+), 22 deletions(-)
diff --git a/virt/kvm/arm/vgic/vgic-mmio.c b/virt/kvm/arm/vgic/vgic-mmio.c
index f56ff1c..5c76a92 100644
--- a/virt/kvm/arm/vgic/vgic-mmio.c
+++ b/virt/kvm/arm/vgic/vgic-mmio.c
@@ -313,27 +313,6 @@ static void vgic_mmio_change_active(struct kvm_vcpu *vcpu, struct vgic_irq *irq,
spin_lock_irqsave(&irq->irq_lock, flags);
- /*
- * If this virtual IRQ was written into a list register, we
- * have to make sure the CPU that runs the VCPU thread has
- * synced back the LR state to the struct vgic_irq.
- *
- * As long as the conditions below are true, we know the VCPU thread
- * may be on its way back from the guest (we kicked the VCPU thread in
- * vgic_change_active_prepare) and still has to sync back this IRQ,
- * so we release and re-acquire the spin_lock to let the other thread
- * sync back the IRQ.
- *
- * When accessing VGIC state from user space, requester_vcpu is
- * NULL, which is fine, because we guarantee that no VCPUs are running
- * when accessing VGIC state from user space so irq->vcpu->cpu is
- * always -1.
- */
- while (irq->vcpu && /* IRQ may have state in an LR somewhere */
- irq->vcpu != requester_vcpu && /* Current thread is not the VCPU thread */
- irq->vcpu->cpu != -1) /* VCPU thread is running */
- cond_resched_lock(&irq->irq_lock);
-
if (irq->hw) {
vgic_hw_irq_change_active(vcpu, irq, active, !requester_vcpu);
} else {
@@ -368,8 +347,21 @@ static void vgic_mmio_change_active(struct kvm_vcpu *vcpu, struct vgic_irq *irq,
*/
static void vgic_change_active_prepare(struct kvm_vcpu *vcpu, u32 intid)
{
- if (intid > VGIC_NR_PRIVATE_IRQS)
+ if (intid > VGIC_NR_PRIVATE_IRQS) {
+ struct kvm_vcpu *tmp;
+ int i;
+
kvm_arm_halt_guest(vcpu->kvm);
+
+ /* Wait for each vcpu to be halted */
+ kvm_for_each_vcpu(i, tmp, vcpu->kvm) {
+ if (tmp == vcpu)
+ continue;
+
+ while (tmp->cpu != -1)
+ cond_resched();
+ }
+ }
}
/* See vgic_change_active_prepare */
--
1.9.1
The code to prevent a bus suspend if a USB3 port was still in link training
also reacted to USB2 port polling state.
This caused bus suspend to busyloop in some cases.
USB2 polling state is different from USB3, and should not prevent bus
suspend.
Limit the USB3 link training state check to USB3 root hub ports only.
The origial commit went to stable so this need to be applied there as well
Fixes: 2f31a67f01a8 ("usb: xhci: Prevent bus suspend if a port connect change or polling state is detected")
Cc: stable(a)vger.kernel.org
Signed-off-by: Mathias Nyman <mathias.nyman(a)linux.intel.com>
---
drivers/usb/host/xhci-hub.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/usb/host/xhci-hub.c b/drivers/usb/host/xhci-hub.c
index 94aca1b..01b5818 100644
--- a/drivers/usb/host/xhci-hub.c
+++ b/drivers/usb/host/xhci-hub.c
@@ -1507,7 +1507,8 @@ int xhci_bus_suspend(struct usb_hcd *hcd)
portsc_buf[port_index] = 0;
/* Bail out if a USB3 port has a new device in link training */
- if ((t1 & PORT_PLS_MASK) == XDEV_POLLING) {
+ if ((hcd->speed >= HCD_USB3) &&
+ (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");
--
2.7.4
From: Michal Hocko <mhocko(a)suse.com>
Liu Bo has experienced a deadlock between memcg (legacy) reclaim and the
ext4 writeback
task1:
[<ffffffff811aaa52>] wait_on_page_bit+0x82/0xa0
[<ffffffff811c5777>] shrink_page_list+0x907/0x960
[<ffffffff811c6027>] shrink_inactive_list+0x2c7/0x680
[<ffffffff811c6ba4>] shrink_node_memcg+0x404/0x830
[<ffffffff811c70a8>] shrink_node+0xd8/0x300
[<ffffffff811c73dd>] do_try_to_free_pages+0x10d/0x330
[<ffffffff811c7865>] try_to_free_mem_cgroup_pages+0xd5/0x1b0
[<ffffffff8122df2d>] try_charge+0x14d/0x720
[<ffffffff812320cc>] memcg_kmem_charge_memcg+0x3c/0xa0
[<ffffffff812321ae>] memcg_kmem_charge+0x7e/0xd0
[<ffffffff811b68a8>] __alloc_pages_nodemask+0x178/0x260
[<ffffffff8120bff5>] alloc_pages_current+0x95/0x140
[<ffffffff81074247>] pte_alloc_one+0x17/0x40
[<ffffffff811e34de>] __pte_alloc+0x1e/0x110
[<ffffffffa06739de>] alloc_set_pte+0x5fe/0xc20
[<ffffffff811e5d93>] do_fault+0x103/0x970
[<ffffffff811e6e5e>] handle_mm_fault+0x61e/0xd10
[<ffffffff8106ea02>] __do_page_fault+0x252/0x4d0
[<ffffffff8106ecb0>] do_page_fault+0x30/0x80
[<ffffffff8171bce8>] page_fault+0x28/0x30
[<ffffffffffffffff>] 0xffffffffffffffff
task2:
[<ffffffff811aadc6>] __lock_page+0x86/0xa0
[<ffffffffa02f1e47>] mpage_prepare_extent_to_map+0x2e7/0x310 [ext4]
[<ffffffffa08a2689>] ext4_writepages+0x479/0xd60
[<ffffffff811bbede>] do_writepages+0x1e/0x30
[<ffffffff812725e5>] __writeback_single_inode+0x45/0x320
[<ffffffff81272de2>] writeback_sb_inodes+0x272/0x600
[<ffffffff81273202>] __writeback_inodes_wb+0x92/0xc0
[<ffffffff81273568>] wb_writeback+0x268/0x300
[<ffffffff81273d24>] wb_workfn+0xb4/0x390
[<ffffffff810a2f19>] process_one_work+0x189/0x420
[<ffffffff810a31fe>] worker_thread+0x4e/0x4b0
[<ffffffff810a9786>] kthread+0xe6/0x100
[<ffffffff8171a9a1>] ret_from_fork+0x41/0x50
[<ffffffffffffffff>] 0xffffffffffffffff
He adds
: task1 is waiting for the PageWriteback bit of the page that task2 has
: collected in mpd->io_submit->io_bio, and tasks2 is waiting for the LOCKED
: bit the page which tasks1 has locked.
More precisely task1 is handling a page fault and it has a page locked
while it charges a new page table to a memcg. That in turn hits a memory
limit reclaim and the memcg reclaim for legacy controller is waiting on
the writeback but that is never going to finish because the writeback
itself is waiting for the page locked in the #PF path. So this is
essentially ABBA deadlock:
lock_page(A)
SetPageWriteback(A)
unlock_page(A)
lock_page(B)
lock_page(B)
pte_alloc_pne
shrink_page_list
wait_on_page_writeback(A)
SetPageWriteback(B)
unlock_page(B)
# flush A, B to clear the writeback
This accumulating of more pages to flush is used by several filesystems
to generate a more optimal IO patterns.
Waiting for the writeback in legacy memcg controller is a workaround
for pre-mature OOM killer invocations because there is no dirty IO
throttling available for the controller. There is no easy way around
that unfortunately. Therefore fix this specific issue by pre-allocating
the page table outside of the page lock. We have that handy
infrastructure for that already so simply reuse the fault-around pattern
which already does this.
There are probably other hidden __GFP_ACCOUNT | GFP_KERNEL allocations
from under a fs page locked but they should be really rare. I am not
aware of a better solution unfortunately.
Reported-and-Debugged-by: Liu Bo <bo.liu(a)linux.alibaba.com>
Cc: stable
Fixes: c3b94f44fcb0 ("memcg: further prevent OOM with too many dirty pages")
Signed-off-by: Michal Hocko <mhocko(a)suse.com>
---
mm/memory.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/mm/memory.c b/mm/memory.c
index 4ad2d293ddc2..bb78e90a9b70 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2993,6 +2993,17 @@ static vm_fault_t __do_fault(struct vm_fault *vmf)
struct vm_area_struct *vma = vmf->vma;
vm_fault_t ret;
+ /*
+ * Preallocate pte before we take page_lock because this might lead to
+ * deadlocks for memcg reclaim which waits for pages under writeback.
+ */
+ if (pmd_none(*vmf->pmd) && !vmf->prealloc_pte) {
+ vmf->prealloc_pte = pte_alloc_one(vmf->vma->vm_mm, vmf->address);
+ if (!vmf->prealloc_pte)
+ return VM_FAULT_OOM;
+ smp_wmb(); /* See comment in __pte_alloc() */
+ }
+
ret = vma->vm_ops->fault(vmf);
if (unlikely(ret & (VM_FAULT_ERROR | VM_FAULT_NOPAGE | VM_FAULT_RETRY |
VM_FAULT_DONE_COW)))
--
2.19.2
From: Henrik Austad <haustad(a)cisco.com>
Short story:
The following patches are needed on a 4.4 kernel to avoid
Oops in the scheduler when a sched_rr and sched_deadline task contends
on the same futex (with PI).
Longer story:
On one of our arm64 systems, we occasionally crash with an Oops in the
scheduler with the following backtrace.
[<ffffffc0000ee398>] enqueue_task_dl+0x1f0/0x420
[<ffffffc0000d0f14>] activate_task+0x7c/0x90
[<ffffffc0000edbdc>] push_dl_task+0x164/0x1c8
[<ffffffc0000edc60>] push_dl_tasks+0x20/0x30
[<ffffffc0000cc00c>] __balance_callback+0x44/0x68
[<ffffffc000d2c018>] __schedule+0x6f0/0x728
[<ffffffc000d2c278>] schedule+0x78/0x98
[<ffffffc000d2e76c>] __rt_mutex_slowlock+0x9c/0x108
[<ffffffc000d2e9d0>] rt_mutex_slowlock+0xd8/0x198
[<ffffffc0000f7f28>] rt_mutex_timed_futex_lock+0x30/0x40
[<ffffffc00012c1a8>] futex_lock_pi+0x200/0x3b0
[<ffffffc00012cf84>] do_futex+0x1c4/0x550
[<ffffffc00012d92c>] compat_SyS_futex+0x10c/0x138
[<ffffffc00008504c>] __sys_trace_return+0x0/0x4
This seems to be the same bug Xuneli Pang triggered and fixed in
e96a7705e7d3 "sched/rtmutex/deadline: Fix a PI crash for deadline
tasks". As noted by Peter Zijlstra in the previous attempt, this fix
requires a few other patches, most notably the FUTEX_UNLOCK_PI series
[1]
Testing this on a dual-core VM I have not been able to reproduce the
same crash, but pi_stress (part of the rt-test suite) reveals that
vanilla 4.4.162 behaves rather badly with a mix of deadline and
sched_(rr|fifo) tasks:
time pi_stress --rr --mlockall --sched id=high,policy=deadline,runtime=100000,deadline=200000,period=200000
Starting PI Stress Test
Number of thread groups: 1
Duration of test run: infinite
Number of inversions per group: unlimited
Admin thread SCHED_RR priority 4
1 groups of 3 threads will be created
High thread SCHED_DEADLINE runtime 100000 deadline 200000 period 200000
Med thread SCHED_RR priority 2
Low thread SCHED_RR priority 1
Current Inversions: 141627
WATCHDOG triggered: group 0 is deadlocked!
reporter stopping due to watchdog event
Stopping test
Terminated
real 0m26.291s
user 0m0.148s
sys 0m18.819s
With this series applied, the test ran for ~4.5 hours and again for 129
minutes (when I remembered to time it) before crashing:
time pi_stress --rr --mlockall --sched id=high,policy=deadline,runtime=100000,deadline=200000,period=200000
Starting PI Stress Test
Number of thread groups: 1
Duration of test run: infinite
Number of inversions per group: unlimited
Admin thread SCHED_RR priority 4
1 groups of 3 threads will be created
High thread SCHED_DEADLINE runtime 100000 deadline 200000 period 200000
Med thread SCHED_RR priority 2
Low thread SCHED_RR priority 1
Current Inversions: 51985223
WATCHDOG triggered: group 0 is deadlocked!
reporter stopping due to watchdog event
Stopping test
Terminated
real 129m38.807s
user 0m59.084s
sys 109m53.666s
So clearly not perfect, but a *lot* better.
The same series on our vendor-4.4 kernel moves pi_stress up from ~30
seconds before deadlock up to the same level as the VM (the test is
still going as of this writing).
I suspect other users of 4.4 would benefit from having these patches
backported, so tag them for stable. I assume 4.9 and 4.14 could benefit
as well, but I have not had time to look into those.
1) https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg1359667.html
Peter Zijlstra (13):
futex: Cleanup variable names for futex_top_waiter()
futex: Use smp_store_release() in mark_wake_futex()
futex: Remove rt_mutex_deadlock_account_*()
futex,rt_mutex: Provide futex specific rt_mutex API
futex: Change locking rules
futex: Cleanup refcounting
futex: Rework inconsistent rt_mutex/futex_q state
futex: Pull rt_mutex_futex_unlock() out from under hb->lock
futex,rt_mutex: Introduce rt_mutex_init_waiter()
futex,rt_mutex: Restructure rt_mutex_finish_proxy_lock()
futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock()
futex: Futex_unlock_pi() determinism
futex: Drop hb->lock before enqueueing on the rtmutex
Thomas Gleixner (2):
rtmutex: Make wait_lock irq safe
futex: Rename free_pi_state() to put_pi_state()
Xunlei Pang (2):
rtmutex: Deboost before waking up the top waiter
sched/rtmutex/deadline: Fix a PI crash for deadline tasks
include/linux/init_task.h | 1 +
include/linux/sched.h | 2 +
include/linux/sched/rt.h | 1 +
kernel/fork.c | 1 +
kernel/futex.c | 532 ++++++++++++++++++++++++++--------------
kernel/locking/rtmutex-debug.c | 9 -
kernel/locking/rtmutex-debug.h | 3 -
kernel/locking/rtmutex.c | 406 ++++++++++++++++++------------
kernel/locking/rtmutex.h | 2 -
kernel/locking/rtmutex_common.h | 24 +-
kernel/sched/core.c | 2 +
11 files changed, 620 insertions(+), 363 deletions(-)
--
2.7.4
From: Coly Li <colyli(a)suse.de>
Commit b1092c9af9ed ("bcache: allow quick writeback when backing idle")
allows the writeback rate to be faster if there is no I/O request on a
bcache device. It works well if there is only one bcache device attached
to the cache set. If there are many bcache devices attached to a cache
set, it may introduce performance regression because multiple faster
writeback threads of the idle bcache devices will compete the btree level
locks with the bcache device who have I/O requests coming.
This patch fixes the above issue by only permitting fast writebac when
all bcache devices attached on the cache set are idle. And if one of the
bcache devices has new I/O request coming, minimized all writeback
throughput immediately and let PI controller __update_writeback_rate()
to decide the upcoming writeback rate for each bcache device.
Also when all bcache devices are idle, limited wrieback rate to a small
number is wast of thoughput, especially when backing devices are slower
non-rotation devices (e.g. SATA SSD). This patch sets a max writeback
rate for each backing device if the whole cache set is idle. A faster
writeback rate in idle time means new I/Os may have more available space
for dirty data, and people may observe a better write performance then.
Please note bcache may change its cache mode in run time, and this patch
still works if the cache mode is switched from writeback mode and there
is still dirty data on cache.
Fixes: Commit b1092c9af9ed ("bcache: allow quick writeback when backing idle")
Cc: stable(a)vger.kernel.org #4.16+
Signed-off-by: Coly Li <colyli(a)suse.de>
Tested-by: Kai Krakow <kai(a)kaishome.de>
Tested-by: Stefan Priebe <s.priebe(a)profihost.ag>
Cc: Michael Lyle <mlyle(a)lyle.org>
Signed-off-by: Jens Axboe <axboe(a)kernel.dk>
(cherry picked from commit ea8c5356d39048bc94bae068228f51ddbecc6b89)
Signed-off-by: Kai Krakow <kai(a)kaishome.de>
---
drivers/md/bcache/bcache.h | 10 ++---
drivers/md/bcache/request.c | 54 ++++++++++++++++++++++++-
drivers/md/bcache/super.c | 4 ++
drivers/md/bcache/sysfs.c | 14 +++++--
drivers/md/bcache/util.c | 2 +-
drivers/md/bcache/util.h | 2 +-
drivers/md/bcache/writeback.c | 91 +++++++++++++++++++++++++++++--------------
7 files changed, 133 insertions(+), 44 deletions(-)
diff --git a/drivers/md/bcache/bcache.h b/drivers/md/bcache/bcache.h
index d6bf294f3907..6ba41887664a 100644
--- a/drivers/md/bcache/bcache.h
+++ b/drivers/md/bcache/bcache.h
@@ -328,13 +328,6 @@ struct cached_dev {
*/
atomic_t has_dirty;
- /*
- * Set to zero by things that touch the backing volume-- except
- * writeback. Incremented by writeback. Used to determine when to
- * accelerate idle writeback.
- */
- atomic_t backing_idle;
-
struct bch_ratelimit writeback_rate;
struct delayed_work writeback_rate_update;
@@ -514,6 +507,8 @@ struct cache_set {
struct cache_accounting accounting;
unsigned long flags;
+ atomic_t idle_counter;
+ atomic_t at_max_writeback_rate;
struct cache_sb sb;
@@ -523,6 +518,7 @@ struct cache_set {
struct bcache_device **devices;
unsigned devices_max_used;
+ atomic_t attached_dev_nr;
struct list_head cached_devs;
uint64_t cached_dev_sectors;
struct closure caching;
diff --git a/drivers/md/bcache/request.c b/drivers/md/bcache/request.c
index ae67f5fa8047..6e08eb89abee 100644
--- a/drivers/md/bcache/request.c
+++ b/drivers/md/bcache/request.c
@@ -1102,6 +1102,44 @@ static void detached_dev_do_request(struct bcache_device *d, struct bio *bio)
generic_make_request(bio);
}
+static void quit_max_writeback_rate(struct cache_set *c,
+ struct cached_dev *this_dc)
+{
+ int i;
+ struct bcache_device *d;
+ struct cached_dev *dc;
+
+ /*
+ * mutex bch_register_lock may compete with other parallel requesters,
+ * or attach/detach operations on other backing device. Waiting to
+ * the mutex lock may increase I/O request latency for seconds or more.
+ * To avoid such situation, if mutext_trylock() failed, only writeback
+ * rate of current cached device is set to 1, and __update_write_back()
+ * will decide writeback rate of other cached devices (remember now
+ * c->idle_counter is 0 already).
+ */
+ if (mutex_trylock(&bch_register_lock)) {
+ for (i = 0; i < c->devices_max_used; i++) {
+ if (!c->devices[i])
+ continue;
+
+ if (UUID_FLASH_ONLY(&c->uuids[i]))
+ continue;
+
+ d = c->devices[i];
+ dc = container_of(d, struct cached_dev, disk);
+ /*
+ * set writeback rate to default minimum value,
+ * then let update_writeback_rate() to decide the
+ * upcoming rate.
+ */
+ atomic_long_set(&dc->writeback_rate.rate, 1);
+ }
+ mutex_unlock(&bch_register_lock);
+ } else
+ atomic_long_set(&this_dc->writeback_rate.rate, 1);
+}
+
/* Cached devices - read & write stuff */
static blk_qc_t cached_dev_make_request(struct request_queue *q,
@@ -1119,7 +1157,21 @@ static blk_qc_t cached_dev_make_request(struct request_queue *q,
return BLK_QC_T_NONE;
}
- atomic_set(&dc->backing_idle, 0);
+ if (likely(d->c)) {
+ if (atomic_read(&d->c->idle_counter))
+ atomic_set(&d->c->idle_counter, 0);
+ /*
+ * If at_max_writeback_rate of cache set is true and new I/O
+ * comes, quit max writeback rate of all cached devices
+ * attached to this cache set, and set at_max_writeback_rate
+ * to false.
+ */
+ if (unlikely(atomic_read(&d->c->at_max_writeback_rate) == 1)) {
+ atomic_set(&d->c->at_max_writeback_rate, 0);
+ quit_max_writeback_rate(d->c, dc);
+ }
+ }
+
generic_start_io_acct(q, rw, bio_sectors(bio), &d->disk->part0);
bio_set_dev(bio, dc->bdev);
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index fa4058e43202..dc7b6131ddbb 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -696,6 +696,8 @@ static void bcache_device_detach(struct bcache_device *d)
{
lockdep_assert_held(&bch_register_lock);
+ atomic_dec(&d->c->attached_dev_nr);
+
if (test_bit(BCACHE_DEV_DETACHING, &d->flags)) {
struct uuid_entry *u = d->c->uuids + d->id;
@@ -1138,6 +1140,7 @@ int bch_cached_dev_attach(struct cached_dev *dc, struct cache_set *c,
bch_cached_dev_run(dc);
bcache_device_link(&dc->disk, c, "bdev");
+ atomic_inc(&c->attached_dev_nr);
/* Allow the writeback thread to proceed */
up_write(&dc->writeback_lock);
@@ -1687,6 +1690,7 @@ struct cache_set *bch_cache_set_alloc(struct cache_sb *sb)
c->block_bits = ilog2(sb->block_size);
c->nr_uuids = bucket_bytes(c) / sizeof(struct uuid_entry);
c->devices_max_used = 0;
+ atomic_set(&c->attached_dev_nr, 0);
c->btree_pages = bucket_pages(c);
if (c->btree_pages > BTREE_MAX_PAGES)
c->btree_pages = max_t(int, c->btree_pages / 4,
diff --git a/drivers/md/bcache/sysfs.c b/drivers/md/bcache/sysfs.c
index 225b15aa0340..a56067e80b10 100644
--- a/drivers/md/bcache/sysfs.c
+++ b/drivers/md/bcache/sysfs.c
@@ -170,7 +170,8 @@ SHOW(__bch_cached_dev)
var_printf(writeback_running, "%i");
var_print(writeback_delay);
var_print(writeback_percent);
- sysfs_hprint(writeback_rate, dc->writeback_rate.rate << 9);
+ sysfs_hprint(writeback_rate,
+ atomic_long_read(&dc->writeback_rate.rate) << 9);
sysfs_hprint(io_errors, atomic_read(&dc->io_errors));
sysfs_printf(io_error_limit, "%i", dc->error_limit);
sysfs_printf(io_disable, "%i", dc->io_disable);
@@ -188,7 +189,8 @@ SHOW(__bch_cached_dev)
char change[20];
s64 next_io;
- bch_hprint(rate, dc->writeback_rate.rate << 9);
+ bch_hprint(rate,
+ atomic_long_read(&dc->writeback_rate.rate) << 9);
bch_hprint(dirty, bcache_dev_sectors_dirty(&dc->disk) << 9);
bch_hprint(target, dc->writeback_rate_target << 9);
bch_hprint(proportional,dc->writeback_rate_proportional << 9);
@@ -255,8 +257,12 @@ STORE(__cached_dev)
sysfs_strtoul_clamp(writeback_percent, dc->writeback_percent, 0, 40);
- sysfs_strtoul_clamp(writeback_rate,
- dc->writeback_rate.rate, 1, INT_MAX);
+ if (attr == &sysfs_writeback_rate) {
+ int v;
+
+ sysfs_strtoul_clamp(writeback_rate, v, 1, INT_MAX);
+ atomic_long_set(&dc->writeback_rate.rate, v);
+ }
sysfs_strtoul_clamp(writeback_rate_update_seconds,
dc->writeback_rate_update_seconds,
diff --git a/drivers/md/bcache/util.c b/drivers/md/bcache/util.c
index fc479b026d6d..b15256bcf0e7 100644
--- a/drivers/md/bcache/util.c
+++ b/drivers/md/bcache/util.c
@@ -200,7 +200,7 @@ uint64_t bch_next_delay(struct bch_ratelimit *d, uint64_t done)
{
uint64_t now = local_clock();
- d->next += div_u64(done * NSEC_PER_SEC, d->rate);
+ d->next += div_u64(done * NSEC_PER_SEC, atomic_long_read(&d->rate));
/* Bound the time. Don't let us fall further than 2 seconds behind
* (this prevents unnecessary backlog that would make it impossible
diff --git a/drivers/md/bcache/util.h b/drivers/md/bcache/util.h
index cced87f8eb27..f7b0133c9d2f 100644
--- a/drivers/md/bcache/util.h
+++ b/drivers/md/bcache/util.h
@@ -442,7 +442,7 @@ struct bch_ratelimit {
* Rate at which we want to do work, in units per second
* The units here correspond to the units passed to bch_next_delay()
*/
- uint32_t rate;
+ atomic_long_t rate;
};
static inline void bch_ratelimit_reset(struct bch_ratelimit *d)
diff --git a/drivers/md/bcache/writeback.c b/drivers/md/bcache/writeback.c
index ad45ebe1a74b..9f5e33324d1d 100644
--- a/drivers/md/bcache/writeback.c
+++ b/drivers/md/bcache/writeback.c
@@ -104,11 +104,56 @@ static void __update_writeback_rate(struct cached_dev *dc)
dc->writeback_rate_proportional = proportional_scaled;
dc->writeback_rate_integral_scaled = integral_scaled;
- dc->writeback_rate_change = new_rate - dc->writeback_rate.rate;
- dc->writeback_rate.rate = new_rate;
+ dc->writeback_rate_change = new_rate -
+ atomic_long_read(&dc->writeback_rate.rate);
+ atomic_long_set(&dc->writeback_rate.rate, new_rate);
dc->writeback_rate_target = target;
}
+static bool set_at_max_writeback_rate(struct cache_set *c,
+ struct cached_dev *dc)
+{
+ /*
+ * Idle_counter is increased everytime when update_writeback_rate() is
+ * called. If all backing devices attached to the same cache set have
+ * identical dc->writeback_rate_update_seconds values, it is about 6
+ * rounds of update_writeback_rate() on each backing device before
+ * c->at_max_writeback_rate is set to 1, and then max wrteback rate set
+ * to each dc->writeback_rate.rate.
+ * In order to avoid extra locking cost for counting exact dirty cached
+ * devices number, c->attached_dev_nr is used to calculate the idle
+ * throushold. It might be bigger if not all cached device are in write-
+ * back mode, but it still works well with limited extra rounds of
+ * update_writeback_rate().
+ */
+ if (atomic_inc_return(&c->idle_counter) <
+ atomic_read(&c->attached_dev_nr) * 6)
+ return false;
+
+ if (atomic_read(&c->at_max_writeback_rate) != 1)
+ atomic_set(&c->at_max_writeback_rate, 1);
+
+ atomic_long_set(&dc->writeback_rate.rate, INT_MAX);
+
+ /* keep writeback_rate_target as existing value */
+ dc->writeback_rate_proportional = 0;
+ dc->writeback_rate_integral_scaled = 0;
+ dc->writeback_rate_change = 0;
+
+ /*
+ * Check c->idle_counter and c->at_max_writeback_rate agagain in case
+ * new I/O arrives during before set_at_max_writeback_rate() returns.
+ * Then the writeback rate is set to 1, and its new value should be
+ * decided via __update_writeback_rate().
+ */
+ if ((atomic_read(&c->idle_counter) <
+ atomic_read(&c->attached_dev_nr) * 6) ||
+ !atomic_read(&c->at_max_writeback_rate))
+ return false;
+
+ return true;
+}
+
static void update_writeback_rate(struct work_struct *work)
{
struct cached_dev *dc = container_of(to_delayed_work(work),
@@ -136,13 +181,20 @@ static void update_writeback_rate(struct work_struct *work)
return;
}
- down_read(&dc->writeback_lock);
+ if (atomic_read(&dc->has_dirty) && dc->writeback_percent) {
+ /*
+ * If the whole cache set is idle, set_at_max_writeback_rate()
+ * will set writeback rate to a max number. Then it is
+ * unncessary to update writeback rate for an idle cache set
+ * in maximum writeback rate number(s).
+ */
+ if (!set_at_max_writeback_rate(c, dc)) {
+ down_read(&dc->writeback_lock);
+ __update_writeback_rate(dc);
+ up_read(&dc->writeback_lock);
+ }
+ }
- if (atomic_read(&dc->has_dirty) &&
- dc->writeback_percent)
- __update_writeback_rate(dc);
-
- up_read(&dc->writeback_lock);
/*
* CACHE_SET_IO_DISABLE might be set via sysfs interface,
@@ -422,27 +474,6 @@ static void read_dirty(struct cached_dev *dc)
delay = writeback_delay(dc, size);
- /* If the control system would wait for at least half a
- * second, and there's been no reqs hitting the backing disk
- * for awhile: use an alternate mode where we have at most
- * one contiguous set of writebacks in flight at a time. If
- * someone wants to do IO it will be quick, as it will only
- * have to contend with one operation in flight, and we'll
- * be round-tripping data to the backing disk as quickly as
- * it can accept it.
- */
- if (delay >= HZ / 2) {
- /* 3 means at least 1.5 seconds, up to 7.5 if we
- * have slowed way down.
- */
- if (atomic_inc_return(&dc->backing_idle) >= 3) {
- /* Wait for current I/Os to finish */
- closure_sync(&cl);
- /* And immediately launch a new set. */
- delay = 0;
- }
- }
-
while (!kthread_should_stop() &&
!test_bit(CACHE_SET_IO_DISABLE, &dc->disk.c->flags) &&
delay) {
@@ -715,7 +746,7 @@ void bch_cached_dev_writeback_init(struct cached_dev *dc)
dc->writeback_running = true;
dc->writeback_percent = 10;
dc->writeback_delay = 30;
- dc->writeback_rate.rate = 1024;
+ atomic_long_set(&dc->writeback_rate.rate, 1024);
dc->writeback_rate_minimum = 8;
dc->writeback_rate_update_seconds = WRITEBACK_RATE_UPDATE_SECS_DEFAULT;
--
2.16.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 834e772c8db0c6a275d75315d90aba4ebbb1e249 Mon Sep 17 00:00:00 2001
From: Stefan Hajnoczi <stefanha(a)redhat.com>
Date: Mon, 5 Nov 2018 10:35:47 +0000
Subject: [PATCH] vhost/vsock: fix use-after-free in network stack callers
If the network stack calls .send_pkt()/.cancel_pkt() during .release(),
a struct vhost_vsock use-after-free is possible. This occurs because
.release() does not wait for other CPUs to stop using struct
vhost_vsock.
Switch to an RCU-enabled hashtable (indexed by guest CID) so that
.release() can wait for other CPUs by calling synchronize_rcu(). This
also eliminates vhost_vsock_lock acquisition in the data path so it
could have a positive effect on performance.
This is CVE-2018-14625 "kernel: use-after-free Read in vhost_transport_send_pkt".
Cc: stable(a)vger.kernel.org
Reported-and-tested-by: syzbot+bd391451452fb0b93039(a)syzkaller.appspotmail.com
Reported-by: syzbot+e3e074963495f92a89ed(a)syzkaller.appspotmail.com
Reported-by: syzbot+d5a0a170c5069658b141(a)syzkaller.appspotmail.com
Signed-off-by: Stefan Hajnoczi <stefanha(a)redhat.com>
Signed-off-by: Michael S. Tsirkin <mst(a)redhat.com>
Acked-by: Jason Wang <jasowang(a)redhat.com>
diff --git a/drivers/vhost/vsock.c b/drivers/vhost/vsock.c
index 731e2ea2aeca..98ed5be132c6 100644
--- a/drivers/vhost/vsock.c
+++ b/drivers/vhost/vsock.c
@@ -15,6 +15,7 @@
#include <net/sock.h>
#include <linux/virtio_vsock.h>
#include <linux/vhost.h>
+#include <linux/hashtable.h>
#include <net/af_vsock.h>
#include "vhost.h"
@@ -27,14 +28,14 @@ enum {
/* Used to track all the vhost_vsock instances on the system. */
static DEFINE_SPINLOCK(vhost_vsock_lock);
-static LIST_HEAD(vhost_vsock_list);
+static DEFINE_READ_MOSTLY_HASHTABLE(vhost_vsock_hash, 8);
struct vhost_vsock {
struct vhost_dev dev;
struct vhost_virtqueue vqs[2];
- /* Link to global vhost_vsock_list, protected by vhost_vsock_lock */
- struct list_head list;
+ /* Link to global vhost_vsock_hash, writes use vhost_vsock_lock */
+ struct hlist_node hash;
struct vhost_work send_pkt_work;
spinlock_t send_pkt_list_lock;
@@ -50,11 +51,14 @@ static u32 vhost_transport_get_local_cid(void)
return VHOST_VSOCK_DEFAULT_HOST_CID;
}
-static struct vhost_vsock *__vhost_vsock_get(u32 guest_cid)
+/* Callers that dereference the return value must hold vhost_vsock_lock or the
+ * RCU read lock.
+ */
+static struct vhost_vsock *vhost_vsock_get(u32 guest_cid)
{
struct vhost_vsock *vsock;
- list_for_each_entry(vsock, &vhost_vsock_list, list) {
+ hash_for_each_possible_rcu(vhost_vsock_hash, vsock, hash, guest_cid) {
u32 other_cid = vsock->guest_cid;
/* Skip instances that have no CID yet */
@@ -69,17 +73,6 @@ static struct vhost_vsock *__vhost_vsock_get(u32 guest_cid)
return NULL;
}
-static struct vhost_vsock *vhost_vsock_get(u32 guest_cid)
-{
- struct vhost_vsock *vsock;
-
- spin_lock_bh(&vhost_vsock_lock);
- vsock = __vhost_vsock_get(guest_cid);
- spin_unlock_bh(&vhost_vsock_lock);
-
- return vsock;
-}
-
static void
vhost_transport_do_send_pkt(struct vhost_vsock *vsock,
struct vhost_virtqueue *vq)
@@ -210,9 +203,12 @@ vhost_transport_send_pkt(struct virtio_vsock_pkt *pkt)
struct vhost_vsock *vsock;
int len = pkt->len;
+ rcu_read_lock();
+
/* Find the vhost_vsock according to guest context id */
vsock = vhost_vsock_get(le64_to_cpu(pkt->hdr.dst_cid));
if (!vsock) {
+ rcu_read_unlock();
virtio_transport_free_pkt(pkt);
return -ENODEV;
}
@@ -225,6 +221,8 @@ vhost_transport_send_pkt(struct virtio_vsock_pkt *pkt)
spin_unlock_bh(&vsock->send_pkt_list_lock);
vhost_work_queue(&vsock->dev, &vsock->send_pkt_work);
+
+ rcu_read_unlock();
return len;
}
@@ -234,12 +232,15 @@ vhost_transport_cancel_pkt(struct vsock_sock *vsk)
struct vhost_vsock *vsock;
struct virtio_vsock_pkt *pkt, *n;
int cnt = 0;
+ int ret = -ENODEV;
LIST_HEAD(freeme);
+ rcu_read_lock();
+
/* Find the vhost_vsock according to guest context id */
vsock = vhost_vsock_get(vsk->remote_addr.svm_cid);
if (!vsock)
- return -ENODEV;
+ goto out;
spin_lock_bh(&vsock->send_pkt_list_lock);
list_for_each_entry_safe(pkt, n, &vsock->send_pkt_list, list) {
@@ -265,7 +266,10 @@ vhost_transport_cancel_pkt(struct vsock_sock *vsk)
vhost_poll_queue(&tx_vq->poll);
}
- return 0;
+ ret = 0;
+out:
+ rcu_read_unlock();
+ return ret;
}
static struct virtio_vsock_pkt *
@@ -533,10 +537,6 @@ static int vhost_vsock_dev_open(struct inode *inode, struct file *file)
spin_lock_init(&vsock->send_pkt_list_lock);
INIT_LIST_HEAD(&vsock->send_pkt_list);
vhost_work_init(&vsock->send_pkt_work, vhost_transport_send_pkt_work);
-
- spin_lock_bh(&vhost_vsock_lock);
- list_add_tail(&vsock->list, &vhost_vsock_list);
- spin_unlock_bh(&vhost_vsock_lock);
return 0;
out:
@@ -585,9 +585,13 @@ static int vhost_vsock_dev_release(struct inode *inode, struct file *file)
struct vhost_vsock *vsock = file->private_data;
spin_lock_bh(&vhost_vsock_lock);
- list_del(&vsock->list);
+ if (vsock->guest_cid)
+ hash_del_rcu(&vsock->hash);
spin_unlock_bh(&vhost_vsock_lock);
+ /* Wait for other CPUs to finish using vsock */
+ synchronize_rcu();
+
/* Iterating over all connections for all CIDs to find orphans is
* inefficient. Room for improvement here. */
vsock_for_each_connected_socket(vhost_vsock_reset_orphans);
@@ -628,12 +632,17 @@ static int vhost_vsock_set_cid(struct vhost_vsock *vsock, u64 guest_cid)
/* Refuse if CID is already in use */
spin_lock_bh(&vhost_vsock_lock);
- other = __vhost_vsock_get(guest_cid);
+ other = vhost_vsock_get(guest_cid);
if (other && other != vsock) {
spin_unlock_bh(&vhost_vsock_lock);
return -EADDRINUSE;
}
+
+ if (vsock->guest_cid)
+ hash_del_rcu(&vsock->hash);
+
vsock->guest_cid = guest_cid;
+ hash_add_rcu(vhost_vsock_hash, &vsock->hash, guest_cid);
spin_unlock_bh(&vhost_vsock_lock);
return 0;
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 c93db7bb6ef3251e0ea48ade311d3e9942748e1c Mon Sep 17 00:00:00 2001
From: Matthew Wilcox <willy(a)infradead.org>
Date: Tue, 27 Nov 2018 13:16:33 -0800
Subject: [PATCH] dax: Check page->mapping isn't NULL
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>
Reviewed-by: Johannes Thumshirn <jthumshirn(a)suse.de>
Reviewed-by: Jan Kara <jack(a)suse.cz>
Signed-off-by: Dan Williams <dan.j.williams(a)intel.com>
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;
/*
Hi,
this is a backport of commit 7aa54be297655 ("locking/qspinlock, x86:
Provide liveness guarantee") for the v4.9 stable tree.
For the v4.4 tree the ARCH_USE_QUEUED_SPINLOCKS option got disabled on
x86.
For v4.9 it has been decided to do a minimal backport of the final fix
(including all its dependencies).
With this backport I can't reproduce the issue in the latest v4.9-RT
tree. I was able to boot (and use) an arm64 box with these patches so it
is not broken in an abvious way.
Sebastian
The patch titled
Subject: mm: thp: fix flags for pmd migration when split
has been added to the -mm tree. Its filename is
mm-thp-fix-flags-for-pmd-migration-when-split.patch
This patch should soon appear at
http://ozlabs.org/~akpm/mmots/broken-out/mm-thp-fix-flags-for-pmd-migration…
and later at
http://ozlabs.org/~akpm/mmotm/broken-out/mm-thp-fix-flags-for-pmd-migration…
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: Peter Xu <peterx(a)redhat.com>
Subject: mm: thp: fix flags for pmd migration when split
When splitting a huge migrating PMD, we'll transfer all the existing PMD
bits and apply them again onto the small PTEs. However we are fetching
the bits unconditionally via pmd_soft_dirty(), pmd_write() or pmd_yound()
while actually they don't make sense at all when it's a migration entry.
Fix them up. Since at it, drop the ifdef together as not needed.
Note that if my understanding is correct about the problem then if without
the patch there is chance to lose some of the dirty bits in the migrating
pmd pages (on x86_64 we're fetching bit 11 which is part of swap offset
instead of bit 2) and it could potentially corrupt the memory of an
userspace program which depends on the dirty bit.
Link: http://lkml.kernel.org/r/20181213051510.20306-1-peterx@redhat.com
Signed-off-by: Peter Xu <peterx(a)redhat.com>
Reviewed-by: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Reviewed-by: William Kucharski <william.kucharski(a)oracle.com>
Acked-by: Kirill A. Shutemov <kirill.shutemov(a)linux.intel.com>
Cc: Andrea Arcangeli <aarcange(a)redhat.com>
Cc: Matthew Wilcox <willy(a)infradead.org>
Cc: Michal Hocko <mhocko(a)suse.com>
Cc: Dave Jiang <dave.jiang(a)intel.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar(a)linux.vnet.ibm.com>
Cc: Souptick Joarder <jrdr.linux(a)gmail.com>
Cc: Konstantin Khlebnikov <khlebnikov(a)yandex-team.ru>
Cc: Zi Yan <zi.yan(a)cs.rutgers.edu>
Cc: <stable(a)vger.kernel.org> [4.14+]
Signed-off-by: Andrew Morton <akpm(a)linux-foundation.org>
---
--- a/mm/huge_memory.c~mm-thp-fix-flags-for-pmd-migration-when-split
+++ a/mm/huge_memory.c
@@ -2144,23 +2144,25 @@ static void __split_huge_pmd_locked(stru
*/
old_pmd = pmdp_invalidate(vma, haddr, pmd);
-#ifdef CONFIG_ARCH_ENABLE_THP_MIGRATION
pmd_migration = is_pmd_migration_entry(old_pmd);
- if (pmd_migration) {
+ if (unlikely(pmd_migration)) {
swp_entry_t entry;
entry = pmd_to_swp_entry(old_pmd);
page = pfn_to_page(swp_offset(entry));
- } else
-#endif
+ write = is_write_migration_entry(entry);
+ young = false;
+ soft_dirty = pmd_swp_soft_dirty(old_pmd);
+ } else {
page = pmd_page(old_pmd);
+ if (pmd_dirty(old_pmd))
+ SetPageDirty(page);
+ write = pmd_write(old_pmd);
+ young = pmd_young(old_pmd);
+ soft_dirty = pmd_soft_dirty(old_pmd);
+ }
VM_BUG_ON_PAGE(!page_count(page), page);
page_ref_add(page, HPAGE_PMD_NR - 1);
- if (pmd_dirty(old_pmd))
- SetPageDirty(page);
- write = pmd_write(old_pmd);
- young = pmd_young(old_pmd);
- soft_dirty = pmd_soft_dirty(old_pmd);
/*
* Withdraw the table only after we mark the pmd entry invalid.
_
Patches currently in -mm which might be from peterx(a)redhat.com are
mm-thp-fix-flags-for-pmd-migration-when-split.patch
userfaultfd-clear-flag-if-remap-event-not-enabled.patch
stable-rc/linux-3.18.y build: 185 builds: 2 failed, 183 passed, 4 errors, 1826 warnings (v3.18.129-31-ga06910a7e67d)
Full Build Summary: https://kernelci.org/build/stable-rc/branch/linux-3.18.y/kernel/v3.18.129-3…
Tree: stable-rc
Branch: linux-3.18.y
Git Describe: v3.18.129-31-ga06910a7e67d
Git Commit: a06910a7e67df3a72ca49255bb5d993a64783cfc
Git URL: http://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Built: 6 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: 3 warnings
tinyconfig: 2 warnings
arm: gcc version 7.3.0 (Debian 7.3.0-28)
acs5k_defconfig: 3 warnings
acs5k_tiny_defconfig: 3 warnings
allnoconfig: 2 warnings
am200epdkit_defconfig: 3 warnings
ape6evm_defconfig: 4 warnings
armadillo800eva_defconfig: 3 warnings
assabet_defconfig: 3 warnings
at91_dt_defconfig: 4 warnings
at91rm9200_defconfig: 4 warnings
at91sam9260_9g20_defconfig: 3 warnings
at91sam9261_9g10_defconfig: 3 warnings
at91sam9263_defconfig: 4 warnings
at91sam9g45_defconfig: 4 warnings
at91sam9rl_defconfig: 2 warnings
at91x40_defconfig: 2 warnings
axm55xx_defconfig: 3 warnings
badge4_defconfig: 3 warnings
bcm2835_defconfig: 4 warnings
bcm_defconfig: 4 warnings
bockw_defconfig: 3 warnings
cerfcube_defconfig: 3 warnings
clps711x_defconfig: 3 warnings
cm_x2xx_defconfig: 3 warnings
cm_x300_defconfig: 3 warnings
cns3420vb_defconfig: 2 warnings
colibri_pxa270_defconfig: 3 warnings
colibri_pxa300_defconfig: 4 warnings
collie_defconfig: 3 warnings
corgi_defconfig: 4 warnings
davinci_all_defconfig: 4 warnings
dove_defconfig: 3 warnings
ebsa110_defconfig: 4 warnings
efm32_defconfig: 3 warnings
em_x270_defconfig: 3 warnings
ep93xx_defconfig: 4 warnings
eseries_pxa_defconfig: 3 warnings
exynos_defconfig: 4 warnings
ezx_defconfig: 5 warnings
footbridge_defconfig: 3 warnings
h3600_defconfig: 3 warnings
h5000_defconfig: 3 warnings
hackkit_defconfig: 3 warnings
hisi_defconfig: 4 warnings
imote2_defconfig: 5 warnings
imx_v4_v5_defconfig: 3 warnings
imx_v6_v7_defconfig: 4 warnings
integrator_defconfig: 3 warnings
iop13xx_defconfig: 4 warnings
iop32x_defconfig: 4 warnings
iop33x_defconfig: 4 warnings
ixp4xx_defconfig: 3 warnings
jornada720_defconfig: 3 warnings
keystone_defconfig: 4 warnings
koelsch_defconfig: 4 warnings
ks8695_defconfig: 3 warnings
kzm9g_defconfig: 3 warnings
lager_defconfig: 3 warnings
lart_defconfig: 3 warnings
lpc32xx_defconfig: 4 warnings
lpd270_defconfig: 4 warnings
lubbock_defconfig: 3 warnings
mackerel_defconfig: 3 warnings
magician_defconfig: 3 warnings
mainstone_defconfig: 3 warnings
marzen_defconfig: 3 warnings
mini2440_defconfig: 3 warnings
mmp2_defconfig: 3 warnings
moxart_defconfig: 3 warnings
msm_defconfig: 3 warnings
multi_v5_defconfig: 3 warnings
multi_v7_defconfig: 4 warnings
mv78xx0_defconfig: 3 warnings
mvebu_v5_defconfig: 3 warnings
mvebu_v7_defconfig: 4 warnings
mxs_defconfig: 3 warnings
neponset_defconfig: 3 warnings
netwinder_defconfig: 3 warnings
netx_defconfig: 4 warnings
nhk8815_defconfig: 3 warnings
nuc910_defconfig: 2 warnings
nuc950_defconfig: 2 warnings
nuc960_defconfig: 2 warnings
omap1_defconfig: 4 warnings
omap2plus_defconfig: 4 warnings
orion5x_defconfig: 3 warnings
palmz72_defconfig: 3 warnings
pcm027_defconfig: 3 warnings
pleb_defconfig: 3 warnings
prima2_defconfig: 2 warnings
pxa168_defconfig: 3 warnings
pxa255-idp_defconfig: 3 warnings
pxa3xx_defconfig: 3 warnings
pxa910_defconfig: 3 warnings
qcom_defconfig: 3 warnings
raumfeld_defconfig: 4 warnings
realview-smp_defconfig: 3 warnings
realview_defconfig: 3 warnings
rpc_defconfig: 4 warnings
s3c2410_defconfig: 5 warnings
s3c6400_defconfig: 2 warnings
s5pv210_defconfig: 2 warnings
sama5_defconfig: 4 warnings
shannon_defconfig: 3 warnings
shmobile_defconfig: 4 warnings
simpad_defconfig: 3 warnings
socfpga_defconfig: 4 warnings
spear13xx_defconfig: 4 warnings
spear3xx_defconfig: 2 warnings
spear6xx_defconfig: 2 warnings
spitz_defconfig: 4 warnings
sunxi_defconfig: 3 warnings
tct_hammer_defconfig: 2 warnings
tegra_defconfig: 4 warnings
tinyconfig: 2 warnings
trizeps4_defconfig: 3 warnings
u300_defconfig: 2 warnings
u8500_defconfig: 4 warnings
versatile_defconfig: 3 warnings
vexpress_defconfig: 3 warnings
viper_defconfig: 3 warnings
vt8500_v6_v7_defconfig: 4 warnings
xcep_defconfig: 3 warnings
zeus_defconfig: 3 warnings
i386: gcc version 7.3.0 (Debian 7.3.0-30)
allnoconfig: 3 warnings
tinyconfig: 3 warnings
mips: gcc version 6.3.0 (GCC)
ar7_defconfig: 1 warning
ath79_defconfig: 1 warning
bcm47xx_defconfig: 2 warnings
bcm63xx_defconfig: 1 warning
bigsur_defconfig: 3 warnings
capcella_defconfig: 1 warning
cavium_octeon_defconfig: 2 warnings
cobalt_defconfig: 1 warning
db1xxx_defconfig: 2 warnings
decstation_defconfig: 2 warnings
fuloong2e_defconfig: 1 warning
gpr_defconfig: 1 warning
ip22_defconfig: 3 warnings
ip27_defconfig: 2 warnings
ip28_defconfig: 1 warning
ip32_defconfig: 2 warnings
jazz_defconfig: 3 warnings
jmr3927_defconfig: 1 warning
lasat_defconfig: 1 warning
lemote2f_defconfig: 2 warnings
loongson3_defconfig: 2 warnings
ls1b_defconfig: 1 warning
malta_defconfig: 3 warnings
malta_kvm_defconfig: 3 warnings
malta_kvm_guest_defconfig: 3 warnings
maltaaprp_defconfig: 2 warnings
maltasmvp_defconfig: 2 warnings
maltasmvp_eva_defconfig: 2 warnings
maltaup_defconfig: 2 warnings
markeins_defconfig: 3 warnings
mips_paravirt_defconfig: 2 warnings
mpc30x_defconfig: 1 warning
msp71xx_defconfig: 1 warning
mtx1_defconfig: 2 warnings
nlm_xlp_defconfig: 3 warnings
nlm_xlr_defconfig: 3 warnings
pnx8335_stb225_defconfig: 1 warning
qi_lb60_defconfig: 1 warning
rb532_defconfig: 1 warning
rbtx49xx_defconfig: 1 warning
rm200_defconfig: 3 warnings
rt305x_defconfig: 1 warning
sb1250_swarm_defconfig: 1 warning
sead3_defconfig: 1 warning
sead3micro_defconfig: 1 warning
tb0219_defconfig: 1 warning
tb0226_defconfig: 1 warning
tb0287_defconfig: 1 warning
workpad_defconfig: 1 warning
xway_defconfig: 1 warning
x86_64: gcc version 7.3.0 (Debian 7.3.0-30)
allnoconfig: 1 warning
tinyconfig: 1 warning
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
159 net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
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=]
64 net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
13 net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
2 mm/memory.c:581:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
2 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=]
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 arch/x86/kernel/head_32.S:679: Warning: ignoring fill value in section `.bss..page_aligned'
2 arch/x86/kernel/head_32.S:677: Warning: ignoring fill value in section `.bss..page_aligned'
2 arch/x86/kernel/head_32.S:672: Warning: ignoring fill value in section `.bss..page_aligned'
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]
================================================================================
Detailed per-defconfig build reports:
--------------------------------------------------------------------------------
acs5k_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
acs5k_tiny_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
allnoconfig (x86_64) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
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=]
--------------------------------------------------------------------------------
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 (i386) — 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 (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
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
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
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
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
--------------------------------------------------------------------------------
am200epdkit_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ape6evm_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ar7_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
armadillo800eva_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
assabet_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
at91_dt_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
at91rm9200_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
at91sam9260_9g20_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
at91sam9261_9g10_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
at91sam9263_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
at91sam9g45_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
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, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
axm55xx_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
badge4_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
bcm2835_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
bcm47xx_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
bcm63xx_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
bcm_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
bigsur_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
bockw_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
capcella_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
cavium_octeon_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
cerfcube_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
clps711x_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
cm_x2xx_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
cm_x300_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
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, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
colibri_pxa270_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
colibri_pxa300_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
collie_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
corgi_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
davinci_all_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
db1xxx_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
decstation_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
defconfig (arm64) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
dove_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
e55_defconfig (mips) — PASS, 0 errors, 0 warnings, 0 section mismatches
--------------------------------------------------------------------------------
ebsa110_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
efm32_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
em_x270_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ep93xx_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
eseries_pxa_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
exynos_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ezx_defconfig (arm) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
footbridge_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
fuloong2e_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
gpr_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
h3600_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
h5000_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
hackkit_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
hisi_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
imote2_defconfig (arm) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
imx_v4_v5_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
imx_v6_v7_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
integrator_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
iop13xx_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
iop32x_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
iop33x_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ip22_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ip27_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ip28_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ip32_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ixp4xx_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
jazz_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
jmr3927_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
jornada720_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
keystone_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
koelsch_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ks8695_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
kzm9g_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
lager_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
lart_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
lasat_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
lemote2f_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
loongson3_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
lpc32xx_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
lpd270_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
ls1b_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
lubbock_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mackerel_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
magician_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mainstone_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
malta_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
malta_kvm_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
malta_kvm_guest_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
maltaaprp_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
maltasmvp_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
maltasmvp_eva_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
maltaup_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
markeins_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
marzen_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mini2440_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mips_paravirt_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mmp2_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
moxart_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mpc30x_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
msm_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
msp71xx_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mtx1_defconfig (mips) — PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
multi_v5_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
multi_v7_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mv78xx0_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mvebu_v5_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mvebu_v7_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
mxs_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
neponset_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
netwinder_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
netx_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
nhk8815_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
nlm_xlp_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
nlm_xlr_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
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, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
omap2plus_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
orion5x_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
palmz72_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
pcm027_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
pleb_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
pnx8335_stb225_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
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, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
pxa255-idp_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
pxa3xx_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
pxa910_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
qcom_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
qi_lb60_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
raumfeld_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
rb532_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
rbtx49xx_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
realview-smp_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
realview_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
rm200_defconfig (mips) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
rpc_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
rt305x_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
s3c2410_defconfig (arm) — PASS, 0 errors, 5 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/netfilter/nf_conntrack_reasm.c:414:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
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, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
sb1250_swarm_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
sead3_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
sead3micro_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
shannon_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
shmobile_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
simpad_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
socfpga_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
spear13xx_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
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, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
sunxi_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
tb0219_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
tb0226_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
tb0287_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
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, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
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_64) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
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=]
--------------------------------------------------------------------------------
tinyconfig (i386) — 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
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
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
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
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-mno-mpy' is deprecated
cc1: warning: '-mno-mpy' is deprecated
arc-linux-gcc: warning: '-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, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
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, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
versatile_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
vexpress_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
viper_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
vt8500_v6_v7_defconfig (arm) — PASS, 0 errors, 4 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
net/ipv6/reassembly.c:433:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
workpad_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
xcep_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
xway_defconfig (mips) — PASS, 0 errors, 1 warning, 0 section mismatches
Warnings:
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
--------------------------------------------------------------------------------
zeus_defconfig (arm) — PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
scripts/kconfig/confdata.c:767:19: warning: '%s' directive writing likely 7 or more bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
scripts/kconfig/confdata.c:770:20: warning: '.tmpconfig.' directive writing 11 bytes into a region of size between 1 and 4097 [-Wformat-overflow=]
net/ipv4/ip_fragment.c:560:22: warning: passing argument 1 of 'add_frag_mem_limit' from incompatible pointer type [-Wincompatible-pointer-types]
---
For more info write to <info(a)kernelci.org>
I've backported changes to fix CVE-2018-1120 (denial of service via
FUSE-backed /proc/PID/cmdline) in 4.4-stable. See
<https://www.qualys.com/2018/05/17/procps-ng-audit-report-advisory.txt>
for an explanation of the issue.
This was already fixed in newer stable branches, but the fix depended
on API changes made in 4.9. The API changes are fairly straightforward
and should be low risk, so the attached patches include those API
changes.
I verified that the proof-of-concept no longer works after these
changes, and that there were no regressions in the user-copy and vm
self-tests. I leave it to you to decide whether it's worthwhile to fix
this in 4.4.
Ben.
--
Ben Hutchings, Software Developer Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United Kingdom
From: Shuah Khan <shuah(a)kernel.org>
Commit b2d35fa5fc80 ("selftests: add headers_install to lib.mk") added
khdr target to run headers_install target from the main Makefile. The
logic uses KSFT_KHDR_INSTALL and top_srcdir as controls to initialize
variables and include files to run headers_install from the top level
Makefile. There are a few problems with this logic.
1. Exposes top_srcdir to all tests
2. Common logic impacts all tests
3. Uses KSFT_KHDR_INSTALL, top_srcdir, and khdr in an adhoc way. Tests
add "khdr" dependency in their Makefiles to TEST_PROGS_EXTENDED in
some cases, and STATIC_LIBS in other cases. This makes this framework
confusing to use.
The common logic that runs for all tests even when KSFT_KHDR_INSTALL
isn't defined by the test. top_srcdir is initialized to a default value
when test doesn't initialize it. It works for all tests without a sub-dir
structure and tests with sub-dir structure fail to build.
e.g: make -C sparc64/drivers/ or make -C drivers/dma-buf
../../lib.mk:20: ../../../../scripts/subarch.include: No such file or directory
make: *** No rule to make target '../../../../scripts/subarch.include'. Stop.
There is no reason to require all tests to define top_srcdir and there is
no need to require tests to add khdr dependency using adhoc changes to
TEST_* and other variables.
Fix it with a consistent use of KSFT_KHDR_INSTALL and top_srcdir from tests
that have the dependency on headers_install.
Change common logic to include khdr target define and "all" target with
dependency on khdr when KSFT_KHDR_INSTALL is defined.
Only tests that have dependency on headers_install have to define just
the KSFT_KHDR_INSTALL, and top_srcdir variables and there is no need to
specify khdr dependency in the test Makefiles.
Fixes: b2d35fa5fc80 ("selftests: add headers_install to lib.mk")
Cc: stable(a)vger.kernel.org
Signed-off-by: Shuah Khan <shuah(a)kernel.org>
---
tools/testing/selftests/android/Makefile | 2 +-
tools/testing/selftests/futex/functional/Makefile | 1 +
tools/testing/selftests/gpio/Makefile | 6 +++---
tools/testing/selftests/kvm/Makefile | 2 +-
tools/testing/selftests/lib.mk | 8 ++++----
tools/testing/selftests/networking/timestamping/Makefile | 1 +
tools/testing/selftests/tc-testing/bpf/Makefile | 1 +
tools/testing/selftests/vm/Makefile | 1 +
8 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/tools/testing/selftests/android/Makefile b/tools/testing/selftests/android/Makefile
index d9a725478375..72c25a3cb658 100644
--- a/tools/testing/selftests/android/Makefile
+++ b/tools/testing/selftests/android/Makefile
@@ -6,7 +6,7 @@ TEST_PROGS := run.sh
include ../lib.mk
-all: khdr
+all:
@for DIR in $(SUBDIRS); do \
BUILD_TARGET=$(OUTPUT)/$$DIR; \
mkdir $$BUILD_TARGET -p; \
diff --git a/tools/testing/selftests/futex/functional/Makefile b/tools/testing/selftests/futex/functional/Makefile
index ad1eeb14fda7..30996306cabc 100644
--- a/tools/testing/selftests/futex/functional/Makefile
+++ b/tools/testing/selftests/futex/functional/Makefile
@@ -19,6 +19,7 @@ TEST_GEN_FILES := \
TEST_PROGS := run.sh
top_srcdir = ../../../../..
+KSFT_KHDR_INSTALL := 1
include ../../lib.mk
$(TEST_GEN_FILES): $(HEADERS)
diff --git a/tools/testing/selftests/gpio/Makefile b/tools/testing/selftests/gpio/Makefile
index 46648427d537..07f572a1bd3f 100644
--- a/tools/testing/selftests/gpio/Makefile
+++ b/tools/testing/selftests/gpio/Makefile
@@ -10,8 +10,6 @@ TEST_PROGS_EXTENDED := gpio-mockup-chardev
GPIODIR := $(realpath ../../../gpio)
GPIOOBJ := gpio-utils.o
-include ../lib.mk
-
all: $(TEST_PROGS_EXTENDED)
override define CLEAN
@@ -19,7 +17,9 @@ override define CLEAN
$(MAKE) -C $(GPIODIR) OUTPUT=$(GPIODIR)/ clean
endef
-$(TEST_PROGS_EXTENDED):| khdr
+KSFT_KHDR_INSTALL := 1
+include ../lib.mk
+
$(TEST_PROGS_EXTENDED): $(GPIODIR)/$(GPIOOBJ)
$(GPIODIR)/$(GPIOOBJ):
diff --git a/tools/testing/selftests/kvm/Makefile b/tools/testing/selftests/kvm/Makefile
index 01a219229238..52bfe5e76907 100644
--- a/tools/testing/selftests/kvm/Makefile
+++ b/tools/testing/selftests/kvm/Makefile
@@ -1,6 +1,7 @@
all:
top_srcdir = ../../../..
+KSFT_KHDR_INSTALL := 1
UNAME_M := $(shell uname -m)
LIBKVM = lib/assert.c lib/elf.c lib/io.c lib/kvm_util.c lib/ucall.c lib/sparsebit.c
@@ -44,7 +45,6 @@ $(OUTPUT)/libkvm.a: $(LIBKVM_OBJ)
all: $(STATIC_LIBS)
$(TEST_GEN_PROGS): $(STATIC_LIBS)
-$(STATIC_LIBS):| khdr
cscope: include_paths = $(LINUX_TOOL_INCLUDE) $(LINUX_HDR_PATH) include lib ..
cscope:
diff --git a/tools/testing/selftests/lib.mk b/tools/testing/selftests/lib.mk
index 0a8e75886224..8b0f16409ed7 100644
--- a/tools/testing/selftests/lib.mk
+++ b/tools/testing/selftests/lib.mk
@@ -16,18 +16,18 @@ TEST_GEN_PROGS := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS))
TEST_GEN_PROGS_EXTENDED := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_PROGS_EXTENDED))
TEST_GEN_FILES := $(patsubst %,$(OUTPUT)/%,$(TEST_GEN_FILES))
+ifdef KSFT_KHDR_INSTALL
top_srcdir ?= ../../../..
include $(top_srcdir)/scripts/subarch.include
ARCH ?= $(SUBARCH)
-all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
-
.PHONY: khdr
khdr:
make ARCH=$(ARCH) -C $(top_srcdir) headers_install
-ifdef KSFT_KHDR_INSTALL
-$(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES):| khdr
+all: khdr $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
+else
+all: $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES)
endif
.ONESHELL:
diff --git a/tools/testing/selftests/networking/timestamping/Makefile b/tools/testing/selftests/networking/timestamping/Makefile
index 14cfcf006936..c46c0eefab9e 100644
--- a/tools/testing/selftests/networking/timestamping/Makefile
+++ b/tools/testing/selftests/networking/timestamping/Makefile
@@ -6,6 +6,7 @@ TEST_PROGS := hwtstamp_config rxtimestamp timestamping txtimestamp
all: $(TEST_PROGS)
top_srcdir = ../../../../..
+KSFT_KHDR_INSTALL := 1
include ../../lib.mk
clean:
diff --git a/tools/testing/selftests/tc-testing/bpf/Makefile b/tools/testing/selftests/tc-testing/bpf/Makefile
index dc92eb271d9a..be5a5e542804 100644
--- a/tools/testing/selftests/tc-testing/bpf/Makefile
+++ b/tools/testing/selftests/tc-testing/bpf/Makefile
@@ -4,6 +4,7 @@ APIDIR := ../../../../include/uapi
TEST_GEN_FILES = action.o
top_srcdir = ../../../../..
+KSFT_KHDR_INSTALL := 1
include ../../lib.mk
CLANG ?= clang
diff --git a/tools/testing/selftests/vm/Makefile b/tools/testing/selftests/vm/Makefile
index 6e67e726e5a5..e13eb6cc8901 100644
--- a/tools/testing/selftests/vm/Makefile
+++ b/tools/testing/selftests/vm/Makefile
@@ -25,6 +25,7 @@ TEST_GEN_FILES += virtual_address_range
TEST_PROGS := run_vmtests
+KSFT_KHDR_INSTALL := 1
include ../lib.mk
$(OUTPUT)/userfaultfd: LDLIBS += -lpthread
--
2.17.1
I've backported a number of fixes for security issues affecting 4.4-
stable. All of these are already fixed in the newer stable branches.
For the BPF fix, I verified that the self-tests (taken from 4.14)
didn't regress and temporarily added logging to check that the
mitigation is applied when needed.
For the KVM changes, I verified that IBPB/IBRS are now exposed to and
used by a guest on Intel hardware.
I also verified that the current self-tests for timers, usercopy and vm
didn't regress.
Ben.
--
Ben Hutchings, Software Developer Codethink Ltd
https://www.codethink.co.uk/ Dale House, 35 Dale Street
Manchester, M1 2HF, United Kingdom
This is a note to let you know that I've just added the patch titled
iio: adc: qcom-spmi-adc5: Initialize prescale properly
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-next 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 also be merged in the next major kernel release
during the merge window.
If you have any questions about this process, please let me know.
>From db23d88756abd38e0995ea8449d0025b3de4b26b Mon Sep 17 00:00:00 2001
From: Evan Green <evgreen(a)chromium.org>
Date: Tue, 4 Dec 2018 11:14:19 -0800
Subject: iio: adc: qcom-spmi-adc5: Initialize prescale properly
adc5_get_dt_data uses a local, prop, feeds it to adc5_get_dt_channel_data,
and then puts the result into adc->chan_props. The problem is
adc5_get_dt_channel_data may not initialize that structure fully, so a
garbage value is used for prescale if the optional "qcom,pre-scaling" is
not defined in DT. adc5_read_raw then uses this as an array index,
generating a crash that looks like this:
[ 6.683186] Unable to handle kernel paging request at virtual address ffffff90e78c7964
Call trace:
qcom_vadc_scale_code_voltage_factor+0x74/0x104
qcom_vadc_scale_hw_calib_die_temp+0x20/0x60
qcom_adc5_hw_scale+0x78/0xa4
adc5_read_raw+0x3d0/0x65c
iio_channel_read+0x240/0x30c
iio_read_channel_processed+0x10c/0x150
qpnp_tm_get_temp+0xc0/0x40c
of_thermal_get_temp+0x7c/0x98
thermal_zone_get_temp+0xac/0xd8
thermal_zone_device_update+0xc0/0x38c
qpnp_tm_probe+0x624/0x81c
platform_drv_probe+0xe4/0x11c
really_probe+0x188/0x3fc
driver_probe_device+0xb8/0x188
__device_attach_driver+0x114/0x180
bus_for_each_drv+0xd8/0x118
__device_attach+0x180/0x27c
device_initial_probe+0x20/0x2c
bus_probe_device+0x78/0x124
deferred_probe_work_func+0xfc/0x138
process_one_work+0x3d8/0x8b0
process_scheduled_works+0x48/0x6c
worker_thread+0x488/0x7cc
kthread+0x24c/0x264
ret_from_fork+0x10/0x18
Unfortunately, when I went to add the initializer for this and tried to
boot it, my machine shut down immediately, complaining that it was
hotter than the sun. It appears that adc5_chans_pmic and adc5_chans_rev2
were initializing prescale_index as if it were directly a divisor,
rather than the index into adc5_prescale_ratios that it is.
Fix the uninitialized value, and change the static initialization to use
indices into adc5_prescale_ratios.
Signed-off-by: Evan Green <evgreen(a)chromium.org>
Reviewed-by: Matthias Kaehlcke <mka(a)chromium.org>
Cc: <Stable(a)vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron(a)huawei.com>
---
drivers/iio/adc/qcom-spmi-adc5.c | 58 +++++++++++++++++---------------
1 file changed, 31 insertions(+), 27 deletions(-)
diff --git a/drivers/iio/adc/qcom-spmi-adc5.c b/drivers/iio/adc/qcom-spmi-adc5.c
index f9af6b082916..6a866cc187f7 100644
--- a/drivers/iio/adc/qcom-spmi-adc5.c
+++ b/drivers/iio/adc/qcom-spmi-adc5.c
@@ -423,6 +423,7 @@ struct adc5_channels {
enum vadc_scale_fn_type scale_fn_type;
};
+/* In these definitions, _pre refers to an index into adc5_prescale_ratios. */
#define ADC5_CHAN(_dname, _type, _mask, _pre, _scale) \
{ \
.datasheet_name = _dname, \
@@ -443,63 +444,63 @@ struct adc5_channels {
_pre, _scale) \
static const struct adc5_channels adc5_chans_pmic[ADC5_MAX_CHANNEL] = {
- [ADC5_REF_GND] = ADC5_CHAN_VOLT("ref_gnd", 1,
+ [ADC5_REF_GND] = ADC5_CHAN_VOLT("ref_gnd", 0,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_1P25VREF] = ADC5_CHAN_VOLT("vref_1p25", 1,
+ [ADC5_1P25VREF] = ADC5_CHAN_VOLT("vref_1p25", 0,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_VPH_PWR] = ADC5_CHAN_VOLT("vph_pwr", 3,
+ [ADC5_VPH_PWR] = ADC5_CHAN_VOLT("vph_pwr", 1,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_VBAT_SNS] = ADC5_CHAN_VOLT("vbat_sns", 3,
+ [ADC5_VBAT_SNS] = ADC5_CHAN_VOLT("vbat_sns", 1,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_DIE_TEMP] = ADC5_CHAN_TEMP("die_temp", 1,
+ [ADC5_DIE_TEMP] = ADC5_CHAN_TEMP("die_temp", 0,
SCALE_HW_CALIB_PMIC_THERM)
- [ADC5_USB_IN_I] = ADC5_CHAN_VOLT("usb_in_i_uv", 1,
+ [ADC5_USB_IN_I] = ADC5_CHAN_VOLT("usb_in_i_uv", 0,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_USB_IN_V_16] = ADC5_CHAN_VOLT("usb_in_v_div_16", 16,
+ [ADC5_USB_IN_V_16] = ADC5_CHAN_VOLT("usb_in_v_div_16", 8,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_CHG_TEMP] = ADC5_CHAN_TEMP("chg_temp", 1,
+ [ADC5_CHG_TEMP] = ADC5_CHAN_TEMP("chg_temp", 0,
SCALE_HW_CALIB_PM5_CHG_TEMP)
/* Charger prescales SBUx and MID_CHG to fit within 1.8V upper unit */
- [ADC5_SBUx] = ADC5_CHAN_VOLT("chg_sbux", 3,
+ [ADC5_SBUx] = ADC5_CHAN_VOLT("chg_sbux", 1,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_MID_CHG_DIV6] = ADC5_CHAN_VOLT("chg_mid_chg", 6,
+ [ADC5_MID_CHG_DIV6] = ADC5_CHAN_VOLT("chg_mid_chg", 3,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_XO_THERM_100K_PU] = ADC5_CHAN_TEMP("xo_therm", 1,
+ [ADC5_XO_THERM_100K_PU] = ADC5_CHAN_TEMP("xo_therm", 0,
SCALE_HW_CALIB_XOTHERM)
- [ADC5_AMUX_THM1_100K_PU] = ADC5_CHAN_TEMP("amux_thm1_100k_pu", 1,
+ [ADC5_AMUX_THM1_100K_PU] = ADC5_CHAN_TEMP("amux_thm1_100k_pu", 0,
SCALE_HW_CALIB_THERM_100K_PULLUP)
- [ADC5_AMUX_THM2_100K_PU] = ADC5_CHAN_TEMP("amux_thm2_100k_pu", 1,
+ [ADC5_AMUX_THM2_100K_PU] = ADC5_CHAN_TEMP("amux_thm2_100k_pu", 0,
SCALE_HW_CALIB_THERM_100K_PULLUP)
- [ADC5_AMUX_THM3_100K_PU] = ADC5_CHAN_TEMP("amux_thm3_100k_pu", 1,
+ [ADC5_AMUX_THM3_100K_PU] = ADC5_CHAN_TEMP("amux_thm3_100k_pu", 0,
SCALE_HW_CALIB_THERM_100K_PULLUP)
- [ADC5_AMUX_THM2] = ADC5_CHAN_TEMP("amux_thm2", 1,
+ [ADC5_AMUX_THM2] = ADC5_CHAN_TEMP("amux_thm2", 0,
SCALE_HW_CALIB_PM5_SMB_TEMP)
};
static const struct adc5_channels adc5_chans_rev2[ADC5_MAX_CHANNEL] = {
- [ADC5_REF_GND] = ADC5_CHAN_VOLT("ref_gnd", 1,
+ [ADC5_REF_GND] = ADC5_CHAN_VOLT("ref_gnd", 0,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_1P25VREF] = ADC5_CHAN_VOLT("vref_1p25", 1,
+ [ADC5_1P25VREF] = ADC5_CHAN_VOLT("vref_1p25", 0,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_VPH_PWR] = ADC5_CHAN_VOLT("vph_pwr", 3,
+ [ADC5_VPH_PWR] = ADC5_CHAN_VOLT("vph_pwr", 1,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_VBAT_SNS] = ADC5_CHAN_VOLT("vbat_sns", 3,
+ [ADC5_VBAT_SNS] = ADC5_CHAN_VOLT("vbat_sns", 1,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_VCOIN] = ADC5_CHAN_VOLT("vcoin", 3,
+ [ADC5_VCOIN] = ADC5_CHAN_VOLT("vcoin", 1,
SCALE_HW_CALIB_DEFAULT)
- [ADC5_DIE_TEMP] = ADC5_CHAN_TEMP("die_temp", 1,
+ [ADC5_DIE_TEMP] = ADC5_CHAN_TEMP("die_temp", 0,
SCALE_HW_CALIB_PMIC_THERM)
- [ADC5_AMUX_THM1_100K_PU] = ADC5_CHAN_TEMP("amux_thm1_100k_pu", 1,
+ [ADC5_AMUX_THM1_100K_PU] = ADC5_CHAN_TEMP("amux_thm1_100k_pu", 0,
SCALE_HW_CALIB_THERM_100K_PULLUP)
- [ADC5_AMUX_THM2_100K_PU] = ADC5_CHAN_TEMP("amux_thm2_100k_pu", 1,
+ [ADC5_AMUX_THM2_100K_PU] = ADC5_CHAN_TEMP("amux_thm2_100k_pu", 0,
SCALE_HW_CALIB_THERM_100K_PULLUP)
- [ADC5_AMUX_THM3_100K_PU] = ADC5_CHAN_TEMP("amux_thm3_100k_pu", 1,
+ [ADC5_AMUX_THM3_100K_PU] = ADC5_CHAN_TEMP("amux_thm3_100k_pu", 0,
SCALE_HW_CALIB_THERM_100K_PULLUP)
- [ADC5_AMUX_THM4_100K_PU] = ADC5_CHAN_TEMP("amux_thm4_100k_pu", 1,
+ [ADC5_AMUX_THM4_100K_PU] = ADC5_CHAN_TEMP("amux_thm4_100k_pu", 0,
SCALE_HW_CALIB_THERM_100K_PULLUP)
- [ADC5_AMUX_THM5_100K_PU] = ADC5_CHAN_TEMP("amux_thm5_100k_pu", 1,
+ [ADC5_AMUX_THM5_100K_PU] = ADC5_CHAN_TEMP("amux_thm5_100k_pu", 0,
SCALE_HW_CALIB_THERM_100K_PULLUP)
- [ADC5_XO_THERM_100K_PU] = ADC5_CHAN_TEMP("xo_therm_100k_pu", 1,
+ [ADC5_XO_THERM_100K_PU] = ADC5_CHAN_TEMP("xo_therm_100k_pu", 0,
SCALE_HW_CALIB_THERM_100K_PULLUP)
};
@@ -558,6 +559,9 @@ static int adc5_get_dt_channel_data(struct adc5_chip *adc,
return ret;
}
prop->prescale = ret;
+ } else {
+ prop->prescale =
+ adc->data->adc_chans[prop->channel].prescale_index;
}
ret = of_property_read_u32(node, "qcom,hw-settle-time", &value);
--
2.20.0
This is a note to let you know that I've just added the patch titled
iio: dac: ad5686: fix bit shift read register
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-next 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 also be merged in the next major kernel release
during the merge window.
If you have any questions about this process, please let me know.
>From 0e76df5c978338f3051e5126fc0c4245c57a307a Mon Sep 17 00:00:00 2001
From: Mircea Caprioru <mircea.caprioru(a)analog.com>
Date: Thu, 6 Dec 2018 15:53:15 +0200
Subject: iio: dac: ad5686: fix bit shift read register
This patch solves the register readback issue with the bit shift. When the
dac resolution was lower than the register size (ex. 12 bits out of 16
bits) the readback value was not shifted with the difference in bits and
the value was higher. Also a mask is applied on the read value in order to
get the value relative to the actual bit size.
Fixes: 0357e488b8 ("iio:dac:ad5686: Refactor the driver")
Signed-off-by: Mircea Caprioru <mircea.caprioru(a)analog.com>
Cc: <Stable(a)vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron(a)huawei.com>
---
drivers/iio/dac/ad5686.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c
index 54ff76b93366..a332b93ca2c4 100644
--- a/drivers/iio/dac/ad5686.c
+++ b/drivers/iio/dac/ad5686.c
@@ -128,7 +128,8 @@ static int ad5686_read_raw(struct iio_dev *indio_dev,
mutex_unlock(&indio_dev->mlock);
if (ret < 0)
return ret;
- *val = ret;
+ *val = (ret >> chan->scan_type.shift) &
+ GENMASK(chan->scan_type.realbits - 1, 0);
return IIO_VAL_INT;
case IIO_CHAN_INFO_SCALE:
*val = st->vref_mv;
--
2.20.0
Although bit 31 of VTCR_EL2 is RES1, we inadvertently end up setting all
of the upper 32 bits to 1 as well because we define VTCR_EL2_RES1 as
signed, which is sign-extended when assigning to kvm->arch.vtcr.
Lucky for us, the architecture currently treats these upper bits as RES0
so, whilst we've been naughty, we haven't set fire to anything yet.
Cc: <stable(a)vger.kernel.org>
Cc: Marc Zyngier <marc.zyngier(a)arm.com>
Cc: Christoffer Dall <christoffer.dall(a)arm.com>
Signed-off-by: Will Deacon <will.deacon(a)arm.com>
---
arch/arm64/include/asm/kvm_arm.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/include/asm/kvm_arm.h b/arch/arm64/include/asm/kvm_arm.h
index 6f602af5263c..2dafd936d84d 100644
--- a/arch/arm64/include/asm/kvm_arm.h
+++ b/arch/arm64/include/asm/kvm_arm.h
@@ -104,7 +104,7 @@
TCR_EL2_ORGN0_MASK | TCR_EL2_IRGN0_MASK | TCR_EL2_T0SZ_MASK)
/* VTCR_EL2 Registers bits */
-#define VTCR_EL2_RES1 (1 << 31)
+#define VTCR_EL2_RES1 (1U << 31)
#define VTCR_EL2_HD (1 << 22)
#define VTCR_EL2_HA (1 << 21)
#define VTCR_EL2_PS_SHIFT TCR_EL2_PS_SHIFT
--
2.1.4