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:440: + local_storage = rcu_dereference_check(selem->local_storage, bpf_rcu_lock_held()); WARNING: line length of 91 exceeds 80 columns #142: FILE: kernel/bpf/bpf_local_storage.c:455: + * 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:456: + * 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:461: + 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:469: + * 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:470: + * 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:472: + * 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:473: + * with selem1 as raw_res_spin_lock_irqsave() returns -ETIMEDOUT. WARNING: line length of 87 exceeds 80 columns #171: FILE: kernel/bpf/bpf_local_storage.c:484: + * Normally, map_free() can call mem_uncharge() if destroy() is WARNING: line length of 83 exceeds 80 columns #172: FILE: kernel/bpf/bpf_local_storage.c:485: + * not about to return to the owner, which can then go away WARNING: line length of 84 exceeds 80 columns #173: FILE: kernel/bpf/bpf_local_storage.c:486: + * 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:487: + * 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:493: + refcount_inc_not_zero(&local_storage->owner_refcnt)) { WARNING: line length of 98 exceeds 80 columns #181: FILE: kernel/bpf/bpf_local_storage.c:494: + 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:495: + local_storage->selems_size -= smap->elem_size; WARNING: line length of 83 exceeds 80 columns #183: FILE: kernel/bpf/bpf_local_storage.c:496: + refcount_dec(&local_storage->owner_refcnt); WARNING: line length of 84 exceeds 80 columns #187: FILE: kernel/bpf/bpf_local_storage.c:500: + raw_res_spin_unlock_irqrestore(&local_storage->lock, flags); WARNING: line length of 88 exceeds 80 columns #194: FILE: kernel/bpf/bpf_local_storage.c:507: + * Normally, an selem can be unlinked under local_storage->lock and b->lock, and WARNING: line length of 89 exceeds 80 columns #195: FILE: kernel/bpf/bpf_local_storage.c:508: + * then freed after an RCU grace period. However, if destroy() and map_free() are WARNING: line length of 89 exceeds 80 columns #196: FILE: kernel/bpf/bpf_local_storage.c:509: + * racing or rqspinlock returns errors in unlikely situations (unlink != 2), free WARNING: line length of 82 exceeds 80 columns #197: FILE: kernel/bpf/bpf_local_storage.c:510: + * the selem only after both map_free() and destroy() drop their link_cnt. WARNING: line length of 82 exceeds 80 columns #222: FILE: kernel/bpf/bpf_local_storage.c:855: + smp_mb(); /* 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 43b0b1888263 ("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