)]}'
{
  "log": [
    {
      "commit": "efa90b50934c93647e41da23d87e5d8b670014d4",
      "tree": "68dc7b0288ad40fafd58ef923a6ddcfe37b25a8d",
      "parents": [
        "09d8ad16885ee2ea3b9a4d4735ae053f425a1faf"
      ],
      "author": {
        "name": "Lorenzo Bianconi",
        "email": "lorenzo@kernel.org",
        "time": "Mon Sep 28 13:24:57 2020 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Sep 28 23:30:42 2020 +0200"
      },
      "message": "bpf, cpumap: Remove rcpu pointer from cpu_map_build_skb signature\n\nGet rid of bpf_cpu_map_entry pointer in cpu_map_build_skb routine\nsignature since it is no longer needed.\n\nSigned-off-by: Lorenzo Bianconi \u003clorenzo@kernel.org\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nLink: https://lore.kernel.org/bpf/33cb9b7dc447de3ea6fd6ce713ac41bca8794423.1601292015.git.lorenzo@kernel.org\n"
    },
    {
      "commit": "09d8ad16885ee2ea3b9a4d4735ae053f425a1faf",
      "tree": "29a4777062105484362120c0279d2d3a9a3b91c7",
      "parents": [
        "88f7fe7233244101fa5b7786e2e298bf27fe1375"
      ],
      "author": {
        "name": "Song Liu",
        "email": "songliubraving@fb.com",
        "time": "Fri Sep 25 13:54:31 2020 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Sep 28 21:52:36 2020 +0200"
      },
      "message": "selftests/bpf: Add raw_tp_test_run\n\nThis test runs test_run for raw_tracepoint program. The test covers ctx\ninput, retval output, and running on correct cpu.\n\nSigned-off-by: Song Liu \u003csongliubraving@fb.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nAcked-by: Andrii Nakryiko \u003candriin@fb.com\u003e\nLink: https://lore.kernel.org/bpf/20200925205432.1777-4-songliubraving@fb.com\n"
    },
    {
      "commit": "88f7fe7233244101fa5b7786e2e298bf27fe1375",
      "tree": "168b966ed1f1b5788ad78f65d8e403f265d13f7f",
      "parents": [
        "1b4d60ec162f82ea29a2e7a907b5c6cc9f926321"
      ],
      "author": {
        "name": "Song Liu",
        "email": "songliubraving@fb.com",
        "time": "Fri Sep 25 13:54:30 2020 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Sep 28 21:52:36 2020 +0200"
      },
      "message": "libbpf: Support test run of raw tracepoint programs\n\nAdd bpf_prog_test_run_opts() with support of new fields in bpf_attr.test,\nnamely, flags and cpu. Also extend _opts operations to support outputs via\nopts.\n\nSigned-off-by: Song Liu \u003csongliubraving@fb.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nAcked-by: Andrii Nakryiko \u003candriin@fb.com\u003e\nLink: https://lore.kernel.org/bpf/20200925205432.1777-3-songliubraving@fb.com\n"
    },
    {
      "commit": "1b4d60ec162f82ea29a2e7a907b5c6cc9f926321",
      "tree": "150d204cf6808e314999690a7f751235b077b448",
      "parents": [
        "1fd17c8cd0aa636afcf441ee23023b5a7cba4efa"
      ],
      "author": {
        "name": "Song Liu",
        "email": "songliubraving@fb.com",
        "time": "Fri Sep 25 13:54:29 2020 -0700"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Sep 28 21:52:36 2020 +0200"
      },
      "message": "bpf: Enable BPF_PROG_TEST_RUN for raw_tracepoint\n\nAdd .test_run for raw_tracepoint. Also, introduce a new feature that runs\nthe target program on a specific CPU. This is achieved by a new flag in\nbpf_attr.test, BPF_F_TEST_RUN_ON_CPU. When this flag is set, the program\nis triggered on cpu with id bpf_attr.test.cpu. This feature is needed for\nBPF programs that handle perf_event and other percpu resources, as the\nprogram can access these resource locally.\n\nSigned-off-by: Song Liu \u003csongliubraving@fb.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nAcked-by: John Fastabend \u003cjohn.fastabend@gmail.com\u003e\nAcked-by: Andrii Nakryiko \u003candriin@fb.com\u003e\nLink: https://lore.kernel.org/bpf/20200925205432.1777-2-songliubraving@fb.com\n"
    },
    {
      "commit": "1fd17c8cd0aa636afcf441ee23023b5a7cba4efa",
      "tree": "b1ba6171b35d6320f166fec1d4bebb60bd2963d4",
      "parents": [
        "ba5f4cfeac77fca981b199ec7f2396a3616e5216"
      ],
      "author": {
        "name": "Magnus Karlsson",
        "email": "magnus.karlsson@intel.com",
        "time": "Sat Sep 26 11:26:13 2020 +0200"
      },
      "committer": {
        "name": "Daniel Borkmann",
        "email": "daniel@iogearbox.net",
        "time": "Mon Sep 28 21:18:01 2020 +0200"
      },
      "message": "xsk: Fix possible crash in socket_release when out-of-memory\n\nFix possible crash in socket_release when an out-of-memory error has\noccurred in the bind call. If a socket using the XDP_SHARED_UMEM flag\nencountered an error in xp_create_and_assign_umem, the bind code\njumped to the exit routine but erroneously forgot to set the err value\nbefore jumping. This meant that the exit routine thought the setup\nwent well and set the state of the socket to XSK_BOUND. The xsk socket\nrelease code will then, at application exit, think that this is a\nproperly setup socket, when it is not, leading to a crash when all\nfields in the socket have in fact not been initialized properly. Fix\nthis by setting the err variable in xsk_bind so that the socket is not\nset to XSK_BOUND which leads to the clean-up in xsk_release not being\ntriggered.\n\nFixes: 1c1efc2af158 (\"xsk: Create and free buffer pool independently from umem\")\nReported-by: syzbot+ddc7b4944bc61da19b81@syzkaller.appspotmail.com\nSigned-off-by: Magnus Karlsson \u003cmagnus.karlsson@intel.com\u003e\nSigned-off-by: Daniel Borkmann \u003cdaniel@iogearbox.net\u003e\nLink: https://lore.kernel.org/bpf/1601112373-10595-1-git-send-email-magnus.karlsson@gmail.com\n"
    },
    {
      "commit": "ba5f4cfeac77fca981b199ec7f2396a3616e5216",
      "tree": "38b830f22adca729f67c432bef9213b81a9127c9",
      "parents": [
        "99d4def4d08507474b250dad6345d14715a4726b"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.fastabend@gmail.com",
        "time": "Thu Sep 24 12:58:40 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 17:05:14 2020 -0700"
      },
      "message": "bpf: Add comment to document BTF type PTR_TO_BTF_ID_OR_NULL\n\nThe meaning of PTR_TO_BTF_ID_OR_NULL differs slightly from other types\ndenoted with the *_OR_NULL type. For example the types PTR_TO_SOCKET\nand PTR_TO_SOCKET_OR_NULL can be used for branch analysis because the\ntype PTR_TO_SOCKET is guaranteed to _not_ have a null value.\n\nIn contrast PTR_TO_BTF_ID and BTF_TO_BTF_ID_OR_NULL have slightly\ndifferent meanings. A PTR_TO_BTF_TO_ID may be a pointer to NULL value,\nbut it is safe to read this pointer in the program context because\nthe program context will handle any faults. The fallout is for\nPTR_TO_BTF_ID the verifier can assume reads are safe, but can not\nuse the type in branch analysis. Additionally, authors need to be\nextra careful when passing PTR_TO_BTF_ID into helpers. In general\nhelpers consuming type PTR_TO_BTF_ID will need to assume it may\nbe null.\n\nSeeing the above is not obvious to readers without the back knowledge\nlets add a comment in the type definition.\n\nEditorial comment, as networking and tracing programs get closer\nand more tightly merged we may need to consider a new type that we\ncan ensure is non-null for branch analysis and also passing into\nhelpers.\n\nSigned-off-by: John Fastabend \u003cjohn.fastabend@gmail.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nAcked-by: Lorenz Bauer \u003clmb@cloudflare.com\u003e\n"
    },
    {
      "commit": "99d4def4d08507474b250dad6345d14715a4726b",
      "tree": "bcf45b695eacf2e94bc2c8ddf58a8f6b4bdb8d4f",
      "parents": [
        "4fbb38a3b2cc7bf4340fe9bd9c73622760adc19d"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.fastabend@gmail.com",
        "time": "Thu Sep 24 11:45:22 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 16:47:21 2020 -0700"
      },
      "message": "bpf: Add AND verifier test case where 32bit and 64bit bounds differ\n\nIf we AND two values together that are known in the 32bit subregs, but not\nknown in the 64bit registers we rely on the tnum value to report the 32bit\nsubreg is known. And do not use mark_reg_known() directly from\nscalar32_min_max_and()\n\nAdd an AND test to cover the case with known 32bit subreg, but unknown\n64bit reg.\n\nSigned-off-by: John Fastabend \u003cjohn.fastabend@gmail.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "4fbb38a3b2cc7bf4340fe9bd9c73622760adc19d",
      "tree": "1e4be30e2794b80015074db7f3753054a11940f8",
      "parents": [
        "84085f877295b6b12d95262ec4082447214b09be"
      ],
      "author": {
        "name": "John Fastabend",
        "email": "john.fastabend@gmail.com",
        "time": "Thu Sep 24 11:45:06 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 16:47:21 2020 -0700"
      },
      "message": "bpf, verifier: Remove redundant var_off.value ops in scalar known reg cases\n\nIn BPF_AND and BPF_OR alu cases we have this pattern when the src and dst\ntnum is a constant.\n\n 1 dst_reg-\u003evar_off \u003d tnum_[op](dst_reg-\u003evar_off, src_reg.var_off)\n 2 scalar32_min_max_[op]\n 3       if (known) return\n 4 scalar_min_max_[op]\n 5       if (known)\n 6          __mark_reg_known(dst_reg,\n                   dst_reg-\u003evar_off.value [op] src_reg.var_off.value)\n\nThe result is in 1 we calculate the var_off value and store it in the\ndst_reg. Then in 6 we duplicate this logic doing the op again on the\nvalue.\n\nThe duplication comes from the the tnum_[op] handlers because they have\nalready done the value calcuation. For example this is tnum_and().\n\n struct tnum tnum_and(struct tnum a, struct tnum b)\n {\n\tu64 alpha, beta, v;\n\n\talpha \u003d a.value | a.mask;\n\tbeta \u003d b.value | b.mask;\n\tv \u003d a.value \u0026 b.value;\n\treturn TNUM(v, alpha \u0026 beta \u0026 ~v);\n }\n\nSo lets remove the redundant op calculation. Its confusing for readers\nand unnecessary. Its also not harmful because those ops have the\nproperty, r1 \u0026 r1 \u003d r1 and r1 | r1 \u003d r1.\n\nSigned-off-by: John Fastabend \u003cjohn.fastabend@gmail.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "84085f877295b6b12d95262ec4082447214b09be",
      "tree": "b37f9459a76aaaca81d41c0ce6ecd4bf9597a980",
      "parents": [
        "182bf3f3ddb607a0715b73a8396af1fce0945c14",
        "9a856cae2217ca1bc0726417d32f3f1daf035389"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:02 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 14:16:35 2020 -0700"
      },
      "message": "Merge branch \u0027enable-bpf_skc-cast-for-networking-progs\u0027\n\nMartin KaFai Lau says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThis set allows networking prog type to directly read fields from\nthe in-kernel socket type, e.g. \"struct tcp_sock\".\n\nPatch 2 has the details on the use case.\n\nv3:\n- Pass arg_btf_id instead of fn into check_reg_type() in Patch 1 (Lorenz)\n- Move arg_btf_id from func_proto to struct bpf_reg_types in Patch 2 (Lorenz)\n- Remove test_sock_fields from .gitignore in Patch 8 (Andrii)\n- Add tests to have better coverage on the modified helpers (Alexei)\n  Patch 13 is added.\n- Use \"void *sk\" as the helper argument in UAPI bpf.h\n\nv3:\n- ARG_PTR_TO_SOCK_COMMON_OR_NULL was attempted in v2.  The _OR_NULL was\n  needed because the PTR_TO_BTF_ID could be NULL but note that a could be NULL\n  PTR_TO_BTF_ID is not a scalar NULL to the verifier.  \"_OR_NULL\" implicitly\n  gives an expectation that the helper can take a scalar NULL which does\n  not make sense in most (except one) helpers.  Passing scalar NULL\n  should be rejected at the verification time.\n\n  Thus, this patch uses ARG_PTR_TO_BTF_ID_SOCK_COMMON to specify that the\n  helper can take both the btf-id ptr or the legacy PTR_TO_SOCK_COMMON but\n  not scalar NULL.  It requires the func_proto to explicitly specify the\n  arg_btf_id such that there is a very clear expectation that the helper\n  can handle a NULL PTR_TO_BTF_ID.\n\nv2:\n- Add ARG_PTR_TO_SOCK_COMMON_OR_NULL (Lorenz)\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "9a856cae2217ca1bc0726417d32f3f1daf035389",
      "tree": "b37f9459a76aaaca81d41c0ce6ecd4bf9597a980",
      "parents": [
        "0c402c6c3031fd6ba23c6a2433b9f804da093b20"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:04:58 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:02 2020 -0700"
      },
      "message": "bpf: selftest: Add test_btf_skc_cls_ingress\n\nThis patch attaches a classifier prog to the ingress filter.\nIt exercises the following helpers with different socket pointer\ntypes in different logical branches:\n1. bpf_sk_release()\n2. bpf_sk_assign()\n3. bpf_skc_to_tcp_request_sock(), bpf_skc_to_tcp_sock()\n4. bpf_tcp_gen_syncookie, bpf_tcp_check_syncookie\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20200925000458.3859627-1-kafai@fb.com\n"
    },
    {
      "commit": "0c402c6c3031fd6ba23c6a2433b9f804da093b20",
      "tree": "9249884b09cf9525f0b79add5f05371a121290d8",
      "parents": [
        "edc2d66ad1851db6bd89a611b4e46470f1a40ba9"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:04:52 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:02 2020 -0700"
      },
      "message": "bpf: selftest: Remove enum tcp_ca_state from bpf_tcp_helpers.h\n\nThe enum tcp_ca_state is available in \u003clinux/tcp.h\u003e.\nRemove it from the bpf_tcp_helpers.h to avoid conflict when the bpf prog\nneeds to include both both \u003clinux/tcp.h\u003e and bpf_tcp_helpers.h.\n\nModify the bpf_cubic.c and bpf_dctcp.c to use \u003clinux/tcp.h\u003e instead.\nThe \u003clinux/stddef.h\u003e is needed by \u003clinux/tcp.h\u003e.\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20200925000452.3859313-1-kafai@fb.com\n"
    },
    {
      "commit": "edc2d66ad1851db6bd89a611b4e46470f1a40ba9",
      "tree": "1edab3b11e5cf6f9c7973016c7e1bf9f0b813967",
      "parents": [
        "c40a565a04afd0429ecc8a1a2c9aff897796118f"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:04:46 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:02 2020 -0700"
      },
      "message": "bpf: selftest: Use bpf_skc_to_tcp_sock() in the sock_fields test\n\nThis test uses bpf_skc_to_tcp_sock() to get a kernel tcp_sock ptr \"ktp\".\nAccess the ktp-\u003elsndtime and also pass ktp to bpf_sk_storage_get().\n\nIt also exercises the bpf_sk_cgroup_id() and bpf_sk_ancestor_cgroup_id()\nwith the \"ktp\".  To do that, a parent cgroup and a child cgroup are\ncreated.  The bpf prog is attached to the child cgroup.\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20200925000446.3858975-1-kafai@fb.com\n"
    },
    {
      "commit": "c40a565a04afd0429ecc8a1a2c9aff897796118f",
      "tree": "4324165f9dca8adaea453e86ce162c8bf0a71050",
      "parents": [
        "b18c1f0aa4775bf1ecfbe5942e4e7c6bffdeff6a"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:04:40 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:02 2020 -0700"
      },
      "message": "bpf: selftest: Use network_helpers in the sock_fields test\n\nThis patch uses start_server() and connect_to_fd() from network_helpers.h\nto remove the network testing boiler plate codes.  epoll is no longer\nneeded also since the timeout has already been taken care of also.\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20200925000440.3858639-1-kafai@fb.com\n"
    },
    {
      "commit": "b18c1f0aa4775bf1ecfbe5942e4e7c6bffdeff6a",
      "tree": "90e21ef44629ff498cd5688a1f69c39ea965fa69",
      "parents": [
        "6f521a2bd26870bcd14aac42ff2ce0b1a22ae477"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:04:34 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:02 2020 -0700"
      },
      "message": "bpf: selftest: Adapt sock_fields test to use skel and global variables\n\nskel is used.\n\nGlobal variables are used to store the result from bpf prog.\naddr_map, sock_result_map, and tcp_sock_result_map are gone.\nInstead, global variables listen_tp, srv_sa6, cli_tp,, srv_tp,\nlisten_sk, srv_sk, and cli_sk are added.\nBecause of that, bpf_addr_array_idx and bpf_result_array_idx are also\nno longer needed.\n\nCHECK() macro from test_progs.h is reused and bail as soon as\na CHECK failure.\n\nshutdown() is used to ensure the previous data-ack is received.\nThe bytes_acked, bytes_received, and the pkt_out_cnt checks are\nusing \"\u003c\" to accommodate the final ack may not have been received/sent.\nIt is enough since it is not the focus of this test.\n\nThe sk local storage is all initialized to 0xeB9F now, so the\ncheck_sk_pkt_out_cnt() always checks with the 0xeB9F base.  It is to\nkeep things simple.\n\nThe next patch will reuse helpers from network_helpers.h to simplify\nthings further.\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20200925000434.3858204-1-kafai@fb.com\n"
    },
    {
      "commit": "6f521a2bd26870bcd14aac42ff2ce0b1a22ae477",
      "tree": "4a992db445473881e94be341da164fd457ab4a8e",
      "parents": [
        "5d13746dd8359e1d0b354b557ebb36e8e1939a6c"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:04:27 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:02 2020 -0700"
      },
      "message": "bpf: selftest: Move sock_fields test into test_progs\n\nThis is a mechanical change to\n1. move test_sock_fields.c to prog_tests/sock_fields.c\n2. rename progs/test_sock_fields_kern.c to progs/test_sock_fields.c\n\nMinimal change is made to the code itself.  Next patch will make\nchanges to use new ways of writing test, e.g. use skel and global\nvariables.\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20200925000427.3857814-1-kafai@fb.com\n"
    },
    {
      "commit": "5d13746dd8359e1d0b354b557ebb36e8e1939a6c",
      "tree": "092b083e6dd22a5350f77436f3fd5809cf700ce6",
      "parents": [
        "27e5203bd9c5cc6d54dcac48c3027f3f04522b8b"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:04:21 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:02 2020 -0700"
      },
      "message": "bpf: selftest: Add ref_tracking verifier test for bpf_skc casting\n\nThe patch tests for:\n1. bpf_sk_release() can be called on a tcp_sock btf_id ptr.\n\n2. Ensure the tcp_sock btf_id pointer cannot be used\n   after bpf_sk_release().\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nAcked-by: Lorenz Bauer \u003clmb@cloudflare.com\u003e\nLink: https://lore.kernel.org/bpf/20200925000421.3857616-1-kafai@fb.com\n"
    },
    {
      "commit": "27e5203bd9c5cc6d54dcac48c3027f3f04522b8b",
      "tree": "9ad54aac549bbb1ae4cfc87b1d0c69019ed4a686",
      "parents": [
        "c0df236e1394970f3503a8fb103de95d000014ca"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:04:15 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:02 2020 -0700"
      },
      "message": "bpf: Change bpf_sk_assign to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON\n\nThis patch changes the bpf_sk_assign() to take\nARG_PTR_TO_BTF_ID_SOCK_COMMON such that they will work with the pointer\nreturned by the bpf_skc_to_*() helpers also.\n\nThe bpf_sk_lookup_assign() is taking ARG_PTR_TO_SOCKET_\"OR_NULL\".  Meaning\nit specifically takes a literal NULL.  ARG_PTR_TO_BTF_ID_SOCK_COMMON\ndoes not allow a literal NULL, so another ARG type is required\nfor this purpose and another follow-up patch can be used if\nthere is such need.\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20200925000415.3857374-1-kafai@fb.com\n"
    },
    {
      "commit": "c0df236e1394970f3503a8fb103de95d000014ca",
      "tree": "933a3d58ddfbc0164ec4552222c3e0d819c20110",
      "parents": [
        "592a3498648af000e93dff2d36229ab11cd8c7f6"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:04:09 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:01 2020 -0700"
      },
      "message": "bpf: Change bpf_tcp_*_syncookie to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON\n\nThis patch changes the bpf_tcp_*_syncookie() to take\nARG_PTR_TO_BTF_ID_SOCK_COMMON such that they will work with the pointer\nreturned by the bpf_skc_to_*() helpers also.\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nAcked-by: Lorenz Bauer \u003clmb@cloudflare.com\u003e\nLink: https://lore.kernel.org/bpf/20200925000409.3856725-1-kafai@fb.com\n"
    },
    {
      "commit": "592a3498648af000e93dff2d36229ab11cd8c7f6",
      "tree": "3b79eb23f44199dd73ae232950ed4d025a4bd8c5",
      "parents": [
        "a5fa25adf03d4b063aece74ba70ccbb3a71af122"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:04:02 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:01 2020 -0700"
      },
      "message": "bpf: Change bpf_sk_storage_*() to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON\n\nThis patch changes the bpf_sk_storage_*() to take\nARG_PTR_TO_BTF_ID_SOCK_COMMON such that they will work with the pointer\nreturned by the bpf_skc_to_*() helpers also.\n\nA micro benchmark has been done on a \"cgroup_skb/egress\" bpf program\nwhich does a bpf_sk_storage_get().  It was driven by netperf doing\na 4096 connected UDP_STREAM test with 64bytes packet.\nThe stats from \"kernel.bpf_stats_enabled\" shows no meaningful difference.\n\nThe sk_storage_get_btf_proto, sk_storage_delete_btf_proto,\nbtf_sk_storage_get_proto, and btf_sk_storage_delete_proto are\nno longer needed, so they are removed.\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nAcked-by: Lorenz Bauer \u003clmb@cloudflare.com\u003e\nLink: https://lore.kernel.org/bpf/20200925000402.3856307-1-kafai@fb.com\n"
    },
    {
      "commit": "a5fa25adf03d4b063aece74ba70ccbb3a71af122",
      "tree": "654f3b361da1fc52c2f57ee3c9b01a30caa89139",
      "parents": [
        "1df8f55a37bd286a3d40192980050bc3d7d78887"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:03:56 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:01 2020 -0700"
      },
      "message": "bpf: Change bpf_sk_release and bpf_sk_*cgroup_id to accept ARG_PTR_TO_BTF_ID_SOCK_COMMON\n\nThe previous patch allows the networking bpf prog to use the\nbpf_skc_to_*() helpers to get a PTR_TO_BTF_ID socket pointer,\ne.g. \"struct tcp_sock *\".  It allows the bpf prog to read all the\nfields of the tcp_sock.\n\nThis patch changes the bpf_sk_release() and bpf_sk_*cgroup_id()\nto take ARG_PTR_TO_BTF_ID_SOCK_COMMON such that they will\nwork with the pointer returned by the bpf_skc_to_*() helpers\nalso.  For example, the following will work:\n\n\tsk \u003d bpf_skc_lookup_tcp(skb, tuple, tuplen, BPF_F_CURRENT_NETNS, 0);\n\tif (!sk)\n\t\treturn;\n\ttp \u003d bpf_skc_to_tcp_sock(sk);\n\tif (!tp) {\n\t\tbpf_sk_release(sk);\n\t\treturn;\n\t}\n\tlsndtime \u003d tp-\u003elsndtime;\n\t/* Pass tp to bpf_sk_release() will also work */\n\tbpf_sk_release(tp);\n\nSince PTR_TO_BTF_ID could be NULL, the helper taking\nARG_PTR_TO_BTF_ID_SOCK_COMMON has to check for NULL at runtime.\n\nA btf_id of \"struct sock\" may not always mean a fullsock.  Regardless\nthe helper\u0027s running context may get a non-fullsock or not,\nconsidering fullsock check/handling is pretty cheap, it is better to\nkeep the same verifier expectation on helper that takes ARG_PTR_TO_BTF_ID*\nwill be able to handle the minisock situation.  In the bpf_sk_*cgroup_id()\ncase,  it will try to get a fullsock by using sk_to_full_sk() as its\nskb variant bpf_sk\"b\"_*cgroup_id() has already been doing.\n\nbpf_sk_release can already handle minisock, so nothing special has to\nbe done.\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nLink: https://lore.kernel.org/bpf/20200925000356.3856047-1-kafai@fb.com\n"
    },
    {
      "commit": "1df8f55a37bd286a3d40192980050bc3d7d78887",
      "tree": "5cdee3eb07d15e6ff4d26993f1814c994e076a44",
      "parents": [
        "a968d5e277f1a640a3184561ac2c39261ba79196"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:03:50 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:01 2020 -0700"
      },
      "message": "bpf: Enable bpf_skc_to_* sock casting helper to networking prog type\n\nThere is a constant need to add more fields into the bpf_tcp_sock\nfor the bpf programs running at tc, sock_ops...etc.\n\nA current workaround could be to use bpf_probe_read_kernel().  However,\nother than making another helper call for reading each field and missing\nCO-RE, it is also not as intuitive to use as directly reading\n\"tp-\u003elsndtime\" for example.  While already having perfmon cap to do\nbpf_probe_read_kernel(), it will be much easier if the bpf prog can\ndirectly read from the tcp_sock.\n\nThis patch tries to do that by using the existing casting-helpers\nbpf_skc_to_*() whose func_proto returns a btf_id.  For example, the\nfunc_proto of bpf_skc_to_tcp_sock returns the btf_id of the\nkernel \"struct tcp_sock\".\n\nThese helpers are also added to is_ptr_cast_function().\nIt ensures the returning reg (BPF_REF_0) will also carries the ref_obj_id.\nThat will keep the ref-tracking works properly.\n\nThe bpf_skc_to_* helpers are made available to most of the bpf prog\ntypes in filter.c. The bpf_skc_to_* helpers will be limited by\nperfmon cap.\n\nThis patch adds a ARG_PTR_TO_BTF_ID_SOCK_COMMON.  The helper accepting\nthis arg can accept a btf-id-ptr (PTR_TO_BTF_ID + \u0026btf_sock_ids[BTF_SOCK_TYPE_SOCK_COMMON])\nor a legacy-ctx-convert-skc-ptr (PTR_TO_SOCK_COMMON).  The bpf_skc_to_*()\nhelpers are changed to take ARG_PTR_TO_BTF_ID_SOCK_COMMON such that\nthey will accept pointer obtained from skb-\u003esk.\n\nInstead of specifying both arg_type and arg_btf_id in the same func_proto\nwhich is how the current ARG_PTR_TO_BTF_ID does, the arg_btf_id of\nthe new ARG_PTR_TO_BTF_ID_SOCK_COMMON is specified in the\ncompatible_reg_types[] in verifier.c.  The reason is the arg_btf_id is\nalways the same.  Discussion in this thread:\nhttps://lore.kernel.org/bpf/20200922070422.1917351-1-kafai@fb.com/\n\nThe ARG_PTR_TO_BTF_ID_ part gives a clear expectation that the helper is\nexpecting a PTR_TO_BTF_ID which could be NULL.  This is the same\nbehavior as the existing helper taking ARG_PTR_TO_BTF_ID.\n\nThe _SOCK_COMMON part means the helper is also expecting the legacy\nSOCK_COMMON pointer.\n\nBy excluding the _OR_NULL part, the bpf prog cannot call helper\nwith a literal NULL which doesn\u0027t make sense in most cases.\ne.g. bpf_skc_to_tcp_sock(NULL) will be rejected.  All PTR_TO_*_OR_NULL\nreg has to do a NULL check first before passing into the helper or else\nthe bpf prog will be rejected.  This behavior is nothing new and\nconsistent with the current expectation during bpf-prog-load.\n\n[ ARG_PTR_TO_BTF_ID_SOCK_COMMON will be used to replace\n  ARG_PTR_TO_SOCK* of other existing helpers later such that\n  those existing helpers can take the PTR_TO_BTF_ID returned by\n  the bpf_skc_to_*() helpers.\n\n  The only special case is bpf_sk_lookup_assign() which can accept a\n  literal NULL ptr.  It has to be handled specially in another follow\n  up patch if there is a need (e.g. by renaming ARG_PTR_TO_SOCKET_OR_NULL\n  to ARG_PTR_TO_BTF_ID_SOCK_COMMON_OR_NULL). ]\n\n[ When converting the older helpers that take ARG_PTR_TO_SOCK* in\n  the later patch, if the kernel does not support BTF,\n  ARG_PTR_TO_BTF_ID_SOCK_COMMON will behave like ARG_PTR_TO_SOCK_COMMON\n  because no reg-\u003etype could have PTR_TO_BTF_ID in this case.\n\n  It is not a concern for the newer-btf-only helper like the bpf_skc_to_*()\n  here though because these helpers must require BTF vmlinux to begin\n  with. ]\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nAcked-by: John Fastabend \u003cjohn.fastabend@gmail.com\u003e\nLink: https://lore.kernel.org/bpf/20200925000350.3855720-1-kafai@fb.com\n"
    },
    {
      "commit": "a968d5e277f1a640a3184561ac2c39261ba79196",
      "tree": "b5828c48b421240b444bca470034ace56372c063",
      "parents": [
        "182bf3f3ddb607a0715b73a8396af1fce0945c14"
      ],
      "author": {
        "name": "Martin KaFai Lau",
        "email": "kafai@fb.com",
        "time": "Thu Sep 24 17:03:44 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Fri Sep 25 13:58:01 2020 -0700"
      },
      "message": "bpf: Move the PTR_TO_BTF_ID check to check_reg_type()\n\ncheck_reg_type() checks whether a reg can be used as an arg of a\nfunc_proto.  For PTR_TO_BTF_ID, the check is actually not\ncompletely done until the reg-\u003ebtf_id is pointing to a\nkernel struct that is acceptable by the func_proto.\n\nThus, this patch moves the btf_id check into check_reg_type().\n\"arg_type\" and \"arg_btf_id\" are passed to check_reg_type() instead of\n\"compatible\".  The compatible_reg_types[] usage is localized in\ncheck_reg_type() now.\n\nThe \"if (!btf_id) verbose(...); \" is also removed since it won\u0027t happen.\n\nSigned-off-by: Martin KaFai Lau \u003ckafai@fb.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nAcked-by: Lorenz Bauer \u003clmb@cloudflare.com\u003e\nAcked-by: John Fastabend \u003cjohn.fastabend@gmail.com\u003e\nLink: https://lore.kernel.org/bpf/20200925000344.3854828-1-kafai@fb.com\n"
    },
    {
      "commit": "182bf3f3ddb607a0715b73a8396af1fce0945c14",
      "tree": "d882c33f47f1aff70a14ffd4ce9a997e0d710d40",
      "parents": [
        "f00f2f7fe86036a586e26bd55ad86310477199a3",
        "f747c7e15d7bc71a967a94ceda686cf2460b69e8"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Wed Sep 23 19:32:09 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Wed Sep 23 19:32:09 2020 -0700"
      },
      "message": "Merge branch \u0027rtt-speedup.2020.09.16a\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu into bpf-next\n\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "f00f2f7fe86036a586e26bd55ad86310477199a3",
      "tree": "73e17be3699a1e48974666a0a018e178f2097ef4",
      "parents": [
        "3fc826f121d89c5aa4afd7b3408b07e0ff59466b"
      ],
      "author": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Wed Sep 23 19:10:38 2020 -0700"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Wed Sep 23 19:14:11 2020 -0700"
      },
      "message": "Revert \"bpf: Fix potential call bpf_link_free() in atomic context\"\n\nThis reverts commit 31f23a6a181c81543b10a1a9056b0e6c7ef1c747.\n\nThis change made many selftests/bpf flaky: flow_dissector, sk_lookup, sk_assign and others.\nThere was no issue in the code.\n\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\n"
    },
    {
      "commit": "3fc826f121d89c5aa4afd7b3408b07e0ff59466b",
      "tree": "f86e91e22bcebfedf5755fcc8f217c8581603f08",
      "parents": [
        "9d33ffaaf3173a5850c1f8fa54ce43b47e80f182",
        "0fa45ee3c1cb73be9d3e212d3f78557c95277fdd"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:51:16 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:51:16 2020 -0700"
      },
      "message": "Merge branch \u0027net-dsa-bcm_sf2-Additional-DT-changes\u0027\n\nFlorian Fainelli says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nnet: dsa: bcm_sf2: Additional DT changes\n\nThis patch series includes some additional changes to the bcm_sf2 in\norder to support the Device Tree firmwares provided on such platforms.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0fa45ee3c1cb73be9d3e212d3f78557c95277fdd",
      "tree": "f86e91e22bcebfedf5755fcc8f217c8581603f08",
      "parents": [
        "8c28044097f28e27428922f957b08393f35c3e93"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "f.fainelli@gmail.com",
        "time": "Tue Sep 22 13:03:56 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:51:16 2020 -0700"
      },
      "message": "net: dsa: bcm_sf2: Include address 0 for MDIO diversion\n\nWe need to include MDIO address 0, which is how our Device Tree blobs\nindicate where to find the external BCM53125 switches.\n\nSigned-off-by: Florian Fainelli \u003cf.fainelli@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8c28044097f28e27428922f957b08393f35c3e93",
      "tree": "9d683f433a51818bc1ad6dc81c11f86673b2b764",
      "parents": [
        "9d33ffaaf3173a5850c1f8fa54ce43b47e80f182"
      ],
      "author": {
        "name": "Florian Fainelli",
        "email": "f.fainelli@gmail.com",
        "time": "Tue Sep 22 13:03:55 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:51:15 2020 -0700"
      },
      "message": "net: dsa: bcm_sf2: Disallow port 5 to be a DSA CPU port\n\nWhile the switch driver is written such that port 5 or 8 could be CPU\nports, the use case on Broadcom STB chips is to use port 8 exclusively.\nThe platform firmware does make port 5 comply to a proper DSA CPU port\nbinding by specifiying an \"ethernet\" phandle. This is undesirable for\nnow until we have an user-space configuration mechanism (such as\ndevlink) which could support dynamically changing the port flavor at\nrun time.\n\nSigned-off-by: Florian Fainelli \u003cf.fainelli@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d33ffaaf3173a5850c1f8fa54ce43b47e80f182",
      "tree": "aa55e6bfc573ba828855033de5c648dfee2d4df7",
      "parents": [
        "de2b541b3b1d16184f39d2b165ae9c3f12e37878",
        "a55ff8ef5a6bde5d2cf236ac07c3b6e3a437d421"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:45:23 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:45:45 2020 -0700"
      },
      "message": "Merge branch \u0027octeontx2-Add-support-for-VLAN-based-flow-distribution\u0027\n\nGeorge Cherian says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nocteontx2: Add support for VLAN based flow distribution\n\nThis series add support for VLAN based flow distribution for octeontx2\nnetdev driver. This adds support for configuring the same via ethtool.\n\nFollowing tests have been done.\n\t- Multi VLAN flow with same SD\n\t- Multi VLAN flow with same SDFN\n\t- Single VLAN flow with multi SD\n\t- Single VLAN flow with multi SDFN\nAll tests done for udp/tcp both v4 and v6\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nReviewed-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a55ff8ef5a6bde5d2cf236ac07c3b6e3a437d421",
      "tree": "aa55e6bfc573ba828855033de5c648dfee2d4df7",
      "parents": [
        "8f900363df52311cab72869668905b19d1888ef5"
      ],
      "author": {
        "name": "George Cherian",
        "email": "george.cherian@marvell.com",
        "time": "Tue Sep 22 18:37:27 2020 +0530"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:45:23 2020 -0700"
      },
      "message": "octeontx2-pf: Support to change VLAN based RSS hash options via ethtool\n\nAdd support to control rx-flow-hash based on VLAN.\nBy default VLAN plus 4-tuple based hashing is enabled.\nChanges can be done runtime using ethtool\n\nTo enable 2-tuple plus VLAN based flow distribution\n  # ethtool -N \u003cintf\u003e rx-flow-hash \u003cprot\u003e sdv\nTo enable 4-tuple plus VLAN based flow distribution\n  # ethtool -N \u003cintf\u003e rx-flow-hash \u003cprot\u003e sdfnv\n\nSigned-off-by: George Cherian \u003cgeorge.cherian@marvell.com\u003e\nSigned-off-by: Sunil Goutham \u003csgoutham@marvell.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f900363df52311cab72869668905b19d1888ef5",
      "tree": "50dc11dfd1c0aaa539151a3976399f6d5224b74b",
      "parents": [
        "de2b541b3b1d16184f39d2b165ae9c3f12e37878"
      ],
      "author": {
        "name": "George Cherian",
        "email": "george.cherian@marvell.com",
        "time": "Tue Sep 22 18:37:26 2020 +0530"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:45:23 2020 -0700"
      },
      "message": "octeontx2-af: Add support for VLAN based RSS hashing\n\nAdded support for PF/VF drivers to choose RSS flow key algorithm\nwith VLAN tag included in hashing input data. Only CTAG is considered.\n\nSigned-off-by: George Cherian \u003cgeorge.cherian@marvell.com\u003e\nSigned-off-by: Sunil Goutham \u003csgoutham@marvell.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de2b541b3b1d16184f39d2b165ae9c3f12e37878",
      "tree": "3e9b2380e7d3538a7f54fcf0f389defdc553d71d",
      "parents": [
        "774e9ea6656c9bd7d7ddf6ac86978c4acfca72ad"
      ],
      "author": {
        "name": "Mauro Carvalho Chehab",
        "email": "mchehab+huawei@kernel.org",
        "time": "Tue Sep 22 13:22:52 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:42:54 2020 -0700"
      },
      "message": "net: fix a new kernel-doc warning at dev.c\n\nkernel-doc expects the function prototype to be just after\nthe kernel-doc markup, as otherwise it will get it all wrong:\n\n\t./net/core/dev.c:10036: warning: Excess function parameter \u0027dev\u0027 description in \u0027WAIT_REFS_MIN_MSECS\u0027\n\nFixes: 0e4be9e57e8c (\"net: use exponential backoff in netdev_wait_allrefs\")\nSigned-off-by: Mauro Carvalho Chehab \u003cmchehab+huawei@kernel.org\u003e\nReviewed-by: Francesco Ruggeri \u003cfruggeri@arista.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "774e9ea6656c9bd7d7ddf6ac86978c4acfca72ad",
      "tree": "0db5effec2dbd352b6272f9b85e9523a9b170d28",
      "parents": [
        "35e3dbfafe6d1cdbd37146d8dc63e327c1f4a66b",
        "06fb560602a42246910e410d24dcb48c91b652ad"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:41:15 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:41:15 2020 -0700"
      },
      "message": "Merge branch \u0027net-mdio-ipq4019-add-Clause-45-support\u0027\n\nRobert Marko says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nnet: mdio-ipq4019: add Clause 45 support\n\nThis patch series adds support for Clause 45 to the driver.\n\nWhile at it also change some defines to upper case to match rest of the driver.\n\nChanges since v4:\n* Rebase onto net-next.git\n\nChanges since v1:\n* Drop clock patches, these need further investigation and\nno user for non default configuration has been found\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06fb560602a42246910e410d24dcb48c91b652ad",
      "tree": "0db5effec2dbd352b6272f9b85e9523a9b170d28",
      "parents": [
        "b840ec1efd2495b820025b7d962276662d8ac2c8"
      ],
      "author": {
        "name": "Robert Marko",
        "email": "robert.marko@sartura.hr",
        "time": "Tue Sep 22 12:16:32 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:41:15 2020 -0700"
      },
      "message": "net: mdio-ipq4019: add Clause 45 support\n\nWhile up-streaming the IPQ4019 driver it was thought that the controller had no Clause 45 support,\nbut it actually does and its activated by writing a bit to the mode register.\n\nSo lets add it as newer SoC-s use the same controller and Clause 45 compliant PHY-s.\n\nSigned-off-by: Robert Marko \u003crobert.marko@sartura.hr\u003e\nCc: Luka Perkov \u003cluka.perkov@sartura.hr\u003e\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b840ec1efd2495b820025b7d962276662d8ac2c8",
      "tree": "0ee8b76bf9672a45cceb410e022f308e66dba187",
      "parents": [
        "35e3dbfafe6d1cdbd37146d8dc63e327c1f4a66b"
      ],
      "author": {
        "name": "Robert Marko",
        "email": "robert.marko@sartura.hr",
        "time": "Tue Sep 22 12:16:31 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:41:15 2020 -0700"
      },
      "message": "net: mdio-ipq4019: change defines to upper case\n\nIn the commit adding the IPQ4019 MDIO driver, defines for timeout and sleep partially used lower case.\nLets change it to upper case in line with the rest of driver defines.\n\nSigned-off-by: Robert Marko \u003crobert.marko@sartura.hr\u003e\nCc: Luka Perkov \u003cluka.perkov@sartura.hr\u003e\nReviewed-by: Andrew Lunn \u003candrew@lunn.ch\u003e\nReviewed-by: Florian Fainelli \u003cf.fainelli@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35e3dbfafe6d1cdbd37146d8dc63e327c1f4a66b",
      "tree": "73978061dceb86e7f737eb134a0496fa3611ed3b",
      "parents": [
        "36493269120e1fdc021001431b0cebad7d59958e",
        "31a9746062b84f7a061c82339825391073cd0960"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:35:26 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:35:26 2020 -0700"
      },
      "message": "Merge branch \u0027Introduce-mbox-tracepoints-for-Octeontx2\u0027\n\nSubbaraya Sundeep says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nIntroduce mbox tracepoints for Octeontx2\n\nThis patchset adds tracepoints support for mailbox.\nIn Octeontx2, PFs and VFs need to communicate with AF\nfor allocating and freeing resources. Once all the\nconfiguration is done by AF for a PF/VF then packet I/O\ncan happen on PF/VF queues. When an interface\nis brought up many mailbox messages are sent\nto AF for initializing queues. Say a VF is brought up\nthen each message is sent to PF and PF forwards to\nAF and response also traverses from AF to PF and then VF.\nTo aid debugging, tracepoints are added at places where\nmessages are allocated, sent and message interrupts.\nBelow is the trace of one of the messages from VF to AF\nand AF response back to VF:\n\n~ # echo 1 \u003e /sys/kernel/tracing/events/rvu/enable\n~ # ifconfig eth20 up\n[  279.379559] eth20 NIC Link is UP 10000 Mbps Full duplex\n~ # cat /sys/kernel/tracing/trace\n        ifconfig-171   [000] ....   275.753345: otx2_msg_alloc: [0002:02:00.1] msg:(0x400) size:40\n\n        ifconfig-171   [000] ...1   275.753347: otx2_msg_send: [0002:02:00.1] sent 1 msg(s) of size:48\n\n          \u003cidle\u003e-0     [001] dNh1   275.753356: otx2_msg_interrupt: [0002:02:00.0] mbox interrupt VF(s) to PF (0x1)\n\n    kworker/u9:1-90    [001] ...1   275.753364: otx2_msg_send: [0002:02:00.0] sent 1 msg(s) of size:48\n\n    kworker/u9:1-90    [001] d.h.   275.753367: otx2_msg_interrupt: [0002:01:00.0] mbox interrupt PF(s) to AF (0x2)\n\n    kworker/u9:2-167   [002] ....   275.753535: otx2_msg_process: [0002:01:00.0] msg:(0x400) error:0\n\n    kworker/u9:2-167   [002] ...1   275.753537: otx2_msg_send: [0002:01:00.0] sent 1 msg(s) of size:32\n\n          \u003cidle\u003e-0     [003] d.h1   275.753543: otx2_msg_interrupt: [0002:02:00.0] mbox interrupt AF to PF (0x1)\n\n          \u003cidle\u003e-0     [001] d.h2   275.754376: otx2_msg_interrupt: [0002:02:00.1] mbox interrupt PF to VF (0x1)\n\nv3 changes:\n Removed EXPORT_TRACEPOINT_SYMBOLS of otx2_msg_send and otx2_msg_check\n since they are called locally only\n\nv2 changes:\n Removed otx2_msg_err tracepoint since it is similar to devlink_hwerr\n and it will be used instead when devlink supported is added.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31a9746062b84f7a061c82339825391073cd0960",
      "tree": "73978061dceb86e7f737eb134a0496fa3611ed3b",
      "parents": [
        "49142d12363d14de5b71e4192988b7572e86f001"
      ],
      "author": {
        "name": "Subbaraya Sundeep",
        "email": "sbhatta@marvell.com",
        "time": "Tue Sep 22 08:27:05 2020 +0530"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:35:26 2020 -0700"
      },
      "message": "octeontx2-pf: Add tracepoints for PF/VF mailbox\n\nWith tracepoints support present in the mailbox\ncode this patch adds tracepoints in PF and VF drivers\nat places where mailbox messages are allocated,\nsent and at message interrupts.\n\nSigned-off-by: Subbaraya Sundeep \u003csbhatta@marvell.com\u003e\nSigned-off-by: Sunil Goutham \u003csgoutham@marvell.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "49142d12363d14de5b71e4192988b7572e86f001",
      "tree": "82e230d4accd7f59090ebb88aaf15416a6413804",
      "parents": [
        "36493269120e1fdc021001431b0cebad7d59958e"
      ],
      "author": {
        "name": "Subbaraya Sundeep",
        "email": "sbhatta@marvell.com",
        "time": "Tue Sep 22 08:27:04 2020 +0530"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:35:26 2020 -0700"
      },
      "message": "octeontx2-af: Introduce tracepoints for mailbox\n\nAdded tracepoints in mailbox code so that\nthe mailbox operations like message allocation,\nsending message and message interrupts are traced.\nAlso the mailbox errors occurred like timeout\nor wrong responses are traced.\nThese will help in debugging mailbox issues.\n\nHere\u0027s an example output showing one of the mailbox\nmessages sent by PF to AF and AF responding to it:\n\n~# mount -t tracefs none /sys/kernel/tracing/\n~# echo 1 \u003e /sys/kernel/tracing/events/rvu/enable\n~# ifconfig eth0 up\n~# cat /sys/kernel/tracing/trace\n\n~# cat /sys/kernel/tracing/trace\n tracer: nop\n\n\t\t      _-----\u003d\u003e irqs-off\n\t\t     / _----\u003d\u003e need-resched\n\t\t    | / _---\u003d\u003e hardirq/softirq\n\t\t    || / _--\u003d\u003e preempt-depth\n\t\t    ||| /     delay\n   TASK-PID   CPU#  ||||    TIMESTAMP  FUNCTION\n      | |       |   ||||       |         |\nifconfig-2382  [002] ....   756.161892: otx2_msg_alloc: [0002:02:00.0] msg:(0x400) size:40\n\nifconfig-2382  [002] ...1   756.161895: otx2_msg_send: [0002:02:00.0] sent 1 msg(s) of size:48\n\n \u003cidle\u003e-0     [000] d.h1   756.161902: otx2_msg_interrupt: [0002:01:00.0] mbox interrupt PF(s) to AF (0x2)\n\nkworker/u49:0-1165  [000] ....   756.162049: otx2_msg_process: [0002:01:00.0] msg:(0x400) error:0\n\nkworker/u49:0-1165  [000] ...1   756.162051: otx2_msg_send: [0002:01:00.0] sent 1 msg(s) of size:32\n\nkworker/u49:0-1165  [000] d.h.   756.162056: otx2_msg_interrupt: [0002:02:00.0] mbox interrupt AF to PF (0x1)\n\nSigned-off-by: Subbaraya Sundeep \u003csbhatta@marvell.com\u003e\nSigned-off-by: Sunil Goutham \u003csgoutham@marvell.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36493269120e1fdc021001431b0cebad7d59958e",
      "tree": "cfe222858d04457feffd2a50ad2096bd97e0ed7a",
      "parents": [
        "e4b9146849f246e77da4787657a3a95c1b6d2833"
      ],
      "author": {
        "name": "Barry Song",
        "email": "song.bao.hua@hisilicon.com",
        "time": "Tue Sep 22 13:56:15 2020 +1200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:33:52 2020 -0700"
      },
      "message": "net: allwinner: remove redundant irqsave and irqrestore in hardIRQ\n\nThe comment \"holders of db-\u003elock must always block IRQs\" and related\ncode to do irqsave and irqrestore don\u0027t make sense since we are in a\nIRQ-disabled hardIRQ context.\n\nCc: Maxime Ripard \u003cmripard@kernel.org\u003e\nCc: Chen-Yu Tsai \u003cwens@csie.org\u003e\nSigned-off-by: Barry Song \u003csong.bao.hua@hisilicon.com\u003e\nAcked-by: Maxime Ripard \u003cmripard@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e4b9146849f246e77da4787657a3a95c1b6d2833",
      "tree": "92643ec2bfe06c7e952886fdf1261aa4a2c05204",
      "parents": [
        "68d4fd30c83b1b208e08c954cd45e6474b148c87"
      ],
      "author": {
        "name": "Rikard Falkeborn",
        "email": "rikard.falkeborn@gmail.com",
        "time": "Tue Sep 22 00:55:17 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 17:31:50 2020 -0700"
      },
      "message": "net: hns3: Constify static structs\n\nA number of static variables were not modified. Make them const to allow\nthe compiler to put them in read-only memory. In order to do so,\nconstify a couple of input pointers as well as some local pointers.\nThis moves about 35Kb to read-only memory as seen by the output of the\nsize command.\n\nBefore:\n   text    data     bss     dec     hex filename\n 404938  111534     640  517112   7e3f8 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge.ko\n\nAfter:\n   text    data     bss     dec     hex filename\n 439499   76974     640  517113   7e3f9 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge.ko\n\nSigned-off-by: Rikard Falkeborn \u003crikard.falkeborn@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68d4fd30c83b1b208e08c954cd45e6474b148c87",
      "tree": "b8eacb013ce1b2c83a1b71897496335ddc28ddbc",
      "parents": [
        "35c52c5c88d8496502b71b02c6754ced9e5cc882",
        "36cfec73595ccbaf245b8d6ab31dadbff3962346"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:35 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:35 2020 -0700"
      },
      "message": "Merge branch \u0027net-bridge-mcast-IGMPv3-MLDv2-fast-path-part-2\u0027\n\nNikolay Aleksandrov says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nnet: bridge: mcast: IGMPv3/MLDv2 fast-path (part 2)\n\nThis is the second part of the IGMPv3/MLDv2 support which adds support\nfor the fast-path. In order to be able to handle source entries we add\nmdb support for S,G entries (i.e. we add source address support to\nbr_ip), that requires to extend the current mdb netlink API, fortunately\nwe just add another attribute which will contain nested future mdb\nattributes, then we use it to add support for S,G user- add, del and\ndump. The lookup sequence is simple: when IGMPv3/MLDv2 are enabled do\nthe S,G lookup first and if it fails fallback to *,G. The more complex\npart is when we begin handling source lists and auto-installing S,G entries\nand *,G filter mode transitions. We have the following cases:\n 1) *,G INCLUDE -\u003e EXCLUDE transition: we need to install the port in\n    all of *,G\u0027s installed S,G entries for proper replication (except\n    the ones explicitly blocked), this is also necessary when adding a\n    new *,G EXCLUDE port group\n\n 2) *,G EXCLUDE -\u003e INCLUDE transition: we need to remove the port from\n    all of *,G\u0027s installed S,G entries, this is also necessary when\n    removing a *,G port group\n\n 3) New S,G port entry: we need to install all current *,G EXCLUDE ports\n\n 4) Remove S,G port entry: if all other port groups were auto-installed we\n    can safely remove them and delete the whole S,G entry\n\nCurrently we compute these operations from the available ports, their\nsource lists and their filter mode. In the future we can extend the port\ngroup structure and reduce the running time of these ops. Also one\ncurrent limitation is that host-joined S,G entries are not supported.\nI.e. one cannot add \"dev bridge port bridge\" mdb S,G entries. The host\njoin is currently considered an EXCLUDE {} join, so it\u0027s reflected in\nall of *,G\u0027s installed S,G entries. If an S,G,port entry is added as\ntemporary then the kernel can take it over if a source shows up from a\nreport, permanent entries are skipped. In order to properly handle\nblocked sources we add a new port group blocked flag to avoid forwarding\nto that port group in the S,G. Finally when forwarding we use the port\ngroup filter mode (if it\u0027s INCLUDE and the port group is from a *,G then\ndon\u0027t replicate to it, respectively if it\u0027s EXCLUDE then forward) and the\nblocked flag (obviously if it\u0027s set - skip that port unless it\u0027s a\nrouter port) to decide if the port should be skipped. Another limitation\nis that we can\u0027t do some of the above transitions without small traffic\ndrop while installing/removing entries. That will be taken care of when\nwe add atomic swap of port replication lists later.\n\nPatch break down:\n patches 1-3: prepare the mdb code for better extack support which is\n              used in future patches to return a more meaningful error\n patches 4-6: add the source address field to struct br_ip, and do minor\n              cleanups around it\n patches 7-8: extend the mdb netlink API so we can send new mdb\n              attributes and uses the new API for S,G entry add/del/dump\n              support\n patch     9: takes care of S,G entries when doing a lookup (first S,G\n              then *,G lookup)\n patch    10: adds a new port group field and attribute for origin protocol\n              we use the already available RTPROT_ definitions,\n              currently user-space entries are added as RTPROT_STATIC and\n              kernel entries are added as RTPROT_KERNEL, we may allow\n              user-space to set custom values later (e.g. for FRR, clag)\n patch    11: adds an internal S,G,port rhashtable to speed up filter\n              mode transitions\n patch    12: initial automatic install of S,G entries based on port\n              groups\u0027 source lists\n patch    13: handles port group modes on transitions or when new\n              port group entries are added\n patch    14: self-explanatory - adds support for blocked port group\n              entries needed to stop forwarding to particular S,G,port\n              entries\n patch    15: handles host-join/leave state changes, treats host-joins\n              as EXCLUDE {} groups (reflected in all *,G\u0027s S,G entries)\n patch    16: finally adds the fast-path filter mode and block flag\n              support\n\nHere\u0027re the sets that will come next (in order):\n - iproute2 support for IGMPv3/MLDv2\n - selftests for all mode transitions and group flags\n - explicit host tracking for proper fast-leave support\n - atomic port replication lists (these are also needed for broadcast\n   forwarding optimizations)\n - mode transition optimization and removal of open-coded sorted lists\n\nNot implemented yet:\n - Host IGMPv3/MLDv2 filter support (currently we handle only join/leave\n   as before)\n - Proper other querier source timer and value updates\n - IGMPv3/v2 MLDv2/v1 compat (I have a few rough patches for this one)\n\nv2: fix build with CONFIG_BATMAN_ADV_MCAST in patch 6\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "36cfec73595ccbaf245b8d6ab31dadbff3962346",
      "tree": "b8eacb013ce1b2c83a1b71897496335ddc28ddbc",
      "parents": [
        "094b82fd5342fccaf27b1727a55546dc4b32047e"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:27 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:35 2020 -0700"
      },
      "message": "net: bridge: mcast: when forwarding handle filter mode and blocked flag\n\nWe need to avoid forwarding to ports in MCAST_INCLUDE filter mode when the\nmdst entry is a *,G or when the port has the blocked flag.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "094b82fd5342fccaf27b1727a55546dc4b32047e",
      "tree": "8a9cea7668e089cfafd77982f07b0a4372ba9a61",
      "parents": [
        "9116ffbf1dd71f953ffda4198d01f82d3ca16df8"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:26 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mcast: handle host state\n\nSince host joins are considered as EXCLUDE {} joins we need to reflect\nthat in all of *,G ports\u0027 S,G entries. Since the S,Gs can have\nhost_joined \u003d\u003d true only set automatically we can safely set it to false\nwhen removing all automatically added entries upon S,G delete.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9116ffbf1dd71f953ffda4198d01f82d3ca16df8",
      "tree": "a11b248200402cff1d833e7884b90857c5569561",
      "parents": [
        "8266a0491e92d39dc9af739e8380a0daa9b8836b"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:25 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mcast: add support for blocked port groups\n\nWhen excluding S,G entries we need a way to block a particular S,G,port.\nThe new port group flag is managed based on the source\u0027s timer as per\nRFCs 3376 and 3810. When a source expires and its port group is in\nEXCLUDE mode, it will be blocked.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8266a0491e92d39dc9af739e8380a0daa9b8836b",
      "tree": "4dca1a636387dba3de2bd91d58132ed27da1450d",
      "parents": [
        "b08123684bd55fa6d6ee4b52d4ae3040fadb5aa2"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:24 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mcast: handle port group filter modes\n\nWe need to handle group filter mode transitions and initial state.\nTo change a port group\u0027s INCLUDE -\u003e EXCLUDE mode (or when we have added\na new port group in EXCLUDE mode) we need to add that port to all of\n*,G ports\u0027 S,G entries for proper replication. When the EXCLUDE state is\nchanged from IGMPv3 report, br_multicast_fwd_filter_exclude() must be\ncalled after the source list processing because the assumption is that\nall of the group\u0027s S,G entries will be created before transitioning to\nEXCLUDE mode, i.e. most importantly its blocked entries will already be\nadded so it will not get automatically added to them.\nThe transition EXCLUDE -\u003e INCLUDE happens only when a port group timer\nexpires, it requires us to remove that port from all of *,G ports\u0027 S,G\nentries where it was automatically added previously.\nFinally when we are adding a new S,G entry we must add all of *,G\u0027s\nEXCLUDE ports to it.\nIn order to distinguish automatically added *,G EXCLUDE ports we have a\nnew port group flag - MDB_PG_FLAGS_STAR_EXCL.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b08123684bd55fa6d6ee4b52d4ae3040fadb5aa2",
      "tree": "08a8b276a4a410d65f2ed2eacfc614b980f9a9c7",
      "parents": [
        "085b53c8beabf9b379762f73aaac562d6c428923"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:23 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mcast: install S,G entries automatically based on reports\n\nThis patch adds support for automatic install of S,G mdb entries based\non the port group\u0027s source list and the source entry\u0027s timer.\nOnce installed the S,G will be used when forwarding packets if the\napproprate multicast/mld versions are set. A new source flag called\nBR_SGRP_F_INSTALLED denotes if the source has a forwarding mdb entry\ninstalled.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "085b53c8beabf9b379762f73aaac562d6c428923",
      "tree": "47ff6948d5c9e1c54c3b8f469ae8c4435ceab483",
      "parents": [
        "8f8cb77e0b22d9044d8d57ab3bb18ea8d0474752"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:22 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mcast: add sg_port rhashtable\n\nTo speedup S,G forward handling we need to be able to quickly find out\nif a port is a member of an S,G group. To do that add a global S,G port\nrhashtable with key: source addr, group addr, protocol, vid (all br_ip\nfields) and port pointer.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8f8cb77e0b22d9044d8d57ab3bb18ea8d0474752",
      "tree": "5bc595765ae051f70a7e629a33cf109f04810dee",
      "parents": [
        "7d07a68c251080f8f2cfd071b7b3f7d1093a3375"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:21 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mcast: add rt_protocol field to the port group struct\n\nWe need to be able to differentiate between pg entries created by\nuser-space and the kernel when we start generating S,G entries for\nIGMPv3/MLDv2\u0027s fast path. User-space entries are created by default as\nRTPROT_STATIC and the kernel entries are RTPROT_KERNEL. Later we can\nallow user-space to provide the entry rt_protocol so we can\ndifferentiate between who added the entries specifically (e.g. clag,\nadmin, frr etc).\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d07a68c251080f8f2cfd071b7b3f7d1093a3375",
      "tree": "387e75a63e0712136db79a3d31042c3138196780",
      "parents": [
        "88d4bd180419a7cde3947f191dc4e26fbb19f80b"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:20 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mcast: when igmpv3/mldv2 are enabled lookup (S,G) first, then (*,G)\n\nIf (S,G) entries are enabled (igmpv3/mldv2) then look them up first. If\nthere isn\u0027t a present (S,G) entry then try to find (*,G).\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "88d4bd180419a7cde3947f191dc4e26fbb19f80b",
      "tree": "0c84f966badc0c61d4c5c06bcde6a736df420769",
      "parents": [
        "9c4258c78a2a7624c79b797f40ae2dbfd2555e26"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:19 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mdb: add support for add/del/dump of entries with source\n\nAdd new mdb attributes (MDBE_ATTR_SOURCE for setting,\nMDBA_MDB_EATTR_SOURCE for dumping) to allow add/del and dump of mdb\nentries with a source address (S,G). New S,G entries are created with\nfilter mode of MCAST_INCLUDE. The same attributes are used for IPv4 and\nIPv6, they\u0027re validated and parsed based on their protocol.\nS,G host joined entries which are added by user are not allowed yet.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9c4258c78a2a7624c79b797f40ae2dbfd2555e26",
      "tree": "b6b2592868c136b99f98412483a73b7380bd23a0",
      "parents": [
        "eab3227b1240bdcc06c0a01a3fc5bfd2bc12f406"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:18 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mdb: add support to extend add/del commands\n\nSince the MDB add/del code expects an exact struct br_mdb_entry we can\u0027t\nreally add any extensions, thus add a new nested attribute at the level of\nMDBA_SET_ENTRY called MDBA_SET_ENTRY_ATTRS which will be used to pass\nall new options via netlink attributes. This patch doesn\u0027t change\nanything functionally since the new attribute is not used yet, only\nparsed.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "eab3227b1240bdcc06c0a01a3fc5bfd2bc12f406",
      "tree": "046c74c05116249509dca07f18deb1f399efcbde",
      "parents": [
        "deb965662d575649dfd1bf15d415cf3386febb59"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:17 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mcast: rename br_ip\u0027s u member to dst\n\nSince now we have src in br_ip, u no longer makes sense so rename\nit to dst. No functional changes.\n\nv2: fix build with CONFIG_BATMAN_ADV_MCAST\n\nCC: Marek Lindner \u003cmareklindner@neomailbox.ch\u003e\nCC: Simon Wunderlich \u003csw@simonwunderlich.de\u003e\nCC: Antonio Quartulli \u003ca@unstable.cc\u003e\nCC: Sven Eckelmann \u003csven@narfation.org\u003e\nCC: b.a.t.m.a.n@lists.open-mesh.org\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "deb965662d575649dfd1bf15d415cf3386febb59",
      "tree": "572736e49ee89722a4620e598c41836933f4a3af",
      "parents": [
        "e1ac11859a057ddcf7d6219bd090c7483541767d"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:16 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mcast: use br_ip\u0027s src for src groups and querier address\n\nNow that we have src and dst in br_ip it is logical to use the src field\nfor the cases where we need to work with a source address such as\nquerier source address and group source address.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e1ac11859a057ddcf7d6219bd090c7483541767d",
      "tree": "a4d695e4068f490e36eeea8c7f215fe83924c9b6",
      "parents": [
        "83f7398ea549df793022ac6e7505040a306a2f7e"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:15 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: add src field to br_ip\n\nAdd a new src field to struct br_ip which will be used to lookup S, G\nentries. When SSM option is added we will enable full br_ip lookups.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "83f7398ea549df793022ac6e7505040a306a2f7e",
      "tree": "5e2756a7e054d664bf12a483cd44f80279e7404a",
      "parents": [
        "7eea629d07d459dfece80648c7f47f07498fdc9e"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:14 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mdb: use extack in br_mdb_add() and br_mdb_add_group()\n\nPass and use extack all the way down to br_mdb_add_group().\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7eea629d07d459dfece80648c7f47f07498fdc9e",
      "tree": "c03ff6585680236a8e51ffa3f68d228678123d30",
      "parents": [
        "2ac95dfe25229b13dda95b404004b9c93815c7f9"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:13 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mdb: move all port and bridge checks to br_mdb_add\n\nTo avoid doing duplicate device checks and searches (the same were done\nin br_mdb_add and __br_mdb_add) pass the already found port to __br_mdb_add\nand pull the bridge\u0027s netif_running and enabled multicast checks to\nbr_mdb_add. This would also simplify the future extack errors.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2ac95dfe25229b13dda95b404004b9c93815c7f9",
      "tree": "c043f628a116cf83bf6c43e454e1d9eb2ec7d84f",
      "parents": [
        "35c52c5c88d8496502b71b02c6754ced9e5cc882"
      ],
      "author": {
        "name": "Nikolay Aleksandrov",
        "email": "nikolay@nvidia.com",
        "time": "Tue Sep 22 10:30:12 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:24:34 2020 -0700"
      },
      "message": "net: bridge: mdb: use extack in br_mdb_parse()\n\nWe can drop the pr_info() calls and just use extack to return a\nmeaningful error to user-space when br_mdb_parse() fails.\n\nSigned-off-by: Nikolay Aleksandrov \u003cnikolay@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "35c52c5c88d8496502b71b02c6754ced9e5cc882",
      "tree": "8d37c284ee9a7f0d38ce177872bb290909abd3e5",
      "parents": [
        "b1b6c110511db61b6fa6945b73b3f5fb4ff29f0b"
      ],
      "author": {
        "name": "Zheng Yongjun",
        "email": "zhengyongjun3@huawei.com",
        "time": "Mon Sep 21 21:32:09 2020 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:20:29 2020 -0700"
      },
      "message": "net: realtek: Remove set but not used variable\n\nFixes gcc \u0027-Wunused-but-set-variable\u0027 warning:\n\ndrivers/net/ethernet/realtek/8139cp.c: In function cp_tx_timeout:\ndrivers/net/ethernet/realtek/8139cp.c:1242:6: warning: variable ‘rc’ set but not used [-Wunused-but-set-variable]\n\n`rc` is never used, so remove it.\n\nSigned-off-by: Zheng Yongjun \u003czhengyongjun3@huawei.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b1b6c110511db61b6fa6945b73b3f5fb4ff29f0b",
      "tree": "b9048707faa2daba4cfa6d48fdb0fad84a9a3bd4",
      "parents": [
        "6d772f328d6ad3e4fb64385784571be4be25e63d"
      ],
      "author": {
        "name": "Luo bin",
        "email": "luobin9@huawei.com",
        "time": "Mon Sep 21 15:31:03 2020 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:20:29 2020 -0700"
      },
      "message": "hinic: improve the comments of function header\n\nFix the warnings about function header comments when building hinic\ndriver with \"W\u003d1\" option.\n\nSigned-off-by: Luo bin \u003cluobin9@huawei.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6d772f328d6ad3e4fb64385784571be4be25e63d",
      "tree": "de6e9d5b1aac58a7e1fd9502f0baa45b5c12b296",
      "parents": [
        "1a26e88d534b816c126891a4b81ad93b284d28a1",
        "dc3652d3f0d5479768ec8eb7f7aabbba6ed75d95"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:11:11 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 13:11:11 2020 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next\n\nAlexei Starovoitov says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npull-request: bpf-next 2020-09-23\n\nThe following pull-request contains BPF updates for your *net-next* tree.\n\nWe\u0027ve added 95 non-merge commits during the last 22 day(s) which contain\na total of 124 files changed, 4211 insertions(+), 2040 deletions(-).\n\nThe main changes are:\n\n1) Full multi function support in libbpf, from Andrii.\n\n2) Refactoring of function argument checks, from Lorenz.\n\n3) Make bpf_tail_call compatible with functions (subprograms), from Maciej.\n\n4) Program metadata support, from YiFei.\n\n5) bpf iterator optimizations, from Yonghong.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dc3652d3f0d5479768ec8eb7f7aabbba6ed75d95",
      "tree": "996bb4a83af371d31a393d18a9a877b1ac40aff9",
      "parents": [
        "017dab341ee75c0d3675b9b3d28be28d38e6defc"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@kernel.org",
        "time": "Wed Sep 23 20:57:35 2020 +0200"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Wed Sep 23 12:43:04 2020 -0700"
      },
      "message": "tools resolve_btfids: Always force HOSTARCH\n\nSeth reported problem with cross builds, that fail\non resolve_btfids build, because we are trying to\nbuild it on cross build arch.\n\nFixing this by always forcing the host arch.\n\nReported-by: Seth Forshee \u003cseth.forshee@canonical.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@kernel.org\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nAcked-by: Andrii Nakryiko \u003candriin@fb.com\u003e\nLink: https://lore.kernel.org/bpf/20200923185735.3048198-2-jolsa@kernel.org\n"
    },
    {
      "commit": "017dab341ee75c0d3675b9b3d28be28d38e6defc",
      "tree": "6991516cdeb187ee2545a36a20a39e5c486d8142",
      "parents": [
        "0789e13bc3f84f0adafe1935af036956638950f9"
      ],
      "author": {
        "name": "Jiri Olsa",
        "email": "jolsa@kernel.org",
        "time": "Wed Sep 23 20:57:34 2020 +0200"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Wed Sep 23 12:43:04 2020 -0700"
      },
      "message": "bpf: Check CONFIG_BPF option for resolve_btfids\n\nCurrently all the resolve_btfids \u0027users\u0027 are under CONFIG_BPF\ncode, so if we have CONFIG_BPF disabled, resolve_btfids will\nfail, because there\u0027s no data to resolve.\n\nDisabling resolve_btfids if there\u0027s CONFIG_BPF disabled,\nso we won\u0027t fail such builds.\n\nSuggested-by: Andrii Nakryiko \u003candriin@fb.com\u003e\nSigned-off-by: Jiri Olsa \u003cjolsa@kernel.org\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nAcked-by: Andrii Nakryiko \u003candriin@fb.com\u003e\nLink: https://lore.kernel.org/bpf/20200923185735.3048198-1-jolsa@kernel.org\n"
    },
    {
      "commit": "1a26e88d534b816c126891a4b81ad93b284d28a1",
      "tree": "bfb07ecddded211e0547362ba6efb5b4c56c8838",
      "parents": [
        "40fe2e0db766f2c945d58c3ff13ade9a0708ddbb",
        "2c19bb43e5572929f00f186d43e99bfd6d7ee3b2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:09:08 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:09:08 2020 -0700"
      },
      "message": "Merge tag \u0027linux-can-next-for-5.10-20200923\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next\n\nMarc Kleine-Budde says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\npull-request: can-next 2020-09-23\n\nthis is a pull request of 20 patches for net-next.\n\nThe complete series target the flexcan driver and is created by Joakim\nZhang and me.\n\nThe first six patches are cleanup (sort include files alphabetically,\nremove stray empty line, get rid of long lines) and adding more\nregisters and documentation (registers and wakeup interrupt).\n\nThen in two patches the transceiver regulator is made optional, and a\ncheck for maximum transceiver bitrate is added.\n\nThen the ECC support for HW thats supports this is added.\n\nThe next three patches improve suspend and low power mode handling.\n\nFollowed by six patches that add CAN-FD support and CAN-FD related\nfeatures.\n\nThe last two patches add support for the flexcan IP core on the imx8qm\nand lx2160ar1.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "40fe2e0db766f2c945d58c3ff13ade9a0708ddbb",
      "tree": "63f573c8ec0dd88ab8e519f7f65b2bfe785f1a71",
      "parents": [
        "46237bf3ee834252edb73cfc48855e99b3bd744b",
        "58fa357576d8e9f03054d226448c5eede95fad24"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:55 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:55 2020 -0700"
      },
      "message": "Merge branch \u0027s390-qeth-next\u0027\n\nJulian Wiedmann says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\ns390/qeth: updates 2020-09-23\n\nplease apply the following patch series for qeth to netdev\u0027s net-next tree.\n\nThis brings all sorts of cleanups. Highlights are more code sharing in\nthe init/teardown paths, and more fine-grained rollback on errors during\ninitialization (instead of a full-blown teardown).\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58fa357576d8e9f03054d226448c5eede95fad24",
      "tree": "63f573c8ec0dd88ab8e519f7f65b2bfe785f1a71",
      "parents": [
        "f2bcf9dd3ecf7c9340025fc0736416e1203b5e35"
      ],
      "author": {
        "name": "Julian Wiedmann",
        "email": "jwi@linux.ibm.com",
        "time": "Wed Sep 23 10:37:00 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:54 2020 -0700"
      },
      "message": "s390/qeth: remove forward declarations in L2 code\n\nShuffle some code around (primarily all the discipline-related stuff) to\nget rid of all the unnecessary forward declarations.\n\nSigned-off-by: Julian Wiedmann \u003cjwi@linux.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2bcf9dd3ecf7c9340025fc0736416e1203b5e35",
      "tree": "fd863c4cb2e962901a9228f772ad3557b18555c3",
      "parents": [
        "b7ea041b2e506b17cb5ec6cbd283e6fbc83c8827"
      ],
      "author": {
        "name": "Julian Wiedmann",
        "email": "jwi@linux.ibm.com",
        "time": "Wed Sep 23 10:36:59 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:54 2020 -0700"
      },
      "message": "s390/qeth: consolidate teardown code\n\nClarify which discipline-specific steps are needed to roll back after\nerror in qeth_l?_set_online(), and which are common to roll back\nfrom qeth_hardsetup_card().\n\nSome steps (cancelling the RX modeset, draining the TX queues) are only\nnecessary if the netdev was potentially UP before, so move them to the\ncommon qeth_set_offline().\n\nSigned-off-by: Julian Wiedmann \u003cjwi@linux.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b7ea041b2e506b17cb5ec6cbd283e6fbc83c8827",
      "tree": "965f8ce40e888556595b778ad67c72baa7e91b8c",
      "parents": [
        "7fb7fe5c7bacb1b1189b779f7f81c785bfc964a4"
      ],
      "author": {
        "name": "Julian Wiedmann",
        "email": "jwi@linux.ibm.com",
        "time": "Wed Sep 23 10:36:58 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:54 2020 -0700"
      },
      "message": "s390/qeth: consolidate online code\n\nMove duplicated code from the disciplines into the core path.\n\nSigned-off-by: Julian Wiedmann \u003cjwi@linux.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7fb7fe5c7bacb1b1189b779f7f81c785bfc964a4",
      "tree": "675f2b9cba28732df8b1f0fed45f1e5be58858aa",
      "parents": [
        "f3380b1edc1dd06d874227570a5fe0fbf50eb607"
      ],
      "author": {
        "name": "Julian Wiedmann",
        "email": "jwi@linux.ibm.com",
        "time": "Wed Sep 23 10:36:57 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:54 2020 -0700"
      },
      "message": "s390/qeth: cancel cmds earlier during teardown\n\nOriginators of cmd IO typically hold the rtnl or conf_mutex to protect\nagainst a concurrent teardown.\nSince qeth_set_offline() already holds the conf_mutex, the main reason\nwhy we still care about cancelling pending cmds is so that they release\nthe rtnl when we need it ourselves.\n\nSo move this step a little earlier into the teardown sequence.\n\nSigned-off-by: Julian Wiedmann \u003cjwi@linux.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f3380b1edc1dd06d874227570a5fe0fbf50eb607",
      "tree": "8df096b76fe9a3caa4e2f196619deac3fcc815bc",
      "parents": [
        "ab29c480b19465a5174ea8eddfa1bd42becf72c9"
      ],
      "author": {
        "name": "Julian Wiedmann",
        "email": "jwi@linux.ibm.com",
        "time": "Wed Sep 23 10:36:56 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:54 2020 -0700"
      },
      "message": "s390/qeth: tighten ucast IP locking\n\nThe programming of ucast IPs via qeth_l3_modify_ip() is driven\nindependently from any of our typical locking mechanisms (eg. detaching\nthe netdevice, or holding the conf_mutex).\nSo when we inspect the card state to check whether the required cmd IO\nshould be deferred, there is no protection against concurrent state\nchanges.\n\nBut by slightly re-ordering the teardown sequence, we can rely on the\nip_lock to sufficiently serialize things:\n\n1. when running concurrently to qeth_l3_set_online(), any instance of\n   qeth_l3_modify_ip() that aquires the ip_lock _after_\n   qeth_l3_recover_ip() will observe the state as CARD_STATE_SOFTSETUP\n   and not defer the IO.\n2. when running concurrently to qeth_l3_set_offline(), any instance of\n   qeth_l3_modify_ip() that aquires the ip_lock _after_\n   qeth_l3_clear_ip_htable() will observe the state as CARD_STATE_DOWN\n   and defer the IO.\n\nThese guarantees in mind, we can now drop the conf_mutex from the\nqeth_l3_modify_rxip_vipa() wrapper.\n\nSigned-off-by: Julian Wiedmann \u003cjwi@linux.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ab29c480b19465a5174ea8eddfa1bd42becf72c9",
      "tree": "1128dbc31d0b8cf0c3dd08cd42ddad6e927bdbd4",
      "parents": [
        "bcdfdf00471601c4c2f8a01b32ee03630cc1c734"
      ],
      "author": {
        "name": "Julian Wiedmann",
        "email": "jwi@linux.ibm.com",
        "time": "Wed Sep 23 10:36:55 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:54 2020 -0700"
      },
      "message": "s390/qeth: replace deprecated simple_stroul()\n\nConvert the remaining occurences in sysfs code to kstrtouint().\n\nWhile at it move some input parsing out of locked sections, replace an\nopen-coded clamp() and remove some unnecessary run-time checks for\nipatoe-\u003emask_bits that are already enforced when creating the object.\n\nSigned-off-by: Julian Wiedmann \u003cjwi@linux.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bcdfdf00471601c4c2f8a01b32ee03630cc1c734",
      "tree": "975d79c4ee96be82243827c3bc20bf2a39713a46",
      "parents": [
        "d6e6426f69b3225af8d992ec6bc66fb3fd4c4196"
      ],
      "author": {
        "name": "Julian Wiedmann",
        "email": "jwi@linux.ibm.com",
        "time": "Wed Sep 23 10:36:54 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:54 2020 -0700"
      },
      "message": "s390/qeth: clean up string ops in qeth_l3_parse_ipatoe()\n\nIndicate the max number of to-be-parsed characters, and avoid copying\nthe address sub-string.\n\nSigned-off-by: Julian Wiedmann \u003cjwi@linux.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6e6426f69b3225af8d992ec6bc66fb3fd4c4196",
      "tree": "5c38128786256f0af6317f53728b3f4e62f2089a",
      "parents": [
        "668e225126750c47635b56519b8bcc3aac35e937"
      ],
      "author": {
        "name": "Julian Wiedmann",
        "email": "jwi@linux.ibm.com",
        "time": "Wed Sep 23 10:36:53 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:54 2020 -0700"
      },
      "message": "s390/qeth: relax locking for ipato config data\n\ncard-\u003eipato is currently protected by the conf_mutex. But most users\nalso hold the ip_lock - in particular qeth_l3_add_ip().\n\nSo slightly expand the sections under ip_lock in a few places (to\neffectively cover a few error \u0026 no-op cases), and then drop the\nconf_mutex where it\u0027s no longer needed.\n\nSigned-off-by: Julian Wiedmann \u003cjwi@linux.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "668e225126750c47635b56519b8bcc3aac35e937",
      "tree": "832aab69cce14ccfb165829fa7fcaca383e2d876",
      "parents": [
        "46237bf3ee834252edb73cfc48855e99b3bd744b"
      ],
      "author": {
        "name": "Julian Wiedmann",
        "email": "jwi@linux.ibm.com",
        "time": "Wed Sep 23 10:36:52 2020 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 12:07:54 2020 -0700"
      },
      "message": "s390/qeth: don\u0027t init refcount twice for mcast IPs\n\nmcast IP objects are allocated within qeth_l3_add_mcast_rtnl(),\nwith .ref_counter already set to 1 via qeth_l3_init_ipaddr().\n\nSigned-off-by: Julian Wiedmann \u003cjwi@linux.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0789e13bc3f84f0adafe1935af036956638950f9",
      "tree": "119e9fb88d0db8851514aefc6e5c6c1f69fd6dbc",
      "parents": [
        "a8a717963fe5ecfd274eb93dd1285ee9428ffca7"
      ],
      "author": {
        "name": "Lorenz Bauer",
        "email": "lmb@cloudflare.com",
        "time": "Wed Sep 23 17:01:55 2020 +0100"
      },
      "committer": {
        "name": "Alexei Starovoitov",
        "email": "ast@kernel.org",
        "time": "Wed Sep 23 11:46:46 2020 -0700"
      },
      "message": "bpf: Explicitly size compatible_reg_types\n\nArrays with designated initializers have an implicit length of the highest\ninitialized value plus one. I used this to ensure that newly added entries\nin enum bpf_reg_type get a NULL entry in compatible_reg_types.\n\nThis is difficult to understand since it requires knowledge of the\npeculiarities of designated initializers. Use __BPF_ARG_TYPE_MAX to size\nthe array instead.\n\nSuggested-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nSigned-off-by: Lorenz Bauer \u003clmb@cloudflare.com\u003e\nSigned-off-by: Alexei Starovoitov \u003cast@kernel.org\u003e\nAcked-by: Andrii Nakryiko \u003candriin@fb.com\u003e\nLink: https://lore.kernel.org/bpf/20200923160156.80814-1-lmb@cloudflare.com\n"
    },
    {
      "commit": "46237bf3ee834252edb73cfc48855e99b3bd744b",
      "tree": "034932a697ce7d58148b93efae3bbb6158a42f33",
      "parents": [
        "573a8095f68c7a73b362b5c0f65bb6a0a8a53a03"
      ],
      "author": {
        "name": "Zheng Yongjun",
        "email": "zhengyongjun3@huawei.com",
        "time": "Wed Sep 23 11:21:40 2020 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 23 11:45:44 2020 -0700"
      },
      "message": "net: microchip: Make `lan743x_pm_suspend` function return right value\n\ndrivers/net/ethernet/microchip/lan743x_main.c: In function lan743x_pm_suspend:\n\n`ret` is set but not used. In fact, `pci_prepare_to_sleep` function value should\nbe the right value of `lan743x_pm_suspend` function, therefore, fix it.\n\nSigned-off-by: Zheng Yongjun \u003czhengyongjun3@huawei.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "573a8095f68c7a73b362b5c0f65bb6a0a8a53a03",
      "tree": "4a93cd0afd57d6836ef3fea1f9fb89b2c9da4709",
      "parents": [
        "748d1c8a425ec529d541f082ee7a81f6a51fa120",
        "5af75c747e2a868abbf8611494b50ed5e076fca7"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 22 17:44:59 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 22 17:44:59 2020 -0700"
      },
      "message": "Merge tag \u0027mlx5-updates-2020-09-21\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux\n\nSaeed Mahameed says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nmlx5-updates-2020-09-21\n\nMulti packet TX descriptor support for SKBs.\n\nThis series introduces some refactoring of the regular TX data path in\nmlx5 and adds the Enhanced TX MPWQE feature support. MPWQE stands for\nmulti-packet work queue element, and it can serve multiple packets,\nreducing the PCI bandwidth spent on control traffic. It should improve\nperformance in scenarios where PCI is the bottleneck, and xmit_more is\nsignaled by the kernel. The refactoring done in this series also\nimproves the packet rate on its own.\n\nMPWQE is already implemented in the XDP tx path, this series adds the\nsupport of MPWQE for regular kernel SKB tx path.\n\nMPWQE is supported from ConnectX-5 and onward, for legacy devices we need\nto keep backward compatibility for regular (Single packet) WQE descriptor.\n\nMPWQE is not compatible with certain offloads and features, such as TLS\noffload, TSO, nonlinear SKBs. If such incompatible features are in use,\nthe driver gracefully falls back to non-MPWQE per SKB.\n\nPrior to the final patch \"net/mlx5e: Enhanced TX MPWQE for SKBs\" that adds\nthe actual support, Maxim did some refactoring to the tx data path to\nsplit it into stages and smaller helper functions that can be utilized and\nreused for both legacy and new MPWQE feature.\n\nPerformance testing:\n\nUDP performance is improved in a single stream pktgen test:\n  Packet rate: 16.86 Mpps (±0.15 Mpps) -\u003e 20.94 Mpps (±0.33 Mpps)\n  Instructions per packet: 434 -\u003e 329\n  Cycles per packet: 158 -\u003e 123\n  Instructions per cycle: 2.75 -\u003e 2.67\n\nTCP and XDP_TX single stream tests show no performance difference.\n\nMPWQE can reduce PCI bandwidth:\n  PCI Gen2, pktgen at fixed rate of 36864000 pps on 24 CPU cores:\n    Inbound PCI utilization with MPWQE off: 80.3%\n    Inbound PCI utilization with MPWQE on: 59.0%\n  PCI Gen3, pktgen at fixed rate of 56064000 pps on 24 CPU cores:\n    Inbound PCI utilization with MPWQE off: 65.4%\n    Inbound PCI utilization with MPWQE on: 49.3%\n\nMPWQE can also reduce CPU load, increasing the packet rate in case of\nCPU bottleneck:\n  PCI Gen2, pktgen at full rate on 24 CPU cores:\n    Packet rate with MPWQE off: 37.5 Mpps\n    Packet rate with MPWQE on: 49.0 Mpps\n  PCI Gen3, pktgen at full rate on 24 CPU cores:\n    Packet rate with MPWQE off: 57.0 Mpps\n    Packet rate with MPWQE on: 66.8 Mpps\n\nBurst size in all pktgen tests is 32.\n\nCPU: Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz (x86_64)\nNIC: Mellanox ConnectX-6 Dx\nGCC 10.2.0\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "748d1c8a425ec529d541f082ee7a81f6a51fa120",
      "tree": "db5d37005b047942476b2ae9b9741965877ae5f7",
      "parents": [
        "3ab0a7a0c349a1d7beb2bb371a62669d1528269d",
        "c49a94405b39d3e3293da98f621fe4243f3cc4fa"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 22 17:38:42 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 22 17:38:42 2020 -0700"
      },
      "message": "Merge branch \u0027devlink-Use-nla_policy-to-validate-range\u0027\n\nParav Pandit says:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\ndevlink: Use nla_policy to validate range\n\nThis two small patches uses nla_policy to validate user specified\nfields are in valid range or not.\n\nPatch summary:\nPatch-1 checks the range of eswitch mode field\nPatch-2 checks for the port type field. It eliminates a check in\ncode by using nla policy infrastructure.\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nReviewed-by: Jakub Kicinski \u003ckuba@kernel.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c49a94405b39d3e3293da98f621fe4243f3cc4fa",
      "tree": "db5d37005b047942476b2ae9b9741965877ae5f7",
      "parents": [
        "ba356c90985defec30c8680077bf571a50a4004b"
      ],
      "author": {
        "name": "Parav Pandit",
        "email": "parav@nvidia.com",
        "time": "Mon Sep 21 19:41:30 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 22 17:38:42 2020 -0700"
      },
      "message": "devlink: Enhance policy to validate port type input value\n\nUse range checking facility of nla_policy to validate port type\nattribute input value is valid or not.\n\nSigned-off-by: Parav Pandit \u003cparav@nvidia.com\u003e\nReviewed-by: Jiri Pirko \u003cjiri@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ba356c90985defec30c8680077bf571a50a4004b",
      "tree": "385db55b763ff0c6cb38d98941e4dca0f2a21f2f",
      "parents": [
        "3ab0a7a0c349a1d7beb2bb371a62669d1528269d"
      ],
      "author": {
        "name": "Parav Pandit",
        "email": "parav@nvidia.com",
        "time": "Mon Sep 21 19:41:29 2020 +0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 22 17:38:42 2020 -0700"
      },
      "message": "devlink: Enhance policy to validate eswitch mode value\n\nUse range checking facility of nla_policy to validate eswitch mode input\nattribute value is valid or not.\n\nSigned-off-by: Parav Pandit \u003cparav@nvidia.com\u003e\nReviewed-by: Jiri Pirko \u003cjiri@nvidia.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3ab0a7a0c349a1d7beb2bb371a62669d1528269d",
      "tree": "d2ae17c3bfc829ce0c747ad97021cd4bc8fb11dc",
      "parents": [
        "92ec804f3dbf0d986f8e10850bfff14f316d7aaf",
        "805c6d3c19210c90c109107d189744e960eae025"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 22 16:45:34 2020 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 22 16:45:34 2020 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net\n\nTwo minor conflicts:\n\n1) net/ipv4/route.c, adding a new local variable while\n   moving another local variable and removing it\u0027s\n   initial assignment.\n\n2) drivers/net/dsa/microchip/ksz9477.c, overlapping changes.\n   One pretty prints the port mode differently, whilst another\n   changes the driver to try and obtain the port mode from\n   the port node rather than the switch node.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "805c6d3c19210c90c109107d189744e960eae025",
      "tree": "51591467a218a58df9dd5f239561b02e1e6ce996",
      "parents": [
        "d3017135c43373b06eef1eb70dfeb948b8ae159f",
        "933a3752babcf6513117d5773d2b70782d6ad149"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 15:08:41 2020 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 15:08:41 2020 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs\n\nPull vfs fixes from Al Viro:\n \"No common topic, just assorted fixes\"\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:\n  fuse: fix the -\u003edirect_IO() treatment of iov_iter\n  fs: fix cast in fsparam_u32hex() macro\n  vboxsf: Fix the check for the old binary mount-arguments struct\n"
    },
    {
      "commit": "d3017135c43373b06eef1eb70dfeb948b8ae159f",
      "tree": "f8b3b283148cada1fcdf5cd774f84dcdb3ef0bc3",
      "parents": [
        "0baca070068c58b95e342881d9da4840d5cf3bd1",
        "b334ec66d4554a0af0471b1f21c477575c8c175d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 14:43:50 2020 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 14:43:50 2020 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net\n\nPull networking fixes from Jakub Kicinski:\n\n - fix failure to add bond interfaces to a bridge, the offload-handling\n   code was too defensive there and recent refactoring unearthed that.\n   Users complained (Ido)\n\n - fix unnecessarily reflecting ECN bits within TOS values / QoS marking\n   in TCP ACK and reset packets (Wei)\n\n - fix a deadlock with bpf iterator. Hopefully we\u0027re in the clear on\n   this front now... (Yonghong)\n\n - BPF fix for clobbering r2 in bpf_gen_ld_abs (Daniel)\n\n - fix AQL on mt76 devices with FW rate control and add a couple of AQL\n   issues in mac80211 code (Felix)\n\n - fix authentication issue with mwifiex (Maximilian)\n\n - WiFi connectivity fix: revert IGTK support in ti/wlcore (Mauro)\n\n - fix exception handling for multipath routes via same device (David\n   Ahern)\n\n - revert back to a BH spin lock flavor for nsid_lock: there are paths\n   which do require the BH context protection (Taehee)\n\n - fix interrupt / queue / NAPI handling in the lantiq driver (Hauke)\n\n - fix ife module load deadlock (Cong)\n\n - make an adjustment to netlink reply message type for code added in\n   this release (the sole change touching uAPI here) (Michal)\n\n - a number of fixes for small NXP and Microchip switches (Vladimir)\n\n[ Pull request acked by David: \"you can expect more of this in the\n  future as I try to delegate more things to Jakub\" ]\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (167 commits)\n  net: mscc: ocelot: fix some key offsets for IP4_TCP_UDP VCAP IS2 entries\n  net: dsa: seville: fix some key offsets for IP4_TCP_UDP VCAP IS2 entries\n  net: dsa: felix: fix some key offsets for IP4_TCP_UDP VCAP IS2 entries\n  inet_diag: validate INET_DIAG_REQ_PROTOCOL attribute\n  net: bridge: br_vlan_get_pvid_rcu() should dereference the VLAN group under RCU\n  net: Update MAINTAINERS for MediaTek switch driver\n  net/mlx5e: mlx5e_fec_in_caps() returns a boolean\n  net/mlx5e: kTLS, Avoid kzalloc(GFP_KERNEL) under spinlock\n  net/mlx5e: kTLS, Fix leak on resync error flow\n  net/mlx5e: kTLS, Add missing dma_unmap in RX resync\n  net/mlx5e: kTLS, Fix napi sync and possible use-after-free\n  net/mlx5e: TLS, Do not expose FPGA TLS counter if not supported\n  net/mlx5e: Fix using wrong stats_grps in mlx5e_update_ndo_stats()\n  net/mlx5e: Fix multicast counter not up-to-date in \"ip -s\"\n  net/mlx5e: Fix endianness when calculating pedit mask first bit\n  net/mlx5e: Enable adding peer miss rules only if merged eswitch is supported\n  net/mlx5e: CT: Fix freeing ct_label mapping\n  net/mlx5e: Fix memory leak of tunnel info when rule under multipath not ready\n  net/mlx5e: Use synchronize_rcu to sync with NAPI\n  net/mlx5e: Use RCU to protect rq-\u003exdp_prog\n  ...\n"
    },
    {
      "commit": "0baca070068c58b95e342881d9da4840d5cf3bd1",
      "tree": "d8e00fcc994b6c1d5f496cf39c88f49312c4f3a5",
      "parents": [
        "c37b7189228cf972b5f899e0fedd89a83009ae25",
        "4eb8dded6b82e184c09bb963bea0335fa3f30b55"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 14:36:50 2020 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 14:36:50 2020 -0700"
      },
      "message": "Merge tag \u0027io_uring-5.9-2020-09-22\u0027 of git://git.kernel.dk/linux-block\n\nPull io_uring fixes from Jens Axboe:\n \"A few fixes - most of them regression fixes from this cycle, but also\n  a few stable heading fixes, and a build fix for the included demo tool\n  since some systems now actually have gettid() available\"\n\n* tag \u0027io_uring-5.9-2020-09-22\u0027 of git://git.kernel.dk/linux-block:\n  io_uring: fix openat/openat2 unified prep handling\n  io_uring: mark statx/files_update/epoll_ctl as non-SQPOLL\n  tools/io_uring: fix compile breakage\n  io_uring: don\u0027t use retry based buffered reads for non-async bdev\n  io_uring: don\u0027t re-setup vecs/iter in io_resumit_prep() is already there\n  io_uring: don\u0027t run task work on an exiting task\n  io_uring: drop \u0027ctx\u0027 ref on task work cancelation\n  io_uring: grab any needed state during defer prep\n"
    },
    {
      "commit": "c37b7189228cf972b5f899e0fedd89a83009ae25",
      "tree": "e209ed2a70846b9f0721112ffdf433b53975efb9",
      "parents": [
        "eff48ddeab782e35e58ccc8853f7386bbae9dec4",
        "4a2dd2c798522859811dd520a059f982278be9d9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 14:31:38 2020 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 14:31:38 2020 -0700"
      },
      "message": "Merge tag \u0027block-5.9-2020-09-22\u0027 of git://git.kernel.dk/linux-block\n\nPull block fixes from Jens Axboe:\n \"A few NVMe fixes, and a dasd write zero fix\"\n\n* tag \u0027block-5.9-2020-09-22\u0027 of git://git.kernel.dk/linux-block:\n  nvmet: get transport reference for passthru ctrl\n  nvme-core: get/put ctrl and transport module in nvme_dev_open/release()\n  nvme-tcp: fix kconfig dependency warning when !CRYPTO\n  nvme-pci: disable the write zeros command for Intel 600P/P3100\n  s390/dasd: Fix zero write for FBA devices\n"
    },
    {
      "commit": "eff48ddeab782e35e58ccc8853f7386bbae9dec4",
      "tree": "dd32fc2cfa67cfd552d7c66ca302a7e6c1c2c008",
      "parents": [
        "98477740630f270aecf648f1d6a9dbc6027d4ff1",
        "a27026e95b57acbb8df7182e020b099e7f3b5ac3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 09:08:33 2020 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 09:08:33 2020 -0700"
      },
      "message": "Merge tag \u0027trace-v5.9-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace\n\nPull tracing fixes from Steven Rostedt:\n\n - Check kprobe is enabled before unregistering from ftrace as it isn\u0027t\n   registered when disabled.\n\n - Remove kprobes enabled via command-line that is on init text when\n   freed.\n\n - Add missing RCU synchronization for ftrace trampoline symbols removed\n   from kallsyms.\n\n - Free trampoline on error path if ftrace_startup() fails.\n\n - Give more space for the longer PID numbers in trace output.\n\n - Fix a possible double free in the histogram code.\n\n - A couple of fixes that were discovered by sparse.\n\n* tag \u0027trace-v5.9-rc5\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:\n  bootconfig: init: make xbc_namebuf static\n  kprobes: tracing/kprobes: Fix to kill kprobes on initmem after boot\n  tracing: fix double free\n  ftrace: Let ftrace_enable_sysctl take a kernel pointer buffer\n  tracing: Make the space reserved for the pid wider\n  ftrace: Fix missing synchronize_rcu() removing trampoline from kallsyms\n  ftrace: Free the trampoline when ftrace_startup() fails\n  kprobes: Fix to check probe enabled before disarm_kprobe_ftrace()\n"
    },
    {
      "commit": "2c19bb43e5572929f00f186d43e99bfd6d7ee3b2",
      "tree": "8d5b533f85e206b4607e8c6b1930f69c94489a0f",
      "parents": [
        "2a1993eadf8c66228e5777fbf507efeef8d82f7d"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Fri Jul 12 08:03:01 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:55:34 2020 +0200"
      },
      "message": "can: flexcan: add lx2160ar1 support\n\nThe Flexcan on lx2160ar1 supports CAN FD protocol.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nLink: https://lore.kernel.org/r/20190712075926.7357-9-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "2a1993eadf8c66228e5777fbf507efeef8d82f7d",
      "tree": "ef54b0e6b2fde77aa826e7db40e7ded664037d8f",
      "parents": [
        "ef5f6312087e18ce55cbd067c7c12e7e7e3fb528"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Fri Jul 12 08:02:59 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:55:34 2020 +0200"
      },
      "message": "can: flexcan: add imx8qm support\n\nThe Flexcan on i.MX8QM supports CAN FD protocol.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nLink: https://lore.kernel.org/r/20190712075926.7357-8-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "ef5f6312087e18ce55cbd067c7c12e7e7e3fb528",
      "tree": "948fcf129ee400dd00398a826093fc0f4a7cad1e",
      "parents": [
        "0542920c3f0a666457a43625f4fa31cf6f059b94"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Fri Jul 12 08:02:56 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:55:34 2020 +0200"
      },
      "message": "can: flexcan: add Transceiver Delay Compensation support\n\nThe CAN-FD protocol allows the transmission and reception of data at a\nhigher bit rate than the nominal rate used in the arbitration phase when\nthe message\u0027s BRS bit is set.\n\nThe TDC mechanism is effective only during the data phase of FD frames\nhaving BRS bit set. It has no effect either on non-FD frames, or on FD\nframes transmitted at normal bit rate.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nLink: https://lore.kernel.org/r/20190712075926.7357-7-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "0542920c3f0a666457a43625f4fa31cf6f059b94",
      "tree": "cb602bc810525ec925dd2fe51afc3200016e1b62",
      "parents": [
        "ce885a192f1cca7ab6aeffa37fa6228db966b632"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Fri Jul 12 08:02:47 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:55:34 2020 +0200"
      },
      "message": "can: flexcan: add CAN FD BRS support\n\nThis patch adds CAN FD BitRate Switch (BRS) support to driver.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nLink: https://lore.kernel.org/r/20190712075926.7357-5-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "ce885a192f1cca7ab6aeffa37fa6228db966b632",
      "tree": "644757ce75433707dad3bcae92546a11470cdb58",
      "parents": [
        "eadf6ca918f6963cd8f3575a2f328018e1a16443"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Fri Jul 12 08:02:51 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:55:34 2020 +0200"
      },
      "message": "can: flexcan: add ISO CAN FD feature support\n\nISO CAN FD is introduced to increase the failture detection capability\nthan non-ISO CAN FD. The non-ISO CAN FD is still supported by FlexCAN so\nthat it can be used mainly during an intermediate phase, for evaluation\nand development purposes.\n\nTherefore, it is strongly recommended to configure FlexCAN to the ISO\nCAN FD protocol by setting the ISOCANFDEN field in the CTRL2 register.\n\nNOTE: If you only set \"fd on\", driver will use ISO FD mode by default.\nYou should set \"fd-non-iso on\" after setting \"fd on\" if you want to use\nNON ISO FD mode.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nLink: https://lore.kernel.org/r/20190712075926.7357-6-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "eadf6ca918f6963cd8f3575a2f328018e1a16443",
      "tree": "c789c7c4b1eff88b042e49dcf963dfc3749e6a1d",
      "parents": [
        "d9b90b05fd78f7a7482ee22a6a6c5581695b4beb"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Fri Jul 12 08:02:44 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:53:47 2020 +0200"
      },
      "message": "can: flexcan: add CAN-FD mode support\n\nThis patch adds CAN-FD mode support to the driver, it means that\npayload size can extend up to 64 bytes.\n\nBit timing always set in the CBT register, not in the CTRL1 register any\nmore. This has an extend range of all CAN bit timing variables (PRESDIV,\nPROPSEG, PSEG1, PSEG2 and RJW), which will improve the bit timing\naccuracy.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\n[mkl: move cbt-based bitrate support into separate function]\nLink: https://lore.kernel.org/r/20200922144429.2613631-16-mkl@pengutronix.de\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "d9b90b05fd78f7a7482ee22a6a6c5581695b4beb",
      "tree": "c3294f241a2fb8bc40a41510c0e8c589d794d25c",
      "parents": [
        "890599bc8618b72ba5e061d6c776cc8dce08c753"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Fri Jul 12 08:02:41 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:52:51 2020 +0200"
      },
      "message": "can: flexcan: use struct canfd_frame for CAN classic frame\n\nThis patch prepares for CAN FD mode, using struct canfd_frame can both\nfor classic format frame and fd format frame.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nLink: https://lore.kernel.org/r/20190712075926.7357-3-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "890599bc8618b72ba5e061d6c776cc8dce08c753",
      "tree": "c0ec408f4b1533713f822960d58aaeb1bf0a23f8",
      "parents": [
        "1434d04349626d7b4da49b99f79d6391b9a67f16"
      ],
      "author": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:44:22 2020 +0200"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:52:51 2020 +0200"
      },
      "message": "can: flexcan: flexcan_set_bittiming(): move setup of CAN-2.0 bitiming into separate function\n\nThis is a patch prepares for the CAN-FD support. In a later patch the\nsetup for canfd bittiming will be added, with this patch the change is\neasier to read.\n\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nLink: https://lore.kernel.org/r/20200922144429.2613631-14-mkl@pengutronix.de\n"
    },
    {
      "commit": "1434d04349626d7b4da49b99f79d6391b9a67f16",
      "tree": "c7527b1545393c7d5421733fb01cd36172fce837",
      "parents": [
        "02f71c6605e1f8259c07f16178330db766189a74"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Wed Dec 04 11:36:19 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:52:50 2020 +0200"
      },
      "message": "can: flexcan: add LPSR mode support\n\nOn the i.MX7D in LPSR mode, the controller will be powered off and the\nconfiguration state is lost after system resume. Upcoming i.MX8QM/QXP\nwill also completely power off the domain, the controller state is lost\nand needs restore, too. So we need to set the pinctrl state again and\nre-start chip to re-configuration after resume.\n\nFor the wakeup case, it should not set pinctrl to sleep state by\npinctrl_pm_select_sleep_state.\n\nIf the interface is down before suspend, we don\u0027t need to re-configure\nit as it will be configured if the interface is brought up later.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nLink: https://lore.kernel.org/r/20191204113249.3381-7-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "02f71c6605e1f8259c07f16178330db766189a74",
      "tree": "6276b6c196f0393c5467534a20801663db54c849",
      "parents": [
        "9ad02c7f4f279504bdd38ab706fdc97d5f2b2a9c"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Tue Dec 10 09:00:13 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:52:50 2020 +0200"
      },
      "message": "can: flexcan: disable clocks during stop mode\n\nDisable clocks while CAN core is in stop mode.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nTested-by: Sean Nyekjaer \u003csean@geanix.com\u003e\nLink: https://lore.kernel.org/r/20191210085721.9853-2-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "9ad02c7f4f279504bdd38ab706fdc97d5f2b2a9c",
      "tree": "ce66a4a4e868bb80a5a1db4077a0ab1f4f6325d1",
      "parents": [
        "15ef2072189ce1191b6315c5ed97b6f8cd7bbc84"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Tue Sep 22 16:44:19 2020 +0200"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:51:27 2020 +0200"
      },
      "message": "can: flexcan: flexcan_chip_stop(): add error handling and propagate error value\n\nThis patch implements error handling and propagates the error value of\nflexcan_chip_stop(). This function will be called from flexcan_suspend()\nin an upcoming patch in some SoCs which support LPSR mode.\n\nAdd a new function flexcan_chip_stop_disable_on_error() that tries to\ndisable the chip even in case of errors.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\n[mkl: introduce flexcan_chip_stop_disable_on_error() and use it in flexcan_close()]\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nLink: https://lore.kernel.org/r/20200922144429.2613631-11-mkl@pengutronix.de\n"
    },
    {
      "commit": "15ef2072189ce1191b6315c5ed97b6f8cd7bbc84",
      "tree": "14f91bb0c539c32fb91afad299a5b843b3046e78",
      "parents": [
        "ee97302d78654eebc1decc80d70c6a7de0217545"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Thu Apr 16 17:31:25 2020 +0800"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:50:02 2020 +0200"
      },
      "message": "can: flexcan: add correctable errors correction when HW supports ECC\n\ncommit cdce844865be (\"can: flexcan: add vf610 support for FlexCAN\")\nFrom above commit by Stefan Agner, the patch just disables\nnon-correctable errors interrupt and freeze mode. It still can correct\nthe correctable errors since ECC enabled by default after reset (MECR[ECCDIS]\u003d0,\nenable memory error correct) if HW supports ECC.\n\ncommit 5e269324db5a (\"can: flexcan: disable completely the ECC mechanism\")\nFrom above commit by Joakim Zhang, the patch disables ECC completely (assert\nMECR[ECCDIS]) according to the explanation of FLEXCAN_QUIRK_DISABLE_MECR that\ndisable memory error detection. This cause correctable errors cannot be\ncorrected even HW supports ECC.\n\nThe error correction mechanism ensures that in this 13-bit word, errors\nin one bit can be corrected (correctable errors) and errors in two bits can\nbe detected but not corrected (non-correctable errors). Errors in more than\ntwo bits may not be detected.\n\nIf HW supports ECC, we can use this to correct the correctable errors detected\nfrom FlexCAN memory. Then disable non-correctable errors interrupt and freeze\nmode to avoid that put FlexCAN in freeze mode.\n\nThis patch adds correctable errors correction when HW supports ECC, and\nmodify explanation for FLEXCAN_QUIRK_DISABLE_MECR.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nLink: https://lore.kernel.org/r/20200416093126.15242-1-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "ee97302d78654eebc1decc80d70c6a7de0217545",
      "tree": "995f630536f532467cbaba09706c65469c9dbd1c",
      "parents": [
        "3d60f33a7a7afa7ba02b96ecc835c3450bf234b1"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Wed Oct 30 06:45:57 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:50:02 2020 +0200"
      },
      "message": "can: flexcan: Add check for transceiver maximum bitrate limitation\n\nCAN FD can transmit up to 8Mbps, but some transceivers only can support\n5Mbps, so add check in driver.\n\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nLink: https://lore.kernel.org/r/20191030064245.12923-2-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "3d60f33a7a7afa7ba02b96ecc835c3450bf234b1",
      "tree": "15c06134c3f47d3b066db42b50e383284bfc752b",
      "parents": [
        "ab60523a76a4d40051ece11b23b099e273f9a485"
      ],
      "author": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:44:16 2020 +0200"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:49:54 2020 +0200"
      },
      "message": "can: flexcan: flexcan_probe(): make regulator xceiver optional\n\nAs the transcevier regulator is optional, this patch switches from\ndevm_regulator_get() to devm_regulator_get_optional(). This gets rid of \"using\ndummy regulator\" warning message from the regulator core, if no regulator is\navailable.\n\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nLink: https://lore.kernel.org/r/20200922144429.2613631-8-mkl@pengutronix.de\n"
    },
    {
      "commit": "ab60523a76a4d40051ece11b23b099e273f9a485",
      "tree": "3d7efe73a94979e3899f29e3e5ff952cad127d83",
      "parents": [
        "ef4b623b141f113b67dfd12294695a3b1111ad6c"
      ],
      "author": {
        "name": "Joakim Zhang",
        "email": "qiangqing.zhang@nxp.com",
        "time": "Wed Dec 04 11:36:08 2019 +0000"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:49:07 2020 +0200"
      },
      "message": "can: flexcan: Ack wakeup interrupt separately\n\nAs FLEXCAN_ESR_ALL_INT is for all bus errors and state change IRQ\nsources, strictly speaking FLEXCAN_ESR_WAK_INT does not belong to these.\nSo add wakeup interrupt ack separately to existing ack of the\ninterrupts.\n\nSuggested-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nSigned-off-by: Joakim Zhang \u003cqiangqing.zhang@nxp.com\u003e\nLink: https://lore.kernel.org/r/20191204113249.3381-3-qiangqing.zhang@nxp.com\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\n"
    },
    {
      "commit": "ef4b623b141f113b67dfd12294695a3b1111ad6c",
      "tree": "e5fa47c364f799253f6a9420c79bea667f2fe346",
      "parents": [
        "fe63a0661023a600e2b5cff7eff2500bf191a161"
      ],
      "author": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:44:14 2020 +0200"
      },
      "committer": {
        "name": "Marc Kleine-Budde",
        "email": "mkl@pengutronix.de",
        "time": "Tue Sep 22 16:49:03 2020 +0200"
      },
      "message": "can: flexcan: quirks: get rid of long lines\n\nThis patch reformats the quirks to get rid of long lines.\n\nSigned-off-by: Marc Kleine-Budde \u003cmkl@pengutronix.de\u003e\nLink: https://lore.kernel.org/r/20200922144429.2613631-6-mkl@pengutronix.de\n"
    }
  ],
  "next": "fe63a0661023a600e2b5cff7eff2500bf191a161"
}
