WARNING: added, moved or deleted file(s), does MAINTAINERS need updating? #110: new file mode 100644 WARNING: line length of 84 exceeds 80 columns #143: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:29: + * Thread-specific memory for storing TLD is allocated lazily on the first call to WARNING: line length of 86 exceeds 80 columns #144: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:30: + * tld_get_data(). The thread that calls it must also call tld_free() on thread exit WARNING: line length of 89 exceeds 80 columns #145: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:31: + * to prevent memory leak. Pthread will be included if the option is defined. A pthread WARNING: line length of 90 exceeds 80 columns #149: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:35: + * TLD_DYN_DATA_SIZE - The maximum size of memory allocated for TLDs created dynamically WARNING: line length of 87 exceeds 80 columns #152: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:38: + * A TLD can be defined statically using TLD_DEFINE_KEY() or created on the fly using WARNING: line length of 88 exceeds 80 columns #153: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:39: + * tld_create_key(). As the total size of TLDs created with tld_create_key() cannot be WARNING: line length of 89 exceeds 80 columns #154: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:40: + * possibly known statically, a memory area of size TLD_DYN_DATA_SIZE will be allocated WARNING: line length of 84 exceeds 80 columns #155: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:41: + * for these TLDs. This additional memory is allocated for every thread that calls WARNING: line length of 83 exceeds 80 columns #156: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:42: + * tld_get_data() even if no tld_create_key are actually called, so be mindful of WARNING: line length of 91 exceeds 80 columns #157: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:43: + * potential memory wastage. Use TLD_DEFINE_KEY() whenever possible as just enough memory WARNING: line length of 85 exceeds 80 columns #163: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:49: + * Setting TLD_NAME_LEN will affect the maximum number of TLDs a process can store, WARNING: line length of 88 exceeds 80 columns #169: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:55: + * When allocating the memory for storing TLDs, we need to make sure there is a memory WARNING: line length of 88 exceeds 80 columns #170: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:56: + * region of the X bytes within a page. This is due to the limit posed by UPTR: memory WARNING: line length of 86 exceeds 80 columns #171: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:57: + * pinned to the kernel cannot exceed a page nor can it cross the page boundary. The WARNING: line length of 82 exceeds 80 columns #172: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:58: + * library normally calls malloc(2*X) given X bytes of total TLDs, and only uses WARNING: line length of 90 exceeds 80 columns #173: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:59: + * aligned_alloc(PAGE_SIZE, X) when X >= PAGE_SIZE / 2. This is to reduce memory wastage WARNING: line length of 88 exceeds 80 columns #174: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:60: + * as not all memory allocator can use the exact amount of memory requested to fulfill WARNING: line length of 90 exceeds 80 columns #175: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:61: + * aligned_alloc(). For example, some may round the size up to the alignment. Enable the WARNING: line length of 88 exceeds 80 columns #176: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:62: + * option to always use aligned_alloc() if the implementation has low memory overhead. WARNING: Use of volatile is usually wrong: see Documentation/process/volatile-considered-harmful.rst #185: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:71: +#define TLD_READ_ONCE(x) (*(volatile typeof(x) *)&(x)) WARNING: do not add new typedefs #201: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:87: +typedef struct { WARNING: Missing a blank line after declarations #207: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:93: + char name[TLD_NAME_LEN]; + _Atomic __u16 size; WARNING: Prefer __weak over __attribute__((weak)) #226: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:112: +struct tld_meta_u * _Atomic tld_meta_p __attribute__((weak)); WARNING: Prefer __weak over __attribute__((weak)) #227: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:113: +__thread struct tld_data_u *tld_data_p __attribute__((weak)); WARNING: Prefer __weak over __attribute__((weak)) #228: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:114: +__thread void *tld_data_alloc_p __attribute__((weak)); WARNING: Prefer __weak over __attribute__((weak)) #231: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:117: +pthread_key_t tld_pthread_key __attribute__((weak)); WARNING: line length of 83 exceeds 80 columns #289: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:175: + data_alloc = (use_aligned_alloc || tld_meta_p->size * 2 >= TLD_PAGE_SIZE) ? WARNING: line length of 91 exceeds 80 columns #298: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:184: + * Always pass a page-aligned address to UPTR since the size of tld_map_value::data WARNING: line length of 99 exceeds 80 columns #299: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:185: + * is a page in BTF. If data_alloc spans across two pages, use the page that contains large WARNING: line length of 90 exceeds 80 columns #302: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:188: + if (TLD_PAGE_SIZE - (~TLD_PAGE_MASK & (intptr_t)data_alloc) >= tld_meta_p->size) { WARNING: line length of 91 exceeds 80 columns #308: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:194: + map_val.data = (void *)(TLD_ROUND_UP((intptr_t)data_alloc, TLD_PAGE_SIZE)); WARNING: line length of 83 exceeds 80 columns #309: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:195: + data = (void *)(TLD_ROUND_UP((intptr_t)data_alloc, TLD_PAGE_SIZE)); WARNING: line length of 97 exceeds 80 columns #346: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:232: + /* A metadata is not ready until size is updated with a non-zero value */ WARNING: line length of 82 exceeds 80 columns #347: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:233: + while (!(sz = atomic_load(&tld_meta_p->metadata[i].size))) WARNING: line length of 87 exceeds 80 columns #350: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:236: + if (!strncmp(tld_meta_p->metadata[i].name, name, TLD_NAME_LEN)) WARNING: 'upto' may be misspelled - perhaps 'up to'? #358: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:244: + * TLD_DEFINE_KEY() is given memory upto a page while at most ^^^^ WARNING: line length of 100 exceeds 80 columns #365: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:251: + if (off + TLD_ROUND_UP(size, 8) > TLD_PAGE_SIZE - sizeof(struct tld_data_u)) WARNING: line length of 84 exceeds 80 columns #371: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:257: + * Only one tld_create_key() can increase the current cnt by one and WARNING: line length of 91 exceeds 80 columns #372: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:258: + * takes the latest available slot. Other threads will check again if a new WARNING: line length of 86 exceeds 80 columns #373: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:259: + * TLD can still be added, and then compete for the new slot after the WARNING: line length of 85 exceeds 80 columns #376: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:262: + if (!atomic_compare_exchange_strong(&tld_meta_p->cnt, &cnt, cnt + 1)) WARNING: Prefer strscpy, strscpy_pad, or __nonstring over strncpy - see: https://github.com/KSPP/linux/issues/90 #379: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:265: + strncpy(tld_meta_p->metadata[i].name, name, TLD_NAME_LEN); WARNING: line length of 85 exceeds 80 columns #388: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:274: + * TLD_DEFINE_KEY() - Define a TLD and a global variable key associated with the TLD. WARNING: line length of 91 exceeds 80 columns #396: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:282: + * A global variable key of opaque type, tld_key_t, will be declared and initialized before WARNING: line length of 89 exceeds 80 columns #397: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:283: + * main() starts. Use tld_key_is_err() or tld_key_err_or_zero() later to check if the key WARNING: line length of 82 exceeds 80 columns #398: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:284: + * creation succeeded. Pass the key to tld_get_data() to get a pointer to the TLD. WARNING: line length of 83 exceeds 80 columns #401: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:287: + * The total size of TLDs created using TLD_DEFINE_KEY() cannot exceed a page. Just WARNING: line length of 87 exceeds 80 columns #402: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:288: + * enough memory will be allocated for each thread on the first call to tld_get_data(). WARNING: line length of 86 exceeds 80 columns #419: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:305: + * Return an opaque object key. Use tld_key_is_err() or tld_key_err_or_zero() to check WARNING: line length of 84 exceeds 80 columns #420: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:306: + * if the key creation succeeded. Pass the key to tld_get_data() to get a pointer to WARNING: line length of 87 exceeds 80 columns #423: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:309: + * Use tld_create_key() only when a TLD needs to be created dynamically (e.g., @name is WARNING: line length of 85 exceeds 80 columns #426: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:312: + * An additional TLD_DYN_DATA_SIZE bytes are allocated per-thread to accommodate TLDs WARNING: line length of 85 exceeds 80 columns #427: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:313: + * created dynamically with tld_create_key(). Since only a user page is pinned to the WARNING: line length of 81 exceeds 80 columns #428: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:314: + * kernel, when TLDs created with TLD_DEFINE_KEY() uses more than TLD_PAGE_SIZE - WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__)) #431: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:317: +__attribute__((unused)) WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__)) #437: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:323: +__attribute__((unused)) WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__)) #443: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:329: +__attribute__((unused)) WARNING: line length of 81 exceeds 80 columns #450: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:336: + * tld_get_data() - Get a pointer to the TLD associated with the given key of the WARNING: line length of 88 exceeds 80 columns #453: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:339: + * @map_fd: A file descriptor of tld_data_map, the underlying BPF task local storage map WARNING: line length of 85 exceeds 80 columns #457: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:343: + * Return a pointer to the TLD if the key is valid; NULL if not enough memory for TLD WARNING: line length of 90 exceeds 80 columns #458: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:344: + * for this thread, or the key is invalid. The returned pointer is guaranteed to be 8-byte WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__)) #464: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:350: +__attribute__((unused)) WARNING: line length of 84 exceeds 80 columns #480: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:366: + * For the calling thread, all pointers to TLDs acquired before will become invalid. WARNING: line length of 83 exceeds 80 columns #482: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:368: + * Users must call tld_free() on thread exit to prevent memory leak. Alternatively, WARNING: line length of 83 exceeds 80 columns #483: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:369: + * define TLD_FREE_DATA_ON_THREAD_EXIT and a thread exit handler will be registered WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__)) #486: FILE: tools/testing/selftests/bpf/prog_tests/task_local_data.h:372: +__attribute__((unused)) WARNING: line length of 81 exceeds 80 columns #538: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:32: + * tld_object on the stack. Then, TLDs can be accessed by calling tld_get_data(). WARNING: do not add new typedefs #579: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:73: +typedef struct { CHECK: spaces preferred around that '*' (ctx:WxV) #600: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:94: + struct tld_data_u __uptr *data; ^ CHECK: spaces preferred around that '*' (ctx:WxV) #601: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:95: + struct tld_meta_u __uptr *meta; ^ WARNING: do not add new typedefs #604: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:98: +typedef struct tld_uptr_dummy { ERROR: Use C99 flexible arrays - see https://docs.kernel.org/process/deprecated.html#zero-length-and-one-element-arrays #618: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:112: + tld_uptr_dummy_t dummy[0]; +}; WARNING: line length of 81 exceeds 80 columns #622: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:116: + * Members should be tld_key_t and passed to the 3rd argument of tld_fetch_key(). WARNING: line length of 85 exceeds 80 columns #646: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:140: + * Return 0 on success; -ENODATA if the user space did not initialize task local data WARNING: line length of 86 exceeds 80 columns #647: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:141: + * for the current task through tld_get_data(); -ENOMEM if the creation of tld_key_map WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__)) #650: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:144: +__attribute__((unused)) WARNING: line length of 88 exceeds 80 columns #661: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:155: + BPF_LOCAL_STORAGE_GET_F_CREATE); WARNING: line length of 86 exceeds 80 columns #672: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:166: + * Return the offset of TLD if @name is found. Otherwise, return the current TLD count WARNING: line length of 87 exceeds 80 columns #673: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:167: + * using the nonpositive range so that the next tld_get_data() can skip fetching key if WARNING: __always_unused or __maybe_unused is preferred over __attribute__((__unused__)) #676: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:170: +__attribute__((unused)) WARNING: line length of 85 exceeds 80 columns #677: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:171: +static int __tld_fetch_key(struct tld_object *tld_obj, const char *name, int i_start) WARNING: line length of 87 exceeds 80 columns #682: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:176: + if (!tld_obj->data_map || !tld_obj->data_map->data || !tld_obj->data_map->meta) WARNING: line length of 87 exceeds 80 columns #693: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:187: + if (i >= i_start && !bpf_strncmp(metadata[i].name, TLD_NAME_LEN, name)) WARNING: line length of 87 exceeds 80 columns #710: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:204: + * Return a pointer to the TLD associated with @name; NULL if not found or @size is too WARNING: line length of 87 exceeds 80 columns #711: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:205: + * big. @key is used to cache the key if the TLD is found to speed up subsequent calls. WARNING: line length of 84 exceeds 80 columns #712: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:206: + * It should be defined as an member of tld_keys of tld_key_t type by the developer. WARNING: line length of 89 exceeds 80 columns #714: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:208: +#define tld_get_data(tld_obj, key, name, size) \ CHECK: Macro argument 'key' may be better as '(key)' to avoid precedence issues #714: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:208: +#define tld_get_data(tld_obj, key, name, size) \ + ({ \ + void *data = NULL, *_data = (tld_obj)->data_map->data; \ + long off = (tld_obj)->key_map->key.off; \ + int cnt; \ + \ + if (likely(_data)) { \ + if (likely(off > 0)) { \ + barrier_var(off); \ + if (likely(off < __PAGE_SIZE - size)) \ + data = _data + off; \ + } else { \ + cnt = -(off); \ + if (likely((tld_obj)->data_map->meta) && \ + cnt < (tld_obj)->data_map->meta->cnt) { \ + off = __tld_fetch_key(tld_obj, name, cnt); \ + (tld_obj)->key_map->key.off = off; \ + \ + if (likely(off < __PAGE_SIZE - size)) { \ + barrier_var(off); \ + if (off > 0) \ + data = _data + off; \ + } \ + } \ + } \ + } \ + data; \ + }) CHECK: Macro argument 'size' may be better as '(size)' to avoid precedence issues #714: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:208: +#define tld_get_data(tld_obj, key, name, size) \ + ({ \ + void *data = NULL, *_data = (tld_obj)->data_map->data; \ + long off = (tld_obj)->key_map->key.off; \ + int cnt; \ + \ + if (likely(_data)) { \ + if (likely(off > 0)) { \ + barrier_var(off); \ + if (likely(off < __PAGE_SIZE - size)) \ + data = _data + off; \ + } else { \ + cnt = -(off); \ + if (likely((tld_obj)->data_map->meta) && \ + cnt < (tld_obj)->data_map->meta->cnt) { \ + off = __tld_fetch_key(tld_obj, name, cnt); \ + (tld_obj)->key_map->key.off = off; \ + \ + if (likely(off < __PAGE_SIZE - size)) { \ + barrier_var(off); \ + if (off > 0) \ + data = _data + off; \ + } \ + } \ + } \ + } \ + data; \ + }) WARNING: line length of 89 exceeds 80 columns #715: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:209: + ({ \ WARNING: line length of 89 exceeds 80 columns #716: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:210: + void *data = NULL, *_data = (tld_obj)->data_map->data; \ WARNING: line length of 89 exceeds 80 columns #717: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:211: + long off = (tld_obj)->key_map->key.off; \ WARNING: line length of 89 exceeds 80 columns #718: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:212: + int cnt; \ WARNING: line length of 89 exceeds 80 columns #719: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:213: + \ WARNING: line length of 89 exceeds 80 columns #720: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:214: + if (likely(_data)) { \ WARNING: line length of 89 exceeds 80 columns #721: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:215: + if (likely(off > 0)) { \ WARNING: line length of 89 exceeds 80 columns #722: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:216: + barrier_var(off); \ WARNING: line length of 89 exceeds 80 columns #723: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:217: + if (likely(off < __PAGE_SIZE - size)) \ WARNING: line length of 89 exceeds 80 columns #724: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:218: + data = _data + off; \ WARNING: line length of 89 exceeds 80 columns #725: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:219: + } else { \ WARNING: line length of 89 exceeds 80 columns #726: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:220: + cnt = -(off); \ WARNING: line length of 89 exceeds 80 columns #727: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:221: + if (likely((tld_obj)->data_map->meta) && \ WARNING: line length of 89 exceeds 80 columns #728: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:222: + cnt < (tld_obj)->data_map->meta->cnt) { \ WARNING: line length of 89 exceeds 80 columns #729: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:223: + off = __tld_fetch_key(tld_obj, name, cnt); \ WARNING: line length of 89 exceeds 80 columns #730: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:224: + (tld_obj)->key_map->key.off = off; \ WARNING: line length of 89 exceeds 80 columns #731: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:225: + \ WARNING: line length of 89 exceeds 80 columns #732: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:226: + if (likely(off < __PAGE_SIZE - size)) { \ WARNING: line length of 89 exceeds 80 columns #733: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:227: + barrier_var(off); \ WARNING: line length of 89 exceeds 80 columns #734: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:228: + if (off > 0) \ WARNING: Too many leading tabs - consider code refactoring #734: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:228: + if (off > 0) \ WARNING: line length of 89 exceeds 80 columns #735: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:229: + data = _data + off; \ WARNING: line length of 89 exceeds 80 columns #736: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:230: + } \ WARNING: line length of 89 exceeds 80 columns #737: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:231: + } \ WARNING: line length of 89 exceeds 80 columns #738: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:232: + } \ WARNING: line length of 89 exceeds 80 columns #739: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:233: + } \ WARNING: line length of 89 exceeds 80 columns #740: FILE: tools/testing/selftests/bpf/progs/task_local_data.bpf.h:234: + data; \ total: 1 errors, 112 warnings, 4 checks, 623 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 78225bac5194 ("selftests/bpf: Introduce task local data") has style problems, please review. NOTE: Ignored message types: ALLOC_SIZEOF_STRUCT BAD_REPORTED_BY_LINK CAMELCASE COMMIT_LOG_LONG_LINE 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.