* [BUG] net: stmmac: socfpga ethernet no longer working on linux-next
From: Dinh Nguyen @ 2018-06-13 20:46 UTC (permalink / raw)
To: netdev; +Cc: David Miller, clabbe, joabreu, Dinh Nguyen, Marek Vasut
Hi,
The stmmac ethernet has stopped working in linux-next and linus/master
branch(v4.17-11782-gbe779f03d563)
It appears that the stmmac ethernet has stopped working after these 2 commits:
4dbbe8dde848 net: stmmac: Add support for U32 TC filter using Flexible RX Parser
5f0456b43140 net: stmmac: Implement logic to automatically select HW Interface
If I move to this commit "565020aaeebf net: stmmac: Disable ACS
Feature for GMAC >= 4", then the stmmac works again on SoCFPGA.
I was following this thread:
https://www.spinics.net/lists/netdev/msg502858.html
Was wondering if there was a patch to fix dwmac-sun8i that the socfpga
platform needs as well?
Thanks,
Dinh
^ permalink raw reply
* Re: [PATCH net] net: qcom/emac: Add missing of_node_put()
From: Timur Tabi @ 2018-06-13 20:45 UTC (permalink / raw)
To: YueHaibing, davem; +Cc: linux-kernel, netdev, Hemanth Puranik
In-Reply-To: <20180611130345.15172-1-yuehaibing@huawei.com>
On 06/11/2018 08:03 AM, YueHaibing wrote:
> Add missing of_node_put() call for device node returned by
> of_parse_phandle().
>
> Signed-off-by: YueHaibing<yuehaibing@huawei.com>
Acked-by: Timur Tabi <timur@codeaurora.org>
This seems legit. The comment for of_find_device_by_node() that says
the np needs to be released was added after the code was written, so
it's possible that I didn't know at the time that this was a requirement.
However, I no longer have the ability to test EMAC on device tree
platforms, so I can't verify this code.
--
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm
Technologies, Inc. Qualcomm Technologies, Inc. is a member of the
Code Aurora Forum, a Linux Foundation Collaborative Project.
^ permalink raw reply
* [PATCH v2] hv_netvsc: Add per-cpu ethtool stats for netvsc
From: Yidong Ren @ 2018-06-13 19:36 UTC (permalink / raw)
To: K. Y. Srinivasan, Haiyang Zhang, Stephen Hemminger,
David S. Miller, devel, netdev, linux-kernel
From: Yidong Ren <yidren@microsoft.com>
This patch implements following ethtool stats fields for netvsc:
cpu<n>_tx/rx_packets/bytes
cpu<n>_vf_tx/rx_packets/bytes
Corresponding per-cpu counters exist in current code. Exposing these
counters will help troubleshooting performance issues.
Signed-off-by: Yidong Ren <yidren@microsoft.com>
---
Changes in v2:
- Remove cpp style comment
- Resubmit after freeze
drivers/net/hyperv/hyperv_net.h | 11 +++++
drivers/net/hyperv/netvsc_drv.c | 104 +++++++++++++++++++++++++++++++++++++++-
2 files changed, 113 insertions(+), 2 deletions(-)
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index 23304ac..c825353 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -873,6 +873,17 @@ struct netvsc_ethtool_stats {
unsigned long wake_queue;
};
+struct netvsc_ethtool_pcpu_stats {
+ u64 rx_packets;
+ u64 rx_bytes;
+ u64 tx_packets;
+ u64 tx_bytes;
+ u64 vf_rx_packets;
+ u64 vf_rx_bytes;
+ u64 vf_tx_packets;
+ u64 vf_tx_bytes;
+};
+
struct netvsc_vf_pcpu_stats {
u64 rx_packets;
u64 rx_bytes;
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c
index 7b18a8c..6803aae 100644
--- a/drivers/net/hyperv/netvsc_drv.c
+++ b/drivers/net/hyperv/netvsc_drv.c
@@ -1105,6 +1105,66 @@ static void netvsc_get_vf_stats(struct net_device *net,
}
}
+static void netvsc_get_pcpu_stats(struct net_device *net,
+ struct netvsc_ethtool_pcpu_stats
+ __percpu *pcpu_tot)
+{
+ struct net_device_context *ndev_ctx = netdev_priv(net);
+ struct netvsc_device *nvdev = rcu_dereference_rtnl(ndev_ctx->nvdev);
+ int i;
+
+ /* fetch percpu stats of vf */
+ for_each_possible_cpu(i) {
+ const struct netvsc_vf_pcpu_stats *stats =
+ per_cpu_ptr(ndev_ctx->vf_stats, i);
+ struct netvsc_ethtool_pcpu_stats *this_tot =
+ per_cpu_ptr(pcpu_tot, i);
+ unsigned int start;
+
+ do {
+ start = u64_stats_fetch_begin_irq(&stats->syncp);
+ this_tot->vf_rx_packets = stats->rx_packets;
+ this_tot->vf_tx_packets = stats->tx_packets;
+ this_tot->vf_rx_bytes = stats->rx_bytes;
+ this_tot->vf_tx_bytes = stats->tx_bytes;
+ } while (u64_stats_fetch_retry_irq(&stats->syncp, start));
+ this_tot->rx_packets = this_tot->vf_rx_packets;
+ this_tot->tx_packets = this_tot->vf_tx_packets;
+ this_tot->rx_bytes = this_tot->vf_rx_bytes;
+ this_tot->tx_bytes = this_tot->vf_tx_bytes;
+ }
+
+ /* fetch percpu stats of netvsc */
+ for (i = 0; i < nvdev->num_chn; i++) {
+ const struct netvsc_channel *nvchan = &nvdev->chan_table[i];
+ const struct netvsc_stats *stats;
+ struct netvsc_ethtool_pcpu_stats *this_tot =
+ per_cpu_ptr(pcpu_tot, nvchan->channel->target_cpu);
+ u64 packets, bytes;
+ unsigned int start;
+
+ stats = &nvchan->tx_stats;
+ do {
+ start = u64_stats_fetch_begin_irq(&stats->syncp);
+ packets = stats->packets;
+ bytes = stats->bytes;
+ } while (u64_stats_fetch_retry_irq(&stats->syncp, start));
+
+ this_tot->tx_bytes += bytes;
+ this_tot->tx_packets += packets;
+
+ stats = &nvchan->rx_stats;
+ do {
+ start = u64_stats_fetch_begin_irq(&stats->syncp);
+ packets = stats->packets;
+ bytes = stats->bytes;
+ } while (u64_stats_fetch_retry_irq(&stats->syncp, start));
+
+ this_tot->rx_bytes += bytes;
+ this_tot->rx_packets += packets;
+ }
+}
+
static void netvsc_get_stats64(struct net_device *net,
struct rtnl_link_stats64 *t)
{
@@ -1202,6 +1262,23 @@ static const struct {
{ "rx_no_memory", offsetof(struct netvsc_ethtool_stats, rx_no_memory) },
{ "stop_queue", offsetof(struct netvsc_ethtool_stats, stop_queue) },
{ "wake_queue", offsetof(struct netvsc_ethtool_stats, wake_queue) },
+}, pcpu_stats[] = {
+ { "cpu%u_rx_packets",
+ offsetof(struct netvsc_ethtool_pcpu_stats, rx_packets) },
+ { "cpu%u_rx_bytes",
+ offsetof(struct netvsc_ethtool_pcpu_stats, rx_bytes) },
+ { "cpu%u_tx_packets",
+ offsetof(struct netvsc_ethtool_pcpu_stats, tx_packets) },
+ { "cpu%u_tx_bytes",
+ offsetof(struct netvsc_ethtool_pcpu_stats, tx_bytes) },
+ { "cpu%u_vf_rx_packets",
+ offsetof(struct netvsc_ethtool_pcpu_stats, vf_rx_packets) },
+ { "cpu%u_vf_rx_bytes",
+ offsetof(struct netvsc_ethtool_pcpu_stats, vf_rx_bytes) },
+ { "cpu%u_vf_tx_packets",
+ offsetof(struct netvsc_ethtool_pcpu_stats, vf_tx_packets) },
+ { "cpu%u_vf_tx_bytes",
+ offsetof(struct netvsc_ethtool_pcpu_stats, vf_tx_bytes) },
}, vf_stats[] = {
{ "vf_rx_packets", offsetof(struct netvsc_vf_pcpu_stats, rx_packets) },
{ "vf_rx_bytes", offsetof(struct netvsc_vf_pcpu_stats, rx_bytes) },
@@ -1213,6 +1290,9 @@ static const struct {
#define NETVSC_GLOBAL_STATS_LEN ARRAY_SIZE(netvsc_stats)
#define NETVSC_VF_STATS_LEN ARRAY_SIZE(vf_stats)
+/* statistics per queue (rx/tx packets/bytes) */
+#define NETVSC_PCPU_STATS_LEN (num_present_cpus() * ARRAY_SIZE(pcpu_stats))
+
/* 4 statistics per queue (rx/tx packets/bytes) */
#define NETVSC_QUEUE_STATS_LEN(dev) ((dev)->num_chn * 4)
@@ -1228,6 +1308,7 @@ static int netvsc_get_sset_count(struct net_device *dev, int string_set)
case ETH_SS_STATS:
return NETVSC_GLOBAL_STATS_LEN
+ NETVSC_VF_STATS_LEN
+ + NETVSC_PCPU_STATS_LEN
+ NETVSC_QUEUE_STATS_LEN(nvdev);
default:
return -EINVAL;
@@ -1242,9 +1323,10 @@ static void netvsc_get_ethtool_stats(struct net_device *dev,
const void *nds = &ndc->eth_stats;
const struct netvsc_stats *qstats;
struct netvsc_vf_pcpu_stats sum;
+ struct netvsc_ethtool_pcpu_stats __percpu *pcpu_sum;
unsigned int start;
u64 packets, bytes;
- int i, j;
+ int i, j, cpu;
if (!nvdev)
return;
@@ -1256,6 +1338,17 @@ static void netvsc_get_ethtool_stats(struct net_device *dev,
for (j = 0; j < NETVSC_VF_STATS_LEN; j++)
data[i++] = *(u64 *)((void *)&sum + vf_stats[j].offset);
+ pcpu_sum = alloc_percpu(struct netvsc_ethtool_pcpu_stats);
+ netvsc_get_pcpu_stats(dev, pcpu_sum);
+ for_each_present_cpu(cpu) {
+ struct netvsc_ethtool_pcpu_stats *this_sum =
+ per_cpu_ptr(pcpu_sum, cpu);
+ for (j = 0; j < ARRAY_SIZE(pcpu_stats); j++)
+ data[i++] = *(u64 *)((void *)this_sum
+ + pcpu_stats[j].offset);
+ }
+ free_percpu(pcpu_sum);
+
for (j = 0; j < nvdev->num_chn; j++) {
qstats = &nvdev->chan_table[j].tx_stats;
@@ -1283,7 +1376,7 @@ static void netvsc_get_strings(struct net_device *dev, u32 stringset, u8 *data)
struct net_device_context *ndc = netdev_priv(dev);
struct netvsc_device *nvdev = rtnl_dereference(ndc->nvdev);
u8 *p = data;
- int i;
+ int i, cpu;
if (!nvdev)
return;
@@ -1300,6 +1393,13 @@ static void netvsc_get_strings(struct net_device *dev, u32 stringset, u8 *data)
p += ETH_GSTRING_LEN;
}
+ for_each_present_cpu(cpu) {
+ for (i = 0; i < ARRAY_SIZE(pcpu_stats); i++) {
+ sprintf(p, pcpu_stats[i].name, cpu);
+ p += ETH_GSTRING_LEN;
+ }
+ }
+
for (i = 0; i < nvdev->num_chn; i++) {
sprintf(p, "tx_queue_%u_packets", i);
p += ETH_GSTRING_LEN;
--
2.7.4
^ permalink raw reply related
* Re: KASAN: slab-out-of-bounds Read in bpf_skb_vlan_push
From: syzbot @ 2018-06-13 18:49 UTC (permalink / raw)
To: ast, daniel, davem, linux-kernel, netdev, syzkaller-bugs
In-Reply-To: <26c434ee-0a0a-fbba-282c-dabddfac652e@iogearbox.net>
Hello,
syzbot has tested the proposed patch and the reproducer did not trigger
crash:
Reported-and-tested-by:
syzbot+76de61614cb1abdd73fc@syzkaller.appspotmail.com
Tested on:
commit: be779f03d563 Merge tag 'kbuild-v4.18-2' of git://git.kerne..
git tree: upstream
kernel config: https://syzkaller.appspot.com/x/.config?x=68d8eba98e3f8e88
compiler: gcc (GCC) 8.0.1 20180413 (experimental)
Note: testing is done by a robot and is best-effort only.
^ permalink raw reply
* Re: [PATCH ethtool 1/6] ethtool: fix uninitialized return value
From: John W. Linville @ 2018-06-13 18:31 UTC (permalink / raw)
To: Ivan Vecera; +Cc: netdev
In-Reply-To: <20180608092010.13041-1-cera@cera.cz>
On Fri, Jun 08, 2018 at 11:20:05AM +0200, Ivan Vecera wrote:
> Fixes: b0fe96d ("Ethtool: Implements ETHTOOL_PHY_GTUNABLE/ETHTOOL_PHY_STUNABLE and PHY downshift")
> Signed-off-by: Ivan Vecera <cera@cera.cz>
LGTM -- I have queued the series for the next release, including
extending the commit IDs...
Thanks!
John
--
John W. Linville Someday the world will need a hero, and you
linville@tuxdriver.com might be all we have. Be ready.
^ permalink raw reply
* Re: KASAN: slab-out-of-bounds Read in bpf_skb_vlan_push
From: Daniel Borkmann @ 2018-06-13 18:42 UTC (permalink / raw)
To: syzbot, ast, davem, linux-kernel, netdev, syzkaller-bugs
In-Reply-To: <0000000000000c58c2056e8a3a27@google.com>
On 06/13/2018 08:34 PM, syzbot wrote:
> Hello,
>
> syzbot has tested the proposed patch and the reproducer did not trigger crash:
>
> Reported-and-tested-by: syzbot+76de61614cb1abdd73fc@syzkaller.appspotmail.com
>
> Tested on:
>
> commit: be779f03d563 Merge tag 'kbuild-v4.18-2' of git://git.kerne..
> git tree: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/--
> kernel config: https://syzkaller.appspot.com/x/.config?x=68d8eba98e3f8e88
> compiler: gcc (GCC) 8.0.1 20180413 (experimental)
>
> Note: testing is done by a robot and is best-effort only.
#syz fix: bpf: reject passing modified ctx to helper functions
^ permalink raw reply
* Re: KASAN: slab-out-of-bounds Read in bpf_skb_vlan_push
From: syzbot @ 2018-06-13 18:34 UTC (permalink / raw)
To: ast, daniel, davem, linux-kernel, netdev, syzkaller-bugs
In-Reply-To: <b3af0f35-b0f8-859d-4f8f-b919d35ebaaa@iogearbox.net>
Hello,
syzbot has tested the proposed patch and the reproducer did not trigger
crash:
Reported-and-tested-by:
syzbot+76de61614cb1abdd73fc@syzkaller.appspotmail.com
Tested on:
commit: be779f03d563 Merge tag 'kbuild-v4.18-2' of git://git.kerne..
git tree:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/--
kernel config: https://syzkaller.appspot.com/x/.config?x=68d8eba98e3f8e88
compiler: gcc (GCC) 8.0.1 20180413 (experimental)
Note: testing is done by a robot and is best-effort only.
^ permalink raw reply
* Re: KASAN: slab-out-of-bounds Read in bpf_skb_vlan_push
From: Daniel Borkmann @ 2018-06-13 18:15 UTC (permalink / raw)
To: syzbot; +Cc: ast, davem, linux-kernel, netdev, syzkaller-bugs
In-Reply-To: <000000000000402477056e89f067@google.com>
On 06/13/2018 08:13 PM, syzbot wrote:
>> On 06/13/2018 06:17 PM, syzbot wrote:
>>> Hello,
>
>>> syzbot found the following crash on:
>
>>> HEAD commit: 75d4e704fa8d netdev-FAQ: clarify DaveM's position for stab..
>>> git tree: bpf-next
>>> console output: https://syzkaller.appspot.com/x/log.txt?x=1754783f800000
>>> kernel config: https://syzkaller.appspot.com/x/.config?x=a601a80fec461d44
>>> dashboard link: https://syzkaller.appspot.com/bug?extid=76de61614cb1abdd73fc
>>> compiler: gcc (GCC) 8.0.1 20180413 (experimental)
>>> syzkaller repro:https://syzkaller.appspot.com/x/repro.syz?x=12c1e1bf800000
>
>>> IMPORTANT: if you fix the bug, please add the following tag to the commit:
>>> Reported-by: syzbot+76de61614cb1abdd73fc@syzkaller.appspotmail.com
>
>>> IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready
>>> IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready
>>> 8021q: adding VLAN 0 to HW filter on device team0
>>> 8021q: adding VLAN 0 to HW filter on device team0
>>> ==================================================================
>>> BUG: KASAN: slab-out-of-bounds in skb_at_tc_ingress include/net/sch_generic.h:535 [inline]
>>> BUG: KASAN: slab-out-of-bounds in bpf_push_mac_rcsum net/core/filter.c:1625 [inline]
>>> BUG: KASAN: slab-out-of-bounds in ____bpf_skb_vlan_push net/core/filter.c:2446 [inline]
>>> BUG: KASAN: slab-out-of-bounds in bpf_skb_vlan_push+0x6b7/0x720 net/core/filter.c:2437
>>> Read of size 5 at addr ffff8801b77347d0 by task syz-executor6/6529
>
>> Should be fixed already by:
>
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=58990d1ff3f7896ee341030e9a7c2e4002570683
>
>
>> #syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>
> want 2 args (repo, branch), got 1
Fair enough ... assumed default would have been master. ;-)
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
^ permalink raw reply
* Re: 4b66af2d("af_key: Always verify length of provided sadb_key")
From: Greg KH @ 2018-06-13 18:13 UTC (permalink / raw)
To: Zubin Mithra; +Cc: linux-netdev, groeck, stable
In-Reply-To: <20180613180252.GA34929@zsmcros.c.googlers.com>
On Wed, Jun 13, 2018 at 02:02:54PM -0400, Zubin Mithra wrote:
> Hello,
>
> Syzkaller has reported a crash here[1] for a slab OOB read in pfkey_add.
>
> Could the following patch be applied to stable kernels for 4.14, 4.4, 3.18, 3.14, 3.10 and 3.8?
>
> 4b66af2d("af_key: Always verify length of provided sadb_key")
>
> [1] https://syzkaller.appspot.com/bug?id=26cb120b31cd24d984fc16da67f50fb375c432a7
Now queued up, thanks.
greg k-h
^ permalink raw reply
* Re: Re: KASAN: slab-out-of-bounds Read in bpf_skb_vlan_push
From: syzbot @ 2018-06-13 18:13 UTC (permalink / raw)
To: Daniel Borkmann; +Cc: ast, daniel, davem, linux-kernel, netdev, syzkaller-bugs
In-Reply-To: <b3af0f35-b0f8-859d-4f8f-b919d35ebaaa@iogearbox.net>
> On 06/13/2018 06:17 PM, syzbot wrote:
>> Hello,
>> syzbot found the following crash on:
>> HEAD commit: 75d4e704fa8d netdev-FAQ: clarify DaveM's position for
>> stab..
>> git tree: bpf-next
>> console output: https://syzkaller.appspot.com/x/log.txt?x=1754783f800000
>> kernel config:
>> https://syzkaller.appspot.com/x/.config?x=a601a80fec461d44
>> dashboard link:
>> https://syzkaller.appspot.com/bug?extid=76de61614cb1abdd73fc
>> compiler: gcc (GCC) 8.0.1 20180413 (experimental)
>> syzkaller
>> repro:https://syzkaller.appspot.com/x/repro.syz?x=12c1e1bf800000
>> IMPORTANT: if you fix the bug, please add the following tag to the
>> commit:
>> Reported-by: syzbot+76de61614cb1abdd73fc@syzkaller.appspotmail.com
>> IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready
>> IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready
>> 8021q: adding VLAN 0 to HW filter on device team0
>> 8021q: adding VLAN 0 to HW filter on device team0
>> ==================================================================
>> BUG: KASAN: slab-out-of-bounds in skb_at_tc_ingress
>> include/net/sch_generic.h:535 [inline]
>> BUG: KASAN: slab-out-of-bounds in bpf_push_mac_rcsum
>> net/core/filter.c:1625 [inline]
>> BUG: KASAN: slab-out-of-bounds in ____bpf_skb_vlan_push
>> net/core/filter.c:2446 [inline]
>> BUG: KASAN: slab-out-of-bounds in bpf_skb_vlan_push+0x6b7/0x720
>> net/core/filter.c:2437
>> Read of size 5 at addr ffff8801b77347d0 by task syz-executor6/6529
> Should be fixed already by:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=58990d1ff3f7896ee341030e9a7c2e4002570683
> #syz test:
> git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
want 2 args (repo, branch), got 1
^ permalink raw reply
* Re: KASAN: slab-out-of-bounds Read in bpf_skb_vlan_push
From: Daniel Borkmann @ 2018-06-13 18:13 UTC (permalink / raw)
To: syzbot, ast, davem, linux-kernel, netdev, syzkaller-bugs
In-Reply-To: <000000000000219be6056e8850fa@google.com>
On 06/13/2018 06:17 PM, syzbot wrote:
> Hello,
>
> syzbot found the following crash on:
>
> HEAD commit: 75d4e704fa8d netdev-FAQ: clarify DaveM's position for stab..
> git tree: bpf-next
> console output: https://syzkaller.appspot.com/x/log.txt?x=1754783f800000
> kernel config: https://syzkaller.appspot.com/x/.config?x=a601a80fec461d44
> dashboard link: https://syzkaller.appspot.com/bug?extid=76de61614cb1abdd73fc
> compiler: gcc (GCC) 8.0.1 20180413 (experimental)
> syzkaller repro:https://syzkaller.appspot.com/x/repro.syz?x=12c1e1bf800000
>
> IMPORTANT: if you fix the bug, please add the following tag to the commit:
> Reported-by: syzbot+76de61614cb1abdd73fc@syzkaller.appspotmail.com
>
> IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready
> IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready
> 8021q: adding VLAN 0 to HW filter on device team0
> 8021q: adding VLAN 0 to HW filter on device team0
> ==================================================================
> BUG: KASAN: slab-out-of-bounds in skb_at_tc_ingress include/net/sch_generic.h:535 [inline]
> BUG: KASAN: slab-out-of-bounds in bpf_push_mac_rcsum net/core/filter.c:1625 [inline]
> BUG: KASAN: slab-out-of-bounds in ____bpf_skb_vlan_push net/core/filter.c:2446 [inline]
> BUG: KASAN: slab-out-of-bounds in bpf_skb_vlan_push+0x6b7/0x720 net/core/filter.c:2437
> Read of size 5 at addr ffff8801b77347d0 by task syz-executor6/6529
Should be fixed already by:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=58990d1ff3f7896ee341030e9a7c2e4002570683
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
^ permalink raw reply
* 4b66af2d("af_key: Always verify length of provided sadb_key")
From: Zubin Mithra @ 2018-06-13 18:02 UTC (permalink / raw)
To: linux-netdev; +Cc: groeck, stable
Hello,
Syzkaller has reported a crash here[1] for a slab OOB read in pfkey_add.
Could the following patch be applied to stable kernels for 4.14, 4.4, 3.18, 3.14, 3.10 and 3.8?
4b66af2d("af_key: Always verify length of provided sadb_key")
[1] https://syzkaller.appspot.com/bug?id=26cb120b31cd24d984fc16da67f50fb375c432a7
Thanks,
- Zubin
^ permalink raw reply
* Re: [bpf PATCH] bpf: selftest fix for sockmap
From: John Fastabend @ 2018-06-13 17:52 UTC (permalink / raw)
To: Daniel Borkmann, ast; +Cc: netdev
In-Reply-To: <0e4b873d-7e2d-7683-c7cb-0a0112d123a5@iogearbox.net>
On 06/12/2018 05:31 PM, Daniel Borkmann wrote:
> On 06/11/2018 08:47 PM, John Fastabend wrote:
>> In selftest test_maps the sockmap test case attempts to add a socket
>> in listening state to the sockmap. This is no longer a valid operation
>> so it fails as expected. However, the test wrongly reports this as an
>> error now. Fix the test to avoid adding sockets in listening state.
>>
>> Fixes: 945ae430aa44 ("bpf: sockmap only allow ESTABLISHED sock state")
>> Signed-off-by: John Fastabend <john.fastabend@gmail.com>
>
> (fyi, discussed with John that this will be enrolled into the set of
> fixes he has pending for bpf since the test is related to the one
> restricting to ESTABLISHED state.)
>
Patch part of this series now,
https://patchwork.ozlabs.org/project/netdev/list/?series=49988
^ permalink raw reply
* [bpf PATCH 6/6] bpf: selftest remove attempts to add LISTEN sockets to sockmap
From: John Fastabend @ 2018-06-13 17:50 UTC (permalink / raw)
To: ast, daniel; +Cc: netdev
In-Reply-To: <20180613174202.4264.59970.stgit@john-Precision-Tower-5810>
In selftest test_maps the sockmap test case attempts to add a socket
in listening state to the sockmap. This is no longer a valid operation
so it fails as expected. However, the test wrongly reports this as an
error now. Fix the test to avoid adding sockets in listening state.
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
---
tools/testing/selftests/bpf/test_maps.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/bpf/test_maps.c b/tools/testing/selftests/bpf/test_maps.c
index 6c25334..9fed5f0 100644
--- a/tools/testing/selftests/bpf/test_maps.c
+++ b/tools/testing/selftests/bpf/test_maps.c
@@ -564,7 +564,7 @@ static void test_sockmap(int tasks, void *data)
}
/* Test update without programs */
- for (i = 0; i < 6; i++) {
+ for (i = 2; i < 6; i++) {
err = bpf_map_update_elem(fd, &i, &sfd[i], BPF_ANY);
if (err) {
printf("Failed noprog update sockmap '%i:%i'\n",
@@ -727,7 +727,7 @@ static void test_sockmap(int tasks, void *data)
}
/* Test map update elem afterwards fd lives in fd and map_fd */
- for (i = 0; i < 6; i++) {
+ for (i = 2; i < 6; i++) {
err = bpf_map_update_elem(map_fd_rx, &i, &sfd[i], BPF_ANY);
if (err) {
printf("Failed map_fd_rx update sockmap %i '%i:%i'\n",
^ permalink raw reply related
* [bpf PATCH 5/6] bpf: sockhash, add release routine
From: John Fastabend @ 2018-06-13 17:50 UTC (permalink / raw)
To: ast, daniel; +Cc: netdev
In-Reply-To: <20180613174202.4264.59970.stgit@john-Precision-Tower-5810>
Add map_release_uref pointer to hashmap ops. This was dropped when
original sockhash code was ported into bpf-next before initial
commit.
Fixes: 81110384441a ("bpf: sockmap, add hash map support")
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
---
kernel/bpf/sockmap.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/kernel/bpf/sockmap.c b/kernel/bpf/sockmap.c
index 91c7b47..57fa2fa 100644
--- a/kernel/bpf/sockmap.c
+++ b/kernel/bpf/sockmap.c
@@ -2516,6 +2516,7 @@ struct sock *__sock_hash_lookup_elem(struct bpf_map *map, void *key)
.map_get_next_key = sock_hash_get_next_key,
.map_update_elem = sock_hash_update_elem,
.map_delete_elem = sock_hash_delete_elem,
+ .map_release_uref = sock_map_release,
};
static bool bpf_is_valid_sock(struct bpf_sock_ops_kern *ops)
^ permalink raw reply related
* [bpf PATCH 4/6] bpf: sockmap, tcp_disconnect to listen transition
From: John Fastabend @ 2018-06-13 17:50 UTC (permalink / raw)
To: ast, daniel; +Cc: netdev
In-Reply-To: <20180613174202.4264.59970.stgit@john-Precision-Tower-5810>
After adding checks to ensure TCP is in ESTABLISHED state when a
sock is added we need to also ensure that user does not transition
through tcp_disconnect() and back into ESTABLISHED state without
sockmap removing the sock.
To do this add unhash hook and remove sock from map there.
Reported-by: Eric Dumazet <edumazet@google.com>
Fixes: 81110384441a ("bpf: sockmap, add hash map support")
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
---
kernel/bpf/sockmap.c | 67 +++++++++++++++++++++++++++++++++++++-------------
1 file changed, 50 insertions(+), 17 deletions(-)
diff --git a/kernel/bpf/sockmap.c b/kernel/bpf/sockmap.c
index 2e848cd..91c7b47 100644
--- a/kernel/bpf/sockmap.c
+++ b/kernel/bpf/sockmap.c
@@ -130,6 +130,7 @@ struct smap_psock {
struct proto *sk_proto;
void (*save_close)(struct sock *sk, long timeout);
+ void (*save_unhash)(struct sock *sk);
void (*save_data_ready)(struct sock *sk);
void (*save_write_space)(struct sock *sk);
};
@@ -141,6 +142,7 @@ static int bpf_tcp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len,
static int bpf_tcp_sendpage(struct sock *sk, struct page *page,
int offset, size_t size, int flags);
static void bpf_tcp_close(struct sock *sk, long timeout);
+static void bpf_tcp_unhash(struct sock *sk);
static inline struct smap_psock *smap_psock_sk(const struct sock *sk)
{
@@ -182,6 +184,7 @@ static void build_protos(struct proto prot[SOCKMAP_NUM_CONFIGS],
{
prot[SOCKMAP_BASE] = *base;
prot[SOCKMAP_BASE].close = bpf_tcp_close;
+ prot[SOCKMAP_BASE].unhash = bpf_tcp_unhash;
prot[SOCKMAP_BASE].recvmsg = bpf_tcp_recvmsg;
prot[SOCKMAP_BASE].stream_memory_read = bpf_tcp_stream_read;
@@ -215,6 +218,7 @@ static int bpf_tcp_init(struct sock *sk)
}
psock->save_close = sk->sk_prot->close;
+ psock->save_unhash = sk->sk_prot->unhash;
psock->sk_proto = sk->sk_prot;
/* Build IPv6 sockmap whenever the address of tcpv6_prot changes */
@@ -302,28 +306,12 @@ struct smap_psock_map_entry *psock_map_pop(struct sock *sk,
return e;
}
-static void bpf_tcp_close(struct sock *sk, long timeout)
+static void bpf_tcp_remove(struct sock *sk, struct smap_psock *psock)
{
- void (*close_fun)(struct sock *sk, long timeout);
struct smap_psock_map_entry *e;
struct sk_msg_buff *md, *mtmp;
- struct smap_psock *psock;
struct sock *osk;
- rcu_read_lock();
- psock = smap_psock_sk(sk);
- if (unlikely(!psock)) {
- rcu_read_unlock();
- return sk->sk_prot->close(sk, timeout);
- }
-
- /* The psock may be destroyed anytime after exiting the RCU critial
- * section so by the time we use close_fun the psock may no longer
- * be valid. However, bpf_tcp_close is called with the sock lock
- * held so the close hook and sk are still valid.
- */
- close_fun = psock->save_close;
-
if (psock->cork) {
free_start_sg(psock->sock, psock->cork);
kfree(psock->cork);
@@ -378,6 +366,51 @@ static void bpf_tcp_close(struct sock *sk, long timeout)
}
e = psock_map_pop(sk, psock);
}
+}
+
+static void bpf_tcp_unhash(struct sock *sk)
+{
+ void (*unhash_fun)(struct sock *sk);
+ struct smap_psock *psock;
+
+ rcu_read_lock();
+ psock = smap_psock_sk(sk);
+ if (unlikely(!psock)) {
+ rcu_read_unlock();
+ return sk->sk_prot->unhash(sk);
+ }
+
+ /* The psock may be destroyed anytime after exiting the RCU critial
+ * section so by the time we use close_fun the psock may no longer
+ * be valid. However, bpf_tcp_close is called with the sock lock
+ * held so the close hook and sk are still valid.
+ */
+ unhash_fun = psock->save_unhash;
+ bpf_tcp_remove(sk, psock);
+ rcu_read_unlock();
+ unhash_fun(sk);
+
+}
+
+static void bpf_tcp_close(struct sock *sk, long timeout)
+{
+ void (*close_fun)(struct sock *sk, long timeout);
+ struct smap_psock *psock;
+
+ rcu_read_lock();
+ psock = smap_psock_sk(sk);
+ if (unlikely(!psock)) {
+ rcu_read_unlock();
+ return sk->sk_prot->close(sk, timeout);
+ }
+
+ /* The psock may be destroyed anytime after exiting the RCU critial
+ * section so by the time we use close_fun the psock may no longer
+ * be valid. However, bpf_tcp_close is called with the sock lock
+ * held so the close hook and sk are still valid.
+ */
+ close_fun = psock->save_close;
+ bpf_tcp_remove(sk, psock);
rcu_read_unlock();
close_fun(sk, timeout);
}
^ permalink raw reply related
* [bpf PATCH 3/6] bpf: sockhash fix omitted bucket lock in sock_close
From: John Fastabend @ 2018-06-13 17:50 UTC (permalink / raw)
To: ast, daniel; +Cc: netdev
In-Reply-To: <20180613174202.4264.59970.stgit@john-Precision-Tower-5810>
First in tcp_close, reduce scope of sk_callback_lock() the lock is
only needed for protecting smap_release_sock() the ingress and cork
lists are protected by sock lock. Having the lock in wider scope is
harmless but may confuse the reader who may infer it is in fact
needed.
Next, in sock_hash_delete_elem() the pattern is as follows,
sock_hash_delete_elem()
[...]
spin_lock(bucket_lock)
l = lookup_elem_raw()
if (l)
hlist_del_rcu()
write_lock(sk_callback_lock)
.... destroy psock ...
write_unlock(sk_callback_lock)
spin_unlock(bucket_lock)
The ordering is necessary because we only know the {p}sock after
dereferencing the hash table which we can't do unless we have the
bucket lock held. Once we have the bucket lock and the psock element
it is deleted from the hashmap to ensure any other path doing a lookup
will fail. Finally, the refcnt is decremented and if zero the psock
is destroyed.
In parallel with the above (or free'ing the map) a tcp close event
may trigger tcp_close(). Which at the moment omits the bucket lock
altogether (oops!) where the flow looks like this,
bpf_tcp_close()
[...]
write_lock(sk_callback_lock)
for each psock->maps // list of maps this sock is part of
hlist_del_rcu(ref_hash_node);
.... destroy psock ...
write_unlock(sk_callback_lock)
Obviously, and demonstrated by syzbot, this is broken because
we can have multiple threads deleting entries via hlist_del_rcu().
To fix this we might be tempted to wrap the hlist operation in a
bucket lock but that would create a lock inversion problem. In
summary to follow locking rules maps needs the sk_callback_lock but we
need the bucket lock to do the hlist_del_rcu. To resolve the lock
inversion problem note that when bpf_tcp_close is called no updates
can happen in parallel, due to ESTABLISH state check in update logic,
so pop the head of the list repeatedly and remove the reference until
no more are left. If a delete happens in parallel from the BPF API
that is OK as well because it will do a similar action, lookup the
sock in the map/hash, delete it from the map/hash, and dec the refcnt.
We check for this case before doing a destroy on the psock to ensure
we don't have two threads tearing down a psock. The new logic is
as follows,
bpf_tcp_close()
e = psock_map_pop(psock->maps) // done with sk_callback_lock
bucket_lock() // lock hash list bucket
l = lookup_elem_raw(head, hash, key, key_size);
if (l) {
//only get here if elmnt was not already removed
hlist_del_rcu()
... destroy psock...
}
bucket_unlock()
And finally for all the above to work add missing sk_callback_lock
around smap_list_remove in sock_hash_ctx_update_elem(). Otherwise
delete and update may corrupt maps list.
(As an aside the sk_callback_lock serves two purposes. The
first, is to update the sock callbacks sk_data_ready, sk_write_space,
etc. The second is to protect the psock 'maps' list. The 'maps' list
is used to (as shown above) to delete all map/hash references to a
sock when the sock is closed)
(If we did not have the ESTABLISHED state guarantee from tcp_close
then we could not ensure completion because updates could happen
forever and pin thread in delete loop.)
Reported-by: syzbot+0ce137753c78f7b6acc1@syzkaller.appspotmail.com
Fixes: 81110384441a ("bpf: sockmap, add hash map support")
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
---
kernel/bpf/sockmap.c | 112 ++++++++++++++++++++++++++++++++++++--------------
1 file changed, 80 insertions(+), 32 deletions(-)
diff --git a/kernel/bpf/sockmap.c b/kernel/bpf/sockmap.c
index e5bab52..2e848cd 100644
--- a/kernel/bpf/sockmap.c
+++ b/kernel/bpf/sockmap.c
@@ -258,16 +258,54 @@ static void bpf_tcp_release(struct sock *sk)
rcu_read_unlock();
}
+static struct htab_elem *lookup_elem_raw(struct hlist_head *head,
+ u32 hash, void *key, u32 key_size)
+{
+ struct htab_elem *l;
+
+ hlist_for_each_entry_rcu(l, head, hash_node) {
+ if (l->hash == hash && !memcmp(&l->key, key, key_size))
+ return l;
+ }
+
+ return NULL;
+}
+
+static inline struct bucket *__select_bucket(struct bpf_htab *htab, u32 hash)
+{
+ return &htab->buckets[hash & (htab->n_buckets - 1)];
+}
+
+static inline struct hlist_head *select_bucket(struct bpf_htab *htab, u32 hash)
+{
+ return &__select_bucket(htab, hash)->head;
+}
+
static void free_htab_elem(struct bpf_htab *htab, struct htab_elem *l)
{
atomic_dec(&htab->count);
kfree_rcu(l, rcu);
}
+struct smap_psock_map_entry *psock_map_pop(struct sock *sk,
+ struct smap_psock *psock)
+{
+ struct smap_psock_map_entry *e;
+
+ write_lock_bh(&sk->sk_callback_lock);
+ e = list_first_entry_or_null(&psock->maps,
+ struct smap_psock_map_entry,
+ list);
+ if (e)
+ list_del(&e->list);
+ write_unlock_bh(&sk->sk_callback_lock);
+ return e;
+}
+
static void bpf_tcp_close(struct sock *sk, long timeout)
{
void (*close_fun)(struct sock *sk, long timeout);
- struct smap_psock_map_entry *e, *tmp;
+ struct smap_psock_map_entry *e;
struct sk_msg_buff *md, *mtmp;
struct smap_psock *psock;
struct sock *osk;
@@ -286,7 +324,6 @@ static void bpf_tcp_close(struct sock *sk, long timeout)
*/
close_fun = psock->save_close;
- write_lock_bh(&sk->sk_callback_lock);
if (psock->cork) {
free_start_sg(psock->sock, psock->cork);
kfree(psock->cork);
@@ -299,20 +336,48 @@ static void bpf_tcp_close(struct sock *sk, long timeout)
kfree(md);
}
- list_for_each_entry_safe(e, tmp, &psock->maps, list) {
+ /* Sock is in TCP_CLOSE state so any concurrent adds or updates will be
+ * blocked by ESTABLISHED check. However, tcp_close() + delete + free
+ * can all run at the same time. If a tcp_close + delete happens each
+ * code path will remove the entry for the map/hash before deleting it.
+ * In the map case a xchg and then check to verify we have a sk protects
+ * two paths from tearing down the same object. For hash map we lock the
+ * bucket and remove the object from the hash map before destroying to
+ * ensure that only one reference exists. By pulling object off the head
+ * of the list with (with sk_callback_lock) if multiple deleters are
+ * running we avoid duplicate references.
+ */
+ e = psock_map_pop(sk, psock);
+ while (e) {
if (e->entry) {
osk = cmpxchg(e->entry, sk, NULL);
if (osk == sk) {
- list_del(&e->list);
smap_release_sock(psock, sk);
}
} else {
- hlist_del_rcu(&e->hash_link->hash_node);
- smap_release_sock(psock, e->hash_link->sk);
- free_htab_elem(e->htab, e->hash_link);
+ struct htab_elem *link = e->hash_link;
+ struct hlist_head *head;
+ struct htab_elem *l;
+ struct bucket *b;
+
+ b = __select_bucket(e->htab, link->hash);
+ head = &b->head;
+ raw_spin_lock_bh(&b->lock);
+ l = lookup_elem_raw(head,
+ link->hash, link->key,
+ e->htab->elem_size);
+ /* If another thread deleted this object skip deletion.
+ * The refcnt on psock may or may not be zero.
+ */
+ if (l) {
+ hlist_del_rcu(&e->hash_link->hash_node);
+ smap_release_sock(psock, e->hash_link->sk);
+ free_htab_elem(e->htab, e->hash_link);
+ }
+ raw_spin_unlock_bh(&b->lock);
}
+ e = psock_map_pop(sk, psock);
}
- write_unlock_bh(&sk->sk_callback_lock);
rcu_read_unlock();
close_fun(sk, timeout);
}
@@ -2085,16 +2150,6 @@ static struct bpf_map *sock_hash_alloc(union bpf_attr *attr)
return ERR_PTR(err);
}
-static inline struct bucket *__select_bucket(struct bpf_htab *htab, u32 hash)
-{
- return &htab->buckets[hash & (htab->n_buckets - 1)];
-}
-
-static inline struct hlist_head *select_bucket(struct bpf_htab *htab, u32 hash)
-{
- return &__select_bucket(htab, hash)->head;
-}
-
static void sock_hash_free(struct bpf_map *map)
{
struct bpf_htab *htab = container_of(map, struct bpf_htab, map);
@@ -2111,10 +2166,13 @@ static void sock_hash_free(struct bpf_map *map)
*/
rcu_read_lock();
for (i = 0; i < htab->n_buckets; i++) {
- struct hlist_head *head = select_bucket(htab, i);
+ struct bucket *b = __select_bucket(htab, i);
+ struct hlist_head *head;
struct hlist_node *n;
struct htab_elem *l;
+ raw_spin_lock_bh(&b->lock);
+ head = &b->head;
hlist_for_each_entry_safe(l, n, head, hash_node) {
struct sock *sock = l->sk;
struct smap_psock *psock;
@@ -2134,6 +2192,7 @@ static void sock_hash_free(struct bpf_map *map)
write_unlock_bh(&sock->sk_callback_lock);
kfree(l);
}
+ raw_spin_unlock_bh(&b->lock);
}
rcu_read_unlock();
bpf_map_area_free(htab->buckets);
@@ -2164,19 +2223,6 @@ static struct htab_elem *alloc_sock_hash_elem(struct bpf_htab *htab,
return l_new;
}
-static struct htab_elem *lookup_elem_raw(struct hlist_head *head,
- u32 hash, void *key, u32 key_size)
-{
- struct htab_elem *l;
-
- hlist_for_each_entry_rcu(l, head, hash_node) {
- if (l->hash == hash && !memcmp(&l->key, key, key_size))
- return l;
- }
-
- return NULL;
-}
-
static inline u32 htab_map_hash(const void *key, u32 key_len)
{
return jhash(key, key_len, 0);
@@ -2308,8 +2354,10 @@ static int sock_hash_ctx_update_elem(struct bpf_sock_ops_kern *skops,
psock = smap_psock_sk(l_old->sk);
hlist_del_rcu(&l_old->hash_node);
+ write_lock_bh(&l_old->sk->sk_callback_lock);
smap_list_remove(psock, NULL, l_old);
smap_release_sock(psock, l_old->sk);
+ write_unlock_bh(&l_old->sk->sk_callback_lock);
free_htab_elem(htab, l_old);
}
raw_spin_unlock_bh(&b->lock);
^ permalink raw reply related
* [bpf PATCH 2/6] bpf: sockmap only allow ESTABLISHED sock state
From: John Fastabend @ 2018-06-13 17:50 UTC (permalink / raw)
To: ast, daniel; +Cc: netdev
In-Reply-To: <20180613174202.4264.59970.stgit@john-Precision-Tower-5810>
Per the note in the TLS ULP (which is actually a generic statement
regarding ULPs)
/* The TLS ulp is currently supported only for TCP sockets
* in ESTABLISHED state.
* Supporting sockets in LISTEN state will require us
* to modify the accept implementation to clone rather then
* share the ulp context.
*/
After this patch we only allow socks that are in ESTABLISHED state or
are being added via a sock_ops event that is transitioning into an
ESTABLISHED state. By allowing sock_ops events we allow users to
manage sockmaps directly from sock ops programs. The two supported
sock_ops ops are BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB and
BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB.
Also tested with 'netserver -6' and 'netperf -H [IPv6]' as well as
'netperf -H [IPv4]'.
Reported-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
---
kernel/bpf/sockmap.c | 28 +++++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
diff --git a/kernel/bpf/sockmap.c b/kernel/bpf/sockmap.c
index f6dd4cd..e5bab52 100644
--- a/kernel/bpf/sockmap.c
+++ b/kernel/bpf/sockmap.c
@@ -1976,8 +1976,12 @@ static int sock_map_update_elem(struct bpf_map *map,
return -EINVAL;
}
+ /* ULPs are currently supported only for TCP sockets in ESTABLISHED
+ * state.
+ */
if (skops.sk->sk_type != SOCK_STREAM ||
- skops.sk->sk_protocol != IPPROTO_TCP) {
+ skops.sk->sk_protocol != IPPROTO_TCP ||
+ skops.sk->sk_state != TCP_ESTABLISHED) {
fput(socket->file);
return -EOPNOTSUPP;
}
@@ -2338,6 +2342,16 @@ static int sock_hash_update_elem(struct bpf_map *map,
return -EINVAL;
}
+ /* ULPs are currently supported only for TCP sockets in ESTABLISHED
+ * state.
+ */
+ if (skops.sk->sk_type != SOCK_STREAM ||
+ skops.sk->sk_protocol != IPPROTO_TCP ||
+ skops.sk->sk_state != TCP_ESTABLISHED) {
+ fput(socket->file);
+ return -EOPNOTSUPP;
+ }
+
err = sock_hash_ctx_update_elem(&skops, map, key, flags);
fput(socket->file);
return err;
@@ -2423,10 +2437,19 @@ struct sock *__sock_hash_lookup_elem(struct bpf_map *map, void *key)
.map_delete_elem = sock_hash_delete_elem,
};
+static bool bpf_is_valid_sock(struct bpf_sock_ops_kern *ops)
+{
+ return ops->op == BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB ||
+ ops->op == BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB;
+}
+
BPF_CALL_4(bpf_sock_map_update, struct bpf_sock_ops_kern *, bpf_sock,
struct bpf_map *, map, void *, key, u64, flags)
{
WARN_ON_ONCE(!rcu_read_lock_held());
+
+ if (!bpf_is_valid_sock(bpf_sock))
+ return -EOPNOTSUPP;
return sock_map_ctx_update_elem(bpf_sock, map, key, flags);
}
@@ -2445,6 +2468,9 @@ struct sock *__sock_hash_lookup_elem(struct bpf_map *map, void *key)
struct bpf_map *, map, void *, key, u64, flags)
{
WARN_ON_ONCE(!rcu_read_lock_held());
+
+ if (!bpf_is_valid_sock(bpf_sock))
+ return -EOPNOTSUPP;
return sock_hash_ctx_update_elem(bpf_sock, map, key, flags);
}
^ permalink raw reply related
* [bpf PATCH 1/6] bpf: sockmap, fix crash when ipv6 sock is added
From: John Fastabend @ 2018-06-13 17:49 UTC (permalink / raw)
To: ast, daniel; +Cc: netdev
In-Reply-To: <20180613174202.4264.59970.stgit@john-Precision-Tower-5810>
This fixes a crash where we assign tcp_prot to IPv6 sockets instead
of tcpv6_prot.
Previously we overwrote the sk->prot field with tcp_prot even in the
AF_INET6 case. This patch ensures the correct tcp_prot and tcpv6_prot
are used. Further, only allow ESTABLISHED connections to join the
map per note in TLS ULP,
/* The TLS ulp is currently supported only for TCP sockets
* in ESTABLISHED state.
* Supporting sockets in LISTEN state will require us
* to modify the accept implementation to clone rather then
* share the ulp context.
*/
Also tested with 'netserver -6' and 'netperf -H [IPv6]' as well as
'netperf -H [IPv4]'. The ESTABLISHED check resolves the previously
crashing case here.
Fixes: 174a79ff9515 ("bpf: sockmap with sk redirect support")
Reported-by: syzbot+5c063698bdbfac19f363@syzkaller.appspotmail.com
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Wei Wang <weiwan@google.com>
---
kernel/bpf/sockmap.c | 58 +++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 48 insertions(+), 10 deletions(-)
diff --git a/kernel/bpf/sockmap.c b/kernel/bpf/sockmap.c
index 52a91d8..f6dd4cd 100644
--- a/kernel/bpf/sockmap.c
+++ b/kernel/bpf/sockmap.c
@@ -140,6 +140,7 @@ static int bpf_tcp_recvmsg(struct sock *sk, struct msghdr *msg, size_t len,
static int bpf_tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size);
static int bpf_tcp_sendpage(struct sock *sk, struct page *page,
int offset, size_t size, int flags);
+static void bpf_tcp_close(struct sock *sk, long timeout);
static inline struct smap_psock *smap_psock_sk(const struct sock *sk)
{
@@ -161,7 +162,42 @@ static bool bpf_tcp_stream_read(const struct sock *sk)
return !empty;
}
-static struct proto tcp_bpf_proto;
+enum {
+ SOCKMAP_IPV4,
+ SOCKMAP_IPV6,
+ SOCKMAP_NUM_PROTS,
+};
+
+enum {
+ SOCKMAP_BASE,
+ SOCKMAP_TX,
+ SOCKMAP_NUM_CONFIGS,
+};
+
+static struct proto *saved_tcpv6_prot;
+static DEFINE_MUTEX(tcpv6_prot_mutex);
+static struct proto bpf_tcp_prots[SOCKMAP_NUM_PROTS][SOCKMAP_NUM_CONFIGS];
+static void build_protos(struct proto prot[SOCKMAP_NUM_CONFIGS],
+ struct proto *base)
+{
+ prot[SOCKMAP_BASE] = *base;
+ prot[SOCKMAP_BASE].close = bpf_tcp_close;
+ prot[SOCKMAP_BASE].recvmsg = bpf_tcp_recvmsg;
+ prot[SOCKMAP_BASE].stream_memory_read = bpf_tcp_stream_read;
+
+ prot[SOCKMAP_TX] = prot[SOCKMAP_BASE];
+ prot[SOCKMAP_TX].sendmsg = bpf_tcp_sendmsg;
+ prot[SOCKMAP_TX].sendpage = bpf_tcp_sendpage;
+}
+
+static void update_sk_prot(struct sock *sk, struct smap_psock *psock)
+{
+ int family = sk->sk_family == AF_INET6 ? SOCKMAP_IPV6 : SOCKMAP_IPV4;
+ int conf = psock->bpf_tx_msg ? SOCKMAP_TX : SOCKMAP_BASE;
+
+ sk->sk_prot = &bpf_tcp_prots[family][conf];
+}
+
static int bpf_tcp_init(struct sock *sk)
{
struct smap_psock *psock;
@@ -181,14 +217,17 @@ static int bpf_tcp_init(struct sock *sk)
psock->save_close = sk->sk_prot->close;
psock->sk_proto = sk->sk_prot;
- if (psock->bpf_tx_msg) {
- tcp_bpf_proto.sendmsg = bpf_tcp_sendmsg;
- tcp_bpf_proto.sendpage = bpf_tcp_sendpage;
- tcp_bpf_proto.recvmsg = bpf_tcp_recvmsg;
- tcp_bpf_proto.stream_memory_read = bpf_tcp_stream_read;
+ /* Build IPv6 sockmap whenever the address of tcpv6_prot changes */
+ if (sk->sk_family == AF_INET6 &&
+ unlikely(sk->sk_prot != smp_load_acquire(&saved_tcpv6_prot))) {
+ mutex_lock(&tcpv6_prot_mutex);
+ if (likely(sk->sk_prot != saved_tcpv6_prot)) {
+ build_protos(bpf_tcp_prots[SOCKMAP_IPV6], sk->sk_prot);
+ smp_store_release(&saved_tcpv6_prot, sk->sk_prot);
+ }
+ mutex_unlock(&tcpv6_prot_mutex);
}
-
- sk->sk_prot = &tcp_bpf_proto;
+ update_sk_prot(sk, psock);
rcu_read_unlock();
return 0;
}
@@ -1111,8 +1150,7 @@ static void bpf_tcp_msg_add(struct smap_psock *psock,
static int bpf_tcp_ulp_register(void)
{
- tcp_bpf_proto = tcp_prot;
- tcp_bpf_proto.close = bpf_tcp_close;
+ build_protos(bpf_tcp_prots[SOCKMAP_IPV4], &tcp_prot);
/* Once BPF TX ULP is registered it is never unregistered. It
* will be in the ULP list for the lifetime of the system. Doing
* duplicate registers is not a problem.
^ permalink raw reply related
* [bpf PATCH 0/6] BPF fixes for sockhash
From: John Fastabend @ 2018-06-13 17:49 UTC (permalink / raw)
To: ast, daniel; +Cc: netdev
This addresses two syzbot issues that lead to identifing (by Eric and
Wei) a class of bugs where we don't correctly check for IPv4/v6
sockets and their associated state. The second issue was a locking
error in sockhash.
The first 2 patches address handling IPv4 correctly and then ensuring
that only sockets in ESTABLISHED state can be added. There is then a
follow up fix (patch4) to fix the other issue Eric noted, namely that
we depend on sockets to call tcp_close to remove them from the map.
However, we missed that a socket can transition through
tcp_disconnect() and never call tcp_close() missing our hook. To
resolve this implement the unhash hook which is also called from the
tcp_disconnect() flow.
The other issue syzbot found that the tcp_close() handler missed
locking the hash bucket lock which could result in corrupting the
sockhash bucket list if delete and close ran at the same time. To
fix this we had to restructure the tcp_close() lock handling. This is
done in patch 3.
Finally, during review I noticed the release handler was ommitted
from the upstream code (patch 5) due to an incorrect merge conflict
fix when I ported the code to latest bpf-next before submitting. And
then patch 6 fixes up selftests for the above.
The tcp_disconnect() catch also appears to be missing in kTLS so
a follow up patch will need to address that as well.
---
John Fastabend (6):
bpf: sockmap, fix crash when ipv6 sock is added
bpf: sockmap only allow ESTABLISHED sock state
bpf: sockhash fix omitted bucket lock in sock_close
bpf: sockmap, tcp_disconnect to listen transition
bpf: sockhash, add release routine
bpf: selftest remove attempts to add LISTEN sockets to sockmap
kernel/bpf/sockmap.c | 266 ++++++++++++++++++++++++-------
tools/testing/selftests/bpf/test_maps.c | 4
2 files changed, 208 insertions(+), 62 deletions(-)
^ permalink raw reply
* Re: [RFC PATCH RESEND] tcp: avoid F-RTO if SACK and timestamps are disabled
From: Eric Dumazet @ 2018-06-13 17:48 UTC (permalink / raw)
To: Yuchung Cheng, Michal Kubecek
Cc: netdev, Eric Dumazet, Ilpo Jarvinen, linux-kernel
In-Reply-To: <CAK6E8=eCOLU9AX0+bSrOg_UYBm1mFxrGT=ybksba9B0OUfp7jg@mail.gmail.com>
On 06/13/2018 10:32 AM, Yuchung Cheng wrote:
> On Wed, Jun 13, 2018 at 9:55 AM, Michal Kubecek <mkubecek@suse.cz> wrote:
>>
>> When F-RTO algorithm (RFC 5682) is used on connection without both SACK and
>> timestamps (either because of (mis)configuration or because the other
>> endpoint does not advertise them), specific pattern loss can make RTO grow
>> exponentially until the sender is only able to send one packet per two
>> minutes (TCP_RTO_MAX).
>> Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
> Acked-by: Yuchung Cheng <ycheng@google.com>
>
> Thanks for the patch (and packedrill test)!
Yes, thanks a lot Michal.
Signed-off-by: Eric Dumazet <edumazet@google.com>
^ permalink raw reply
* Re: [RFC PATCH 02/12] xen/manage: introduce helper function to know the on-going suspend mode
From: Balbir Singh @ 2018-06-13 17:41 UTC (permalink / raw)
To: Anchal Agarwal
Cc: Thomas Gleixner, Ingo Molnar, H. Peter Anvin,
maintainer:X86 ARCHITECTURE (32-BIT AND 64-BIT), boris.ostrovsky,
konrad.wilk, roger.pau, netdev, jgross, xen-devel,
linux-kernel@vger.kernel.org, kamatam, Frank van der Linden,
vallish, guruanb, eduval, Rafael J. Wysocki, Pavel Machek,
Len Brown, linux-pm, cyberax
In-Reply-To: <20180612205619.28156-3-anchalag@amazon.com>
On Wed, Jun 13, 2018 at 6:56 AM, Anchal Agarwal <anchalag@amazon.com> wrote:
> From: Munehisa Kamata <kamatam@amazon.com>
>
> Introduce simple functions which help to know the on-going suspend mode
> so that other Xen-related code can behave differently according to the
> current suspend mode.
I'd squash this patch with the previous, the previous one just left
too many open questions about how suspend mode is used. Looks like
suspend mode is a state, but I am not sure if valid transitions are
defined/checked?
Balbir Singh.
^ permalink raw reply
* Re: [RFC PATCH RESEND] tcp: avoid F-RTO if SACK and timestamps are disabled
From: Yuchung Cheng @ 2018-06-13 17:32 UTC (permalink / raw)
To: Michal Kubecek; +Cc: netdev, Eric Dumazet, Ilpo Jarvinen, linux-kernel
In-Reply-To: <20180613165543.0F92DA09E2@unicorn.suse.cz>
On Wed, Jun 13, 2018 at 9:55 AM, Michal Kubecek <mkubecek@suse.cz> wrote:
>
> When F-RTO algorithm (RFC 5682) is used on connection without both SACK and
> timestamps (either because of (mis)configuration or because the other
> endpoint does not advertise them), specific pattern loss can make RTO grow
> exponentially until the sender is only able to send one packet per two
> minutes (TCP_RTO_MAX).
>
> One way to reproduce is to
>
> - make sure the connection uses neither SACK nor timestamps
> - let tp->reorder grow enough so that lost packets are retransmitted
> after RTO (rather than when high_seq - snd_una > reorder * MSS)
> - let the data flow stabilize
> - drop multiple sender packets in "every second" pattern
> - either there is no new data to send or acks received in response to new
> data are also window updates (i.e. not dupacks by definition)
>
> In this scenario, the sender keeps cycling between retransmitting first
> lost packet (step 1 of RFC 5682), sending new data by (2b) and timing out
> again. In this loop, the sender only gets
>
> (a) acks for retransmitted segments (possibly together with old ones)
> (b) window updates
>
> Without timestamps, neither can be used for RTT estimator and without SACK,
> we have no newly sacked segments to estimate RTT either. Therefore each
> timeout doubles RTO and without usable RTT samples so that there is nothing
> to counter the exponential growth.
>
> While disabling both SACK and timestamps doesn't make any sense, the
> resulting behaviour is so pathological that it deserves an improvement.
> (Also, both can be disabled on the other side.) Avoid F-RTO algorithm in
> case both SACK and timestamps are disabled so that the sender falls back to
> traditional slow start retransmission.
>
> Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Acked-by: Yuchung Cheng <ycheng@google.com>
Thanks for the patch (and packedrill test)! I would encourage
submitting an errata to F-RTO RFC about this case.
> ---
> net/ipv4/tcp_input.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
> index 355d3dffd021..ed603f987b72 100644
> --- a/net/ipv4/tcp_input.c
> +++ b/net/ipv4/tcp_input.c
> @@ -2001,7 +2001,8 @@ void tcp_enter_loss(struct sock *sk)
> */
> tp->frto = net->ipv4.sysctl_tcp_frto &&
> (new_recovery || icsk->icsk_retransmits) &&
> - !inet_csk(sk)->icsk_mtup.probe_size;
> + !inet_csk(sk)->icsk_mtup.probe_size &&
> + (tcp_is_sack(tp) || tp->rx_opt.tstamp_ok);
> }
>
> /* If ACK arrived pointing to a remembered SACK, it means that our
> --
> 2.17.1
>
^ permalink raw reply
* WARNING: refcount bug in smap_release_sock
From: syzbot @ 2018-06-13 17:32 UTC (permalink / raw)
To: ast, daniel, linux-kernel, netdev, syzkaller-bugs
Hello,
syzbot found the following crash on:
HEAD commit: 75d4e704fa8d netdev-FAQ: clarify DaveM's position for stab..
git tree: bpf-next
console output: https://syzkaller.appspot.com/x/log.txt?x=17cbfeaf800000
kernel config: https://syzkaller.appspot.com/x/.config?x=a601a80fec461d44
dashboard link: https://syzkaller.appspot.com/bug?extid=d464d2c20c717ef5a6a8
compiler: gcc (GCC) 8.0.1 20180413 (experimental)
Unfortunately, I don't have any reproducer for this crash yet.
IMPORTANT: if you fix the bug, please add the following tag to the commit:
Reported-by: syzbot+d464d2c20c717ef5a6a8@syzkaller.appspotmail.com
------------[ cut here ]------------
refcount_t: underflow; use-after-free.
WARNING: CPU: 0 PID: 24475 at lib/refcount.c:187
refcount_sub_and_test+0x2d3/0x330 lib/refcount.c:187
Kernel panic - not syncing: panic_on_warn set ...
CPU: 0 PID: 24475 Comm: syz-executor2 Not tainted 4.17.0-rc7+ #38
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS
Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack+0x1b9/0x294 lib/dump_stack.c:113
panic+0x22f/0x4de kernel/panic.c:184
__warn.cold.8+0x163/0x1b3 kernel/panic.c:536
report_bug+0x252/0x2d0 lib/bug.c:186
fixup_bug arch/x86/kernel/traps.c:178 [inline]
do_error_trap+0x1de/0x490 arch/x86/kernel/traps.c:296
do_invalid_op+0x1b/0x20 arch/x86/kernel/traps.c:315
invalid_op+0x14/0x20 arch/x86/entry/entry_64.S:992
RIP: 0010:refcount_sub_and_test+0x2d3/0x330 lib/refcount.c:187
RSP: 0018:ffff8801c864f800 EFLAGS: 00010282
RAX: 0000000000000026 RBX: 0000000000000000 RCX: ffffc90003c0b000
RDX: 0000000000003662 RSI: ffffffff8160fbe1 RDI: ffff8801c864f360
RBP: ffff8801c864f8e8 R08: ffff880196a0a040 R09: 0000000000000006
R10: 0000000000000000 R11: 0000000000000000 R12: 00000000ffffffff
R13: ffff8801c864f8c0 R14: 0000000000000001 R15: ffff8801ba9cea00
refcount_dec_and_test+0x1a/0x20 lib/refcount.c:212
smap_release_sock+0x6e/0x2f0 kernel/bpf/sockmap.c:1358
sock_hash_ctx_update_elem.isra.23+0x896/0x1560 kernel/bpf/sockmap.c:2281
sock_hash_update_elem+0x14f/0x2d0 kernel/bpf/sockmap.c:2303
map_update_elem+0x5c4/0xc90 kernel/bpf/syscall.c:765
__do_sys_bpf kernel/bpf/syscall.c:2357 [inline]
__se_sys_bpf kernel/bpf/syscall.c:2328 [inline]
__x64_sys_bpf+0x32d/0x510 kernel/bpf/syscall.c:2328
do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287
entry_SYSCALL_64_after_hwframe+0x49/0xbe
RIP: 0033:0x455b29
RSP: 002b:00007f097e0d7c68 EFLAGS: 00000246 ORIG_RAX: 0000000000000141
RAX: ffffffffffffffda RBX: 00007f097e0d86d4 RCX: 0000000000455b29
RDX: 0000000000000020 RSI: 0000000020000180 RDI: 0000000000000002
RBP: 000000000072bf50 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 00000000ffffffff
R13: 00000000004bb81b R14: 00000000004c8110 R15: 0000000000000001
Dumping ftrace buffer:
---------------------------------
syz-exec-14028 0...2 137035717us : 0: }D
syz-exec-14028 0...2 137035726us : 0: }D
syz-exec-14028 0...2 137035729us : 0: }D
syz-exec-14028 0...2 137035732us : 0: }D
syz-exec-14028 0...2 137035734us : 0: }D
syz-exec-14028 0...2 137035737us : 0: }D
syz-exec-14028 0...2 137035740us : 0: }D
syz-exec-14028 0...2 137035744us : 0: }D
syz-exec-14028 0...2 137035748us : 0: }D
syz-exec-14028 0...2 137035751us : 0: }D
syz-exec-14028 0...2 137035755us : 0: }D
syz-exec-14028 0...2 137035759us : 0: }D
syz-exec-14028 0...2 137035763us : 0: }D
syz-exec-14028 0...2 137035767us : 0: }D
syz-exec-14028 0...2 137035770us : 0: }D
syz-exec-14028 0...2 137035774us : 0: }D
syz-exec-14028 0...2 137035777us : 0: }D
syz-exec-14028 0...2 137035781us : 0: }D
syz-exec-14028 0...2 137035785us : 0: }D
syz-exec-14028 0...2 137035788us : 0: }D
syz-exec-14028 0...2 137035791us : 0: }D
syz-exec-14028 0...2 137035795us : 0: }D
syz-exec-14028 0...2 137035799us : 0: }D
syz-exec-14028 0...2 137035802us : 0: }D
syz-exec-14028 0...2 137035806us : 0: }D
syz-exec-14028 0...2 137035810us : 0: }D
syz-exec-14028 0...2 137035813us : 0: }D
syz-exec-14028 0...2 137035817us : 0: }D
syz-exec-14028 0...2 137035821us : 0: }D
syz-exec-14028 0...2 137035824us : 0: }D
syz-exec-14028 0...2 137035826us : 0: }D
syz-exec-14028 0...2 137035829us : 0: }D
syz-exec-14028 0...2 137035832us : 0: }D
syz-exec-14028 0...2 137035834us : 0: }D
syz-exec-14028 0...2 137035837us : 0: }D
syz-exec-14028 0...2 137035839us : 0: }D
syz-exec-14028 0...2 137035842us : 0: }D
syz-exec-14028 0...2 137035844us : 0: }D
syz-exec-14028 0...2 137035847us : 0: }D
syz-exec-14028 0...2 137035849us : 0: }D
syz-exec-14028 0...2 137035852us : 0: }D
syz-exec-14028 0...2 137035855us : 0: }D
syz-exec-14028 0...2 137035857us : 0: }D
syz-exec-14028 0...2 137035860us : 0: }D
syz-exec-14028 0...2 137035862us : 0: }D
syz-exec-14028 0...2 137035865us : 0: }D
syz-exec-14028 0...2 137035867us : 0: }D
syz-exec-14028 0...2 137035870us : 0: }D
syz-exec-14028 0...2 137035874us : 0: }D
syz-exec-14028 0...2 137035876us : 0: }D
syz-exec-14028 0...2 137035879us : 0: }D
syz-exec-14028 0...2 137035882us : 0: }D
syz-exec-14028 0...2 137035885us : 0: }D
syz-exec-14028 0...2 137035888us : 0: }D
syz-exec-14028 0...2 137035891us : 0: }D
syz-exec-14028 0...2 137035894us : 0: }D
syz-exec-14028 0...2 137035897us : 0: }D
syz-exec-14028 0...2 137035900us : 0: }D
syz-exec-14028 0...2 137035902us : 0: }D
syz-exec-14028 0...2 137035905us : 0: }D
syz-exec-14028 0...2 137035908us : 0: }D
syz-exec-14028 0...2 137035911us : 0: }D
syz-exec-14028 0...2 137035914us : 0: }D
syz-exec-14028 0...2 137035917us : 0: }D
syz-exec-14028 0...2 137035921us : 0: }D
syz-exec-14028 0...2 137035923us : 0: }D
syz-exec-14028 0...2 137035926us : 0: }D
syz-exec-14028 0...2 137035929us : 0: }D
syz-exec-14028 0...2 137035932us : 0: }D
syz-exec-14028 0...2 137035935us : 0: }D
syz-exec-14028 0...2 137035938us : 0: }D
syz-exec-14028 0...2 137035941us : 0: }D
syz-exec-14028 0...2 137035944us : 0: }D
syz-exec-14028 0...2 137035947us : 0: }D
syz-exec-14028 0...2 137035950us : 0: }D
syz-exec-14028 0...2 137035953us : 0: }D
syz-exec-14028 0...2 137035956us : 0: }D
syz-exec-14028 0...2 137035959us : 0: }D
syz-exec-14028 0...2 137035962us : 0: }D
syz-exec-14028 0...2 137035965us : 0: }D
syz-exec-14028 0...2 137035968us : 0: }D
syz-exec-14028 0...2 137035971us : 0: }D
syz-exec-14028 0...2 137035974us : 0: }D
syz-exec-14028 0...2 137035977us : 0: }D
syz-exec-14028 0...2 137035979us : 0: }D
syz-exec-14028 0...2 137035983us : 0: }D
syz-exec-14028 0...2 137035986us : 0: }D
syz-exec-14028 0...2 137035989us : 0: }D
syz-exec-14028 0...2 137035992us : 0: }D
syz-exec-14028 0...2 137035995us : 0: }D
syz-exec-14028 0...2 137035997us : 0: }D
syz-exec-14028 0...2 137036000us : 0: }D
syz-exec-14028 0...2 137036003us : 0: }D
syz-exec-14028 0...2 137036006us : 0: }D
syz-exec-14028 0...2 137036009us : 0: }D
syz-exec-14028 0...2 137036013us : 0: }D
syz-exec-14028 0...2 137036016us : 0: }D
syz-exec-14028 0...2 137036019us : 0: }D
syz-exec-14028 0...2 137036022us : 0: }D
syz-exec-14028 0...2 137036025us : 0: }D
syz-exec-14028 0...2 137036028us : 0: }D
syz-exec-14028 0...2 137036031us : 0: }D
syz-exec-14028 0...2 137036034us : 0: }D
syz-exec-14028 0...2 137036036us : 0: }D
syz-exec-14028 0...2 137036039us : 0: }D
syz-exec-14028 0...2 137036042us : 0: }D
syz-exec-14028 0...2 137036045us : 0: }D
syz-exec-14028 0...2 137036048us : 0: }D
syz-exec-14028 0...2 137036051us : 0: }D
syz-exec-14028 0...2 137036054us : 0: }D
syz-exec-14028 0...2 137036057us : 0: }D
syz-exec-14028 0...2 137036060us : 0: }D
syz-exec-14028 0...2 137036063us : 0: }D
syz-exec-14028 0...2 137036067us : 0: }D
syz-exec-14028 0...2 137036070us : 0: }D
syz-exec-14028 0...2 137036072us : 0: }D
syz-exec-14028 0...2 137036075us : 0: }D
syz-exec-14028 0...2 137036078us : 0: }D
syz-exec-14028 0...2 137036081us : 0: }D
syz-exec-14028 0...2 137036084us : 0: }D
syz-exec-14028 0...2 137036087us : 0: }D
syz-exec-14028 0...2 137036090us : 0: }D
syz-exec-14028 0...2 137036093us : 0: }D
syz-exec-14028 0...2 137036096us : 0: }D
syz-exec-14028 0...2 137036099us : 0: }D
syz-exec-14028 0...2 137036102us : 0: }D
syz-exec-14028 0...2 137036106us : 0: }D
syz-exec-14028 0...2 137036109us : 0: }D
syz-exec-14028 0...2 137036112us : 0: }D
syz-exec-14028 0...2 137036115us : 0: }D
syz-exec-14028 0...2 137036118us : 0: }D
syz-exec-14028 0...2 137036121us : 0: }D
syz-exec-14028 0...2 137036124us : 0: }D
syz-exec-14028 0...2 137036127us : 0: }D
syz-exec-14028 0...2 137036130us : 0: }D
syz-exec-14028 0...2 137036133us : 0: }D
syz-exec-14028 0...2 137036136us : 0: }D
syz-exec-14028 0...2 137036139us : 0: }D
syz-exec-14028 0...2 137036142us : 0: }D
syz-exec-14028 0...2 137036145us : 0: }D
syz-exec-14028 0...2 137036148us : 0: }D
syz-exec-14028 0...2 137036151us : 0: }D
syz-exec-14028 0...2 137036154us : 0: }D
syz-exec-14028 0...2 137036157us : 0: }D
syz-exec-14028 0...2 137036165us : 0: }D
syz-exec-14028 0...2 137036168us : 0: }D
syz-exec-14028 0...2 137036172us : 0: }D
syz-exec-14028 0...2 137036175us : 0: }D
syz-exec-14028 0...2 137036178us : 0: }D
syz-exec-14028 0...2 137036181us : 0: }D
syz-exec-14028 0...2 137036184us : 0: }D
syz-exec-14028 0...2 137036187us : 0: }D
syz-exec-14028 0...2 137036190us : 0: }D
syz-exec-14028 0...2 137036194us : 0: }D
syz-exec-14028 0...2 137036197us : 0: }D
syz-exec-14028 0...2 137036200us : 0: }D
syz-exec-14028 0...2 137036203us : 0: }D
syz-exec-14028 0...2 137036207us : 0: }D
syz-exec-14028 0...2 137036210us : 0: }D
syz-exec-14028 0...2 137036213us : 0: }D
syz-exec-14028 0...2 137036216us : 0: }D
syz-exec-14028 0...2 137036219us : 0: }D
syz-exec-14028 0...2 137036222us : 0: }D
syz-exec-14028 0...2 137036225us : 0: }D
syz-exec-14028 0...2 137036229us : 0: }D
syz-exec-14028 0.N.2 137036482us : 0: }D
syz-exec-14028 0...2 137039870us : 0: }D
syz-exec-14028 0...2 137039876us : 0: }D
syz-exec-14028 0...2 137039879us : 0: }D
syz-exec-14028 0...2 137039885us : 0: }D
syz-exec-14028 0...2 137039889us : 0: }D
syz-exec-14028 0...2 137039892us : 0: }D
syz-exec-14028 0...2 137039895us : 0: }D
syz-exec-14028 0...2 137039898us : 0: }D
syz-exec-14028 0...2 137039902us : 0: }D
syz-exec-14028 0...2 137039905us : 0: }D
syz-exec-14028 0...2 137039908us : 0: }D
syz-exec-14028 0...2 137039910us : 0: }D
syz-exec-14028 0...2 137039915us : 0: }D
syz-exec-14028 0...2 137039917us : 0: }D
syz-exec-14028 0...2 137039920us : 0: }D
syz-exec-14028 0...2 137039924us : 0: }D
syz-exec-14028 0...2 137039927us : 0: }D
syz-exec-14028 0...2 137039930us : 0: }D
syz-exec-14028 0...2 137039933us : 0: }D
syz-exec-14028 0...2 137039936us : 0: }D
syz-exec-14028 0...2 137039939us : 0: }D
syz-exec-14028 0...2 137039942us : 0: }D
syz-exec-14028 0...2 137039945us : 0: }D
syz-exec-14028 0...2 137039948us : 0: }D
syz-exec-14028 0...2 137039951us : 0: }D
syz-exec-14028 0...2 137039954us : 0: }D
syz-exec-14028 0...2 137039958us : 0: }D
syz-exec-14028 0...2 137039961us : 0: }D
syz-exec-14028 0...2 137039963us : 0: }D
syz-exec-14028 0...2 137039966us : 0: }D
syz-exec-14028 0...2 137039970us : 0: }D
syz-exec-14028 0...2 137039973us : 0: }D
syz-exec-14028 0...2 137039976us : 0: }D
syz-exec-14028 0...2 137039980us : 0: }D
syz-exec-14028 0...2 137039984us : 0: }D
syz-exec-14028 0...2 137039987us : 0: }D
syz-exec-14028 0...2 137039990us : 0: }D
syz-exec-14028 0...2 137039993us : 0: }D
syz-exec-14028 0...2 137039996us : 0: }D
syz-exec-14028 0...2 137039999us : 0: }D
syz-exec-14028 0...2 137040002us : 0: }D
syz-exec-14028 0...2 137040006us : 0: }D
syz-exec-14028 0...2 137040009us : 0: }D
syz-exec-14028 0...2 137040012us : 0: }D
syz-exec-14028 0...2 137040016us : 0: }D
syz-exec-14028 0...2 137040019us : 0: }D
syz-exec-14028 0...2 137040022us : 0: }D
syz-exec-14028 0...2 137040025us : 0: }D
syz-exec-14028 0...2 137040028us : 0: }D
syz-exec-14028 0...2 137040032us : 0: }D
syz-exec-14028 0...2 137040035us : 0: }D
syz-exec-14028 0...2 137040038us : 0: }D
syz-exec-14028 0...2 137040041us : 0: }D
syz-exec-14028 0...2 137040044us : 0: }D
syz-exec-14028 0...2 137040047us : 0: }D
syz-exec-14028 0...2 137040050us : 0: }D
syz-exec-14028 0...2 137040053us : 0: }D
syz-exec-14028 0...2 137040056us : 0: }D
syz-exec-14028 0...2 137040059us : 0: }D
syz-exec-14028 0...2 137040062us : 0: }D
syz-exec-14028 0...2 137040065us : 0: }D
syz-exec-14028 0...2 137040068us : 0: }D
syz-exec-14028 0...2 137040071us : 0: }D
syz-exec-14028 0...2 137040074us : 0: }D
syz-exec-14028 0...2 137040077us : 0: }D
syz-exec-14028 0...2 137040080us : 0: }D
syz-exec-14028 0...2 137040083us : 0: }D
syz-exec-14028 0...2 137040087us : 0: }D
syz-exec-14028 0...2 137040090us : 0: }D
syz-exec-14028 0...2 137040093us : 0: }D
syz-exec-14028 0...2 137040096us : 0: }D
syz-exec-14028 0...2 137040099us : 0: }D
syz-exec-14028 0...2 137040102us : 0: }D
syz-exec-14028 0...2 137040105us : 0: }D
syz-exec-14028 0...2 137040108us : 0: }D
syz-exec-14028 0...2 137040111us : 0: }D
syz-exec-14028 0...2 137040114us : 0: }D
syz-exec-14028 0...2 137040117us : 0: }D
syz-exec-14028 0...2 137040119us : 0: }D
syz-exec-14028 0...2 137040122us : 0: }D
syz-exec-14028 0...2 137040125us : 0: }D
syz-exec-14028 0...2 137040129us : 0: }D
syz-exec-14028 0...2 137040132us : 0: }D
syz-exec-14028 0...2 137040135us : 0: }D
syz-exec-14028 0...2 137040138us : 0: }D
syz-exec-14028 0...2 137040141us : 0: }D
syz-exec-14028 0...2 137040144us : 0: }D
syz-exec-14028 0...2 137040147us : 0: }D
syz-exec-14028 0...2 137040150us : 0: }D
syz-exec-14028 0...2 137040153us : 0: }D
syz-exec-14028 0...2 137040156us : 0: }D
syz-exec-14028 0...2 137040159us : 0: }D
syz-exec-14028 0...2 137040168us : 0: }D
syz-exec-14028 0...2 137040171us : 0: }D
syz-exec-14028 0...2 137040174us : 0: }D
syz-exec-14028 0...2 137040177us : 0: }D
syz-exec-14028 0...2 137040180us : 0: }D
syz-exec-14028 0...2 137040183us : 0: }D
syz-exec-14028 0...2 137040186us : 0: }D
syz-exec-14028 0...2 137040189us : 0: }D
syz-exec-14028 0...2 137040192us : 0: }D
syz-exec-14028 0...2 137040195us : 0: }D
syz-exec-14028 0...2 137040197us : 0: }D
syz-exec-14028 0...2 137040200us : 0: }D
syz-exec-14028 0...2 137040203us : 0: }D
syz-exec-14028 0...2 137040207us : 0: }D
syz-exec-14028 0...2 137040209us : 0: }D
syz-exec-14028 0...2 137040213us : 0: }D
syz-exec-14028 0...2 137040216us : 0: }D
syz-exec-14028 0...2 137040219us : 0: }D
syz-exec-14028 0...2 137040221us : 0: }D
syz-exec-14028 0...2 137040224us : 0: }D
syz-exec-14028 0...2 137040227us : 0: }D
syz-exec-14028 0...2 137040230us : 0: }D
syz-exec-14028 0...2 137042704us : 0: }D
syz-exec-14028 0...2 137042709us : 0: }D
syz-exec-14028 0...2 137042713us : 0: }D
syz-exec-14028 0...2 137042715us : 0: }D
syz-exec-14028 0...2 137042717us : 0: }D
syz-exec-14028 0...2 137042720us : 0: }D
syz-exec-14028 0...2 137042724us : 0: }D
syz-exec-14028 0...2 137042727us : 0: }D
syz-exec-14028 0...2 137042729us : 0: }D
syz-exec-14028 0...2 137042733us : 0: }D
syz-exec-14028 0...2 137042736us : 0: }D
syz-exec-14028 0...2 137042739us : 0: }D
syz-exec-14028 0...2 137042741us : 0: }D
syz-exec-14028 0...2 137042746us : 0: }D
syz-exec-14028 0...2 137042748us : 0: }D
syz-exec-14028 0...2 137042751us : 0: }D
syz-exec-14028 0...2 137042755us : 0: }D
syz-exec-14028 0...2 137042758us : 0: }D
syz-exec-14028 0...2 137042760us : 0: }D
syz-exec-14028 0...2 137042763us : 0: }D
syz-exec-14028 0...2 137042766us : 0: }D
syz-exec-14028 0...2 137042769us : 0: }D
syz-exec-14028 0...2 137042771us : 0: }D
syz-exec-14028 0...2 137042774us : 0: }D
syz-exec-14028 0...2 137042777us : 0: }D
syz-exec-14028 0...2 137042780us : 0: }D
syz-exec-14028 0...2 137042782us : 0: }D
syz-exec-14028 0...2 137042784us : 0: }D
syz-exec-14028 0...2 137042787us : 0: }D
syz-exec-14028 0...2 137042789us : 0: }D
syz-exec-14028 0...2 137042792us : 0: }D
syz-exec-14028 0...2 137042795us : 0: }D
syz-exec-14028 0...2 137042798us : 0: }D
syz-exec-14028 0...2 137042800us : 0: }D
syz-exec-14028 0...2 137042803us : 0: }D
syz-exec-14028 0...2 137042806us : 0: }D
syz-exec-14028 0...2 137042809us : 0: }D
syz-exec-14028 0...2 137042811us : 0: }D
syz-exec-14028 0...2 137042814us : 0: }D
syz-exec-14028 0...2 137042816us : 0: }D
syz-exec-14028 0...2 137042819us : 0: }D
syz-exec-14028 0...2 137042822us : 0: }D
syz-exec-14028 0...2 137042824us : 0: }D
syz-exec-14028 0...2 137042826us : 0: }D
syz-exec-14028 0...2 137042828us : 0: }D
syz-exec-14028 0...2 137042831us : 0: }D
syz-exec-14028 0...2 137042833us : 0: }D
syz-exec-14028 0...2 137042835us : 0: }D
syz-exec-14028 0...2 137042838us : 0: }D
syz-exec-14028 0...2 137042841us : 0: }D
syz-exec-14028 0...2 137042844us : 0: }D
syz-exec-14028 0...2 137042846us : 0: }D
syz-exec-14028 0...2 137042849us : 0: }D
syz-exec-14028 0...2 137042851us : 0: }D
syz-exec-14028 0...2 137042854us : 0: }D
syz-exec-14028 0...2 137042857us : 0: }D
syz-exec-14028 0...2 137042860us : 0: }D
syz-exec-14028 0...2 137042862us : 0: }D
syz-exec-14028 0...2 137042865us : 0: }D
syz-exec-14028 0...2 137042870us : 0: }D
syz-exec-14028 0...2 137042873us : 0: }D
syz-exec-14028 0...2 137042876us : 0: }D
syz-exec-14028 0...2 137042878us : 0: }D
syz-exec-14028 0...2 137042881us : 0: }D
syz-exec-14028 0...2 137042883us : 0: }D
syz-exec-14028 0...2 137042886us : 0: }D
syz-exec-14028 0...2 137042889us : 0: }D
syz-exec-14028 0...2 137042892us : 0: }D
syz-exec-14028 0...2 137042894us : 0: }D
syz-exec-14028 0...2 137042897us : 0: }D
syz-exec-14028 0...2 137042900us : 0: }D
syz-exec-14028 0...2 137042903us : 0: }D
syz-exec-14028 0...2 137042906us : 0: }D
syz-exec-14028 0...2 137042909us : 0: }D
syz-exec-14028 0...2 137042911us : 0: }D
syz-exec-14028 0...2 137042914us : 0: }D
syz-exec-14028 0...2 137042917us : 0: }D
syz-exec-14028 0...2 137042920us : 0: }D
syz-exec-14028 0...2 137042923us : 0: }D
syz-exec-14028 0...2 137042926us : 0: }D
syz-exec-14028 0...2 137042929us : 0: }D
syz-exec-14028 0...2 137042932us : 0: }D
syz-exec-14028 0...2 137042935us : 0: }D
syz-exec-14028 0...2 137042938us : 0: }D
syz-exec-14028 0...2 137042941us : 0: }D
syz-exec-14028 0...2 137042944us : 0: }D
syz-exec-14028 0...2 137042947us : 0: }D
syz-exec-14028 0...2 137042950us : 0: }D
syz-exec-14028 0...2 137042953us : 0: }D
syz-exec-14028 0...2 137042955us : 0: }D
syz-exec-14028 0...2 137042958us : 0: }D
syz-exec-14028 0...2 137042961us : 0: }D
syz-exec-14028 0...2 137042964us : 0: }D
syz-exec-14028 0...2 137042966us : 0: }D
syz-exec-14028 0...2 137042969us : 0: }D
syz-exec-14028 0...2 137042971us : 0: }D
syz-exec-14028 0...2 137042973us : 0: }D
syz-exec-14028 0...2 137042976us : 0: }D
syz-exec-14028 0...2 137042978us : 0: }D
syz-exec-14028 0...2 137042981us : 0: }D
syz-exec-14028 0...2 137042984us : 0: }D
syz-exec-14028 0...2 137042987us : 0: }D
syz-exec-14028 0...2 137042990us : 0: }D
syz-exec-14028 0...2 137042993us : 0: }D
syz-exec-14028 0...2 137042996us : 0: }D
syz-exec-14028 0...2 137042999us : 0: }D
syz-exec-14028 0...2 137043002us : 0: }D
syz-exec-14028 0...2 137043004us : 0: }D
syz-exec-14028 0...2 137043007us : 0: }D
syz-exec-14028 0...2 137043010us : 0: }D
syz-exec-14028 0...2 137043013us : 0: }D
syz-exec-14028 0...2 137043016us : 0: }D
syz-exec-14028 0...2 137043019us : 0: }D
syz-exec-14028 0...2 137043022us : 0: }D
syz-exec-14028 0...2 137043025us : 0: }D
syz-exec-14028 0...2 137043028us : 0: }D
syz-exec-14028 0...2 137043031us : 0: }D
syz-exec-14028 0...2 137043034us : 0: }D
syz-exec-14028 0...2 137043037us : 0: }D
syz-exec-14028 0...2 137043040us : 0: }D
syz-exec-14028 0...2 137043043us : 0: }D
syz-exec-14028 0...2 137043046us : 0: }D
syz-exec-14028 0...2 137043049us : 0: }D
syz-exec-14028 0...2 137043052us : 0: }D
syz-exec-14028 0...2 137043055us : 0: }D
syz-exec-14028 0...2 137043058us : 0: }D
syz-exec-14028 0...2 137043061us : 0: }D
syz-exec-14028 0...2 137043064us : 0: }D
syz-exec-14028 0...2 137043067us : 0: }D
syz-exec-14028 0...2 137043070us : 0: }D
syz-exec-14028 0...2 137043073us : 0: }D
syz-exec-14028 0...2 137043076us : 0: }D
syz-exec-14028 0...2 137043079us : 0: }D
syz-exec-14028 0...2 137043082us : 0: }D
syz-exec-14028 0...2 137043085us : 0: }D
syz-exec-14028 0...2 137043088us : 0: }D
syz-exec-14028 0...2 137043090us : 0: }D
syz-exec-14028 0...2 137043093us : 0: }D
syz-exec-14028 0...2 137043096us : 0: }D
syz-exec-14028 0...2 137043099us : 0: }D
syz-exec-14028 0...2 137043102us : 0: }D
syz-exec-14028 0...2 137043105us : 0: }D
syz-exec-14028 0...2 137043108us : 0: }D
syz-exec-14028 0...2 137043111us : 0: }D
syz-exec-14028 0...2 137043114us : 0: }D
syz-exec-14028 0...2 137043116us : 0: }D
syz-exec-14028 0...2 137043119us : 0: }D
syz-exec-14028 0...2 137043122us : 0: }D
syz-exec-14028 0...2 137043125us : 0: }D
syz-exec-14028 0...2 137043128us : 0: }D
syz-exec-14028 0...2 137043131us : 0: }D
syz-exec-14028 0...2 137043134us : 0: }D
syz-exec-14028 0...2 137043137us : 0: }D
syz-exec-14028 0...2 137043140us : 0: }D
syz-exec-14028 0...2 137043143us : 0: }D
syz-exec-14028 0...2 137043146us : 0: }D
syz-exec-14028 0...2 137043149us : 0: }D
syz-exec-14028 0...2 137043152us : 0: }D
syz-exec-14028 0...2 137043155us : 0: }D
syz-exec-14028 0...2 137043158us : 0: }D
syz-exec-14028 0...2 137043168us : 0: }D
syz-exec-14028 0...2 137043171us : 0: }D
syz-exec-14028 0...2 137043174us : 0: }D
syz-exec-14028 0...2 137043177us : 0: }D
syz-exec-14028 0...2 137043180us : 0: }D
syz-exec-14028 0...2 137043183us : 0: }D
syz-exec-14028 0...2 137043186us : 0: }D
syz-exec-14028 0...2 137043189us : 0: }D
syz-exec-14028 0...2 137043192us : 0: }D
syz-exec-14028 0...2 137043195us : 0: }D
syz-exec-14028 0...2 137043198us : 0: }D
syz-exec-14028 0...2 137043202us : 0: }D
syz-exec-14028 0...2 137043205us : 0: }D
syz-exec-14028 0...2 137043207us : 0: }D
syz-exec-14028 0...2 137043210us : 0: }D
syz-exec-14028 0...2 137043214us : 0: }D
syz-exec-14028 0...2 137043216us : 0: }D
syz-exec-14028 0...2 137043219us : 0: }D
syz-exec-14028 0...2 137043222us : 0: }D
syz-exec-14028 0...2 137043225us : 0: }D
syz-exec-14028 0...2 137043228us : 0: }D
syz-exec-14028 0...2 137043231us : 0: }D
syz-exec-14028 0...2 137043267us : 0: }D
syz-exec-14028 0...2 137043270us : 0: }D
syz-exec-14028 0...2 137043273us : 0: }D
syz-exec-14028 0.N.2 137043280us : 0: }D
syz-exec-14028 0...2 137045368us : 0: }D
syz-exec-14028 0...2 137045373us : 0: }D
syz-exec-14028 0...2 137045378us : 0: }D
syz-exec-14028 0...2 137045381us : 0: }D
syz-exec-14028 0...2 137045384us : 0: }D
syz-exec-14028 0...2 137045387us : 0: }D
syz-exec-14028 0...2 137045391us : 0: }D
syz-exec-14028 0...2 137045394us : 0: }D
syz-exec-14028 0...2 137045397us : 0: }D
syz-exec-14028 0...2 137045400us : 0: }D
syz-exec-14028 0...2 137045404us : 0: }D
syz-exec-14028 0...2 137045407us : 0: }D
syz-exec-14028 0...2 137045410us : 0: }D
syz-exec-14028 0...2 137045413us : 0: }D
syz-exec-14028 0...2 137045417us : 0: }D
syz-exec-14028 0...2 137045420us : 0: }D
syz-exec-14028 0...2 137045423us : 0: }D
syz-exec-14028 0...2 137045426us : 0: }D
syz-exec-14028 0...2 137045429us : 0: }D
syz-exec-14028 0...2 137045432us : 0: }D
syz-exec-14028 0...2 137045436us : 0: }D
syz-exec-14028 0...2 137045439us : 0: }D
syz-exec-14028 0...2 137045443us : 0: }D
syz-exec-14028 0...2 137045446us : 0: }D
syz-exec-14028 0...2 137045449us : 0: }D
syz-exec-14028 0...2 137045452us : 0: }D
syz-exec-14028 0...2 137045455us : 0: }D
syz-exec-14028 0...2 137045458us : 0: }D
syz-exec-14028 0...2 137045462us : 0: }D
syz-exec-14028 0...2 137045465us : 0: }D
syz-exec-14028 0...2 137045468us : 0: }D
syz-exec-14028 0...2 137045472us : 0: }D
syz-exec-14028 0...2 137045475us : 0: }D
syz-exec-14028 0...2 137045478us : 0: }D
syz-exec-14028 0...2 137045481us : 0: }D
syz-exec-14028 0...2 137045485us : 0: }D
syz-exec-14028 0...2 137045488us : 0: }D
syz-exec-14028 0...2 137045491us : 0: }D
syz-exec-14028 0...2 137045494us : 0: }D
syz-exec-14028 0...2 137045498us : 0: }D
syz-exec-14028 0...2 137045501us : 0: }D
syz-exec-14028 0...2 137045504us : 0: }D
syz-exec-14028 0...2 137045508us : 0: }D
syz-exec-14028 0...2 137045513us : 0: }D
syz-exec-14028 0...2 137045516us : 0: }D
syz-exec-14028 0...2 137045519us : 0: }D
syz-exec-14028 0...2 137045522us : 0: }D
syz-exec-14028 0...2 137045525us : 0: }D
syz-exec-14028 0...2 137045528us : 0: }D
syz-exec-14028 0...2 137045531us : 0: }D
syz-exec-14028 0...2 137045534us : 0: }D
syz-exec-14028 0...2 137045537us : 0: }D
syz-exec-14028 0...2 137045540us : 0: }D
syz-exec-14028 0...2 137045543us : 0: }D
syz-exec-14028 0...2 137045546us : 0: }D
syz-exec-14028 0...2 137045549us : 0: }D
syz-exec-14028 0...2 137045552us : 0: }D
syz-exec-14028 0...2 137045555us : 0: }D
syz-exec-14028 0...2 137045559us : 0: }D
syz-exec-14028 0...2 137045562us : 0: }D
syz-exec-14028 0...2 137045565us : 0: }D
syz-exec-14028 0...2 137045568us : 0: }D
syz-exec-14028 0...2 137045571us : 0: }D
syz-exec-14028 0...2 137045574us : 0: }D
syz-exec-14028 0...2 137045577us : 0: }D
syz-exec-14028 0...2 137045580us : 0: }D
syz-exec-14028 0...2 137045583us : 0: }D
syz-exec-14028 0...2 137045586us : 0: }D
syz-exec-14028 0...2 137045589us : 0: }D
syz-exec-14028 0...2 137045592us : 0: }D
syz-exec-14028 0...2 137045596us : 0: }D
syz-exec-14028 0...2 137045662us : 0: }D
syz-exec-14028 0...2 137045665us : 0: }D
syz-exec-14028 0...2 137045669us : 0: }D
syz-exec-14028 0...2 137045672us : 0: }D
syz-exec-14028 0...2 137045675us : 0: }D
syz-exec-14028 0...2 137045678us : 0: }D
syz-exec-14028 0...2 137045682us : 0: }D
syz-exec-14028 0...2 137045685us : 0: }D
syz-exec-14028 0...2 137045688us : 0: }D
syz-exec-14028 0...2 137045691us : 0: }D
syz-exec-14028 0...2 137045694us : 0: }D
syz-exec-14028 0...2 137045697us : 0: }D
syz-exec-14028 0...2 137045700us : 0: }D
syz-exec-14028 0...2 137045703us : 0: }D
syz-exec-14028 0...2 137045707us : 0: }D
syz-exec-14028 0...2 137045710us : 0: }D
syz-exec-14028 0...2 137045713us : 0: }D
syz-exec-14028 0...2 137045717us : 0: }D
syz-exec-14028 0...2 137045720us : 0: }D
syz-exec-14028 0...2 137045723us : 0: }D
syz-exec-14028 0...2 137045726us : 0: }D
syz-exec-14028 0...2 137045730us : 0: }D
syz-exec-14028 0...2 137045733us : 0: }D
syz-exec-14028 0...2 137045736us : 0: }D
syz-exec-14028 0...2 137045740us : 0: }D
syz-exec-14028 0...2 137045743us : 0: }D
syz-exec-14028 0...2 137045746us : 0: }D
syz-exec-14028 0...2 137045749us : 0: }D
syz-exec-14028 0...2 137045753us : 0: }D
syz-exec-14028 0...2 137045756us : 0: }D
syz-exec-14028 0...2 137045759us : 0: }D
syz-exec-14028 0...2 137045762us : 0: }D
syz-exec-14028 0...2 137045766us : 0: }D
syz-exec-14028 0...2 137045769us : 0: }D
syz-exec-14028 0...2 137045772us : 0: }D
syz-exec-14028 0...2 137045775us : 0: }D
syz-exec-14028 0...2 137045778us : 0: }D
syz-exec-14028 0...2 137045781us : 0: }D
syz-exec-14028 0...2 137045784us : 0: }D
syz-exec-14028 0...2 137045788us : 0: }D
syz-exec-14028 0...2 137045791us : 0: }D
syz-exec-14028 0...2 137045794us : 0: }D
syz-exec-14028 0...2 137045798us : 0: }D
syz-exec-14028 0...2 137045801us : 0: }D
syz-exec-14028 0...2 137045804us : 0: }D
syz-exec-14028 0...2 137045807us : 0: }D
syz-exec-14028 0...2 137045810us : 0: }D
syz-exec-14028 0...2 137045813us : 0: }D
syz-exec-14028 0...2 137045816us : 0: }D
syz-exec-14028 0...2 137045819us : 0: }D
syz-exec-14028 0...2 137045822us : 0: }D
syz-exec-14028 0...2 137045825us : 0: }D
syz-exec-14028 0...2 137045828us : 0: }D
syz-exec-14028 0...2 137045831us : 0: }D
syz-exec-14028 0...2 137045834us : 0: }D
syz-exec-14028 0...2 137045837us : 0: }D
syz-exec-14028 0...2 137045839us : 0: }D
syz-exec-14028 0...2 137045842us : 0: }D
syz-exec-14028 0...2 137045845us : 0: }D
syz-exec-14028 0...2 137045848us : 0: }D
syz-exec-14028 0...2 137045851us : 0: }D
syz-exec-14028 0...2 137045854us : 0: }D
syz-exec-14028 0...2 137045857us : 0: }D
syz-exec-14028 0...2 137045860us : 0: }D
syz-exec-14028 0...2 137045863us : 0: }D
syz-exec-14028 0...2 137045866us : 0: }D
syz-exec-14028 0...2 137045869us : 0: }D
syz-exec-14028 0...2 137045872us : 0: }D
syz-exec-14028 0...2 137045875us : 0: }D
syz-exec-14028 0...2 137045878us : 0: }D
syz-exec-14028 0...2 137045881us : 0: }D
syz-exec-14028 0...2 137045884us : 0: }D
syz-exec-14028 0...2 137045887us : 0: }D
syz-exec-14028 0...2 137045890us : 0: }D
syz-exec-14028 0...2 137045894us : 0: }D
syz-exec-14028 0...2 137045897us : 0: }D
syz-exec-14028 0...2 137045899us : 0: }D
syz-exec-14028 0...2 137045902us : 0: }D
syz-exec-14028 0...2 137045905us : 0: }D
syz-exec-14028 0...2 137045908us : 0: }D
syz-exec-14028 0...2 137045911us : 0: }D
syz-exec-14028 0...2 137045914us : 0: }D
syz-exec-14028 0...2 137045917us : 0: }D
syz-exec-14028 0...2 137045920us : 0: }D
syz-exec-14028 0...2 137045923us : 0: }D
syz-exec-14028 0...2 137045926us : 0: }D
syz-exec-14028 0...2 137045929us : 0: }D
syz-exec-14028 0...2 137045932us : 0: }D
syz-exec-14028 0...2 137045934us : 0: }D
syz-exec-14028 0...2 137045937us : 0: }D
syz-exec-14028 0...2 137045940us : 0: }D
syz-exec-14028 0...2 137045943us : 0: }D
syz-exec-14028 0...2 137045946us : 0: }D
syz-exec-14028 0...2 137045949us : 0: }D
syz-exec-14028 0...2 137045951us : 0: }D
syz-exec-14028 0...2 137045954us : 0: }D
syz-exec-14028 0...2 137045957us : 0: }D
syz-exec-14028 0...2 137045960us : 0: }D
syz-exec-14028 0...2 137045962us : 0: }D
syz-exec-14028 0...2 137045965us : 0: }D
syz-exec-14028 0...2 137045968us : 0: }D
syz-exec-14028 0...2 137045970us : 0: }D
syz-exec-14028 0...2 137045973us : 0: }D
syz-exec-14028 0...2 137045975us : 0: }D
syz-exec-14028 0...2 137045978us : 0: }D
syz-exec-14028 0...2 137045981us : 0: }D
syz-exec-14028 0...2 137045984us : 0: }D
syz-exec-14028 0...2 137045987us : 0: }D
syz-exec-14028 0...2 137045989us : 0: }D
syz-exec-14028 0...2 137045992us : 0: }D
syz-exec-14028 0...2 137045995us : 0: }D
syz-exec-14028 0...2 137045997us : 0: }D
syz-exec-14028 0...2 137046000us : 0: }D
syz-exec-14028 0...2 137046003us : 0: }D
syz-exec-14028 0...2 137046006us : 0: }D
syz-exec-14028 0...2 137046008us : 0: }D
syz-exec-14028 0...2 137046011us : 0: }D
syz-exec-14028 0...2 137046014us : 0: }D
syz-exec-14028 0...2 137046017us : 0: }D
syz-exec-14028 0...2 137046020us : 0: }D
syz-exec-14028 0...2 137046023us : 0: }D
syz-exec-14028 0...2 137046025us : 0: }D
syz-exec-14028 0...2 137046028us : 0: }D
syz-exec-14028 0...2 137046031us : 0: }D
syz-exec-14028 0...2 137046034us : 0: }D
syz-exec-14028 0...2 137046037us : 0: }D
syz-exec-14028 0...2 137046040us : 0: }D
syz-exec-14028 0...2 137046043us : 0: }D
syz-exec-14028 0...2 137046046us : 0: }D
syz-exec-14028 0...2 137046049us : 0: }D
syz-exec-14028 0...2 137046051us : 0: }D
syz-exec-14028 0...2 137046054us : 0: }D
syz-exec-14028 0...2 137046057us : 0: }D
syz-exec-14028 0...2 137046060us : 0: }D
syz-exec-14028 0...2 137046063us : 0: }D
syz-exec-14028 0...2 137046066us : 0: }D
syz-exec-14028 0...2 137046068us : 0: }D
syz-exec-14028 0...2 137046071us : 0: }D
syz-exec-14028 0...2 137046074us : 0: }D
syz-exec-14028 0...2 137046077us : 0: }D
syz-exec-14028 0...2 137046080us : 0: }D
syz-exec-14028 0...2 137046083us : 0: }D
syz-exec-14028 0...2 137046087us : 0: }D
syz-exec-14028 0...2 137046090us : 0: }D
syz-exec-14028 0...2 137046092us : 0: }D
syz-exec-14028 0...2 137046095us : 0: }D
syz-exec-14028 0...2 137046098us : 0: }D
syz-exec-14028 0...2 137046101us : 0: }D
syz-exec-14028 0...2 137046103us : 0: }D
syz-exec-14028 0...2 137046106us : 0: }D
syz-exec-14028 0...2 137046109us : 0: }D
syz-exec-14028 0...2 137046112us : 0: }D
syz-exec-14028 0...2 137046115us : 0: }D
syz-exec-14028 0...2 137046117us : 0: }D
syz-exec-14028 0...2 137046120us : 0: }D
syz-exec-14028 0...2 137046123us : 0: }D
syz-exec-14028 0...2 137046126us : 0: }D
syz-exec-14028 0...2 137046129us : 0: }D
syz-exec-14028 0...2 137046131us : 0: }D
syz-exec-14028 0...2 137046134us : 0: }D
syz-exec-14028 0...2 137046137us : 0: }D
syz-exec-14028 0...2 137046140us : 0: }D
syz-exec-14028 0...2 137046143us : 0: }D
syz-exec-14028 0...2 137046145us : 0: }D
syz-exec-14028 0...2 137046148us : 0: }D
syz-exec-14028 0...2 137046151us : 0: }D
syz-exec-14028 0...2 137046154us : 0: }D
syz-exec-14028 0...2 137046157us : 0: }D
syz-exec-14028 0...2 137046165us : 0: }D
syz-exec-14028 0...2 137046168us : 0: }D
syz-exec-14028 0...2 137046170us : 0: }D
syz-exec-14028 0...2 137046173us : 0: }D
syz-exec-14028 0...2 137046176us : 0: }D
syz-exec-14028 0...2 137046178us : 0: }D
syz-exec-14028 0...2 137046181us : 0: }D
syz-exec-14028 0...2 137046184us : 0: }D
syz-exec-14028 0...2 137046187us : 0: }D
syz-exec-14028 0...2 137046190us : 0: }D
syz-exec-14028 0...2 137046193us : 0: }D
syz-exec-14028 0...2 137046196us : 0: }D
syz-exec-14028 0...2 137046199us : 0: }D
syz-exec-14028 0...2 137046202us : 0: }D
syz-exec-14028 0...2 137046204us : 0: }D
syz-exec-14028 0...2 137046208us : 0: }D
syz-exec-14028 0...2 137046210us : 0: }D
syz-exec-14028 0...2 137046213us : 0: }D
syz-exec-14028 0...2 137046216us : 0: }D
syz-exec-14028 0...2 137046219us : 0: }D
syz-exec-14028 0...2 137046222us : 0: }D
syz-exec-14028 0...2 137046225us : 0: }D
syz-exec-14028 0...2 137046228us : 0: }D
syz-exec-14028 0...2 137046231us : 0: }D
syz-exec-14028 0...2 137046340us : 0: }D
syz-exec-14028 0...2 137046343us : 0: }D
syz-exec-14028 0...2 137046347us : 0: }D
syz-exec-14028 0...2 137046350us : 0: }D
syz-exec-14028 0...2 137046352us : 0: }D
syz-exec-14028 0...2 137046356us : 0: }D
syz-exec-14028 0...2 137046359us : 0: }D
syz-exec-14028 0...2 137046362us : 0: }D
syz-exec-14028 0...2 137046365us : 0: }D
syz-exec-14028 0...2 137046369us : 0: }D
syz-exec-14028 0...2 137046372us : 0: }D
syz-exec-14028 0...2 137046375us : 0: }D
syz-exec-14028 0...2 137046379us : 0: }D
syz-exec-14028 0...2 137046382us : 0: }D
syz-exec-14028 0...2 137046385us : 0: }D
syz-exec-14028 0...2 137046388us : 0: }D
syz-exec-14028 0...2 137046392us : 0: }D
syz-exec-14028 0...2 137046395us : 0: }D
syz-exec-14028 0...2 137046398us : 0: }D
syz-exec-14028 0...2 137046401us : 0: }D
syz-exec-14028 0...2 137046456us : 0: }D
syz-exec-14028 0...2 137046459us : 0: }D
syz-exec-14028 0...2 137046462us : 0: }D
syz-exec-14028 0...2 137046466us : 0: }D
syz-exec-14028 0...2 137046469us : 0: }D
syz-exec-14028 0...2 137046471us : 0: }D
syz-exec-14028 0...2 137046475us : 0: }D
syz-exec-14028 0...2 137046478us : 0: }D
syz-exec-14028 0...2 137046481us : 0: }D
syz-exec-14028 0...2 137046484us : 0: }D
syz-exec-14028 0...2 137046488us : 0: }D
syz-exec-14028 0...2 137046491us : 0: }D
syz-exec-14028 0...2 137046494us : 0: }D
syz-exec-14028 0...2 137046497us : 0: }D
syz-exec-14028 0...2 137046500us : 0: }D
syz-exec-14028 0...2 137046503us : 0: }D
syz-exec-14028 0...2 137046506us : 0: }D
syz-exec-14028 0...2 137046510us : 0: }D
syz-exec-14028 0...2 137046513us : 0: }D
syz-exec-14028 0...2 137046516us : 0: }D
syz-exec-14028 0...2 137046518us : 0: }D
syz-exec-14028 0...2 137046522us : 0: }D
syz-exec-14028 0...2 137046525us : 0: }D
syz-exec-14028 0...2 137046528us : 0: }D
syz-exec-14028 0...2 137046531us : 0: }D
syz-exec-14028 0...2 137046534us : 0: }D
syz-exec-14028 0...2 137046537us : 0: }D
syz-exec-14028 0...2 137046540us : 0: }D
syz-exec-14028 0...2 137046543us : 0: }D
syz-exec-14028 0...2 137046546us : 0: }D
syz-exec-14028 0...2 137046549us : 0: }D
syz-exec-14028 0...2 137046552us : 0: }D
syz-exec-14028 0...2 137046556us : 0: }D
syz-exec-14028 0...2 137046559us : 0: }D
syz-exec-14028 0...2 137046562us : 0: }D
syz-exec-14028 0...2 137046567us : 0: }D
syz-exec-14028 0...2 137046569us : 0: }D
syz-exec-14028 0...2 137046572us : 0: }D
syz-exec-14028 0...2 137046574us : 0: }D
syz-exec-14028 0...2 137046577us : 0: }D
syz-exec-14028 0...2 137046580us : 0: }D
syz-exec-14028 0...2 137046583us : 0: }D
syz-exec-14028 0...2 137046586us : 0: }D
syz-exec-14028 0...2 137046588us : 0: }D
syz-exec-14028 0...2 137046591us : 0: }D
syz-exec-14028 0...2 137046594us : 0: }D
syz-exec-14028 0...2 137046597us : 0: }D
syz-exec-14028 0...2 137046600us : 0: }D
syz-exec-14028 0...2 137046602us : 0: }D
syz-exec-14028 0...2 137046605us : 0: }D
syz-exec-14028 0...2 137046607us : 0: }D
syz-exec-14028 0...2 137046610us : 0: }D
syz-exec-14028 0...2 137046612us : 0: }D
syz-exec-14028 0...2 137046615us : 0: }D
syz-exec-14028 0...2 137046618us : 0: }D
syz-exec-14028 0...2 137046621us : 0: }D
syz-exec-14028 0...2 137046624us : 0: }D
syz-exec-14028 0...2 137046626us : 0: }D
syz-exec-14028 0...2 137046630us : 0: }D
syz-exec-14028 0...2 137046632us : 0: }D
syz-exec-14028 0...2 137046635us : 0: }D
syz-exec-14028 0...2 137046637us : 0: }D
syz-exec-14028 0...2 137046640us : 0: }D
syz-exec-14028 0...2 137046642us : 0: }D
syz-exec-14028 0...2 137046645us : 0: }D
syz-exec-14028 0...2 137046648us : 0: }D
syz-exec-14028 0...2 137046650us : 0: }D
syz-exec-14028 0...2 137046653us : 0: }D
syz-exec-14028 0...2 137046656us : 0: }D
syz-exec-14028 0...2 137046658us : 0: }D
syz-exec-14028 0...2 137046661us : 0: }D
syz-exec-14028 0...2 137046664us : 0: }D
syz-exec-14028 0...2 137046666us : 0: }D
syz-exec-14028 0...2 137046668us : 0: }D
syz-exec-14028 0...2 137046670us : 0: }D
syz-exec-14028 0...2 137046673us : 0: }D
syz-exec-14028 0...2 137046676us : 0: }D
syz-exec-14028 0...2 137046679us : 0: }D
syz-exec-14028 0...2 137046681us : 0: }D
syz-exec-14028 0...2 137046684us : 0: }D
syz-exec-14028 0...2 137046687us : 0: }D
syz-exec-14028 0...2 137046690us : 0: }D
syz-exec-14028 0...2 137046692us : 0: }D
syz-exec-14028 0...2 137046694us : 0: }D
syz-exec-14028 0...2 137046697us : 0: }D
syz-exec-14028 0.N.2 137046720us : 0: }D
syz-exec-14028 0...2 137051520us : 0: }D
syz-exec-14028 0...2 137051526us : 0: }D
syz-exec-14028 0...2 137051529us : 0: }D
syz-exec-14028 0...2 137051533us : 0: }D
syz-exec-14028 0...2 137051536us : 0: }D
syz-exec-14028 0...2 137051540us : 0: }D
syz-exec-14028 0...2 137051543us : 0: }D
syz-exec-14028 0...2 137051546us : 0: }D
syz-exec-14028 0...2 137051549us : 0: }D
syz-exec-14028 0...2 137051552us : 0: }D
syz-exec-14028 0...2 137051556us : 0: }D
syz-exec-14028 0...2 137051559us : 0: }D
syz-exec-14028 0...2 137051562us : 0: }D
syz-exec-14028 0...2 137051565us : 0: }D
syz-exec-14028 0...2 137051570us : 0: }D
syz-exec-14028 0...2 137051573us : 0: }D
syz-exec-14028 0...2 137051576us : 0: }D
syz-exec-14028 0...2 137051579us : 0: }D
syz-exec-14028 0...2 137051582us : 0: }D
syz-exec-14028 0...2 137051585us : 0: }D
syz-exec-14028 0...2 137051588us : 0: }D
syz-exec-14028 0...2 137051592us : 0: }D
syz-exec-14028 0...2 137051595us : 0: }D
syz-exec-14028 0...2 137051598us : 0: }D
syz-exec-14028 0...2 137051602us : 0: }D
syz-exec-14028 0...2 137051605us : 0: }D
syz-exec-14028 0...2 137051608us : 0: }D
syz-exec-14028 0...2 137051611us : 0: }D
syz-exec-14028 0...2 137051615us : 0: }D
syz-exec-14028 0...2 137051618us : 0: }D
syz-exec-14028 0...2 137051621us : 0: }D
syz-exec-14028 0...2 137051624us : 0: }D
syz-exec-14028 0...2 137051628us : 0: }D
syz-exec-14028 0...2 137051631us : 0: }D
syz-exec-14028 0...2 137051634us : 0: }D
syz-exec-14028 0...2 137051638us : 0: }D
syz-exec-14028 0...2 137051641us : 0: }D
syz-exec-14028 0...2 137051644us : 0: }D
syz-exec-14028 0...2 137051648us : 0: }D
syz-exec-14028 0...2 137051651us : 0: }D
syz-exec-14028 0...2 137051654us : 0: }D
syz-exec-14028 0...2 137051657us : 0: }D
syz-exec-14028 0...2 137051660us : 0: }D
syz-exec-14028 0...2 137051662us : 0: }D
syz-exec-14028 0...2 137051665us : 0: }D
syz-exec-14028 0...2 137051668us : 0: }D
syz-exec-14028 0...2 137051671us : 0: }D
syz-exec-14028 0...2 137051674us : 0: }D
syz-exec-14028 0...2 137051677us : 0: }D
syz-exec-14028 0...2 137051680us : 0: }D
syz-exec-14028 0...2 137051683us : 0: }D
syz-exec-14028 0...2 137051686us : 0: }D
syz-exec-14028 0...2 137051689us : 0: }D
syz-exec-14028 0...2 137051692us : 0: }D
syz-exec-14028 0...2 137051695us : 0: }D
syz-exec-14028 0...2 137051698us : 0: }D
syz-exec-14028 0...2 137051701us : 0: }D
syz-exec-14028 0...2 137051704us : 0: }D
syz-exec-14028 0...2 137051707us : 0: }D
syz-exec-14028 0...2 137051710us : 0: }D
syz-exec-14028 0...2 137051713us : 0: }D
syz-exec-14028 0...2 137051716us : 0: }D
syz-exec-14028 0...2 137051719us : 0: }D
syz-exec-14028 0...2 137051722us : 0: }D
syz-exec-14028 0...2 137051725us : 0: }D
syz-exec-14028 0...2 137051728us : 0: }D
syz-exec-14028 0...2 137051731us : 0: }D
syz-exec-14028 0...2 137051734us : 0: }D
syz-exec-14028 0...2 137051737us : 0: }D
syz-exec-14028 0...2 137051740us : 0: }D
syz-exec-14028 0...2 137051743us : 0: }D
syz-exec-14028 0...2 137051746us : 0: }D
syz-exec-14028 0...2 137051749us : 0: }D
syz-exec-14028 0...2 137051752us : 0: }D
syz-exec-14028 0...2 137051755us : 0: }D
syz-exec-14028 0...2 137051758us : 0: }D
syz-exec-14028 0...2 137051761us : 0: }D
syz-exec-14028 0...2 137051764us : 0: }D
syz-exec-14028 0...2 137051767us : 0: }D
syz-exec-14028 0...2 137051771us : 0: }D
syz-exec-14028 0...2 137051774us : 0: }D
syz-exec-14028 0...2 137051777us : 0: }D
syz-exec-14028 0...2 137051780us : 0: }D
syz-exec-14028 0...2 137051782us : 0: }D
syz-exec-14028 0...2 137051785us : 0: }D
syz-exec-14028 0...2 137051789us : 0: }D
syz-exec-14028 0...2 137051792us : 0: }D
syz-exec-14028 0...2 137051795us : 0: }D
syz-exec-14028 0...2 137051798us : 0: }D
syz-exec-14028 0...2 137051801us : 0: }D
syz-exec-14028 0...2 137051804us : 0: }D
syz-exec-14028 0...2 137051807us : 0: }D
syz-exec-14028 0...2 137051810us : 0: }D
syz-exec-14028 0...2 137051813us : 0: }D
syz-exec-14028 0...2 137051816us : 0: }D
syz-exec-14028 0...2 137051819us : 0: }D
syz-exec-14028 0...2 137051822us : 0: }D
syz-exec-14028 0...2 137051825us : 0: }D
syz-exec-14028 0...2 137051828us : 0: }D
syz-exec-14028 0...2 137051831us : 0: }D
syz-exec-14028 0...2 137051834us : 0: }D
syz-exec-14028 0...2 137051837us : 0: }D
syz-exec-14028 0...2 137051840us : 0: }D
syz-exec-14028 0...2 137051843us : 0: }D
syz-exec-14028 0...2 137051846us : 0: }D
syz-exec-14028 0...2 137051849us : 0: }D
syz-exec-14028 0...2 137051852us : 0: }D
syz-exec-14028 0...2 137051855us : 0: }D
syz-exec-14028 0...2 137051858us : 0: }D
syz-exec-14028 0...2 137051861us : 0: }D
syz-exec-14028 0...2 137051864us : 0: }D
syz-exec-14028 0...2 137051867us : 0: }D
syz-exec-14028 0...2 137051870us : 0: }D
syz-exec-14028 0...2 137051873us : 0: }D
syz-exec-14028 0...2 137051876us : 0: }D
syz-exec-14028 0...2 137051879us : 0: }D
syz-exec-14028 0...2 137051882us : 0: }D
syz-exec-14028 0...2 137051885us : 0: }D
syz-exec-14028 0...2 137051888us : 0: }D
syz-exec-14028 0...2 137051891us : 0: }D
syz-exec-14028 0...2 137051894us : 0: }D
syz-exec-14028 0...2 137051897us : 0: }D
syz-exec-14028 0...2 137051900us : 0: }D
syz-exec-14028 0...2 137051903us : 0: }D
syz-exec-14028 0...2 137051906us : 0: }D
syz-exec-14028 0...2 137051909us : 0: }D
syz-exec-14028 0...2 137051912us : 0: }D
syz-exec-14028 0...2 137051915us : 0: }D
syz-exec-14028 0...2 137051918us : 0: }D
syz-exec-14028 0...2 137051921us : 0: }D
syz-exec-14028 0...2 137051924us : 0: }D
syz-exec-14028 0...2 137051927us : 0: }D
syz-exec-14028 0...2 137051930us : 0: }D
syz-exec-14028 0...2 137051933us : 0: }D
syz-exec-14028 0...2 137051935us : 0: }D
syz-exec-14028 0...2 137051938us : 0: }D
syz-exec-14028 0...2 137051940us : 0: }D
syz-exec-14028 0...2 137051943us : 0: }D
syz-exec-14028 0...2 137051945us : 0: }D
syz-exec-14028 0...2 137051948us : 0: }D
syz-exec-14028 0...2 137051951us : 0: }D
syz-exec-14028 0...2 137051953us : 0: }D
syz-exec-14028 0...2 137051955us : 0: }D
syz-exec-14028 0...2 137051958us : 0: }D
syz-exec-14028 0...2 137051961us : 0: }D
syz-exec-14028 0...2 137051964us : 0: }D
syz-exec-14028 0...2 137051966us : 0: }D
syz-exec-14028 0...2 137051969us : 0: }D
syz-exec-14028 0...2 137051971us : 0: }D
syz-exec-14028 0...2 137051974us : 0: }D
syz-exec-14028 0...2 137051976us : 0: }D
syz-exec-14028 0...2 137051979us : 0: }D
syz-exec-14028 0...2 137051982us : 0: }D
syz-exec-14028 0...2 137051984us : 0: }D
syz-exec-14028 0...2 137051987us : 0: }D
syz-exec-14028 0...2 137051990us : 0: }D
syz-exec-14028 0...2 137051992us : 0: }D
syz-exec-14028 0...2 137051995us : 0: }D
syz-exec-14028 0...2 137051998us : 0: }D
syz-exec-14028 0...2 137052000us : 0: }D
syz-exec-14028 0...2 137052003us : 0: }D
syz-exec-14028 0...2 137052006us : 0: }D
syz-exec-14028 0...2 137052008us : 0: }D
syz-exec-14028 0...2 137052011us : 0: }D
syz-exec-14028 0...2 137052013us : 0: }D
syz-exec-14028 0...2 137052016us : 0: }D
syz-exec-14028 0...2 137052018us : 0: }D
syz-exec-14028 0...2 137052021us : 0: }D
syz-exec-14028 0...2 137052024us : 0: }D
syz-exec-14028 0...2 137052026us : 0: }D
syz-exec-14028 0...2 137052029us : 0: }D
syz-exec-14028 0...2 137052031us : 0: }D
syz-exec-14028 0...2 137052034us : 0: }D
syz-exec-14028 0...2 137052036us : 0: }D
syz-exec-14028 0...2 137052039us : 0: }D
syz-exec-14028 0...2 137052041us : 0: }D
syz-exec-14028 0...2 137052043us : 0: }D
syz-exec-14028 0...2 137052046us : 0: }D
syz-exec-14028 0...2 137052048us : 0: }D
syz-exec-14028 0...2 137052051us : 0: }D
syz-exec-14028 0...2 137052053us : 0: }D
syz-exec-14028 0...2 137052056us : 0: }D
syz-exec-14028 0...2 137052058us : 0: }D
syz-exec-14028 0...2 137052061us : 0: }D
syz-exec-14028 0...2 137052065us : 0: }D
syz-exec-14028 0...2 137052068us : 0: }D
syz-exec-14028 0...2 137052070us : 0: }D
syz-exec-14028 0...2 137052073us : 0: }D
syz-exec-14028 0...2 137052075us : 0: }D
syz-exec-14028 0...2 137052078us : 0: }D
syz-exec-14028 0...2 137052081us : 0: }D
syz-exec-14028 0...2 137052083us : 0: }D
syz-exec-14028 0...2 137052086us : 0: }D
syz-exec-14028 0...2 137052088us : 0: }D
syz-exec-14028 0...2 137052090us : 0: }D
syz-exec-14028 0...2 137052092us : 0: }D
syz-exec-14028 0...2 137052095us : 0: }D
syz-exec-14028 0...2 137052097us : 0: }D
syz-exec-14028 0...2 137052099us : 0: }D
syz-exec-14028 0...2 137052102us : 0: }D
syz-exec-14028 0...2 137052104us : 0: }D
syz-exec-14028 0...2 137052106us : 0: }D
syz-exec-14028 0...2 137052109us : 0: }D
syz-exec-14028 0...2 137052111us : 0: }D
syz-exec-14028 0...2 137052114us : 0: }D
syz-exec-14028 0...2 137052116us : 0: }D
syz-exec-14028 0...2 137052119us : 0: }D
syz-exec-14028 0...2 137052121us : 0: }D
syz-exec-14028 0...2 137052124us : 0: }D
syz-exec-14028 0...2 137052126us : 0: }D
syz-exec-14028 0...2 137052129us : 0: }D
syz-exec-14028 0...2 137052132us : 0: }D
syz-exec-14028 0...2 137052135us : 0: }D
syz-exec-14028 0...2 137052138us : 0: }D
syz-exec-14028 0...2 137052141us : 0: }D
syz-exec-14028 0...2 137052144us : 0: }D
syz-exec-14028 0...2 137052147us : 0: }D
syz-exec-14028 0...2 137052150us : 0: }D
syz-exec-14028 0...2 137052153us : 0: }D
syz-exec-14028 0...2 137052156us : 0: }D
syz-exec-14028 0...2 137052164us : 0: }D
syz-exec-14028 0...2 137052167us : 0: }D
syz-exec-14028 0...2 137052170us : 0: }D
syz-exec-14028 0...2 137052173us : 0: }D
syz-exec-14028 0...2 137052175us : 0: }D
syz-exec-14028 0...2 137052178us : 0: }D
syz-exec-14028 0...2 137052181us : 0: }D
syz-exec-14028 0...2 137052184us : 0: }D
syz-exec-14028 0...2 137052187us : 0: }D
syz-exec-14028 0...2 137052190us : 0: }D
syz-exec-14028 0...2 137052193us : 0: }D
syz-exec-14028 0...2 137052196us : 0: }D
syz-exec-14028 0...2 137052198us : 0: }D
syz-exec-14028 0...2 137052201us : 0: }D
syz-exec-14028 0...2 137052204us : 0: }D
syz-exec-14028 0...2 137052206us : 0: }D
syz-exec-14028 0...2 137052208us : 0: }D
syz-exec-14028 0...2 137052212us : 0: }D
syz-exec-14028 0...2 137052214us : 0: }D
syz-exec-14028 0...2 137052217us : 0: }D
syz-exec-14028 0...2 137052220us : 0: }D
syz-exec-14028 0...2 137052223us : 0: }D
syz-exec-14028 0...2 137052226us : 0: }D
syz-exec-14028 0...2 137052228us : 0: }D
syz-exec-14028 0...2 137052231us : 0: }D
syz-exec-14028 0...2 137052267us : 0: }D
syz-exec-14028 0...2 137052271us : 0: }D
syz-exec-14028 0...2 137052273us : 0: }D
syz-exec-14028 0...2 137052277us : 0: }D
syz-exec-14028 0...2 137052280us : 0: }D
syz-exec-14028 0...2 137052283us : 0: }D
syz-exec-14028 0...2 137052286us : 0: }D
syz-exec-14028 0...2 137052289us : 0: }D
syz-exec-14028 0...2 137052292us : 0: }D
syz-exec-14028 0...2 137052295us : 0: }D
syz-exec-14028 0...2 137052298us : 0: }D
syz-exec-14028 0...2 137052301us : 0: }D
syz-exec-14028 0...2 137052304us : 0: }D
syz-exec-14028 0...2 137052307us : 0: }D
syz-exec-14028 0...2 137052311us : 0: }D
syz-exec-14028 0...2 137052314us : 0: }D
syz-exec-14028 0...2 137052317us : 0: }D
syz-exec-14028 0...2 137052320us : 0: }D
syz-exec-14028 0...2 137052323us : 0: }D
syz-exec-14028 0...2 137052326us : 0: }D
syz-exec-14028 0...2 137052329us : 0: }D
syz-exec-14028 0...2 137052332us : 0: }D
syz-exec-14028 0...2 137052334us : 0: }D
syz-exec-14028 0...2 137052337us : 0: }D
syz-exec-14028 0...2 137052341us : 0: }D
syz-exec-14028 0...2 137052344us : 0: }D
syz-exec-14028 0...2 137052347us : 0: }D
syz-exec-14028 0...2 137052349us : 0: }D
syz-exec-14028 0...2 137052353us : 0: }D
syz-exec-14028 0...2 137052355us : 0: }D
syz-exec-14028 0...2 137052358us : 0: }D
syz-exec-14028 0...2 137052361us : 0: }D
syz-exec-14028 0...2 137052364us : 0: }D
syz-exec-14028 0...2 137052367us : 0: }D
syz-exec-14028 0...2 137052370us : 0: }D
syz-exec-14028 0...2 137052373us : 0: }D
syz-exec-14028 0...2 137052376us : 0: }D
syz-exec-14028 0...2 137052379us : 0: }D
syz-exec-14028 0...2 137052382us : 0: }D
syz-exec-14028 0...2 137052385us : 0: }D
syz-exec-14028 0...2 137052388us : 0: }D
syz-exec-14028 0...2 137052391us : 0: }D
syz-exec-14028 0...2 137052393us : 0: }D
syz-exec-14028 0...2 137052396us : 0: }D
syz-exec-14028 0...2 137052398us : 0: }D
syz-exec-14028 0...2 137052401us : 0: }D
syz-exec-14028 0...2 137052403us : 0: }D
syz-exec-14028 0...2 137052405us : 0: }D
syz-exec-14028 0...2 137052408us : 0: }D
syz-exec-14028 0...2 137052410us : 0: }D
syz-exec-14028 0...2 137052412us : 0: }D
syz-exec-14028 0...2 137052415us : 0: }D
syz-exec-14028 0...2 137052418us : 0: }D
syz-exec-14028 0...2 137052420us : 0: }D
syz-exec-14028 0...2 137052423us : 0: }D
syz-exec-14028 0...2 137052425us : 0: }D
syz-exec-14028 0...2 137052428us : 0: }D
syz-exec-14028 0...2 137052431us : 0: }D
syz-exec-14028 0...2 137052434us : 0: }D
syz-exec-14028 0...2 137052437us : 0: }D
syz-exec-14028 0...2 137052439us : 0: }D
syz-exec-14028 0...2 137052442us : 0: }D
syz-exec-14028 0...2 137052445us : 0: }D
syz-exec-14028 0...2 137052448us : 0: }D
syz-exec-14028 0...2 137052451us : 0: }D
syz-exec-14028 0...2 137052453us : 0: }D
syz-exec-14028 0...2 137052456us : 0: }D
syz-exec-14028 0...2 137052459us : 0: }D
syz-exec-14028 0...2 137052461us : 0: }D
syz-exec-14028 0...2 137052464us : 0: }D
syz-exec-14028 0...2 137052467us : 0: }D
syz-exec-14028 0...2 137052470us : 0: }D
syz-exec-14028 0...2 137052472us : 0: }D
syz-exec-14028 0...2 137052475us : 0: }D
syz-exec-14028 0...2 137052478us : 0: }D
syz-exec-14028 0...2 137052481us : 0: }D
syz-exec-14028 0...2 137052483us : 0: }D
syz-exec-14028 0...2 137052486us : 0: }D
syz-exec-14028 0...2 137052489us : 0: }D
syz-exec-14028 0...2 137052491us : 0: }D
syz-exec-14028 0...2 137052494us : 0: }D
syz-exec-14028 0...2 137052497us : 0: }D
syz-exec-14028 0...2 137052500us : 0: }D
syz-exec-14028 0...2 137052503us : 0: }D
syz-exec-14028 0...2 137052506us : 0: }D
syz-exec-14028 0...2 137052509us : 0: }D
syz-exec-14028 0...2 137052511us : 0: }D
syz-exec-14028 0...2 137052514us : 0: }D
syz-exec-14028 0...2 137052517us : 0: }D
syz-exec-14028 0...2 137052520us : 0: }D
syz-exec-14028 0...2 137052523us : 0: }D
syz-exec-14028 0...2 137052525us : 0: }D
syz-exec-14028 0...2 137052529us : 0: }D
syz-exec-14028 0.N.2 137052571us : 0: }D
syz-exec-14028 0...2 137059783us : 0: }D
syz-exec-14028 0...2 137059790us : 0: }D
syz-exec-14028 0...2 137059793us : 0: }D
syz-exec-14028 0...2 137059796us : 0: }D
syz-exec-14028 0...2 137059799us : 0: }D
syz-exec-14028 0...2 137059803us : 0: }D
syz-exec-14028 0...2 137059806us : 0: }D
syz-exec-14028 0...2 137059809us : 0: }D
syz-exec-14028 0...2 137059812us : 0: }D
syz-exec-14028 0...2 137059816us : 0: }D
syz-exec-14028 0...2 137059819us : 0: }D
syz-exec-14028 0...2 137059823us : 0: }D
syz-exec-14028 0...2 137059826us : 0: }D
syz-exec-14028 0...2 137059829us : 0: }D
syz-exec-14028 0...2 137059832us : 0: }D
syz-exec-14028 0...2 137059837us : 0: }D
syz-exec-14028 0...2 137059840us : 0: }D
syz-exec-14028 0...2 137059843us : 0: }D
syz-exec-14028 0...2 137059846us : 0: }D
syz-exec-14028 0...2 137059849us : 0: }D
syz-exec-14028 0...2 137059852us : 0: }D
syz-exec-14028 0...2 137059855us : 0: }D
syz-exec-14028 0...2 137059858us : 0: }D
syz-exec-14028 0...2 137059861us : 0: }D
syz-exec-14028 0...2 137059864us : 0: }D
syz-exec-14028 0...2 137059867us : 0: }D
syz-exec-14028 0...2 137059870us : 0: }D
syz-exec-14028 0...2 137059873us : 0: }D
syz-exec-14028 0...2 137059876us : 0: }D
syz-exec-14028 0...2 137059878us : 0: }D
syz-exec-14028 0...2 137059881us : 0: }D
syz-exec-14028 0...2 137059884us : 0: }D
syz-exec-14028 0...2 137059887us : 0: }D
syz-exec-14028 0...2 137059890us : 0: }D
syz-exec-14028 0...2 137059893us : 0: }D
syz-exec-14028 0...2 137059895us : 0: }D
syz-exec-14028 0...2 137059898us : 0: }D
syz-exec-14028 0...2 137059900us : 0: }D
syz-exec-14028 0...2 137059902us : 0: }D
syz-exec-14028 0...2 137059905us : 0: }D
syz-exec-14028 0...2 137059908us : 0: }D
syz-exec-14028 0...2 137059911us : 0: }D
syz-exec-14028 0...2 137059914us : 0: }D
syz-exec-14028 0...2 137059917us : 0: }D
syz-exec-14028 0...2 137059919us : 0: }D
syz-exec-14028 0...2 137059922us : 0: }D
syz-exec-14028 0...2 137059924us : 0: }D
syz-exec-14028 0...2 137059926us : 0: }D
syz-exec-14028 0...2 137059929us : 0: }D
syz-exec-14028 0...2 137059931us : 0: }D
syz-exec-14028 0...2 137059934us : 0: }D
syz-exec-14028 0...2 137059937us : 0: }D
syz-exec-14028 0...2 137059940us : 0: }D
syz-exec-14028 0...2 137059943us : 0: }D
syz-exec-14028 0...2 137059945us : 0: }D
syz-exec-14028 0...2 137059948us : 0: }D
syz-exec-14028 0...2 137059951us : 0: }D
syz-exec-14028 0...2 137059954us : 0: }D
syz-exec-14028 0...2 137059957us : 0: }D
syz-exec-14028 0...2 137059960us : 0: }D
syz-exec-14028 0...2 137059963us : 0: }D
syz-exec-14028 0...2 137059966us : 0: }D
syz-exec-14028 0...2 137059969us : 0: }D
syz-exec-14028 0...2 137059972us : 0: }D
syz-exec-14028 0...2 137059975us : 0: }D
syz-exec-14028 0...2 137059978us : 0: }D
syz-exec-14028 0...2 137059980us : 0: }D
syz-exec-14028 0...2 137059983us : 0: }D
syz-exec-14028 0...2 137059986us : 0: }D
syz-exec-14028 0...2 137059989us : 0: }D
syz-exec-14028 0...2 137059992us : 0: }D
syz-exec-14028 0...2 137059995us : 0: }D
syz-exec-14028 0...2 137059998us : 0: }D
syz-exec-14028 0...2 137060001us : 0: }D
syz-exec-14028 0...2 137060004us : 0: }D
syz-exec-14028 0...2 137060006us : 0: }D
syz-exec-14028 0...2 137060009us : 0: }D
syz-exec-14028 0...2 137060012us : 0: }D
syz-exec-14028 0...2 137060015us : 0: }D
syz-exec-14028 0...2 137060018us : 0: }D
syz-exec-14028 0...2 137060021us : 0: }D
syz-exec-14028 0...2 137060023us : 0: }D
syz-exec-14028 0...2 137060026us : 0: }D
syz-exec-14028 0...2 137060029us : 0: }D
syz-exec-14028 0...2 137060032us : 0: }D
syz-exec-14028 0...2 137060035us : 0: }D
syz-exec-14028 0...2 137060037us : 0: }D
syz-exec-14028 0...2 137060040us : 0: }D
syz-exec-14028 0...2 137060043us : 0: }D
syz-exec-14028 0...2 137060046us : 0: }D
syz-exec-14028 0...2 137060049us : 0: }D
syz-exec-14028 0...2 137060052us : 0: }D
syz-exec-14028 0...2 137060055us : 0: }D
syz-exec-14028 0...2 137060058us : 0: }D
syz-exec-14028 0...2 137060060us : 0: }D
syz-exec-14028 0...2 137060063us : 0: }D
syz-exec-14028 0...2 137060066us : 0: }D
syz-exec-14028 0...2 137060069us : 0: }D
syz-exec-14028 0...2 137060072us : 0: }D
syz-exec-14028 0...2 137060075us : 0: }D
syz-exec-14028 0...2 137060078us : 0: }D
syz-exec-14028 0...2 137060081us : 0: }D
syz-exec-14028 0...2 137060084us : 0: }D
syz-exec-14028 0...2 137060087us : 0: }D
syz-exec-14028 0...2 137060089us : 0: }D
syz-exec-14028 0...2 137060092us : 0: }D
syz-exec-14049 0...2 137068365us : 0: }D
syz-exec-14049 0...2 137068371us : 0: }D
syz-exec-14049 0...2 137068375us : 0: }D
syz-exec-14049 0...2 137068378us : 0: }D
syz-exec-14049 0...2 137068381us : 0: }D
syz-exec-14049 0...2 137068384us : 0: }D
syz-exec-14049 0...2 137068388us : 0: }D
syz-exec-14049 0...2 137068390us : 0: }D
syz-exec-14049 0...2 137068393us : 0: }D
syz-exec-14049 0...2 137068397us : 0: }D
syz-exec-14049 0...2 137068399us : 0: }D
syz-exec-14049 0...2 137068402us : 0: }D
syz-exec-14049 0...2 137068405us : 0: }D
syz-exec-14049 0.N.2 137068434us : 0: }D
syz-exec-14049 0...2 137068468us : 0: }D
syz-exec-14049 0...2 137068471us : 0: }D
syz-exec-14049 0...2 137068475us : 0: }D
syz-exec-14049 0...2 137068478us : 0: }D
syz-exec-14049 0...2 137068481us : 0: }D
syz-exec-14049 0...2 137068484us : 0: }D
syz-exec-14049 0...2 137068487us : 0: }D
syz-exec-14049 0...2 137068490us : 0: }D
syz-exec-14049 0...2 137068493us : 0: }D
syz-exec-14049 0...2 137068497us : 0: }D
syz-exec-14049 0...2 137068500us : 0: }D
syz-exec-14049 0...2 137068502us : 0: }D
syz-exec-14049 0...2 137068506us : 0: }D
syz-exec-14049 0...2 137068509us : 0: }D
syz-exec-14049 0...2 137068512us : 0: }D
syz-exec-14049 0...2 137068515us : 0: }D
syz-exec-14049 0...2 137068518us : 0: }D
syz-exec-14049 0...2 137068521us : 0: }D
syz-exec-14049 0...2 137068524us : 0: }D
syz-exec-14049 0...2 137068527us : 0: }D
syz-exec-14049 0...2 137068531us : 0: }D
syz-exec-14049 0...2 137068533us : 0: }D
syz-exec-14049 0...2 137068536us : 0: }D
syz-exec-14049 0...2 137068540us : 0: }D
syz-exec-14049 0...2 137068543us : 0: }D
syz-exec-14049 0...2 137068546us : 0: }D
syz-exec-14049 0...2 137068549us : 0: }D
syz-exec-14049 0...2 137068552us : 0: }D
syz-exec-14049 0...2 137068555us : 0: }D
syz-exec-14049 0...2 137068558us : 0: }D
syz-exec-14049 0...2 137068561us : 0: }D
syz-exec-14049 0...2 137068565us : 0: }D
syz-exec-14049 0...2 137068568us : 0: }D
syz-exec-14049 0...2 137068570us : 0: }D
syz-exec-14049 0...2 137068574us : 0: }D
syz-exec-14049 0...2 137068577us : 0: }D
syz-exec-14049 0...2 137068580us : 0: }D
syz-exec-14049 0...2 137068583us : 0: }D
syz-exec-14049 0...2 137068587us : 0: }D
syz-exec-14049 0...2 137068590us : 0: }D
syz-exec-14049 0...2 137068592us : 0: }D
syz-exec-14049 0...2 137068596us : 0: }D
syz-exec-14049 0...2 137068599us : 0: }D
syz-exec-14049 0...2 137068602us : 0: }D
syz-exec-14049 0...2 137068605us : 0: }D
syz-exec-14049 0...2 137068609us : 0: }D
syz-exec-14049 0...2 137068612us : 0: }D
syz-exec-14049 0...2 137068614us : 0: }D
syz-exec-14049 0...2 137068617us : 0: }D
syz-exec-14049 0...2 137068621us : 0: }D
syz-exec-14049 0...2 137068624us : 0: }D
syz-exec-14049 0...2 137068627us : 0: }D
syz-exec-14049 0...2 137068630us : 0: }D
syz-exec-14049 0...2 137068632us : 0: }D
syz-exec-14049 0...2 137068635us : 0: }D
syz-exec-14049 0...2 137068638us : 0: }D
syz-exec-14049 0...2 137068641us : 0: }D
syz-exec-14049 0...2 137068644us : 0: }D
syz-exec-14049 0...2 137068647us : 0: }D
syz-exec-14049 0...2 137068650us : 0: }D
syz-exec-14049 0...2 137068653us : 0: }D
syz-exec-14049 0...2 137068656us : 0: }D
syz-exec-14049 0...2 137068658us : 0: }D
syz-exec-14049 0...2 137068661us : 0: }D
syz-exec-14049 0...2 137068664us : 0: }D
syz-exec-14049 0...2 137068669us : 0: }D
syz-exec-14049 0...2 137068672us : 0: }D
syz-exec-14049 0...2 137068675us : 0: }D
syz-exec-14049 0...2 137068678us : 0: }D
syz-exec-14049 0...2 137068681us : 0: }D
syz-exec-14049 0...2 137068684us : 0: }D
syz-exec-14049 0...2 137068686us : 0: }D
syz-exec-14049 0...2 137068689us : 0: }D
syz-exec-14049 0...2 137068692us : 0: }D
syz-exec-14049 0...2 137068695us : 0: }D
syz-exec-14049 0...2 137068698us : 0: }D
syz-exec-14049 0...2 137068701us : 0: }D
syz-exec-14049 0...2 137068704us : 0: }D
syz-exec-14049 0...2 137068707us : 0: }D
syz-exec-14049 0...2 137068710us : 0: }D
syz-exec-14049 0...2 137068713us : 0: }D
syz-exec-14049 0...2 137068716us : 0: }D
syz-exec-14049 0...2 137068719us : 0: }D
syz-exec-14049 0...2 137068721us : 0: }D
syz-exec-14049 0...2 137068724us : 0: }D
syz-exec-14049 0...2 137068727us : 0: }D
syz-exec-14049 0...2 137068730us : 0: }D
syz-exec-14049 0...2 137068733us : 0: }D
syz-exec-14049 0...2 137068736us : 0: }D
syz-exec-14049 0...2 137068739us : 0: }D
syz-exec-14049 0...2 137068742us : 0: }D
syz-exec-14049 0...2 137068744us : 0: }D
syz-exec-14049 0...2 137068747us : 0: }D
syz-exec-14049 0...2 137068750us : 0: }D
syz-exec-14049 0...2 137068753us : 0: }D
syz-exec-14049 0...2 137068756us : 0: }D
syz-exec-14049 0...2 137068759us : 0: }D
syz-exec-14049 0...2 137068762us : 0: }D
syz-exec-14049 0...2 137068765us : 0: }D
syz-exec-14049 0...2 137068768us : 0: }D
syz-exec-14049 0...2 137068770us : 0: }D
syz-exec-14049 0...2 137068773us : 0: }D
syz-exec-14049 0...2 137068776us : 0: }D
syz-exec-14049 0...2 137068779us : 0: }D
syz-exec-14049 0...2 137068782us : 0: }D
syz-exec-14049 0...2 137068785us : 0: }D
syz-exec-14049 0...2 137068788us : 0: }D
syz-exec-14049 0...2 137068791us : 0: }D
syz-exec-14049 0...2 137068794us : 0: }D
syz-exec-14049 0...2 137068797us : 0: }D
syz-exec-14049 0...2 137068800us : 0: }D
syz-exec-14049 0...2 137068803us : 0: }D
syz-exec-14049 0...2 137068806us : 0: }D
syz-exec-14049 0...2 137068809us : 0: }D
syz-exec-14049 0...2 137068811us : 0: }D
syz-exec-14049 0...2 137068814us : 0: }D
syz-exec-14049 0...2 137068817us : 0: }D
syz-exec-14049 0...2 137068820us : 0: }D
syz-exec-14049 0...2 137068823us : 0: }D
syz-exec-14049 0...2 137068826us : 0: }D
syz-exec-14049 0...2 137068829us : 0: }D
syz-exec-14049 0...2 137068831us : 0: }D
syz-exec-14049 0...2 137068834us : 0: }D
syz-exec-14049 0...2 137068837us : 0: }D
syz-exec-14049 0...2 137068840us : 0: }D
syz-exec-14049 0...2 137068843us : 0: }D
syz-exec-14049 0...2 137068846us : 0: }D
syz-exec-14049 0...2 137068849us : 0: }D
syz-exec-14049 0...2 137068852us : 0: }D
syz-exec-14049 0...2 137068855us : 0: }D
syz-exec-14049 0...2 137068857us : 0: }D
syz-exec-14049 0...2 137068861us : 0: }D
syz-exec-14049 0...2 137068863us : 0: }D
syz-exec-14049 0...2 137068866us : 0: }D
syz-exec-14049 0...2 137068869us : 0: }D
syz-exec-14049 0...2 137068872us : 0: }D
syz-exec-14049 0...2 137068875us : 0: }D
syz-exec-14049 0...2 137068878us : 0: }D
syz-exec-14049 0...2 137068881us : 0: }D
syz-exec-14049 0...2 137068884us : 0: }D
syz-exec-14049 0...2 137068887us : 0: }D
syz-exec-14049 0...2 137068890us : 0: }D
syz-exec-14049 0...2 137068893us : 0: }D
syz-exec-14049 0...2 137068896us : 0: }D
syz-exec-14049 0...2 137068899us : 0: }D
syz-exec-14049 0...2 137068902us : 0: }D
syz-exec-14049 0...2 137068905us : 0: }D
syz-exec-14049 0...2 137068908us : 0: }D
syz-exec-14049 0...2 137068911us : 0: }D
syz-exec-14049 0...2 137068914us : 0: }D
syz-exec-14049 0...2 137068917us : 0: }D
syz-exec-14049 0...2 137068920us : 0: }D
syz-exec-14049 0...2 137068922us : 0: }D
syz-exec-14049 0...2 137068925us : 0: }D
syz-exec-14049 0...2 137068928us : 0: }D
syz-exec-14049 0...2 137068931us : 0: }D
syz-exec-14049 0...2 137068934us : 0: }D
syz-exec-14049 0...2 137068937us : 0: }D
syz-exec-14049 0...2 137068940us : 0: }D
syz-exec-14049 0...2 137068943us : 0: }D
syz-exec-14049 0...2 137068946us : 0: }D
syz-exec-14049 0...2 137068949us : 0: }D
syz-exec-14049 0...2 137068952us : 0: }D
syz-exec-14049 0...2 137068955us : 0: }D
syz-exec-14049 0...2 137068958us : 0: }D
syz-exec-14049 0...2 137068961us : 0: }D
syz-exec-14049 0...2 137068963us : 0: }D
syz-exec-14049 0...2 137068966us : 0: }D
syz-exec-14049 0...2 137068969us : 0: }D
syz-exec-14049 0...2 137068972us : 0: }D
syz-exec-14049 0...2 137068975us : 0: }D
syz-exec-14049 0...2 137068978us : 0: }D
syz-exec-14049 0...2 137068981us : 0: }D
syz-exec-14049 0...2 137068984us : 0: }D
syz-exec-14049 0...2 137068987us : 0: }D
syz-exec-14049 0...2 137068990us : 0: }D
syz-exec-14049 0...2 137068993us : 0: }D
syz-exec-
---
This bug is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzkaller@googlegroups.com.
syzbot will keep track of this bug report. See:
https://goo.gl/tpsmEJ#bug-status-tracking for how to communicate with
syzbot.
^ permalink raw reply
* [PATCH net] netfilter: ipv6: nf_defrag: reduce struct net memory waste
From: Eric Dumazet @ 2018-06-13 17:11 UTC (permalink / raw)
To: Pablo Neira Ayuso, Jozsef Kadlecsik, Florian Westphal
Cc: netfilter-devel, netdev, Eric Dumazet, Eric Dumazet
It is a waste of memory to use a full "struct netns_sysctl_ipv6"
while only one pointer is really used, considering netns_sysctl_ipv6
keeps growing.
Also, since "struct netns_frags" has cache line alignment,
it is better to move the frags_hdr pointer outside, otherwise
we spend a full cache line for this pointer.
This saves 192 bytes of memory per netns.
Fixes: c038a767cd69 ("ipv6: add a new namespace for nf_conntrack_reasm")
Signed-off-by: Eric Dumazet <edumazet@google.com>
---
include/net/net_namespace.h | 1 +
include/net/netns/ipv6.h | 1 -
net/ipv6/netfilter/nf_conntrack_reasm.c | 6 +++---
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h
index 47e35cce3b648d696b127ed7bd643036128795f6..a71264d75d7f98d28f92dfd861ffe6e0d39c0198 100644
--- a/include/net/net_namespace.h
+++ b/include/net/net_namespace.h
@@ -128,6 +128,7 @@ struct net {
#endif
#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6)
struct netns_nf_frag nf_frag;
+ struct ctl_table_header *nf_frag_frags_hdr;
#endif
struct sock *nfnl;
struct sock *nfnl_stash;
diff --git a/include/net/netns/ipv6.h b/include/net/netns/ipv6.h
index c978a31b0f846210b4c2a369af960d5349b5395a..762ac9931b6251152b6ee0e5780df0f7b073f3e6 100644
--- a/include/net/netns/ipv6.h
+++ b/include/net/netns/ipv6.h
@@ -109,7 +109,6 @@ struct netns_ipv6 {
#if IS_ENABLED(CONFIG_NF_DEFRAG_IPV6)
struct netns_nf_frag {
- struct netns_sysctl_ipv6 sysctl;
struct netns_frags frags;
};
#endif
diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c
index 5e0332014c1738999e680c1853829f384e880284..a452d99c9f5281b5e5d7e6f0162611deeb82212d 100644
--- a/net/ipv6/netfilter/nf_conntrack_reasm.c
+++ b/net/ipv6/netfilter/nf_conntrack_reasm.c
@@ -107,7 +107,7 @@ static int nf_ct_frag6_sysctl_register(struct net *net)
if (hdr == NULL)
goto err_reg;
- net->nf_frag.sysctl.frags_hdr = hdr;
+ net->nf_frag_frags_hdr = hdr;
return 0;
err_reg:
@@ -121,8 +121,8 @@ static void __net_exit nf_ct_frags6_sysctl_unregister(struct net *net)
{
struct ctl_table *table;
- table = net->nf_frag.sysctl.frags_hdr->ctl_table_arg;
- unregister_net_sysctl_table(net->nf_frag.sysctl.frags_hdr);
+ table = net->nf_frag_frags_hdr->ctl_table_arg;
+ unregister_net_sysctl_table(net->nf_frag_frags_hdr);
if (!net_eq(net, &init_net))
kfree(table);
}
--
2.18.0.rc1.242.g61856ae69a-goog
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox