Netdev List
 help / color / mirror / Atom feed
* Re: [PATCH net-next] net/broadcom: Fixup broken build due to function name change
From: kbuild test robot @ 2018-04-01  7:42 UTC (permalink / raw)
  To: Tal Gilboa
  Cc: kbuild-all, David S. Miller, netdev, Tariq Toukan, Tal Gilboa,
	Saeed Mahameed
In-Reply-To: <1522565293-12068-1-git-send-email-talgi@mellanox.com>

[-- Attachment #1: Type: text/plain, Size: 3504 bytes --]

Hi Tal,

I love your patch! Yet something to improve:

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Tal-Gilboa/net-broadcom-Fixup-broken-build-due-to-function-name-change/20180401-145037
config: x86_64-randconfig-x005-201813 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/net/ethernet/broadcom/bcmsysport.c: In function 'bcm_sysport_set_coalesce':
>> drivers/net/ethernet/broadcom/bcmsysport.c:657:11: error: implicit declaration of function 'net_dim_get_def_rx_moderation'; did you mean 'net_dim_get_def_profile'? [-Werror=implicit-function-declaration]
      moder = net_dim_get_def_rx_moderation(priv->dim.dim.mode);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
              net_dim_get_def_profile
>> drivers/net/ethernet/broadcom/bcmsysport.c:657:9: error: incompatible types when assigning to type 'struct net_dim_cq_moder' from type 'int'
      moder = net_dim_get_def_rx_moderation(priv->dim.dim.mode);
            ^
   drivers/net/ethernet/broadcom/bcmsysport.c: In function 'bcm_sysport_init_rx_coalesce':
   drivers/net/ethernet/broadcom/bcmsysport.c:1439:9: error: incompatible types when assigning to type 'struct net_dim_cq_moder' from type 'int'
      moder = net_dim_get_def_rx_moderation(dim->dim.mode);
            ^
   cc1: some warnings being treated as errors

vim +657 drivers/net/ethernet/broadcom/bcmsysport.c

   624	
   625	static int bcm_sysport_set_coalesce(struct net_device *dev,
   626					    struct ethtool_coalesce *ec)
   627	{
   628		struct bcm_sysport_priv *priv = netdev_priv(dev);
   629		struct net_dim_cq_moder moder;
   630		u32 usecs, pkts;
   631		unsigned int i;
   632	
   633		/* Base system clock is 125Mhz, DMA timeout is this reference clock
   634		 * divided by 1024, which yield roughly 8.192 us, our maximum value has
   635		 * to fit in the RING_TIMEOUT_MASK (16 bits).
   636		 */
   637		if (ec->tx_max_coalesced_frames > RING_INTR_THRESH_MASK ||
   638		    ec->tx_coalesce_usecs > (RING_TIMEOUT_MASK * 8) + 1 ||
   639		    ec->rx_max_coalesced_frames > RDMA_INTR_THRESH_MASK ||
   640		    ec->rx_coalesce_usecs > (RDMA_TIMEOUT_MASK * 8) + 1)
   641			return -EINVAL;
   642	
   643		if ((ec->tx_coalesce_usecs == 0 && ec->tx_max_coalesced_frames == 0) ||
   644		    (ec->rx_coalesce_usecs == 0 && ec->rx_max_coalesced_frames == 0) ||
   645		    ec->use_adaptive_tx_coalesce)
   646			return -EINVAL;
   647	
   648		for (i = 0; i < dev->num_tx_queues; i++)
   649			bcm_sysport_set_tx_coalesce(&priv->tx_rings[i], ec);
   650	
   651		priv->rx_coalesce_usecs = ec->rx_coalesce_usecs;
   652		priv->rx_max_coalesced_frames = ec->rx_max_coalesced_frames;
   653		usecs = priv->rx_coalesce_usecs;
   654		pkts = priv->rx_max_coalesced_frames;
   655	
   656		if (ec->use_adaptive_rx_coalesce && !priv->dim.use_dim) {
 > 657			moder = net_dim_get_def_rx_moderation(priv->dim.dim.mode);
   658			usecs = moder.usec;
   659			pkts = moder.pkts;
   660		}
   661	
   662		priv->dim.use_dim = ec->use_adaptive_rx_coalesce;
   663	
   664		/* Apply desired coalescing parameters */
   665		bcm_sysport_set_rx_coalesce(priv, usecs, pkts);
   666	
   667		return 0;
   668	}
   669	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 36307 bytes --]

^ permalink raw reply

* Re: WARNING in refcount_dec
From: Willem de Bruijn @ 2018-04-01  7:38 UTC (permalink / raw)
  To: Cong Wang
  Cc: Byoungyoung Lee, LKML, DaeLyong Jeong, Kyungtae Kim,
	Linux Kernel Network Developers, Willem de Bruijn
In-Reply-To: <CAM_iQpVtaP=NNpMTyS9vwEtS3QSN_ksYDenS4gy8zzPC3V8Xww@mail.gmail.com>

