14 Jun, 2020

1 commit

  • Since commit 84af7a6194e4 ("checkpatch: kconfig: prefer 'help' over
    '---help---'"), the number of '---help---' has been gradually
    decreasing, but there are still more than 2400 instances.

    This commit finishes the conversion. While I touched the lines,
    I also fixed the indentation.

    There are a variety of indentation styles found.

    a) 4 spaces + '---help---'
    b) 7 spaces + '---help---'
    c) 8 spaces + '---help---'
    d) 1 space + 1 tab + '---help---'
    e) 1 tab + '---help---' (correct indentation)
    f) 1 tab + 1 space + '---help---'
    g) 1 tab + 2 spaces + '---help---'

    In order to convert all of them to 1 tab + 'help', I ran the
    following commend:

    $ find . -name 'Kconfig*' | xargs sed -i 's/^[[:space:]]*---help---/\thelp/'

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

21 May, 2019

1 commit


13 Jul, 2018

1 commit

  • When pulling the NSH header in nsh_gso_segment, set the mac length
    based on the encapsulated packet type.

    skb_reset_mac_len computes an offset to the network header, which
    here still points to the outer packet:

    > skb_reset_network_header(skb);
    > [...]
    > __skb_pull(skb, nsh_len);
    > skb_reset_mac_header(skb); // now mac hdr starts nsh_len == 8B after net hdr
    > skb_reset_mac_len(skb); // mac len = net hdr - mac hdr == (u16) -8 == 65528
    > [..]
    > skb_mac_gso_segment(skb, ..)

    Link: http://lkml.kernel.org/r/CAF=yD-KeAcTSOn4AxirAxL8m7QAS8GBBe1w09eziYwvPbbUeYA@mail.gmail.com
    Reported-by: syzbot+7b9ed9872dab8c32305d@syzkaller.appspotmail.com
    Fixes: c411ed854584 ("nsh: add GSO support")
    Signed-off-by: Willem de Bruijn
    Acked-by: Jiri Benc
    Signed-off-by: David S. Miller

    Willem de Bruijn
     

05 May, 2018

1 commit

  • syzbot caught an infinite recursion in nsh_gso_segment().

    Problem here is that we need to make sure the NSH header is of
    reasonable length.

    BUG: MAX_LOCK_DEPTH too low!
    turning off the locking correctness validator.
    depth: 48 max: 48!
    48 locks held by syz-executor0/10189:
    #0: (ptrval) (rcu_read_lock_bh){....}, at: __dev_queue_xmit+0x30f/0x34c0 net/core/dev.c:3517
    #1: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #1: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #2: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #2: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #3: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #3: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #4: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #4: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #5: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #5: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #6: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #6: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #7: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #7: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #8: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #8: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #9: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #9: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #10: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #10: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #11: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #11: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #12: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #12: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #13: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #13: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #14: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #14: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #15: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #15: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #16: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #16: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #17: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #17: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #18: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #18: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #19: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #19: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #20: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #20: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #21: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #21: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #22: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #22: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #23: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #23: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #24: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #24: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #25: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #25: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #26: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #26: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #27: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #27: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #28: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #28: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #29: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #29: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #30: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #30: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #31: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #31: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    dccp_close: ABORT with 65423 bytes unread
    #32: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #32: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #33: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #33: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #34: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #34: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #35: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #35: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #36: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #36: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #37: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #37: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #38: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #38: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #39: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #39: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #40: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #40: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #41: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #41: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #42: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #42: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #43: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #43: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #44: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #44: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #45: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #45: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #46: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #46: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    #47: (ptrval) (rcu_read_lock){....}, at: __skb_pull include/linux/skbuff.h:2080 [inline]
    #47: (ptrval) (rcu_read_lock){....}, at: skb_mac_gso_segment+0x221/0x720 net/core/dev.c:2787
    INFO: lockdep is turned off.
    CPU: 1 PID: 10189 Comm: syz-executor0 Not tainted 4.17.0-rc2+ #26
    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
    __lock_acquire+0x1788/0x5140 kernel/locking/lockdep.c:3449
    lock_acquire+0x1dc/0x520 kernel/locking/lockdep.c:3920
    rcu_lock_acquire include/linux/rcupdate.h:246 [inline]
    rcu_read_lock include/linux/rcupdate.h:632 [inline]
    skb_mac_gso_segment+0x25b/0x720 net/core/dev.c:2789
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    nsh_gso_segment+0x405/0xb60 net/nsh/nsh.c:107
    skb_mac_gso_segment+0x3ad/0x720 net/core/dev.c:2792
    __skb_gso_segment+0x3bb/0x870 net/core/dev.c:2865
    skb_gso_segment include/linux/netdevice.h:4025 [inline]
    validate_xmit_skb+0x54d/0xd90 net/core/dev.c:3118
    validate_xmit_skb_list+0xbf/0x120 net/core/dev.c:3168
    sch_direct_xmit+0x354/0x11e0 net/sched/sch_generic.c:312
    qdisc_restart net/sched/sch_generic.c:399 [inline]
    __qdisc_run+0x741/0x1af0 net/sched/sch_generic.c:410
    __dev_xmit_skb net/core/dev.c:3243 [inline]
    __dev_queue_xmit+0x28ea/0x34c0 net/core/dev.c:3551
    dev_queue_xmit+0x17/0x20 net/core/dev.c:3616
    packet_snd net/packet/af_packet.c:2951 [inline]
    packet_sendmsg+0x40f8/0x6070 net/packet/af_packet.c:2976
    sock_sendmsg_nosec net/socket.c:629 [inline]
    sock_sendmsg+0xd5/0x120 net/socket.c:639
    __sys_sendto+0x3d7/0x670 net/socket.c:1789
    __do_sys_sendto net/socket.c:1801 [inline]
    __se_sys_sendto net/socket.c:1797 [inline]
    __x64_sys_sendto+0xe1/0x1a0 net/socket.c:1797
    do_syscall_64+0x1b1/0x800 arch/x86/entry/common.c:287
    entry_SYSCALL_64_after_hwframe+0x49/0xbe

    Fixes: c411ed854584 ("nsh: add GSO support")
    Signed-off-by: Eric Dumazet
    Cc: Jiri Benc
    Reported-by: syzbot
    Acked-by: Jiri Benc
    Signed-off-by: David S. Miller

    Eric Dumazet
     

