On Sat, May 8, 2021 at 3:31 PM <no-re...@patchew.org> wrote: > > Patchew URL: > https://patchew.org/QEMU/1620458319-5670-1-git-send-email-jasow...@redhat.com/ > > > > Hi, > > This series seems to have some coding style problems. See output below for > more information: > > Type: series > Message-id: 1620458319-5670-1-git-send-email-jasow...@redhat.com > Subject: [PULL 00/10] Net patches > > === 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 > From https://github.com/patchew-project/qemu > - [tag update] > patchew/1620402803-9237-1-git-send-email-jag.ra...@oracle.com -> > patchew/1620402803-9237-1-git-send-email-jag.ra...@oracle.com > * [new tag] > patchew/1620458319-5670-1-git-send-email-jasow...@redhat.com -> > patchew/1620458319-5670-1-git-send-email-jasow...@redhat.com > Switched to a new branch 'test' > a34d81a tap-bsd: Remove special casing for older OpenBSD releases > 4b987f4 virtio-net: failover: add missing > remove_migration_state_change_notifier() > 3dc299d hw/net/imx_fec: return 0xffff when accessing non-existing PHY > 729e8df MAINTAINERS: Added eBPF maintainers information. > ab65d98 docs: Added eBPF documentation. > 905729a virtio-net: Added eBPF RSS to virtio-net. > 5a7d393 ebpf: Added eBPF RSS loader. > eae9462 ebpf: Added eBPF RSS program. > b6962be net: Added SetSteeringEBPF method for NetClientState. > 1207c8e net/tap: Added TUNSETSTEERINGEBPF code.
Andrew, please fix those style issues except for the skeleton which is generated by bpftool and I will send a new version of pull request. > > === OUTPUT BEGIN === > 1/10 Checking commit 1207c8e2a076 (net/tap: Added TUNSETSTEERINGEBPF code.) > 2/10 Checking commit b6962be9ca91 (net: Added SetSteeringEBPF method for > NetClientState.) > 3/10 Checking commit eae94621a4b1 (ebpf: Added eBPF RSS program.) > Use of uninitialized value $acpi_testexpected in string eq at > ./scripts/checkpatch.pl line 1529. > WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? > #23: > new file mode 100755 > > WARNING: line over 80 characters > #211: FILE: tools/ebpf/rss.bpf.c:157: > + * According to > https://www.iana.org/assignments/ipv6-parameters/ipv6-parameters.xhtml > > WARNING: line over 80 characters > #214: FILE: tools/ebpf/rss.bpf.c:160: > + * Need to choose reasonable amount of maximum extensions/options we may > check to find > > WARNING: line over 80 characters > #281: FILE: tools/ebpf/rss.bpf.c:227: > + *l4_offset + opt_offset + offsetof(struct > ipv6_destopt_hao, addr), > > total: 0 errors, 4 warnings, 590 lines checked > > Patch 3/10 has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > 4/10 Checking commit 5a7d3933bfa3 (ebpf: Added eBPF RSS loader.) > Use of uninitialized value $acpi_testexpected in string eq at > ./scripts/checkpatch.pl line 1529. > WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? > #72: > new file mode 100644 > > WARNING: architecture specific defines should be avoided > #354: FILE: ebpf/rss.bpf.skeleton.h:4: > +#ifndef __RSS_BPF_SKEL_H__ > > ERROR: code indent should never use tabs > #361: FILE: ebpf/rss.bpf.skeleton.h:11: > +^Istruct bpf_object_skeleton *skeleton;$ > > ERROR: code indent should never use tabs > #362: FILE: ebpf/rss.bpf.skeleton.h:12: > +^Istruct bpf_object *obj;$ > > ERROR: code indent should never use tabs > #363: FILE: ebpf/rss.bpf.skeleton.h:13: > +^Istruct {$ > > ERROR: code indent should never use tabs > #364: FILE: ebpf/rss.bpf.skeleton.h:14: > +^I^Istruct bpf_map *tap_rss_map_configurations;$ > > ERROR: code indent should never use tabs > #365: FILE: ebpf/rss.bpf.skeleton.h:15: > +^I^Istruct bpf_map *tap_rss_map_indirection_table;$ > > ERROR: code indent should never use tabs > #366: FILE: ebpf/rss.bpf.skeleton.h:16: > +^I^Istruct bpf_map *tap_rss_map_toeplitz_key;$ > > ERROR: code indent should never use tabs > #367: FILE: ebpf/rss.bpf.skeleton.h:17: > +^I} maps;$ > > ERROR: code indent should never use tabs > #368: FILE: ebpf/rss.bpf.skeleton.h:18: > +^Istruct {$ > > ERROR: code indent should never use tabs > #369: FILE: ebpf/rss.bpf.skeleton.h:19: > +^I^Istruct bpf_program *tun_rss_steering_prog;$ > > ERROR: code indent should never use tabs > #370: FILE: ebpf/rss.bpf.skeleton.h:20: > +^I} progs;$ > > ERROR: code indent should never use tabs > #371: FILE: ebpf/rss.bpf.skeleton.h:21: > +^Istruct {$ > > ERROR: code indent should never use tabs > #372: FILE: ebpf/rss.bpf.skeleton.h:22: > +^I^Istruct bpf_link *tun_rss_steering_prog;$ > > ERROR: code indent should never use tabs > #373: FILE: ebpf/rss.bpf.skeleton.h:23: > +^I} links;$ > > ERROR: code indent should never use tabs > #379: FILE: ebpf/rss.bpf.skeleton.h:29: > +^Iif (!obj)$ > > ERROR: braces {} are necessary for all arms of this statement > #379: FILE: ebpf/rss.bpf.skeleton.h:29: > + if (!obj) > [...] > > ERROR: code indent should never use tabs > #380: FILE: ebpf/rss.bpf.skeleton.h:30: > +^I^Ireturn;$ > > ERROR: code indent should never use tabs > #381: FILE: ebpf/rss.bpf.skeleton.h:31: > +^Iif (obj->skeleton)$ > > ERROR: braces {} are necessary for all arms of this statement > #381: FILE: ebpf/rss.bpf.skeleton.h:31: > + if (obj->skeleton) > [...] > > ERROR: code indent should never use tabs > #382: FILE: ebpf/rss.bpf.skeleton.h:32: > +^I^Ibpf_object__destroy_skeleton(obj->skeleton);$ > > ERROR: code indent should never use tabs > #383: FILE: ebpf/rss.bpf.skeleton.h:33: > +^Ifree(obj);$ > > ERROR: code indent should never use tabs > #392: FILE: ebpf/rss.bpf.skeleton.h:42: > +^Istruct rss_bpf *obj;$ > > ERROR: code indent should never use tabs > #394: FILE: ebpf/rss.bpf.skeleton.h:44: > +^Iobj = (struct rss_bpf *)calloc(1, sizeof(*obj));$ > > ERROR: code indent should never use tabs > #395: FILE: ebpf/rss.bpf.skeleton.h:45: > +^Iif (!obj)$ > > ERROR: braces {} are necessary for all arms of this statement > #395: FILE: ebpf/rss.bpf.skeleton.h:45: > + if (!obj) > [...] > > ERROR: code indent should never use tabs > #396: FILE: ebpf/rss.bpf.skeleton.h:46: > +^I^Ireturn NULL;$ > > ERROR: code indent should never use tabs > #397: FILE: ebpf/rss.bpf.skeleton.h:47: > +^Iif (rss_bpf__create_skeleton(obj))$ > > ERROR: braces {} are necessary for all arms of this statement > #397: FILE: ebpf/rss.bpf.skeleton.h:47: > + if (rss_bpf__create_skeleton(obj)) > [...] > > ERROR: code indent should never use tabs > #398: FILE: ebpf/rss.bpf.skeleton.h:48: > +^I^Igoto err;$ > > ERROR: code indent should never use tabs > #399: 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 > #399: FILE: ebpf/rss.bpf.skeleton.h:49: > + if (bpf_object__open_skeleton(obj->skeleton, opts)) > [...] > > ERROR: code indent should never use tabs > #400: FILE: ebpf/rss.bpf.skeleton.h:50: > +^I^Igoto err;$ > > ERROR: code indent should never use tabs > #402: FILE: ebpf/rss.bpf.skeleton.h:52: > +^Ireturn obj;$ > > ERROR: code indent should never use tabs > #404: FILE: ebpf/rss.bpf.skeleton.h:54: > +^Irss_bpf__destroy(obj);$ > > ERROR: code indent should never use tabs > #405: FILE: ebpf/rss.bpf.skeleton.h:55: > +^Ireturn NULL;$ > > ERROR: code indent should never use tabs > #411: FILE: ebpf/rss.bpf.skeleton.h:61: > +^Ireturn rss_bpf__open_opts(NULL);$ > > ERROR: code indent should never use tabs > #417: FILE: ebpf/rss.bpf.skeleton.h:67: > +^Ireturn bpf_object__load_skeleton(obj->skeleton);$ > > ERROR: code indent should never use tabs > #423: FILE: ebpf/rss.bpf.skeleton.h:73: > +^Istruct rss_bpf *obj;$ > > ERROR: code indent should never use tabs > #425: FILE: ebpf/rss.bpf.skeleton.h:75: > +^Iobj = rss_bpf__open();$ > > ERROR: code indent should never use tabs > #426: FILE: ebpf/rss.bpf.skeleton.h:76: > +^Iif (!obj)$ > > ERROR: braces {} are necessary for all arms of this statement > #426: FILE: ebpf/rss.bpf.skeleton.h:76: > + if (!obj) > [...] > > ERROR: code indent should never use tabs > #427: FILE: ebpf/rss.bpf.skeleton.h:77: > +^I^Ireturn NULL;$ > > ERROR: code indent should never use tabs > #428: FILE: ebpf/rss.bpf.skeleton.h:78: > +^Iif (rss_bpf__load(obj)) {$ > > ERROR: code indent should never use tabs > #429: FILE: ebpf/rss.bpf.skeleton.h:79: > +^I^Irss_bpf__destroy(obj);$ > > ERROR: code indent should never use tabs > #430: FILE: ebpf/rss.bpf.skeleton.h:80: > +^I^Ireturn NULL;$ > > ERROR: code indent should never use tabs > #431: FILE: ebpf/rss.bpf.skeleton.h:81: > +^I}$ > > ERROR: code indent should never use tabs > #432: FILE: ebpf/rss.bpf.skeleton.h:82: > +^Ireturn obj;$ > > ERROR: code indent should never use tabs > #438: FILE: ebpf/rss.bpf.skeleton.h:88: > +^Ireturn bpf_object__attach_skeleton(obj->skeleton);$ > > ERROR: code indent should never use tabs > #444: FILE: ebpf/rss.bpf.skeleton.h:94: > +^Ireturn bpf_object__detach_skeleton(obj->skeleton);$ > > ERROR: code indent should never use tabs > #450: FILE: ebpf/rss.bpf.skeleton.h:100: > +^Istruct bpf_object_skeleton *s;$ > > ERROR: code indent should never use tabs > #452: FILE: ebpf/rss.bpf.skeleton.h:102: > +^Is = (struct bpf_object_skeleton *)calloc(1, sizeof(*s));$ > > ERROR: code indent should never use tabs > #453: FILE: ebpf/rss.bpf.skeleton.h:103: > +^Iif (!s)$ > > ERROR: braces {} are necessary for all arms of this statement > #453: FILE: ebpf/rss.bpf.skeleton.h:103: > + if (!s) > [...] > > ERROR: code indent should never use tabs > #454: FILE: ebpf/rss.bpf.skeleton.h:104: > +^I^Ireturn -1;$ > > ERROR: code indent should never use tabs > #455: FILE: ebpf/rss.bpf.skeleton.h:105: > +^Iobj->skeleton = s;$ > > ERROR: code indent should never use tabs > #457: FILE: ebpf/rss.bpf.skeleton.h:107: > +^Is->sz = sizeof(*s);$ > > ERROR: code indent should never use tabs > #458: FILE: ebpf/rss.bpf.skeleton.h:108: > +^Is->name = "rss_bpf";$ > > ERROR: code indent should never use tabs > #459: FILE: ebpf/rss.bpf.skeleton.h:109: > +^Is->obj = &obj->obj;$ > > ERROR: code indent should never use tabs > #461: FILE: ebpf/rss.bpf.skeleton.h:111: > +^I/* maps */$ > > ERROR: code indent should never use tabs > #462: FILE: ebpf/rss.bpf.skeleton.h:112: > +^Is->map_cnt = 3;$ > > ERROR: code indent should never use tabs > #463: FILE: ebpf/rss.bpf.skeleton.h:113: > +^Is->map_skel_sz = sizeof(*s->maps);$ > > ERROR: code indent should never use tabs > #464: 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 > #465: FILE: ebpf/rss.bpf.skeleton.h:115: > +^Iif (!s->maps)$ > > ERROR: braces {} are necessary for all arms of this statement > #465: FILE: ebpf/rss.bpf.skeleton.h:115: > + if (!s->maps) > [...] > > ERROR: code indent should never use tabs > #466: FILE: ebpf/rss.bpf.skeleton.h:116: > +^I^Igoto err;$ > > ERROR: code indent should never use tabs > #468: FILE: ebpf/rss.bpf.skeleton.h:118: > +^Is->maps[0].name = "tap_rss_map_configurations";$ > > ERROR: code indent should never use tabs > #469: FILE: ebpf/rss.bpf.skeleton.h:119: > +^Is->maps[0].map = &obj->maps.tap_rss_map_configurations;$ > > ERROR: code indent should never use tabs > #471: FILE: ebpf/rss.bpf.skeleton.h:121: > +^Is->maps[1].name = "tap_rss_map_indirection_table";$ > > ERROR: code indent should never use tabs > #472: 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 > #474: FILE: ebpf/rss.bpf.skeleton.h:124: > +^Is->maps[2].name = "tap_rss_map_toeplitz_key";$ > > ERROR: code indent should never use tabs > #475: 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 > #477: FILE: ebpf/rss.bpf.skeleton.h:127: > +^I/* programs */$ > > ERROR: code indent should never use tabs > #478: FILE: ebpf/rss.bpf.skeleton.h:128: > +^Is->prog_cnt = 1;$ > > ERROR: code indent should never use tabs > #479: FILE: ebpf/rss.bpf.skeleton.h:129: > +^Is->prog_skel_sz = sizeof(*s->progs);$ > > WARNING: line over 80 characters > #480: 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 > #480: 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 > #481: FILE: ebpf/rss.bpf.skeleton.h:131: > +^Iif (!s->progs)$ > > ERROR: braces {} are necessary for all arms of this statement > #481: FILE: ebpf/rss.bpf.skeleton.h:131: > + if (!s->progs) > [...] > > ERROR: code indent should never use tabs > #482: FILE: ebpf/rss.bpf.skeleton.h:132: > +^I^Igoto err;$ > > ERROR: code indent should never use tabs > #484: FILE: ebpf/rss.bpf.skeleton.h:134: > +^Is->progs[0].name = "tun_rss_steering_prog";$ > > ERROR: code indent should never use tabs > #485: FILE: ebpf/rss.bpf.skeleton.h:135: > +^Is->progs[0].prog = &obj->progs.tun_rss_steering_prog;$ > > ERROR: code indent should never use tabs > #486: FILE: ebpf/rss.bpf.skeleton.h:136: > +^Is->progs[0].link = &obj->links.tun_rss_steering_prog;$ > > ERROR: code indent should never use tabs > #488: FILE: ebpf/rss.bpf.skeleton.h:138: > +^Is->data_sz = 8088;$ > > ERROR: code indent should never use tabs > #489: FILE: ebpf/rss.bpf.skeleton.h:139: > +^Is->data = (void *)"\$ > > ERROR: code indent should never use tabs > #775: FILE: ebpf/rss.bpf.skeleton.h:425: > +^Ireturn 0;$ > > ERROR: code indent should never use tabs > #777: FILE: ebpf/rss.bpf.skeleton.h:427: > +^Ibpf_object__destroy_skeleton(s);$ > > ERROR: code indent should never use tabs > #778: FILE: ebpf/rss.bpf.skeleton.h:428: > +^Ireturn -1;$ > > total: 85 errors, 3 warnings, 779 lines checked > > Patch 4/10 has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > > 5/10 Checking commit 905729afbb3f (virtio-net: Added eBPF RSS to virtio-net.) > WARNING: line over 80 characters > #186: FILE: hw/net/virtio-net.c:2868: > + warn_report("Can't post-load eBPF RSS - fallback to > software RSS"); > > total: 0 errors, 1 warnings, 214 lines checked > > Patch 5/10 has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > 6/10 Checking commit ab65d982d37d (docs: Added eBPF documentation.) > Use of uninitialized value $acpi_testexpected in string eq at > ./scripts/checkpatch.pl line 1529. > WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? > #17: > new file mode 100644 > > total: 0 errors, 1 warnings, 129 lines checked > > Patch 6/10 has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > 7/10 Checking commit 729e8df02f0b (MAINTAINERS: Added eBPF maintainers > information.) > 8/10 Checking commit 3dc299dfc4b7 (hw/net/imx_fec: return 0xffff when > accessing non-existing PHY) > 9/10 Checking commit 4b987f4d63d7 (virtio-net: failover: add missing > remove_migration_state_change_notifier()) > 10/10 Checking commit a34d81aa5179 (tap-bsd: Remove special casing for older > OpenBSD releases) > === OUTPUT END === > > Test command exited with code: 1 > > > The full log is available at > http://patchew.org/logs/1620458319-5670-1-git-send-email-jasow...@redhat.com/testing.checkpatch/?type=message. > --- > Email generated automatically by Patchew [https://patchew.org/]. > Please send your feedback to patchew-de...@redhat.com