On Thu, Mar 29, 2018 at 1:16 AM, Cong Wang <xiyou.wangcong@gmail.com> wrote:
> (Cc'ing netdev and Willem)
>
> On Wed, Mar 28, 2018 at 12:03 PM, Byoungyoung Lee
> <byoungyoung@purdue.edu> wrote:
>> Another crash patterns observed: race between (setsockopt$packet_int)
>> and (bind$packet).
>>
>> ------------------------------
>> [  357.731597] kernel BUG at
>> /home/blee/project/race-fuzzer/kernels/kernel_v4.16-rc3/net/packet/af_packet.c:3107!
>> [  357.733382] invalid opcode: 0000 [#1] SMP KASAN
>> [  357.734017] Modules linked in:
>> [  357.734662] CPU: 1 PID: 3871 Comm: repro.exe Not tainted 4.16.0-rc3 #1
>> [  357.735791] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
>> BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
>> [  357.737434] RIP: 0010:packet_do_bind+0x88d/0x950
>> [  357.738121] RSP: 0018:ffff8800b2787b08 EFLAGS: 00010293
>> [  357.738906] RAX: ffff8800b2fdc780 RBX: ffff880234358cc0 RCX: ffffffff838b244c
>> [  357.739905] RDX: 0000000000000000 RSI: ffffffff838b257d RDI: 0000000000000001
>> [  357.741315] RBP: ffff8800b2787c10 R08: ffff8800b2fdc780 R09: 0000000000000000
>> [  357.743055] R10: 0000000000000001 R11: 0000000000000000 R12: ffff88023352ecc0
>> [  357.744744] R13: 0000000000000000 R14: 0000000000000001 R15: 0000000000001d00
>> [  357.746377] FS:  00007f4b43733700(0000) GS:ffff8800b8b00000(0000)
>> knlGS:0000000000000000
>> [  357.749599] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>> [  357.752096] CR2: 0000000020058000 CR3: 00000002334b8000 CR4: 00000000000006e0
>> [  357.755045] Call Trace:
>> [  357.755822]  ? compat_packet_setsockopt+0x100/0x100
>> [  357.757324]  ? __sanitizer_cov_trace_const_cmp8+0x18/0x20
>> [  357.758810]  packet_bind+0xa2/0xe0
>> [  357.759640]  SYSC_bind+0x279/0x2f0
>> [  357.760364]  ? move_addr_to_kernel.part.19+0xc0/0xc0
>> [  357.761491]  ? __handle_mm_fault+0x25d0/0x25d0
>> [  357.762449]  ? __sanitizer_cov_trace_const_cmp4+0x16/0x20
>> [  357.763663]  ? __do_page_fault+0x417/0xba0
>> [  357.764569]  ? vmalloc_fault+0x910/0x910
>> [  357.765405]  ? __sanitizer_cov_trace_const_cmp4+0x16/0x20
>> [  357.766525]  ? mark_held_locks+0x25/0xb0
>> [  357.767336]  ? SyS_socketpair+0x4a0/0x4a0
>> [  357.768182]  SyS_bind+0x24/0x30
>> [  357.768851]  do_syscall_64+0x209/0x5d0
>> [  357.769650]  ? syscall_return_slowpath+0x3e0/0x3e0
>> [  357.770665]  ? __sanitizer_cov_trace_const_cmp4+0x16/0x20
>> [  357.771779]  ? syscall_return_slowpath+0x260/0x3e0
>> [  357.772748]  ? mark_held_locks+0x25/0xb0
>> [  357.773581]  ? __sanitizer_cov_trace_const_cmp4+0x16/0x20
>> [  357.774720]  ? retint_user+0x18/0x18
>> [  357.775493]  ? trace_hardirqs_off_caller+0xb5/0x120
>> [  357.776567]  ? trace_hardirqs_off_thunk+0x1a/0x1c
>> [  357.777512]  entry_SYSCALL_64_after_hwframe+0x42/0xb7
>> [  357.778508] RIP: 0033:0x4503a9
>> [  357.779156] RSP: 002b:00007f4b43732ce8 EFLAGS: 00000246 ORIG_RAX:
>> 0000000000000031
>> [  357.780737] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00000000004503a9
>> [  357.782169] RDX: 0000000000000014 RSI: 0000000020058000 RDI: 0000000000000003
>> [  357.783710] RBP: 00007f4b43732d10 R08: 0000000000000000 R09: 0000000000000000
>> [  357.785202] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
>> [  357.786664] R13: 0000000000000000 R14: 00007f4b437339c0 R15: 00007f4b43733700
>> [  357.788210] Code: c0 fd 48 c7 c2 00 c8 d9 84 be ab 02 00 00 48 c7
>> c7 60 c8 d9 84 c6 05 e7 a2 48 02 01 e8 3f 17 af fd e9 60 fb ff ff e8
>> 43 b3 c0 fd <0f> 0b e8 3c b3 c0 fd 48 8b bd 20 ff ff ff e8 60 1e e7 fd
>> 4c 89
>> [  357.792260] RIP: packet_do_bind+0x88d/0x950 RSP: ffff8800b2787b08
>> [  357.793698] ---[ end trace 0c5a2539f0247369 ]---
>> [  357.794696] Kernel panic - not syncing: Fatal exception
>> [  357.795918] Kernel Offset: disabled
>> [  357.796614] Rebooting in 86400 seconds..
>>
>> On Wed, Mar 28, 2018 at 1:19 AM, Byoungyoung Lee <byoungyoung@purdue.edu> wrote:
>>> We report the crash: WARNING in refcount_dec
>>>
>>> This crash has been found in v4.16-rc3 using RaceFuzzer (a modified
>>> version of Syzkaller), which we describe more at the end of this
>>> report. Our analysis shows that the race occurs when invoking two
>>> syscalls concurrently, (setsockopt$packet_int) and
>>> (setsockopt$packet_rx_ring).
>>>
>>> C repro code : https://kiwi.cs.purdue.edu/static/race-fuzzer/repro-refcount_dec.c
>>> kernel config: https://kiwi.cs.purdue.edu/static/race-fuzzer/kernel-config-v4.16-rc3
>
>
> I tried your reproducer, no luck here.
>

Are both crashes with the same reproducer?

It races setsockopt PACKET_RX_RING with PACKET_VNET_HDR.

There have been previous bug fixes for other setsockopts racing with
ring creation. The change would be

@@ -3763,14 +3763,19 @@ packet_setsockopt(struct socket *sock, int
level, int optname, char __user *optv

                if (sock->type != SOCK_RAW)
                        return -EINVAL;
-               if (po->rx_ring.pg_vec || po->tx_ring.pg_vec)
-                       return -EBUSY;
                if (optlen < sizeof(val))
                        return -EINVAL;
                if (copy_from_user(&val, optval, sizeof(val)))
                        return -EFAULT;

-               po->has_vnet_hdr = !!val;
+               lock_sock(sk);
+               if (po->rx_ring.pg_vec || po->tx_ring.pg_vec) {
+                       ret = -EBUSY;
+               } else {
+                       po->has_vnet_hdr = !!val;
+                       ret = 0;
+               }
+               release_sock(sk);
                return 0;
        }

But I do not immediately see why these concurrent operations
would be unsafe.

The program races a lot more complex operations, like bind and
close. So the specific setsockopt may be a red herring.

I'm traveling; haven't been able to setup your fuzzer and run the
repro locally yet.

>
>
>>>
>>> ---------------------------------------
>>> [  305.838560] refcount_t: decrement hit 0; leaking memory.
>>> [  305.839669] WARNING: CPU: 0 PID: 3867 at
>>> /home/blee/project/race-fuzzer/kernels/kernel_v4.16-rc3/lib/refcount.c:228
>>> refcount_dec+0x62/0x70
>>> [  305.841441] Modules linked in:
>>> [  305.841883] CPU: 0 PID: 3867 Comm: repro.exe Not tainted 4.16.0-rc3 #1
>>> [  305.842803] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
>>> BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
>>> [  305.844345] RIP: 0010:refcount_dec+0x62/0x70
>>> [  305.845005] RSP: 0018:ffff880224d374f8 EFLAGS: 00010286
>>> [  305.845802] RAX: 000000000000002c RBX: 0000000000000000 RCX: ffffffff81538991
>>> [  305.846768] RDX: 0000000000000000 RSI: ffffffff813cd761 RDI: 0000000000000005
>>> [  305.847748] RBP: ffff880224d37500 R08: ffff88023169a440 R09: 0000000000000000
>>> [  305.848748] R10: 0000000000000000 R11: 0000000000000000 R12: ffff88023473ad40
>>> [  305.849738] R13: ffff88023473b368 R14: 0000000000000001 R15: 0000000000000000
>>> [  305.850733] FS:  0000000000c6e940(0000) GS:ffff8800b8a00000(0000)
>>> knlGS:0000000000000000
>>> [  305.851837] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>> [  305.852652] CR2: 00007fb120571db8 CR3: 0000000005422000 CR4: 00000000000006f0
>>> [  305.853619] Call Trace:
>>> [  305.854086]  __unregister_prot_hook+0x15f/0x1d0
>>> [  305.854722]  packet_release+0x77a/0x7a0
>>> [  305.855335]  ? mark_held_locks+0x25/0xb0
>>> [  305.855883]  ? packet_lookup_frame+0x110/0x110
>>> [  305.856576]  ? __lock_is_held+0x39/0xc0
>>> [  305.857109]  ? note_gp_changes+0x300/0x300
>>> [  305.857745]  ? __sanitizer_cov_trace_const_cmp8+0x18/0x20
>>> [  305.858548]  ? locks_remove_file+0x31b/0x420
>>> [  305.859138]  ? fcntl_setlk+0xad0/0xad0
>>> [  305.859743]  ? trace_event_raw_event_sched_switch+0x320/0x320
>>> [  305.860534]  ? fsnotify_first_mark+0x2c0/0x2c0
>>> [  305.861234]  sock_release+0x53/0xe0
>>> [  305.861711]  ? sock_alloc_file+0x2c0/0x2c0
>>> [  305.862334]  sock_close+0x16/0x20
>>> [  305.862801]  __fput+0x246/0x4e0
>>> [  305.863310]  ? fput+0x130/0x130
>>> [  305.863743]  ? trace_event_raw_event_sched_switch+0x320/0x320
>>> [  305.864604]  ____fput+0x15/0x20
>>> [  305.865046]  task_work_run+0x1a5/0x200
>>> [  305.865636]  ? kmem_cache_free+0x25c/0x2d0
>>> [  305.866194]  ? task_work_cancel+0x1a0/0x1a0
>>> [  305.866829]  ? switch_task_namespaces+0x9e/0xb0
>>> [  305.867458]  do_exit+0xacf/0x10d0
>>> [  305.868023]  ? mm_update_next_owner+0x650/0x650
>>> [  305.868642]  ? __pv_queued_spin_lock_slowpath+0xbf0/0xbf0
>>> [  305.869427]  ? trace_hardirqs_on_caller+0x136/0x2a0
>>> [  305.870102]  ? trace_hardirqs_on+0xd/0x10
>>> [  305.870701]  ? wake_up_new_task+0x41c/0x650
>>> [  305.871324]  ? to_ratio+0x20/0x20
>>> [  305.871816]  ? lock_release+0x530/0x530
>>> [  305.872341]  ? trace_event_raw_event_sched_switch+0x320/0x320
>>> [  305.873161]  ? match_held_lock+0x7e/0x360
>>> [  305.873777]  ? trace_hardirqs_off+0x10/0x10
>>> [  305.874359]  ? put_pid+0x111/0x140
>>> [  305.874897]  ? task_active_pid_ns+0x70/0x70
>>> [  305.875500]  ? find_held_lock+0xca/0xf0
>>> [  305.876118]  ? do_group_exit+0x1f9/0x260
>>> [  305.876650]  ? lock_downgrade+0x380/0x380
>>> [  305.877297]  ? task_clear_jobctl_pending+0xb5/0xd0
>>> [  305.877951]  ? __sanitizer_cov_trace_const_cmp4+0x16/0x20
>>> [  305.878725]  ? do_raw_spin_unlock+0x112/0x1a0
>>> [  305.879309]  ? do_raw_spin_trylock+0x100/0x100
>>> [  305.879969]  ? mark_held_locks+0x25/0xb0
>>> [  305.880505]  ? force_sig+0x30/0x30
>>> [  305.881054]  ? _raw_spin_unlock_irq+0x27/0x50
>>> [  305.881671]  ? trace_hardirqs_on_caller+0x136/0x2a0
>>> [  305.882412]  do_group_exit+0xfb/0x260
>>> [  305.882945]  ? SyS_exit+0x30/0x30
>>> [  305.883442]  ? find_mergeable_anon_vma+0x90/0x90
>>> [  305.884103]  ? SyS_read+0x1c0/0x1c0
>>> [  305.884785]  ? mark_held_locks+0x25/0xb0
>>> [  305.885503]  ? do_syscall_64+0xb2/0x5d0
>>> [  305.886093]  ? do_group_exit+0x260/0x260
>>> [  305.886741]  SyS_exit_group+0x1d/0x20
>>> [  305.887255]  do_syscall_64+0x209/0x5d0
>>> [  305.887888]  ? syscall_return_slowpath+0x3e0/0x3e0
>>> [  305.888611]  ? __sanitizer_cov_trace_const_cmp4+0x16/0x20
>>> [  305.889420]  ? syscall_return_slowpath+0x260/0x3e0
>>> [  305.890188]  ? mark_held_locks+0x25/0xb0
>>> [  305.890724]  ? entry_SYSCALL_64_after_hwframe+0x52/0xb7
>>> [  305.891556]  ? trace_hardirqs_off_caller+0xb5/0x120
>>> [  305.892265]  ? trace_hardirqs_off_thunk+0x1a/0x1c
>>> [  305.892939]  entry_SYSCALL_64_after_hwframe+0x42/0xb7
>>> [  305.893676] RIP: 0033:0x44d989
>>> [  305.894100] RSP: 002b:00000000007fff38 EFLAGS: 00000202 ORIG_RAX:
>>> 00000000000000e7
>>> [  305.895158] RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 000000000044d989
>>> [  305.896174] RDX: 00007fb120d739c0 RSI: 00007fb120572700 RDI: 0000000000000001
>>> [  305.897161] RBP: 00000000007fff60 R08: 00007fb120572700 R09: 0000000000000000
>>> [  305.898128] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000000
>>> [  305.899464] R13: 000000000040d270 R14: 000000000040d300 R15: 0000000000000000
>>> [  305.900823] Code: b6 1d 81 9a ef 03 31 ff 89 de e8 ca a3 67 ff 84
>>> db 75 df e8 f1 a2 67 ff 48 c7 c7 60 8f 83 84 c6 05 61 9a ef 03 01 e8
>>> ee 5f 49 ff <0f> 0b eb c3 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 41
>>> 57 49
>>> [  305.904324] ---[ end trace 360c084b02d93021 ]---
>>> [  305.919117] ------------[ cut here ]------------
>>> [  305.920120] refcount_t: underflow; use-after-free.
>>> [  305.921335] WARNING: CPU: 0 PID: 3867 at
>>> /home/blee/project/race-fuzzer/kernels/kernel_v4.16-rc3/lib/refcount.c:187
>>> refcount_sub_and_test+0x1ec/0x200
>>> [  305.923927] Modules linked in:
>>> [  305.924611] CPU: 0 PID: 3867 Comm: repro.exe Tainted: G        W
>>>     4.16.0-rc3 #1
>>> [  305.925987] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996),
>>> BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
>>> [  305.928119] RIP: 0010:refcount_sub_and_test+0x1ec/0x200
>>> [  305.929124] RSP: 0018:ffff880224d374a0 EFLAGS: 00010282
>>> [  305.930161] RAX: 0000000000000026 RBX: 0000000000000000 RCX: ffffffff813c9644
>>> [  305.931504] RDX: 0000000000000000 RSI: ffffffff813cd761 RDI: ffff880224d37018
>>> [  305.932942] RBP: ffff880224d37538 R08: ffff88023169a440 R09: 0000000000000000
>>> [  305.934365] R10: 0000000000000000 R11: 0000000000000000 R12: 00000000ffffffff
>>> [  305.935734] R13: ffff88023473adc0 R14: 0000000000000001 R15: 1ffff100449a6e96
>>> [  305.937114] FS:  0000000000c6e940(0000) GS:ffff8800b8a00000(0000)
>>> knlGS:0000000000000000
>>> [  305.938668] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>>> [  305.939768] CR2: 00007fb120571db8 CR3: 0000000005422000 CR4: 00000000000006f0
>>> [  305.941212] Call Trace:
>>> [  305.941689]  ? refcount_inc+0x70/0x70
>>> [  305.942216]  ? skb_dequeue+0xa5/0xc0
>>> [  305.942713]  refcount_dec_and_test+0x1a/0x20
>>> [  305.943295]  packet_release+0x702/0x7a0
>>> [  305.943816]  ? mark_held_locks+0x25/0xb0
>>> [  305.944378]  ? packet_lookup_frame+0x110/0x110
>>> [  305.945021]  ? __lock_is_held+0x39/0xc0
>>> [  305.945561]  ? note_gp_changes+0x300/0x300
>>> [  305.946132]  ? __sanitizer_cov_trace_const_cmp8+0x18/0x20
>>> [  305.946866]  ? locks_remove_file+0x31b/0x420
>>> [  305.947464]  ? fcntl_setlk+0xad0/0xad0
>>> [  305.948000]  ? trace_event_raw_event_sched_switch+0x320/0x320
>>> [  305.948781]  ? fsnotify_first_mark+0x2c0/0x2c0
>>> [  305.949386]  sock_release+0x53/0xe0
>>> [  305.949866]  ? sock_alloc_file+0x2c0/0x2c0
>>> [  305.950437]  sock_close+0x16/0x20
>>> [  305.950906]  __fput+0x246/0x4e0
>>> [  305.951360]  ? fput+0x130/0x130
>>> [  305.951807]  ? trace_event_raw_event_sched_switch+0x320/0x320
>>> [  305.952620]  ____fput+0x15/0x20
>>> [  305.953071]  task_work_run+0x1a5/0x200
>>> [  305.953585]  ? kmem_cache_free+0x25c/0x2d0
>>> [  305.954143]  ? task_work_cancel+0x1a0/0x1a0
>>> [  305.954714]  ? switch_task_namespaces+0x9e/0xb0
>>> [  305.955334]  do_exit+0xacf/0x10d0
>>> [  305.955801]  ? mm_update_next_owner+0x650/0x650
>>> [  305.956431]  ? __pv_queued_spin_lock_slowpath+0xbf0/0xbf0
>>> [  305.957157]  ? trace_hardirqs_on_caller+0x136/0x2a0
>>> [  305.957811]  ? trace_hardirqs_on+0xd/0x10
>>> [  305.958360]  ? wake_up_new_task+0x41c/0x650
>>> [  305.958937]  ? to_ratio+0x20/0x20
>>> [  305.959391]  ? lock_release+0x530/0x530
>>> [  305.959924]  ? trace_event_raw_event_sched_switch+0x320/0x320
>>> [  305.960693]  ? match_held_lock+0x7e/0x360
>>> [  305.961244]  ? trace_hardirqs_off+0x10/0x10
>>> [  305.961810]  ? put_pid+0x111/0x140
>>> [  305.962277]  ? task_active_pid_ns+0x70/0x70
>>> [  305.962862]  ? find_held_lock+0xca/0xf0
>>> [  305.963396]  ? do_group_exit+0x1f9/0x260
>>> [  305.963933]  ? lock_downgrade+0x380/0x380
>>> [  305.964508]  ? task_clear_jobctl_pending+0xb5/0xd0
>>> [  305.965147]  ? __sanitizer_cov_trace_const_cmp4+0x16/0x20
>>> [  305.965871]  ? do_raw_spin_unlock+0x112/0x1a0
>>> [  305.966459]  ? do_raw_spin_trylock+0x100/0x100
>>> [  305.967060]  ? mark_held_locks+0x25/0xb0
>>> [  305.967592]  ? force_sig+0x30/0x30
>>> [  305.968135]  ? _raw_spin_unlock_irq+0x27/0x50
>>> [  305.968741]  ? trace_hardirqs_on_caller+0x136/0x2a0
>>> [  305.969470]  do_group_exit+0xfb/0x260
>>> [  305.969987]  ? SyS_exit+0x30/0x30
>>> [  305.970505]  ? find_mergeable_anon_vma+0x90/0x90
>>> [  305.971126]  ? SyS_read+0x1c0/0x1c0
>>> [  305.971718]  ? mark_held_locks+0x25/0xb0
>>> [  305.972259]  ? do_syscall_64+0xb2/0x5d0
>>> [  305.972843]  ? do_group_exit+0x260/0x260
>>> [  305.973374]  SyS_exit_group+0x1d/0x20
>>> [  305.973932]  do_syscall_64+0x209/0x5d0
>>> [  305.974452]  ? syscall_return_slowpath+0x3e0/0x3e0
>>> [  305.975149]  ? __sanitizer_cov_trace_const_cmp4+0x16/0x20
>>> [  305.975941]  ? syscall_return_slowpath+0x260/0x3e0
>>> [  305.976669]  ? mark_held_locks+0x25/0xb0
>>> [  305.977206]  ? entry_SYSCALL_64_after_hwframe+0x52/0xb7
>>> [  305.977978]  ? trace_hardirqs_off_caller+0xb5/0x120
>>> [  305.978690]  ? trace_hardirqs_off_thunk+0x1a/0x1c
>>> [  305.979381]  entry_SYSCALL_64_after_hwframe+0x42/0xb7
>>> [  305.980114] RIP: 0033:0x44d989
>>> [  305.980531] RSP: 002b:00000000007fff38 EFLAGS: 00000202 ORIG_RAX:
>>> 00000000000000e7
>>> [  305.981664] RAX: ffffffffffffffda RBX: 00000000004002c8 RCX: 000000000044d989
>>> [  305.982655] RDX: 00007fb120d739c0 RSI: 00007fb120572700 RDI: 0000000000000001
>>> [  305.983654] RBP: 00000000007fff60 R08: 00007fb120572700 R09: 0000000000000000
>>> [  305.984656] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000000
>>> [  305.985707] R13: 000000000040d270 R14: 000000000040d300 R15: 0000000000000000
>>> [  305.986724] Code: b6 1d 18 9b ef 03 31 ff 89 de e8 60 a4 67 ff 84
>>> db 75 1a e8 87 a3 67 ff 48 c7 c7 00 8f 83 84 c6 05 f8 9a ef 03 01 e8
>>> 84 60 49 ff <0f> 0b 31 db e9 2b ff ff ff 66 66 2e 0f 1f 84 00 00 00 00
>>> 00 55
>>> [  305.990106] ---[ end trace 360c084b02d93022 ]---
>>> [  305.998636] IPVS: ftp: loaded support on port[0] = 21
>>> ---------------------------------------
>>>
>>> = About RaceFuzzer
>>>
>>> RaceFuzzer is a customized version of Syzkaller, specifically tailored
>>> to find race condition bugs in the Linux kernel. While we leverage
>>> many different technique, the notable feature of RaceFuzzer is in
>>> leveraging a custom hypervisor (QEMU/KVM) to interleave the
>>> scheduling. In particular, we modified the hypervisor to intentionally
>>> stall a per-core execution, which is similar to supporting per-core
>>> breakpoint functionality. This allows RaceFuzzer to force the kernel
>>> to deterministically trigger racy condition (which may rarely happen
>>> in practice due to randomness in scheduling).
>>>
>>> RaceFuzzer's C repro always pinpoints two racy syscalls. Since C
>>> repro's scheduling synchronization should be performed at the user
>>> space, its reproducibility is limited (reproduction may take from 1
>>> second to 10 minutes (or even more), depending on a bug). This is
>>> because, while RaceFuzzer precisely interleaves the scheduling at the
>>> kernel's instruction level when finding this bug, C repro cannot fully
>>> utilize such a feature. Please disregard all code related to
>>> "should_hypercall" in the C repro, as this is only for our debugging
>>> purposes using our own hypervisor.

^ permalink raw reply

* Re: [PATCH] net: implement IP_RECVHDRS option to get full headers through recvmsg cmsg.
From: Eric Dumazet @ 2018-04-01  6:51 UTC (permalink / raw)
  To: Maciej Żenczykowski, Maciej Żenczykowski,
	David S . Miller
  Cc: netdev, Luigi Rizzo, Eric Dumazet
In-Reply-To: <20180401054314.33578-1-zenczykowski@gmail.com>



On 03/31/2018 10:43 PM, Maciej Żenczykowski wrote:
> From: Luigi Rizzo <lrizzo@google.com>
> 
> We have all sorts of different ways to fetch pre-UDP payload metadata:
>   IP_RECVTOS
>   IP_RECVTTL
>   IP_RECVOPTS
>   IP_RETOPTS
> 
> But nothing generic which simply allows you to receive the entire packet header.
> 
> This is in similar vein to TCP_SAVE_SYN but for UDP and other datagram sockets.
> 
> This is envisioned as a way to get GUE extension metadata for encapsulated
> packets, but implemented in a way to be much more future proof.
> 
> (Implemented by Luigi, who asked me to send it upstream)
> 

Hmm... what happened to IPv6 ? ;)

