Patchew URL: https://patchew.org/QEMU/20210204170951.91805-1-and...@daynix.com/
Hi, This series seems to have some coding style problems. See output below for more information: Type: series Message-id: 20210204170951.91805-1-and...@daynix.com Subject: [RFC PATCH v4 0/7] eBPF RSS support for virtio-net === TEST SCRIPT BEGIN === #!/bin/bash git rev-parse base > /dev/null || exit 0 git config --local diff.renamelimit 0 git config --local diff.renames True git config --local diff.algorithm histogram ./scripts/checkpatch.pl --mailback base.. === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' 0774291 MAINTAINERS: Added eBPF maintainers information. 4c1c663 docs: Added eBPF documentation. 20e4050 virtio-net: Added eBPF RSS to virtio-net. 472da2b ebpf: Added eBPF RSS loader. 7999b5e ebpf: Added eBPF RSS program. 04385d2 net: Added SetSteeringEBPF method for NetClientState. 6ef0ac9 net/tap: Added TUNSETSTEERINGEBPF code. === OUTPUT BEGIN === 1/7 Checking commit 6ef0ac9d0378 (net/tap: Added TUNSETSTEERINGEBPF code.) 2/7 Checking commit 04385d26c9a0 (net: Added SetSteeringEBPF method for NetClientState.) 3/7 Checking commit 7999b5eb7a05 (ebpf: Added eBPF RSS program.) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #22: new file mode 100755 WARNING: line over 80 characters #220: FILE: tools/ebpf/rss.bpf.c:155: + * According to https://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml WARNING: line over 80 characters #223: FILE: tools/ebpf/rss.bpf.c:158: + * Need to choose reasonable amount of maximum extensions/options we may check to find WARNING: line over 80 characters #283: FILE: tools/ebpf/rss.bpf.c:218: + *l4_offset + opt_offset + offsetof(struct ipv6_destopt_hao, addr), total: 0 errors, 4 warnings, 538 lines checked Patch 3/7 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 4/7 Checking commit 472da2b985fe (ebpf: Added eBPF RSS loader.) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #99: new file mode 100644 WARNING: architecture specific defines should be avoided #381: FILE: ebpf/rss.bpf.skeleton.h:4: +#ifndef __RSS_BPF_SKEL_H__ ERROR: code indent should never use tabs #388: FILE: ebpf/rss.bpf.skeleton.h:11: +^Istruct bpf_object_skeleton *skeleton;$ ERROR: code indent should never use tabs #389: FILE: ebpf/rss.bpf.skeleton.h:12: +^Istruct bpf_object *obj;$ ERROR: code indent should never use tabs #390: FILE: ebpf/rss.bpf.skeleton.h:13: +^Istruct {$ ERROR: code indent should never use tabs #391: FILE: ebpf/rss.bpf.skeleton.h:14: +^I^Istruct bpf_map *tap_rss_map_configurations;$ ERROR: code indent should never use tabs #392: FILE: ebpf/rss.bpf.skeleton.h:15: +^I^Istruct bpf_map *tap_rss_map_indirection_table;$ ERROR: code indent should never use tabs #393: FILE: ebpf/rss.bpf.skeleton.h:16: +^I^Istruct bpf_map *tap_rss_map_toeplitz_key;$ ERROR: code indent should never use tabs #394: FILE: ebpf/rss.bpf.skeleton.h:17: +^I} maps;$ ERROR: code indent should never use tabs #395: FILE: ebpf/rss.bpf.skeleton.h:18: +^Istruct {$ ERROR: code indent should never use tabs #396: FILE: ebpf/rss.bpf.skeleton.h:19: +^I^Istruct bpf_program *tun_rss_steering_prog;$ ERROR: code indent should never use tabs #397: FILE: ebpf/rss.bpf.skeleton.h:20: +^I} progs;$ ERROR: code indent should never use tabs #398: FILE: ebpf/rss.bpf.skeleton.h:21: +^Istruct {$ ERROR: code indent should never use tabs #399: FILE: ebpf/rss.bpf.skeleton.h:22: +^I^Istruct bpf_link *tun_rss_steering_prog;$ ERROR: code indent should never use tabs #400: FILE: ebpf/rss.bpf.skeleton.h:23: +^I} links;$ ERROR: code indent should never use tabs #406: FILE: ebpf/rss.bpf.skeleton.h:29: +^Iif (!obj)$ ERROR: braces {} are necessary for all arms of this statement #406: FILE: ebpf/rss.bpf.skeleton.h:29: + if (!obj) [...] ERROR: code indent should never use tabs #407: FILE: ebpf/rss.bpf.skeleton.h:30: +^I^Ireturn;$ ERROR: code indent should never use tabs #408: FILE: ebpf/rss.bpf.skeleton.h:31: +^Iif (obj->skeleton)$ ERROR: braces {} are necessary for all arms of this statement #408: FILE: ebpf/rss.bpf.skeleton.h:31: + if (obj->skeleton) [...] ERROR: code indent should never use tabs #409: FILE: ebpf/rss.bpf.skeleton.h:32: +^I^Ibpf_object__destroy_skeleton(obj->skeleton);$ ERROR: code indent should never use tabs #410: FILE: ebpf/rss.bpf.skeleton.h:33: +^Ifree(obj);$ ERROR: code indent should never use tabs #419: FILE: ebpf/rss.bpf.skeleton.h:42: +^Istruct rss_bpf *obj;$ ERROR: code indent should never use tabs #421: FILE: ebpf/rss.bpf.skeleton.h:44: +^Iobj = (struct rss_bpf *)calloc(1, sizeof(*obj));$ ERROR: code indent should never use tabs #422: FILE: ebpf/rss.bpf.skeleton.h:45: +^Iif (!obj)$ ERROR: braces {} are necessary for all arms of this statement #422: FILE: ebpf/rss.bpf.skeleton.h:45: + if (!obj) [...] ERROR: code indent should never use tabs #423: FILE: ebpf/rss.bpf.skeleton.h:46: +^I^Ireturn NULL;$ ERROR: code indent should never use tabs #424: FILE: ebpf/rss.bpf.skeleton.h:47: +^Iif (rss_bpf__create_skeleton(obj))$ ERROR: braces {} are necessary for all arms of this statement #424: FILE: ebpf/rss.bpf.skeleton.h:47: + if (rss_bpf__create_skeleton(obj)) [...] ERROR: code indent should never use tabs #425: FILE: ebpf/rss.bpf.skeleton.h:48: +^I^Igoto err;$ ERROR: code indent should never use tabs #426: FILE: ebpf/rss.bpf.skeleton.h:49: +^Iif (bpf_object__open_skeleton(obj->skeleton, opts))$ ERROR: braces {} are necessary for all arms of this statement #426: FILE: ebpf/rss.bpf.skeleton.h:49: + if (bpf_object__open_skeleton(obj->skeleton, opts)) [...] ERROR: code indent should never use tabs #427: FILE: ebpf/rss.bpf.skeleton.h:50: +^I^Igoto err;$ ERROR: code indent should never use tabs #429: FILE: ebpf/rss.bpf.skeleton.h:52: +^Ireturn obj;$ ERROR: code indent should never use tabs #431: FILE: ebpf/rss.bpf.skeleton.h:54: +^Irss_bpf__destroy(obj);$ ERROR: code indent should never use tabs #432: FILE: ebpf/rss.bpf.skeleton.h:55: +^Ireturn NULL;$ ERROR: code indent should never use tabs #438: FILE: ebpf/rss.bpf.skeleton.h:61: +^Ireturn rss_bpf__open_opts(NULL);$ ERROR: code indent should never use tabs #444: FILE: ebpf/rss.bpf.skeleton.h:67: +^Ireturn bpf_object__load_skeleton(obj->skeleton);$ ERROR: code indent should never use tabs #450: FILE: ebpf/rss.bpf.skeleton.h:73: +^Istruct rss_bpf *obj;$ ERROR: code indent should never use tabs #452: FILE: ebpf/rss.bpf.skeleton.h:75: +^Iobj = rss_bpf__open();$ ERROR: code indent should never use tabs #453: FILE: ebpf/rss.bpf.skeleton.h:76: +^Iif (!obj)$ ERROR: braces {} are necessary for all arms of this statement #453: FILE: ebpf/rss.bpf.skeleton.h:76: + if (!obj) [...] ERROR: code indent should never use tabs #454: FILE: ebpf/rss.bpf.skeleton.h:77: +^I^Ireturn NULL;$ ERROR: code indent should never use tabs #455: FILE: ebpf/rss.bpf.skeleton.h:78: +^Iif (rss_bpf__load(obj)) {$ ERROR: code indent should never use tabs #456: FILE: ebpf/rss.bpf.skeleton.h:79: +^I^Irss_bpf__destroy(obj);$ ERROR: code indent should never use tabs #457: FILE: ebpf/rss.bpf.skeleton.h:80: +^I^Ireturn NULL;$ ERROR: code indent should never use tabs #458: FILE: ebpf/rss.bpf.skeleton.h:81: +^I}$ ERROR: code indent should never use tabs #459: FILE: ebpf/rss.bpf.skeleton.h:82: +^Ireturn obj;$ ERROR: code indent should never use tabs #465: FILE: ebpf/rss.bpf.skeleton.h:88: +^Ireturn bpf_object__attach_skeleton(obj->skeleton);$ ERROR: code indent should never use tabs #471: FILE: ebpf/rss.bpf.skeleton.h:94: +^Ireturn bpf_object__detach_skeleton(obj->skeleton);$ ERROR: code indent should never use tabs #477: FILE: ebpf/rss.bpf.skeleton.h:100: +^Istruct bpf_object_skeleton *s;$ ERROR: code indent should never use tabs #479: FILE: ebpf/rss.bpf.skeleton.h:102: +^Is = (struct bpf_object_skeleton *)calloc(1, sizeof(*s));$ ERROR: code indent should never use tabs #480: FILE: ebpf/rss.bpf.skeleton.h:103: +^Iif (!s)$ ERROR: braces {} are necessary for all arms of this statement #480: FILE: ebpf/rss.bpf.skeleton.h:103: + if (!s) [...] ERROR: code indent should never use tabs #481: FILE: ebpf/rss.bpf.skeleton.h:104: +^I^Ireturn -1;$ ERROR: code indent should never use tabs #482: FILE: ebpf/rss.bpf.skeleton.h:105: +^Iobj->skeleton = s;$ ERROR: code indent should never use tabs #484: FILE: ebpf/rss.bpf.skeleton.h:107: +^Is->sz = sizeof(*s);$ ERROR: code indent should never use tabs #485: FILE: ebpf/rss.bpf.skeleton.h:108: +^Is->name = "rss_bpf";$ ERROR: code indent should never use tabs #486: FILE: ebpf/rss.bpf.skeleton.h:109: +^Is->obj = &obj->obj;$ ERROR: code indent should never use tabs #488: FILE: ebpf/rss.bpf.skeleton.h:111: +^I/* maps */$ ERROR: code indent should never use tabs #489: FILE: ebpf/rss.bpf.skeleton.h:112: +^Is->map_cnt = 3;$ ERROR: code indent should never use tabs #490: FILE: ebpf/rss.bpf.skeleton.h:113: +^Is->map_skel_sz = sizeof(*s->maps);$ ERROR: code indent should never use tabs #491: FILE: ebpf/rss.bpf.skeleton.h:114: +^Is->maps = (struct bpf_map_skeleton *)calloc(s->map_cnt, s->map_skel_sz);$ ERROR: code indent should never use tabs #492: FILE: ebpf/rss.bpf.skeleton.h:115: +^Iif (!s->maps)$ ERROR: braces {} are necessary for all arms of this statement #492: FILE: ebpf/rss.bpf.skeleton.h:115: + if (!s->maps) [...] ERROR: code indent should never use tabs #493: FILE: ebpf/rss.bpf.skeleton.h:116: +^I^Igoto err;$ ERROR: code indent should never use tabs #495: FILE: ebpf/rss.bpf.skeleton.h:118: +^Is->maps[0].name = "tap_rss_map_configurations";$ ERROR: code indent should never use tabs #496: FILE: ebpf/rss.bpf.skeleton.h:119: +^Is->maps[0].map = &obj->maps.tap_rss_map_configurations;$ ERROR: code indent should never use tabs #498: FILE: ebpf/rss.bpf.skeleton.h:121: +^Is->maps[1].name = "tap_rss_map_indirection_table";$ ERROR: code indent should never use tabs #499: FILE: ebpf/rss.bpf.skeleton.h:122: +^Is->maps[1].map = &obj->maps.tap_rss_map_indirection_table;$ ERROR: code indent should never use tabs #501: FILE: ebpf/rss.bpf.skeleton.h:124: +^Is->maps[2].name = "tap_rss_map_toeplitz_key";$ ERROR: code indent should never use tabs #502: FILE: ebpf/rss.bpf.skeleton.h:125: +^Is->maps[2].map = &obj->maps.tap_rss_map_toeplitz_key;$ ERROR: code indent should never use tabs #504: FILE: ebpf/rss.bpf.skeleton.h:127: +^I/* programs */$ ERROR: code indent should never use tabs #505: FILE: ebpf/rss.bpf.skeleton.h:128: +^Is->prog_cnt = 1;$ ERROR: code indent should never use tabs #506: FILE: ebpf/rss.bpf.skeleton.h:129: +^Is->prog_skel_sz = sizeof(*s->progs);$ WARNING: line over 80 characters #507: FILE: ebpf/rss.bpf.skeleton.h:130: + s->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz); ERROR: code indent should never use tabs #507: FILE: ebpf/rss.bpf.skeleton.h:130: +^Is->progs = (struct bpf_prog_skeleton *)calloc(s->prog_cnt, s->prog_skel_sz);$ ERROR: code indent should never use tabs #508: FILE: ebpf/rss.bpf.skeleton.h:131: +^Iif (!s->progs)$ ERROR: braces {} are necessary for all arms of this statement #508: FILE: ebpf/rss.bpf.skeleton.h:131: + if (!s->progs) [...] ERROR: code indent should never use tabs #509: FILE: ebpf/rss.bpf.skeleton.h:132: +^I^Igoto err;$ ERROR: code indent should never use tabs #511: FILE: ebpf/rss.bpf.skeleton.h:134: +^Is->progs[0].name = "tun_rss_steering_prog";$ ERROR: code indent should never use tabs #512: FILE: ebpf/rss.bpf.skeleton.h:135: +^Is->progs[0].prog = &obj->progs.tun_rss_steering_prog;$ ERROR: code indent should never use tabs #513: FILE: ebpf/rss.bpf.skeleton.h:136: +^Is->progs[0].link = &obj->links.tun_rss_steering_prog;$ ERROR: code indent should never use tabs #515: FILE: ebpf/rss.bpf.skeleton.h:138: +^Is->data_sz = 7088;$ ERROR: code indent should never use tabs #516: FILE: ebpf/rss.bpf.skeleton.h:139: +^Is->data = (void *)"\$ ERROR: code indent should never use tabs #768: FILE: ebpf/rss.bpf.skeleton.h:391: +^Ireturn 0;$ ERROR: code indent should never use tabs #770: FILE: ebpf/rss.bpf.skeleton.h:393: +^Ibpf_object__destroy_skeleton(s);$ ERROR: code indent should never use tabs #771: FILE: ebpf/rss.bpf.skeleton.h:394: +^Ireturn -1;$ total: 85 errors, 3 warnings, 753 lines checked Patch 4/7 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 5/7 Checking commit 20e40504de59 (virtio-net: Added eBPF RSS to virtio-net.) WARNING: line over 80 characters #198: FILE: hw/net/virtio-net.c:2868: + warn_report("Can't post-load eBPF RSS - fallback to software RSS"); total: 0 errors, 1 warnings, 227 lines checked Patch 5/7 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 6/7 Checking commit 4c1c6638d1f6 (docs: Added eBPF documentation.) WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #15: new file mode 100644 total: 0 errors, 1 warnings, 125 lines checked Patch 6/7 has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. 7/7 Checking commit 0774291e607b (MAINTAINERS: Added eBPF maintainers information.) === OUTPUT END === Test command exited with code: 1 The full log is available at http://patchew.org/logs/20210204170951.91805-1-and...@daynix.com/testing.checkpatch/?type=message. --- Email generated automatically by Patchew [https://patchew.org/]. Please send your feedback to patchew-de...@redhat.com