libbpf: fix BPF_LOG_BUF_SIZE off-by-one error
authorMcCabe, Robert J <robert.mccabe@rockwellcollins.com>
Fri, 19 Apr 2019 23:37:20 +0000 (18:37 -0500)
committerAlexei Starovoitov <ast@kernel.org>
Sat, 20 Apr 2019 00:05:48 +0000 (17:05 -0700)
The BPF_PROG_LOAD condition for kernel version <= 5.1 is

   log->len_total > UINT_MAX >> 8 /* (16 * 1024 * 1024) - 1 */

Signed-off-by: McCabe, Robert J <robert.mccabe@rockwellcollins.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/lib/bpf/bpf.h

index bc30783d14033a64801589ade7716bea8840311b..ff2506fe6bd2ff71c50238926d88198658440e4d 100644 (file)
@@ -92,7 +92,7 @@ struct bpf_load_program_attr {
 #define MAPS_RELAX_COMPAT      0x01
 
 /* Recommend log buffer size */
-#define BPF_LOG_BUF_SIZE (16 * 1024 * 1024) /* verifier maximum in kernels <= 5.1 */
+#define BPF_LOG_BUF_SIZE (UINT32_MAX >> 8) /* verifier maximum in kernels <= 5.1 */
 LIBBPF_API int
 bpf_load_program_xattr(const struct bpf_load_program_attr *load_attr,
                       char *log_buf, size_t log_buf_sz);