^ permalink raw reply

* Re: [PATCH net-next 0/4] Introduce adaptive TX interrupt moderation to net DIM
From: Tal Gilboa @ 2018-04-01  6:49 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, tariqt, andrew.gospodarek, saeedm
In-Reply-To: <20180331.231929.1875689505974197531.davem@davemloft.net>

On 4/1/2018 6:19 AM, David Miller wrote:
> From: David Miller <davem@davemloft.net>
> Date: Sat, 31 Mar 2018 22:02:55 -0400 (EDT)
> 
>> From: Tal Gilboa <talgi@mellanox.com>
>> Date: Fri, 30 Mar 2018 09:37:29 +0300
>>
>>> Net DIM is a library designed for dynamic interrupt moderation. It was
>>> implemented and optimized with receive side interrupts in mind, since these
>>> are usually the CPU expensive ones. This patch-set introduces adaptive transmit
>>> interrupt moderation to net DIM, complete with a usage in the mlx5e driver.
>>> Using adaptive TX behavior would reduce interrupt rate for multiple scenarios.
>>> Furthermore, it is essential for increasing bandwidth on cases where payload
>>> aggregation is required.
>>
>> Series applied.
> 
> This breaks the build:
> 
> drivers/net/ethernet/broadcom/bcmsysport.c: In function ‘bcm_sysport_set_coalesce’:
> drivers/net/ethernet/broadcom/bcmsysport.c:657:11: error: implicit declaration of function ‘net_dim_get_def_profile’; did you mean ‘net_dim_exit_parking’? [-Werror=implicit-function-declaration]
>     moder = net_dim_get_def_profile(priv->dim.dim.mode);
>             ^~~~~~~~~~~~~~~~~~~~~~~
> 
Rebase issues, sorry.
Sent a fixup patch.