08 Nov, 2017

1 commit

  • v16->17
    - Fixed disputed check code: keep them in nsh_push and nsh_pop
    but also add them in __ovs_nla_copy_actions

    v15->v16
    - Add csum recalculation for nsh_push, nsh_pop and set_nsh
    pointed out by Pravin
    - Move nsh key into the union with ipv4 and ipv6 and add
    check for nsh key in match_validate pointed out by Pravin
    - Add nsh check in validate_set and __ovs_nla_copy_actions

    v14->v15
    - Check size in nsh_hdr_from_nlattr
    - Fixed four small issues pointed out By Jiri and Eric

    v13->v14
    - Rename skb_push_nsh to nsh_push per Dave's comment
    - Rename skb_pop_nsh to nsh_pop per Dave's comment

    v12->v13
    - Fix NSH header length check in set_nsh

    v11->v12
    - Fix missing changes old comments pointed out
    - Fix new comments for v11

    v10->v11
    - Fix the left three disputable comments for v9
    but not fixed in v10.

    v9->v10
    - Change struct ovs_key_nsh to
    struct ovs_nsh_key_base base;
    __be32 context[NSH_MD1_CONTEXT_SIZE];
    - Fix new comments for v9

    v8->v9
    - Fix build error reported by daily intel build
    because nsh module isn't selected by openvswitch

    v7->v8
    - Rework nested value and mask for OVS_KEY_ATTR_NSH
    - Change pop_nsh to adapt to nsh kernel module
    - Fix many issues per comments from Jiri Benc

    v6->v7
    - Remove NSH GSO patches in v6 because Jiri Benc
    reworked it as another patch series and they have
    been merged.
    - Change it to adapt to nsh kernel module added by NSH
    GSO patch series

    v5->v6
    - Fix the rest comments for v4.
    - Add NSH GSO support for VxLAN-gpe + NSH and
    Eth + NSH.

    v4->v5
    - Fix many comments by Jiri Benc and Eric Garver
    for v4.

    v3->v4
    - Add new NSH match field ttl
    - Update NSH header to the latest format
    which will be final format and won't change
    per its author's confirmation.
    - Fix comments for v3.

    v2->v3
    - Change OVS_KEY_ATTR_NSH to nested key to handle
    length-fixed attributes and length-variable
    attriubte more flexibly.
    - Remove struct ovs_action_push_nsh completely
    - Add code to handle nested attribute for SET_MASKED
    - Change PUSH_NSH to use the nested OVS_KEY_ATTR_NSH
    to transfer NSH header data.
    - Fix comments and coding style issues by Jiri and Eric

    v1->v2
    - Change encap_nsh and decap_nsh to push_nsh and pop_nsh
    - Dynamically allocate struct ovs_action_push_nsh for
    length-variable metadata.

    OVS master and 2.8 branch has merged NSH userspace
    patch series, this patch is to enable NSH support
    in kernel data path in order that OVS can support
    NSH in compat mode by porting this.

    Signed-off-by: Yi Yang
    Acked-by: Jiri Benc
    Acked-by: Eric Garver
    Acked-by: Pravin Shelar
    Signed-off-by: David S. Miller

    Yi Yang
     

30 Aug, 2017

1 commit

  • Add a new nsh/ directory. It currently holds only GSO functions but more
    will come: in particular, code shared by openvswitch and tc to manipulate
    NSH headers.

    For now, assume there's no hardware support for NSH segmentation. We can
    always introduce netdev->nsh_features later.

    Signed-off-by: Jiri Benc
    Signed-off-by: David S. Miller

    Jiri Benc