1. 21 1月, 2021 2 次提交
  2. 20 1月, 2021 4 次提交
  3. 19 1月, 2021 1 次提交
  4. 17 1月, 2021 2 次提交
  5. 16 1月, 2021 2 次提交
    • E
      net_sched: gen_estimator: support large ewma log · dd5e0733
      Eric Dumazet 提交于
      syzbot report reminded us that very big ewma_log were supported in the past,
      even if they made litle sense.
      
      tc qdisc replace dev xxx root est 1sec 131072sec ...
      
      While fixing the bug, also add boundary checks for ewma_log, in line
      with range supported by iproute2.
      
      UBSAN: shift-out-of-bounds in net/core/gen_estimator.c:83:38
      shift exponent -1 is negative
      CPU: 0 PID: 0 Comm: swapper/0 Not tainted 5.10.0-syzkaller #0
      Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
      Call Trace:
       <IRQ>
       __dump_stack lib/dump_stack.c:79 [inline]
       dump_stack+0x107/0x163 lib/dump_stack.c:120
       ubsan_epilogue+0xb/0x5a lib/ubsan.c:148
       __ubsan_handle_shift_out_of_bounds.cold+0xb1/0x181 lib/ubsan.c:395
       est_timer.cold+0xbb/0x12d net/core/gen_estimator.c:83
       call_timer_fn+0x1a5/0x710 kernel/time/timer.c:1417
       expire_timers kernel/time/timer.c:1462 [inline]
       __run_timers.part.0+0x692/0xa80 kernel/time/timer.c:1731
       __run_timers kernel/time/timer.c:1712 [inline]
       run_timer_softirq+0xb3/0x1d0 kernel/time/timer.c:1744
       __do_softirq+0x2bc/0xa77 kernel/softirq.c:343
       asm_call_irq_on_stack+0xf/0x20
       </IRQ>
       __run_on_irqstack arch/x86/include/asm/irq_stack.h:26 [inline]
       run_on_irqstack_cond arch/x86/include/asm/irq_stack.h:77 [inline]
       do_softirq_own_stack+0xaa/0xd0 arch/x86/kernel/irq_64.c:77
       invoke_softirq kernel/softirq.c:226 [inline]
       __irq_exit_rcu+0x17f/0x200 kernel/softirq.c:420
       irq_exit_rcu+0x5/0x20 kernel/softirq.c:432
       sysvec_apic_timer_interrupt+0x4d/0x100 arch/x86/kernel/apic/apic.c:1096
       asm_sysvec_apic_timer_interrupt+0x12/0x20 arch/x86/include/asm/idtentry.h:628
      RIP: 0010:native_save_fl arch/x86/include/asm/irqflags.h:29 [inline]
      RIP: 0010:arch_local_save_flags arch/x86/include/asm/irqflags.h:79 [inline]
      RIP: 0010:arch_irqs_disabled arch/x86/include/asm/irqflags.h:169 [inline]
      RIP: 0010:acpi_safe_halt drivers/acpi/processor_idle.c:111 [inline]
      RIP: 0010:acpi_idle_do_entry+0x1c9/0x250 drivers/acpi/processor_idle.c:516
      
      Fixes: 1c0d32fd ("net_sched: gen_estimator: complete rewrite of rate estimators")
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Reported-by: Nsyzbot <syzkaller@googlegroups.com>
      Link: https://lore.kernel.org/r/20210114181929.1717985-1-eric.dumazet@gmail.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      dd5e0733
    • T
      neighbor: remove definition of DEBUG · e794e7fa
      Tom Rix 提交于
      Defining DEBUG should only be done in development.
      So remove DEBUG.
      Signed-off-by: NTom Rix <trix@redhat.com>
      Link: https://lore.kernel.org/r/20210114212917.48174-1-trix@redhat.comSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      e794e7fa
  6. 15 1月, 2021 3 次提交
  7. 14 1月, 2021 1 次提交
  8. 13 1月, 2021 1 次提交
  9. 12 1月, 2021 1 次提交
    • W
      net: compound page support in skb_seq_read · 97550f6f
      Willem de Bruijn 提交于
      skb_seq_read iterates over an skb, returning pointer and length of
      the next data range with each call.
      
      It relies on kmap_atomic to access highmem pages when needed.
      
      An skb frag may be backed by a compound page, but kmap_atomic maps
      only a single page. There are not enough kmap slots to always map all
      pages concurrently.
      
      Instead, if kmap_atomic is needed, iterate over each page.
      
      As this increases the number of calls, avoid this unless needed.
      The necessary condition is captured in skb_frag_must_loop.
      
      I tried to make the change as obvious as possible. It should be easy
      to verify that nothing changes if skb_frag_must_loop returns false.
      
      Tested:
        On an x86 platform with
          CONFIG_HIGHMEM=y
          CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP=y
          CONFIG_NETFILTER_XT_MATCH_STRING=y
      
        Run
          ip link set dev lo mtu 1500
          iptables -A OUTPUT -m string --string 'badstring' -algo bm -j ACCEPT
          dd if=/dev/urandom of=in bs=1M count=20
          nc -l -p 8000 > /dev/null &
          nc -w 1 -q 0 localhost 8000 < in
      Signed-off-by: NWillem de Bruijn <willemb@google.com>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      97550f6f
  10. 10 1月, 2021 1 次提交
  11. 09 1月, 2021 8 次提交
  12. 08 1月, 2021 12 次提交
  13. 29 12月, 2020 2 次提交