^ permalink raw reply

* [PATCH net-next] net/broadcom: Fixup broken build due to function name change
From: Tal Gilboa @ 2018-04-01  6:48 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev, Tariq Toukan, Tal Gilboa, Saeed Mahameed

Fixes: 8c6d6895bebb ("net/dim: Rename *_get_profile() functions to *_get_rx_moderation()")
Signed-off-by: Tal Gilboa <talgi@mellanox.com>
---
 drivers/net/ethernet/broadcom/bcmsysport.c     | 4 ++--
 drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c
index 53c035f..98c5183 100644
--- a/drivers/net/ethernet/broadcom/bcmsysport.c
+++ b/drivers/net/ethernet/broadcom/bcmsysport.c
@@ -654,7 +654,7 @@ static int bcm_sysport_set_coalesce(struct net_device *dev,
 	pkts = priv->rx_max_coalesced_frames;
 
 	if (ec->use_adaptive_rx_coalesce && !priv->dim.use_dim) {
-		moder = net_dim_get_def_profile(priv->dim.dim.mode);
+		moder = net_dim_get_def_rx_moderation(priv->dim.dim.mode);
 		usecs = moder.usec;
 		pkts = moder.pkts;
 	}
@@ -1436,7 +1436,7 @@ static void bcm_sysport_init_rx_coalesce(struct bcm_sysport_priv *priv)
 
 	/* If DIM was enabled, re-apply default parameters */
 	if (dim->use_dim) {
-		moder = net_dim_get_def_profile(dim->dim.mode);
+		moder = net_dim_get_def_rx_moderation(dim->dim.mode);
 		usecs = moder.usec;
 		pkts = moder.pkts;
 	}
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
index 1c9c75b..ccd9205 100644
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
@@ -652,7 +652,7 @@ static void bcmgenet_set_ring_rx_coalesce(struct bcmgenet_rx_ring *ring,
 	pkts = ring->rx_max_coalesced_frames;
 
 	if (ec->use_adaptive_rx_coalesce && !ring->dim.use_dim) {
-		moder = net_dim_get_def_profile(ring->dim.dim.mode);
+		moder = net_dim_get_def_rx_moderation(ring->dim.dim.mode);
 		usecs = moder.usec;
 		pkts = moder.pkts;
 	}
@@ -2101,7 +2101,7 @@ static void bcmgenet_init_rx_coalesce(struct bcmgenet_rx_ring *ring)
 
 	/* If DIM was enabled, re-apply default parameters */
 	if (dim->use_dim) {
-		moder = net_dim_get_def_profile(dim->dim.mode);
+		moder = net_dim_get_def_rx_moderation(dim->dim.mode);
 		usecs = moder.usec;
 		pkts = moder.pkts;
 	}
-- 
1.8.3.1

^ permalink raw reply related

* [PATCH] net: implement IP_RECVHDRS option to get full headers through recvmsg cmsg.
From: Maciej Żenczykowski @ 2018-04-01  5:43 UTC (permalink / raw)
  To: Maciej Żenczykowski, David S . Miller
  Cc: netdev, Luigi Rizzo, Eric Dumazet

From: Luigi Rizzo <lrizzo@google.com>

We have all sorts of different ways to fetch pre-UDP payload metadata:
  IP_RECVTOS
  IP_RECVTTL
  IP_RECVOPTS
  IP_RETOPTS

But nothing generic which simply allows you to receive the entire packet header.

This is in similar vein to TCP_SAVE_SYN but for UDP and other datagram sockets.

This is envisioned as a way to get GUE extension metadata for encapsulated
packets, but implemented in a way to be much more future proof.

(Implemented by Luigi, who asked me to send it upstream)

Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Luigi Rizzo <lrizzo@google.com>
Signed-off-by: Maciej Żenczykowski <maze@google.com>
---
 include/net/inet_sock.h |  1 +
 include/uapi/linux/in.h |  1 +
 net/ipv4/ip_sockglue.c  | 26 ++++++++++++++++++++++++++
 3 files changed, 28 insertions(+)

diff --git a/include/net/inet_sock.h b/include/net/inet_sock.h
index 0a671c32d6b9..4299750c3bea 100644
--- a/include/net/inet_sock.h
+++ b/include/net/inet_sock.h
@@ -237,6 +237,7 @@ struct inet_sock {
 #define IP_CMSG_ORIGDSTADDR	BIT(6)
 #define IP_CMSG_CHECKSUM	BIT(7)
 #define IP_CMSG_RECVFRAGSIZE	BIT(8)
+#define IP_CMSG_RECVHDRS	BIT(9)
 
 /**
  * sk_to_full_sk - Access to a full socket
diff --git a/include/uapi/linux/in.h b/include/uapi/linux/in.h
index 48e8a225b985..6dae3e1023cc 100644
--- a/include/uapi/linux/in.h
+++ b/include/uapi/linux/in.h
@@ -119,6 +119,7 @@ struct in_addr {
 #define IP_CHECKSUM	23
 #define IP_BIND_ADDRESS_NO_PORT	24
 #define IP_RECVFRAGSIZE	25
+#define IP_RECVHDRS	26
 
 /* IP_MTU_DISCOVER values */
 #define IP_PMTUDISC_DONT		0	/* Never send DF frames */
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c
index 5ad2d8ed3a3f..35c5f70daea9 100644
--- a/net/ipv4/ip_sockglue.c
+++ b/net/ipv4/ip_sockglue.c
@@ -71,6 +71,14 @@ static void ip_cmsg_recv_tos(struct msghdr *msg, struct sk_buff *skb)
 	put_cmsg(msg, SOL_IP, IP_TOS, 1, &ip_hdr(skb)->tos);
 }
 
+/* Return all headers */
+static void ip_cmsg_recv_headers(struct msghdr *msg, struct sk_buff *skb)
+{
+	int len = skb->data - skb_mac_header(skb);
+
+	put_cmsg(msg, SOL_IP, IP_RECVHDRS, len, eth_hdr(skb));
+}
+
 static void ip_cmsg_recv_opts(struct msghdr *msg, struct sk_buff *skb)
 {
 	if (IPCB(skb)->opt.optlen == 0)
@@ -205,6 +213,14 @@ void ip_cmsg_recv_offset(struct msghdr *msg, struct sock *sk,
 			return;
 	}
 
+	if (flags & IP_CMSG_RECVHDRS) {
+		ip_cmsg_recv_headers(msg, skb);
+
+		flags &= ~IP_CMSG_RECVHDRS;
+		if (!flags)
+			return;
+	}
+
 	if (flags & IP_CMSG_RETOPTS) {
 		ip_cmsg_recv_retopts(sock_net(sk), msg, skb);
 
@@ -597,6 +613,7 @@ static int do_ip_setsockopt(struct sock *sk, int level,
 	case IP_PKTINFO:
 	case IP_RECVTTL:
 	case IP_RECVOPTS:
+	case IP_RECVHDRS:
 	case IP_RECVTOS:
 	case IP_RETOPTS:
 	case IP_TOS:
@@ -701,6 +718,12 @@ static int do_ip_setsockopt(struct sock *sk, int level,
 		else
 			inet->cmsg_flags &= ~IP_CMSG_RECVOPTS;
 		break;
+	case IP_RECVHDRS:
+		if (val)
+			inet->cmsg_flags |=  IP_CMSG_RECVHDRS;
+		else
+			inet->cmsg_flags &= ~IP_CMSG_RECVHDRS;
+		break;
 	case IP_RETOPTS:
 		if (val)
 			inet->cmsg_flags |= IP_CMSG_RETOPTS;
@@ -1362,6 +1385,9 @@ static int do_ip_getsockopt(struct sock *sk, int level, int optname,
 	case IP_RECVOPTS:
 		val = (inet->cmsg_flags & IP_CMSG_RECVOPTS) != 0;
 		break;
+	case IP_RECVHDRS:
+		val = (inet->cmsg_flags & IP_CMSG_RECVHDRS) != 0;
+		break;
 	case IP_RETOPTS:
 		val = (inet->cmsg_flags & IP_CMSG_RETOPTS) != 0;
 		break;
-- 
2.17.0.rc1.321.gba9d0f2565-goog

^ permalink raw reply related

* SO_TCP_NODELAY implementation in TCP stack
From: Naruto Nguyen @ 2018-04-01  4:06 UTC (permalink / raw)
  To: netdev

Hello everyone,

As I know we have a socket option SO_TCP_NODELAY to disable Nagle
Algorithm, and I found it is implemented in TCP/IP stack at
https://elixir.bootlin.com/linux/v4.4.90/source/net/ipv4/tcp.c#L2401 .
However, I do not know where the source code the Nagle Algorithm is
implemented in kernel. If you know, could you please help me?

Brs, Naruto

^ permalink raw reply

* Re: [PATCH v15 net-next 00/12] Chelsio Inline TLS
From: David Miller @ 2018-04-01  3:37 UTC (permalink / raw)
  To: atul.gupta
  Cc: herbert, davejwatson, sd, sbrivio, linux-crypto, netdev, werner,
	leedom, swise, indranil, ganeshgr
In-Reply-To: <1522512723-31747-1-git-send-email-atul.gupta@chelsio.com>

From: Atul Gupta <atul.gupta@chelsio.com>
Date: Sat, 31 Mar 2018 21:41:51 +0530

> Series for Chelsio Inline TLS driver (chtls)

Series applied, thank you.

^ permalink raw reply

* Re: pull-request: bpf-next 2018-03-31
From: David Miller @ 2018-04-01  3:33 UTC (permalink / raw)
  To: daniel; +Cc: ast, netdev
In-Reply-To: <20180331235112.24146-1-daniel@iogearbox.net>

From: Daniel Borkmann <daniel@iogearbox.net>
Date: Sun,  1 Apr 2018 01:51:12 +0200

> The following pull-request contains BPF updates for your *net-next* tree.

Pulled, thanks Daniel.

^ permalink raw reply

* Re: [net-next V8 PATCH 13/16] xdp: allow page_pool as an allocator type in xdp_return_frame
From: David Miller @ 2018-04-01  3:32 UTC (permalink / raw)
  To: brouer
  Cc: netdev, bjorn.topel, magnus.karlsson, eugenia, jasowang,
	john.fastabend, eranbe, saeedm, galp, borkmann,
	alexei.starovoitov, tariqt
In-Reply-To: <152249801279.28297.10651243487879870970.stgit@firesoul>

From: Jesper Dangaard Brouer <brouer@redhat.com>
Date: Sat, 31 Mar 2018 14:06:52 +0200

> diff --git a/net/core/xdp.c b/net/core/xdp.c
> index 8b2cb79b5de0..d8115903e454 100644
> --- a/net/core/xdp.c
> +++ b/net/core/xdp.c
 ...
> +static inline bool __is_supported_mem_type(enum xdp_mem_type type)

Again, please don't use inline in foo.c files.

Thank you.

^ permalink raw reply

* Re: [net-next V8 PATCH 01/16] mlx5: basic XDP_REDIRECT forward support
From: David Miller @ 2018-04-01  3:31 UTC (permalink / raw)
  To: brouer
  Cc: netdev, bjorn.topel, magnus.karlsson, eugenia, jasowang,
	john.fastabend, eranbe, saeedm, galp, borkmann,
	alexei.starovoitov, tariqt
In-Reply-To: <152249795210.28297.14005981548436322464.stgit@firesoul>

From: Jesper Dangaard Brouer <brouer@redhat.com>
Date: Sat, 31 Mar 2018 14:05:52 +0200

> +static inline void mlx5e_page_dma_unmap(struct mlx5e_rq *rq,
> +					struct mlx5e_dma_info *dma_info)

Please do not use the inline keyword in foo.c files, let the compiler
decide.

I know that this is done in other areas of this file, that just means
that I didn't catch it when those changes went it, rather than meaning
that the rule can be broken because it has been already.

Thank you.

^ permalink raw reply

* Re: [PATCH v4 net-next 00/19] inet: frags: bring rhashtables to IP defrag
From: David Miller @ 2018-04-01  3:25 UTC (permalink / raw)
  To: edumazet
  Cc: netdev, fw, herbert, tgraf, brouer, alex.aring, stefan, ktkhai,
	eric.dumazet
In-Reply-To: <20180331195900.183604-1-edumazet@google.com>

From: Eric Dumazet <edumazet@google.com>
Date: Sat, 31 Mar 2018 12:58:41 -0700

> IP defrag processing is one of the remaining problematic layer in linux.
> 
> It uses static hash tables of 1024 buckets, and up to 128 items per bucket.
> 
> A work queue is supposed to garbage collect items when host is under memory
> pressure, and doing a hash rebuild, changing seed used in hash computations.
> 
> This work queue blocks softirqs for up to 25 ms when doing a hash rebuild,
> occurring every 5 seconds if host is under fire.
> 
> Then there is the problem of sharing this hash table for all netns.
> 
> It is time to switch to rhashtables, and allocate one of them per netns
> to speedup netns dismantle, since this is a critical metric these days.
> 
> Lookup is now using RCU, and 64bit hosts can now provision whatever amount
> of memory needed to handle the expected workloads.
 ...

Series applied, thanks Eric.

^ permalink raw reply

* Re: [PATCH net-next 00/16] bnxt_en: Update for net-next.
From: David Miller @ 2018-04-01  3:24 UTC (permalink / raw)
  To: michael.chan; +Cc: netdev
In-Reply-To: <1522518861-9845-1-git-send-email-michael.chan@broadcom.com>

From: Michael Chan <michael.chan@broadcom.com>
Date: Sat, 31 Mar 2018 13:54:05 -0400

> Misc. updates including updated firmware interface, some additional
> port statistics, a new IRQ assignment scheme for the RDMA driver, support
> for VF trust, and other changes and improvements for SRIOV.

Series applied, thank you.

^ permalink raw reply

* Re: [PATCH net-next] vlan: vlan_hw_filter_capable() can be static
From: David Miller @ 2018-04-01  3:21 UTC (permalink / raw)
  To: weiyongjun1
  Cc: Vishakha.Narvekar, makita.toshiaki, kstewart, tariqt, galp,
	netdev, kernel-janitors
In-Reply-To: <1522476701-93237-1-git-send-email-weiyongjun1@huawei.com>

From: Wei Yongjun <weiyongjun1@huawei.com>
Date: Sat, 31 Mar 2018 06:11:41 +0000

> Fixes the following sparse warning:
> 
> net/8021q/vlan_core.c:168:6: warning:
>  symbol 'vlan_hw_filter_capable' was not declared. Should it be static?
> 
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>

Applied, thank you.

^ permalink raw reply

* Re: [PATCH net-next 0/4] Introduce adaptive TX interrupt moderation to net DIM
From: David Miller @ 2018-04-01  3:19 UTC (permalink / raw)
  To: talgi; +Cc: netdev, tariqt, andrew.gospodarek, saeedm
In-Reply-To: <20180331.220255.1848301322283268857.davem@davemloft.net>

From: David Miller <davem@davemloft.net>
Date: Sat, 31 Mar 2018 22:02:55 -0400 (EDT)

> From: Tal Gilboa <talgi@mellanox.com>
> Date: Fri, 30 Mar 2018 09:37:29 +0300
> 
>> Net DIM is a library designed for dynamic interrupt moderation. It was
>> implemented and optimized with receive side interrupts in mind, since these
>> are usually the CPU expensive ones. This patch-set introduces adaptive transmit
>> interrupt moderation to net DIM, complete with a usage in the mlx5e driver.
>> Using adaptive TX behavior would reduce interrupt rate for multiple scenarios.
>> Furthermore, it is essential for increasing bandwidth on cases where payload
>> aggregation is required.
> 
> Series applied.

This breaks the build:

drivers/net/ethernet/broadcom/bcmsysport.c: In function ‘bcm_sysport_set_coalesce’:
drivers/net/ethernet/broadcom/bcmsysport.c:657:11: error: implicit declaration of function ‘net_dim_get_def_profile’; did you mean ‘net_dim_exit_parking’? [-Werror=implicit-function-declaration]
   moder = net_dim_get_def_profile(priv->dim.dim.mode);
           ^~~~~~~~~~~~~~~~~~~~~~~

^ permalink raw reply

* Re: [PATCH v4 net-next 17/19] inet: frags: get rid of ipfrag_skb_cb/FRAG_CB
From: kbuild test robot @ 2018-04-01  3:02 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: kbuild-all, David S . Miller, netdev, Florian Westphal,
	Herbert Xu, Thomas Graf, Jesper Dangaard Brouer, Alexander Aring,
	Stefan Schmidt, Kirill Tkhai, Eric Dumazet, Eric Dumazet
In-Reply-To: <20180331195900.183604-18-edumazet@google.com>

[-- Attachment #1: Type: text/plain, Size: 19352 bytes --]

Hi Eric,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Eric-Dumazet/inet-frags-bring-rhashtables-to-IP-defrag/20180401-053614
reproduce: make htmldocs

All warnings (new ones prefixed by >>):

   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   include/net/mac80211.h:2080: warning: bad line: >
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'msdu_retries' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'msdu_failed' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info'
   net/mac80211/sta_info.h:586: warning: Function parameter or member 'msdu' not described in 'sta_info'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf'
   include/linux/dma-buf.h:307: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf'
   include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array'
   include/linux/gpio/driver.h:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip'
   include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.sign' not described in 'iio_chan_spec'
   include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.realbits' not described in 'iio_chan_spec'
   include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.storagebits' not described in 'iio_chan_spec'
   include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.shift' not described in 'iio_chan_spec'
   include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.repeat' not described in 'iio_chan_spec'
   include/linux/iio/iio.h:270: warning: Function parameter or member 'scan_type.endianness' not described in 'iio_chan_spec'
   include/linux/iio/hw-consumer.h:1: warning: no structured comments found
   include/linux/device.h:294: warning: Function parameter or member 'coredump' not described in 'device_driver'
   include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry'
   include/linux/mtd/rawnand.h:709: warning: Function parameter or member 'timings.sdr' not described in 'nand_data_interface'
   include/linux/mtd/rawnand.h:774: warning: Function parameter or member 'buf' not described in 'nand_op_data_instr'
   include/linux/mtd/rawnand.h:774: warning: Function parameter or member 'buf.in' not described in 'nand_op_data_instr'
   include/linux/mtd/rawnand.h:774: warning: Function parameter or member 'buf.out' not described in 'nand_op_data_instr'
   include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx' not described in 'nand_op_instr'
   include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.cmd' not described in 'nand_op_instr'
   include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.addr' not described in 'nand_op_instr'
   include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.data' not described in 'nand_op_instr'
   include/linux/mtd/rawnand.h:820: warning: Function parameter or member 'ctx.waitrdy' not described in 'nand_op_instr'
   include/linux/mtd/rawnand.h:967: warning: Function parameter or member 'ctx' not described in 'nand_op_parser_pattern_elem'
   include/linux/mtd/rawnand.h:967: warning: Function parameter or member 'ctx.addr' not described in 'nand_op_parser_pattern_elem'
   include/linux/mtd/rawnand.h:967: warning: Function parameter or member 'ctx.data' not described in 'nand_op_parser_pattern_elem'
   include/linux/mtd/rawnand.h:1281: warning: Function parameter or member 'manufacturer.desc' not described in 'nand_chip'
   include/linux/mtd/rawnand.h:1281: warning: Function parameter or member 'manufacturer.priv' not described in 'nand_chip'
   include/linux/regulator/driver.h:221: warning: Function parameter or member 'resume_early' not described in 'regulator_ops'
   drivers/regulator/core.c:4299: warning: Excess function parameter 'state' description in 'regulator_suspend_late'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb'
   arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver'
   include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver'
   include/drm/drm_connector.h:370: warning: Function parameter or member 'margins.left' not described in 'drm_tv_connector_state'
   include/drm/drm_connector.h:370: warning: Function parameter or member 'margins.right' not described in 'drm_tv_connector_state'
   include/drm/drm_connector.h:370: warning: Function parameter or member 'margins.top' not described in 'drm_tv_connector_state'
   include/drm/drm_connector.h:370: warning: Function parameter or member 'margins.bottom' not described in 'drm_tv_connector_state'
   include/drm/drm_vblank.h:63: warning: Function parameter or member 'event.base' not described in 'drm_pending_vblank_event'
   include/drm/drm_vblank.h:63: warning: Function parameter or member 'event.vbl' not described in 'drm_pending_vblank_event'
   include/drm/drm_vblank.h:63: warning: Function parameter or member 'event.seq' not described in 'drm_pending_vblank_event'
   include/linux/skbuff.h:850: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff'
>> include/linux/skbuff.h:850: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'skb_mstamp' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'head_frag' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member '__unused' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'pfmemalloc' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'encapsulation' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'csum_valid' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'csum_level' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'offload_fwd_mark' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'offload_mr_fwd_mark' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff'
   include/linux/skbuff.h:850: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff'
   include/net/sock.h:234: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common'
   include/net/sock.h:234: warning: Function parameter or member 'skc_portpair' not described in 'sock_common'
   include/net/sock.h:234: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common'
   include/net/sock.h:234: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common'
   include/net/sock.h:234: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common'
   include/net/sock.h:234: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common'
   include/net/sock.h:234: warning: Function parameter or member 'skc_cookie' not described in 'sock_common'
   include/net/sock.h:234: warning: Function parameter or member 'skc_listener' not described in 'sock_common'
   include/net/sock.h:234: warning: Function parameter or member 'skc_tw_dr' not described in 'sock_common'
   include/net/sock.h:234: warning: Function parameter or member 'skc_rcv_wnd' not described in 'sock_common'
   include/net/sock.h:234: warning: Function parameter or member 'skc_tw_rcv_nxt' not described in 'sock_common'
   include/net/sock.h:488: warning: Function parameter or member 'sk_backlog.rmem_alloc' not described in 'sock'
   include/net/sock.h:488: warning: Function parameter or member 'sk_backlog.len' not described in 'sock'
   include/net/sock.h:488: warning: Function parameter or member 'sk_backlog.head' not described in 'sock'
   include/net/sock.h:488: warning: Function parameter or member 'sk_backlog.tail' not described in 'sock'
   include/net/sock.h:488: warning: Function parameter or member 'sk_wq_raw' not described in 'sock'
   include/net/sock.h:488: warning: Function parameter or member 'tcp_rtx_queue' not described in 'sock'
   include/net/sock.h:488: warning: Function parameter or member 'sk_route_forced_caps' not described in 'sock'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'adj_list.upper' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'adj_list.lower' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'gso_partial_features' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'switchdev_ops' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'l3mdev_ops' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'xfrmdev_ops' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'name_assign_type' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'ieee802154_ptr' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'mpls_ptr' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'xdp_prog' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'gro_flush_timeout' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'nf_hooks_ingress' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member '____cacheline_aligned_in_smp' not described in 'net_device'
   include/linux/netdevice.h:1952: warning: Function parameter or member 'qdisc_hash' not described in 'net_device'
   include/linux/phylink.h:56: warning: Function parameter or member '__ETHTOOL_DECLARE_LINK_MODE_MASK(advertising' not described in 'phylink_link_state'
   include/linux/phylink.h:56: warning: Function parameter or member '__ETHTOOL_DECLARE_LINK_MODE_MASK(lp_advertising' not described in 'phylink_link_state'
   include/linux/rcupdate.h:570: ERROR: Unexpected indentation.
   include/linux/rcupdate.h:574: ERROR: Unexpected indentation.
   include/linux/rcupdate.h:578: WARNING: Block quote ends without a blank line; unexpected unindent.
   include/linux/rcupdate.h:580: WARNING: Block quote ends without a blank line; unexpected unindent.
   include/linux/rcupdate.h:580: WARNING: Inline literal start-string without end-string.
   kernel/time/timer.c:1259: ERROR: Unexpected indentation.
   kernel/time/timer.c:1261: ERROR: Unexpected indentation.
   kernel/time/timer.c:1262: WARNING: Block quote ends without a blank line; unexpected unindent.
   include/linux/wait.h:110: WARNING: Block quote ends without a blank line; unexpected unindent.
   include/linux/wait.h:113: ERROR: Unexpected indentation.
   include/linux/wait.h:115: WARNING: Block quote ends without a blank line; unexpected unindent.
   kernel/time/hrtimer.c:1113: WARNING: Block quote ends without a blank line; unexpected unindent.
   kernel/signal.c:327: WARNING: Inline literal start-string without end-string.
   drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string.
   drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string.
   drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string.
   drivers/video/fbdev/core/modedb.c:647: WARNING: Inline strong start-string without end-string.
   include/linux/iio/iio.h:191: ERROR: Unexpected indentation.
   include/linux/iio/iio.h:192: WARNING: Block quote ends without a blank line; unexpected unindent.
   include/linux/iio/iio.h:198: WARNING: Definition list ends without a blank line; unexpected unindent.
   drivers/ata/libata-core.c:5940: ERROR: Unknown target name: "hw".
   drivers/message/fusion/mptbase.c:5052: WARNING: Definition list ends without a blank line; unexpected unindent.
   drivers/tty/serial/serial_core.c:1903: WARNING: Definition list ends without a blank line; unexpected unindent.
   include/linux/mtd/rawnand.h:805: ERROR: Unexpected indentation.
   include/linux/mtd/rawnand.h:1391: WARNING: Inline strong start-string without end-string.
   include/linux/mtd/rawnand.h:1393: WARNING: Inline strong start-string without end-string.
   include/linux/regulator/driver.h:273: ERROR: Unknown target name: "regulator_regmap_x_voltage".
   Documentation/driver-api/slimbus.rst:93: WARNING: Title underline too short.

vim +850 include/linux/skbuff.h

^1da177e Linus Torvalds 2005-04-16 @850  

:::::: The code at line 850 was first introduced by commit
:::::: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 Linux-2.6.12-rc2

:::::: TO: Linus Torvalds <torvalds@ppc970.osdl.org>
:::::: CC: Linus Torvalds <torvalds@ppc970.osdl.org>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 6801 bytes --]

^ permalink raw reply

* Re: [pull request][net-next 00/15] Mellanox, mlx5 updates 2018-03-30
From: David Miller @ 2018-04-01  2:32 UTC (permalink / raw)
  To: saeedm; +Cc: netdev, tariqt, brouer
In-Reply-To: <20180331000252.30480-1-saeedm@mellanox.com>

From: Saeed Mahameed <saeedm@mellanox.com>
Date: Fri, 30 Mar 2018 17:02:37 -0700

> This series contains updates to mlx5 core and mlx5e netdev drivers.
> The main highlight of this series is the RX optimizations for striding RQ path,
> introduced by Tariq.
> 
> For more information please see tag log below.
> 
> Please pull and let me know if there's any problem.

Pulled, thanks Saeed.

^ permalink raw reply

* Re: [PATCH net-next 00/12] rxrpc: Fixes and more traces
From: David Miller @ 2018-04-01  2:29 UTC (permalink / raw)
  To: dhowells; +Cc: netdev, linux-afs, linux-kernel
In-Reply-To: <152244444395.4629.2080470182140292459.stgit@warthog.procyon.org.uk>

From: David Howells <dhowells@redhat.com>
Date: Fri, 30 Mar 2018 22:14:04 +0100

> Here are some patches that add some more tracepoints to AF_RXRPC and fix
> some issues therein:
 ...
> The patches are tagged here:
> 
> 	git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git
> 	rxrpc-next-20180330

Pulled, thanks David.

^ permalink raw reply

* Re: [PATCH net-next] hv_netvsc: Clean up extra parameter from rndis_filter_receive_data()
From: David Miller @ 2018-04-01  2:28 UTC (permalink / raw)
  To: haiyangz, haiyangz
  Cc: netdev, kys, sthemmin, olaf, vkuznets, devel, linux-kernel
In-Reply-To: <20180330205759.31055-1-haiyangz@linuxonhyperv.com>

From: Haiyang Zhang <haiyangz@linuxonhyperv.com>
Date: Fri, 30 Mar 2018 13:57:59 -0700

> From: Haiyang Zhang <haiyangz@microsoft.com>
> 
> The variables, msg and data, have the same value. This patch removes
> the extra one.
> 
> Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>

Applied.

^ permalink raw reply

* Re: [PATCH] ethernet: hisilicon: hns: hns_dsaf_mac: Use generic eth_broadcast_addr
From: David Miller @ 2018-04-01  2:28 UTC (permalink / raw)
  To: joe; +Cc: linux-kernel, yisen.zhuang, salil.mehta, netdev
In-Reply-To: <7ca107f9960b176c10c7b1ac4c4fe0b492fb1b48.1522438626.git.joe@perches.com>

From: Joe Perches <joe@perches.com>
Date: Fri, 30 Mar 2018 12:37:30 -0700

> Rather than use an on-stack array to copy a broadcast address, use
> the generic eth_broadcast_addr function to save a trivial amount of
> object code.
> 
> Signed-off-by: Joe Perches <joe@perches.com>

Applied.

^ permalink raw reply

* Re: [PATCH RESEND net-next 0/2] net_rwsem fixes
From: David Miller @ 2018-04-01  2:25 UTC (permalink / raw)
  To: ktkhai; +Cc: zhangshengju, jakub.kicinski, dsahern, mschiffer, daniel, netdev
In-Reply-To: <152242784495.18864.4373352355749698367.stgit@localhost.localdomain>

From: Kirill Tkhai <ktkhai@virtuozzo.com>
Date: Fri, 30 Mar 2018 19:38:16 +0300

> there is wext_netdev_notifier_call()->wireless_nlevent_flush()
> netdevice notifier, which takes net_rwsem, so we can't take
> net_rwsem in {,un}register_netdevice_notifier().
> 
> Since {,un}register_netdevice_notifier() is executed under
> pernet_ops_rwsem, net_namespace_list can't change, while we
> holding it, so there is no need net_rwsem in these functions [1/2].
> 
> The same is in [2/2]. We make callers of __rtnl_link_unregister()
> take pernet_ops_rwsem, and close the race with setup_net()
> and cleanup_net(), so __rtnl_link_unregister() does not need it.
> This also fixes the problem of that __rtnl_link_unregister() does
> not see initializing and exiting nets.

Series applied.

^ permalink raw reply

* Re: [PATCH net-next 00/11] mlxsw: Various cleanups
From: David Miller @ 2018-04-01  2:14 UTC (permalink / raw)
  To: idosch; +Cc: netdev, jiri, petrm, mlxsw
In-Reply-To: <20180331.215450.2239539122858679740.davem@davemloft.net>

From: David Miller <davem@davemloft.net>
Date: Sat, 31 Mar 2018 21:54:50 -0400 (EDT)

> From: Ido Schimmel <idosch@mellanox.com>
> Date: Thu, 29 Mar 2018 23:33:23 +0300
> 
>> The first 10 patches from Jiri perform small and unrelated cleanups. The
>> largest being the conversion of the KVD linear partitions from a list to
>> an array, which simplifies the code.
>> 
>> The last patch from Petr is a bug fix for a recent net-next commit that
>> prevented the "kvd" resource from being marked as the parent of its
>> various child resources (e.g., "/kvd/linear").
> 
> Series applied, thanks.

I'm going to have to revert this.

Changing the signature of devlink_resource_register() requires an update to
the netdevsim driver, which you didn't do.

drivers/net/netdevsim/devlink.c:121:8: error: too many arguments to function ‘devlink_resource_register’
  err = devlink_resource_register(devlink, "IPv6", (u64)-1,
        ^~~~~~~~~~~~~~~~~~~~~~~~~

^ permalink raw reply

* Re: [PATCH net-next] netdevsim: Change nsim_devlink_setup to return error to caller
From: David Miller @ 2018-04-01  2:07 UTC (permalink / raw)
  To: dsa; +Cc: netdev, jakub.kicinski
In-Reply-To: <20180330162851.3709-1-dsa@cumulusnetworks.com>

From: David Ahern <dsa@cumulusnetworks.com>
Date: Fri, 30 Mar 2018 09:28:51 -0700

> Change nsim_devlink_setup to return any error back to the caller and
> update nsim_init to handle it.
> 
> Requested-by: Jakub Kicinski <jakub.kicinski@netronome.com>
> Signed-off-by: David Ahern <dsa@cumulusnetworks.com>

Applied.

^ permalink raw reply

* Re: [PATCH v2 0/7] net: thunderx: implement DMAC filtering support
From: David Miller @ 2018-04-01  2:07 UTC (permalink / raw)
  To: Vadim.Lomovtsev
  Cc: sgoutham, sunil.kovvuri, rric, linux-arm-kernel, netdev,
	linux-kernel, dnelson, ynorov, Vadim.Lomovtsev
In-Reply-To: <20180330115953.17154-1-Vadim.Lomovtsev@caviumnetworks.com>

From: Vadim Lomovtsev <Vadim.Lomovtsev@caviumnetworks.com>
Date: Fri, 30 Mar 2018 04:59:46 -0700

> From: Vadim Lomovtsev <Vadim.Lomovtsev@cavium.com>
> 
> By default CN88XX BGX accepts all incoming multicast and broadcast
> packets and filtering is disabled. The nic driver doesn't provide
> an ability to change such behaviour.
> 
> This series is to implement DMAC filtering management for CN88XX
> nic driver allowing user to enable/disable filtering and configure
> specific MAC addresses to filter traffic.
> 
> Changes from v1:
> build issues:
>  - update code in order to address compiler warnings;
> checkpatch.pl reported issues:
>  - update code in order to fit 80 symbols length;
>  - update commit descriptions in order to fit 80 symbols length;

Series applied.

^ permalink raw reply

* Re: [PATCH net-next 0/2] net: bridge: MTU handling changes
From: David Miller @ 2018-04-01  2:05 UTC (permalink / raw)
  To: nikolay; +Cc: netdev, roopa, makita.toshiaki, 3chas3, stephen, bridge
In-Reply-To: <20180330104619.31479-1-nikolay@cumulusnetworks.com>

From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Date: Fri, 30 Mar 2018 13:46:17 +0300

> As previously discussed the recent changes break some setups and could lead
> to packet drops. Thus the first patch reverts the behaviour for the bridge
> to follow the minimum MTU but also keeps the ability to set the MTU to the
> maximum (out of all ports) if vlan filtering is enabled. Patch 02 is the
> bigger change in behaviour - we've always had trouble when configuring
> bridges and their MTU which is auto tuning on port events
> (add/del/changemtu), which means config software needs to chase it and fix
> it after each such event, after patch 02 we allow the user to configure any
> MTU (ETH_MIN/MAX limited) but once that is done the bridge stops auto
> tuning and relies on the user to keep the MTU correct.
> This should be compatible with cases that don't touch the MTU (or set it
> to the same value), while allowing to configure the MTU and not worry
> about it changing afterwards.
> 
> The patches are intentionally split like this, so that if they get accepted
> and there are any complaints patch 02 can be reverted.

Series applied, thanks.

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox