WARNING: line length of 82 exceeds 80 columns #105: FILE: kernel/bpf/bpf_local_storage.c:228: + bpf_obj_free_fields(smap->map.record, SDATA(selem)->data); WARNING: line length of 89 exceeds 80 columns #127: FILE: kernel/bpf/bpf_local_storage.c:442: + local_storage = rcu_dereference_check(selem->local_storage, bpf_rcu_lock_held()); WARNING: line length of 91 exceeds 80 columns #131: FILE: kernel/bpf/bpf_local_storage.c:446: + * map_free() and destroy() each holds a link_cnt on an selem. Prevent called twice WARNING: line length of 91 exceeds 80 columns #142: FILE: kernel/bpf/bpf_local_storage.c:457: + * Call bpf_obj_free_fields() under b->lock to make sure it is done WARNING: line length of 93 exceeds 80 columns #143: FILE: kernel/bpf/bpf_local_storage.c:458: + * exactly once for an selem. Safe to free special fields immediately WARNING: line length of 90 exceeds 80 columns #148: FILE: kernel/bpf/bpf_local_storage.c:463: + bpf_obj_free_fields(smap->map.record, SDATA(selem)->data); WARNING: line length of 88 exceeds 80 columns #156: FILE: kernel/bpf/bpf_local_storage.c:471: + * When map_free(selem1), destroy(selem1) and destroy(selem2) are racing WARNING: line length of 88 exceeds 80 columns #157: FILE: kernel/bpf/bpf_local_storage.c:472: + * and both selem belong to the same bucket, if destroy(selem2) acquired WARNING: line length of 84 exceeds 80 columns #159: FILE: kernel/bpf/bpf_local_storage.c:474: + * destroy(selem1) will be able to free the special field associated WARNING: line length of 81 exceeds 80 columns #160: FILE: kernel/bpf/bpf_local_storage.c:475: + * with selem1 as raw_res_spin_lock_irqsave() returns -ETIMEDOUT. WARNING: line length of 84 exceeds 80 columns #171: FILE: kernel/bpf/bpf_local_storage.c:486: + * In the common path, map_free() can call mem_uncharge() if WARNING: line length of 87 exceeds 80 columns #172: FILE: kernel/bpf/bpf_local_storage.c:487: + * destroy() is not about to return to owner, which can then go WARNING: line length of 89 exceeds 80 columns #173: FILE: kernel/bpf/bpf_local_storage.c:488: + * away immediately. Otherwise, the charge of the selem will stay WARNING: line length of 87 exceeds 80 columns #174: FILE: kernel/bpf/bpf_local_storage.c:489: + * accounted in local_storage->selems_size and uncharged during WARNING: line length of 90 exceeds 80 columns #180: FILE: kernel/bpf/bpf_local_storage.c:495: + refcount_inc_not_zero(&local_storage->owner_refcnt)) { WARNING: line length of 98 exceeds 80 columns #181: FILE: kernel/bpf/bpf_local_storage.c:496: + mem_uncharge(smap, local_storage->owner, smap->elem_size); WARNING: line length of 86 exceeds 80 columns #182: FILE: kernel/bpf/bpf_local_storage.c:497: + local_storage->selems_size -= smap->elem_size; WARNING: line length of 83 exceeds 80 columns #183: FILE: kernel/bpf/bpf_local_storage.c:498: + refcount_dec(&local_storage->owner_refcnt); WARNING: line length of 84 exceeds 80 columns #187: FILE: kernel/bpf/bpf_local_storage.c:502: + raw_res_spin_unlock_irqrestore(&local_storage->lock, flags); WARNING: line length of 86 exceeds 80 columns #194: FILE: kernel/bpf/bpf_local_storage.c:509: + * Normally, an selem can be unlink under local_storage->lock and b->lock, and WARNING: line length of 87 exceeds 80 columns #195: FILE: kernel/bpf/bpf_local_storage.c:510: + * then added to a local to_free list. However, if destroy() and map_free() are WARNING: line length of 89 exceeds 80 columns #196: FILE: kernel/bpf/bpf_local_storage.c:511: + * racing or rqspinlock returns errors in unlikely situations (unlink != 2), free WARNING: line length of 83 exceeds 80 columns #222: FILE: kernel/bpf/bpf_local_storage.c:856: + smp_rmb(); /* pair with refcount_dec in bpf_selem_unlink_nofail */ total: 0 errors, 23 warnings, 0 checks, 163 lines checked NOTE: For some of the reported defects, checkpatch may be able to mechanically convert to the typical style using --fix or --fix-inplace. Commit 994ae29e6932 ("bpf: Support lockless unlink when freeing map or local storage") has style problems, please review. NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT BAD_REPORTED_BY_LINK CAMELCASE COMMIT_LOG_LONG_LINE FILE_PATH_CHANGES GIT_COMMIT_ID MACRO_ARG_REUSE NO_AUTHOR_SIGN_OFF NOTE: If any of the errors are false positives, please report them to the maintainer, see CHECKPATCH in MAINTAINERS. total: 0 errors, 23 warnings, 0 checks, 163 lines checked