android_kernel_sony_sdm845/lib
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Andrii Nakryiko df7bdcc9f7 BACKPORT: kbuild: add ability to generate BTF type info for vmlinux
This patch adds new config option to trigger generation of BTF type
information from DWARF debuginfo for vmlinux and kernel modules through
pahole, which in turn relies on libbpf for btf_dedup() algorithm.

The intent is to record compact type information of all types used
inside kernel, including all the structs/unions/typedefs/etc. This
enables BPF's compile-once-run-everywhere ([0]) approach, in which
tracing programs that are inspecting kernel's internal data (e.g.,
struct task_struct) can be compiled on a system running some kernel
version, but would be possible to run on other kernel versions (and
configurations) without recompilation, even if the layout of structs
changed and/or some of the fields were added, removed, or renamed.

This is only possible if BPF loader can get kernel type info to adjust
all the offsets correctly. This patch is a first time in this direction,
making sure that BTF type info is part of Linux kernel image in
non-loadable ELF section.

BTF deduplication ([1]) algorithm typically provides 100x savings
compared to DWARF data, so resulting .BTF section is not big as is
typically about 2MB in size.

[0] http://vger.kernel.org/lpc-bpf2018.html#session-2
[1] https://facebookmicrosites.github.io/bpf/blog/2018/11/14/btf-enhancement.html

Cc: Masahiro Yamada <yamada.masahiro@socionext.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Daniel Borkmann <daniel@iogearbox.net>
Cc: Alexei Starovoitov <ast@fb.com>
Cc: Yonghong Song <yhs@fb.com>
Cc: Martin KaFai Lau <kafai@fb.com>
Change-Id: Id935f6e3ac658d9a92d55acd39e8287c644c941d
Signed-off-by: Andrii Nakryiko <andriin@fb.com>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Signed-off-by: Sorayukii <sorayukii69@gmail.com>
2026-05-15 17:58:04 +07:00
..
842 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2016-03-17 21:38:27 -07:00
crypto lib/crypto: blake2s: move hmac construction into wireguard 2022-06-25 11:45:02 +02:00
fonts Fonts: Replace discarded const qualifier 2020-11-10 10:24:02 +01:00
lz4 lz4: fix bogus gcc warning 2017-09-02 07:07:54 +02:00
lzo
mpi Merge branch 'android-4.9-q' of https://android.googlesource.com/kernel/common into HEAD 2020-06-30 02:33:58 +03:00
raid6 lib/raid6/test: fix multiple definition linking error 2022-04-20 09:06:30 +02:00
reed_solomon rslib: Fix handling of of caller provided syndrome 2019-08-04 09:33:23 +02:00
vdso ANDROID: clock_gettime(CLOCK_BOOTTIME,) slows down >20x 2020-06-30 02:50:11 +03:00
xz lib/xz: Validate the value before assigning it to an enum variable 2021-11-26 11:48:30 +01:00
zlib_deflate zlib_deflate/deftree: remove bi_reverse() 2015-09-10 13:29:01 -07:00
zlib_inflate lib/zlib: remove outdated and incorrect pre-increment optimization 2020-06-30 15:38:29 -04:00
zstd UPSTREAM: lib: Add zstd modules 2018-08-23 12:05:06 -07:00
.gitignore
argv_split.c
asn1_decoder.c ASN.1: check for error from ASN1_OP_END__ACT actions 2017-12-14 09:28:12 +01:00
assoc_array.c assoc_array: Fix BUG_ON during garbage collect 2022-06-06 08:19:46 +02:00
atomic64.c locking/atomic: Implement atomic{,64,_long}_fetch_{add,sub,and,andnot,or,xor}{,_relaxed,_acquire,_release}() 2016-06-16 10:48:32 +02:00
atomic64_test.c atomic64: no need for CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE 2016-10-07 18:46:30 -07:00
audit.c
bcd.c
bch.c
bitmap.c bitmap: Add bitmap_alloc(), bitmap_zalloc() and bitmap_free() 2020-01-29 10:24:41 +01:00
bitrev.c
bsearch.c kprobes: Prohibit probing on bsearch() 2019-04-05 22:29:11 +02:00
btree.c treewide: Remove old email address 2015-11-23 09:44:58 +01:00
bug.c UPSTREAM: bug: use %pB in BUG and stack protector failure 2019-03-28 21:13:06 -07:00
build_OID_registry
bust_spinlocks.c
chacha.c BACKPORT, FROMGIT: crypto: chacha - add XChaCha12 support 2018-12-13 09:34:58 -08:00
check_signature.c
checksum.c ipv4: Update parameters for csum_tcpudp_magic to their original types 2016-03-13 23:55:13 -04:00
clz_ctz.c
clz_tab.c
cmdline.c lib/cmdline.c: fix get_options() overflow while parsing ranges 2017-06-29 13:00:28 +02:00
compat_audit.c
cordic.c
cpu-notifier-error-inject.c fault-injection/cpu: Convert to hotplug state machine 2016-09-19 21:44:31 +02:00
cpu_rmap.c
cpumask.c sched/fair, cpumask: Export for_each_cpu_wrap() 2017-07-21 07:42:23 +02:00
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c
crc7.c
crc8.c
crc16.c
crc32.c lib/crc32.c: fix trivial typo in preprocessor condition 2020-10-29 09:05:39 +01:00
crc32defs.h
ctype.c
debug_info.c
debug_locks.c locking/lockdep: Fix debug_locks off performance problem 2018-11-13 11:16:48 -08:00
debugobjects.c debugobjects: avoid recursive calls with kmemleak 2018-12-17 09:38:35 +01:00
dec_and_lock.c
decompress.c
decompress_bunzip2.c lib/decompressors: use real out buf size for gunzip with kernel 2015-09-10 13:29:01 -07:00
decompress_inflate.c lib/decompressors: use real out buf size for gunzip with kernel 2015-09-10 13:29:01 -07:00
decompress_unlz4.c lib/decompress_unlz4.c: correctly handle zero-padding around initrds. 2021-07-20 16:21:12 +02:00
decompress_unlzma.c lib/decompress_unlzma: Do a NULL check for pointer 2015-09-10 13:29:01 -07:00
decompress_unlzo.c lib/decompressors: use real out buf size for gunzip with kernel 2015-09-10 13:29:01 -07:00
decompress_unxz.c lib/xz: Avoid overlapping memcpy() with invalid input with in-place decompression 2021-11-26 11:48:30 +01:00
devres.c devres: allow const resource arguments 2020-01-29 10:24:28 +01:00
digsig.c This is the 4.9.59 stable release 2017-10-30 09:27:09 +01:00
div64.c lib/div64.c: off by one in shift 2019-04-20 09:07:54 +02:00
dma-debug.c dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC 2022-06-14 16:52:29 +02:00
dma-noop.c dma-mapping: use unsigned long for dma_attrs 2016-08-04 08:50:07 -04:00
dump_stack.c dump_stack: avoid the livelock of the dump_lock 2019-11-12 19:15:43 +01:00
dynamic_debug.c dyndbg: let query-modname override actual module name 2022-10-26 13:15:43 +02:00
dynamic_queue_limits.c
earlycpio.c lib/cpio: Make find_cpio_data()'s offset arg optional 2016-06-08 11:04:19 +02:00
error-inject.c BACKPORT: error-injection: Separate error-injection from kprobe 2026-05-15 17:56:33 +07:00
extable.c extable: add support for relative extables to search and sort routines 2016-02-24 14:57:26 +00:00
fault-inject.c fault-inject: fix inverted interval/probability values in printk 2015-10-23 17:55:10 +09:00
fdt.c
fdt_empty_tree.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
find_bit.c uapi: rename ext2_swab() to swab() and share globally in swab.h 2022-06-25 11:45:14 +02:00
flex_array.c
flex_proportions.c lib+mm: fix few spelling mistakes 2016-02-15 11:18:23 +01:00
gcd.c lib/GCD.c: use binary GCD algorithm instead of Euclidean 2016-05-20 17:58:30 -07:00
gen_crc32table.c
genalloc.c lib/genalloc: fix the overflow when size is too big 2021-01-12 19:49:01 +01:00
glob.c
halfmd4.c lib/halfmd4.c: use rol32 inline function in the ROUND macro 2015-11-06 17:50:42 -08:00
hexdump.c hex2bin: fix access beyond string end 2022-05-12 12:14:54 +02:00
hweight.c x86/hweight: Get rid of the special calling convention 2016-06-08 15:01:02 +02:00
idr.c ida: don't use BUG_ON() for debugging 2022-07-12 16:26:25 +02:00
inflate.c
int_sqrt.c lib/int_sqrt: optimize initial value compute 2019-04-05 22:29:04 +02:00
interval_tree.c
interval_tree_test.c lib/interval_tree_test.c: allow users to limit scope of endpoint 2018-12-21 14:11:30 +01:00
iomap.c lib: iomap: Add MSM RTB support 2016-09-26 15:03:43 -07:00
iomap_copy.c lib/iomap_copy.c: add __ioread32_copy() 2016-01-20 17:09:18 -08:00
iommu-common.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc 2015-11-05 16:34:48 -08:00
iommu-helper.c lib/iommu-helper: skip to next segment 2016-08-02 19:35:07 -04:00
ioremap.c ioremap: Update pgtable free interfaces with addr 2018-08-17 20:59:29 +02:00
iov_iter.c lib/iov_iter: initialize "flags" in new pipe_buffer 2022-02-23 11:56:41 +01:00
irq_poll.c This adds a new gcc plugin named "latent_entropy". It is designed to 2016-10-15 10:03:15 -07:00
irq_regs.c
is_single_threaded.c lib/is_single_threaded.c: change current_is_single_threaded() to use for_each_thread() 2015-11-06 17:50:42 -08:00
jedec_ddr_data.c
kasprintf.c lib/kasprintf.c: add sanity check to kvasprintf 2016-01-16 11:17:27 -08:00
Kconfig Merge remote-tracking branch 'common/android-4.9-q' into android12-4.9-sdm845 2022-03-31 22:52:51 +03:00
Kconfig.debug BACKPORT: kbuild: add ability to generate BTF type info for vmlinux 2026-05-15 17:58:04 +07:00
Kconfig.kasan mm, kasan: switch SLUB to stackdepot, enable memory quarantine for SLUB 2016-07-28 16:07:41 -07:00
Kconfig.kgdb kgdb: depends on VT 2016-05-23 17:04:14 -07:00
Kconfig.kmemcheck
Kconfig.ubsan ubsan: allow to disable the null sanitizer 2016-09-20 14:26:08 +02:00
kfifo.c Partially revert "kfifo: fix kfifo_alloc() and kfifo_init()" 2020-01-29 10:24:30 +01:00
klist.c scsi: klist: Make it safe to use klists in atomic context 2018-10-03 17:01:45 -07:00
kobject.c kobject: Export kobject_get_unless_zero() 2020-01-14 20:04:25 +01:00
kobject_uevent.c kobject_uevent: remove warning in init_uevent_argv() 2021-05-22 10:40:33 +02:00
kstrtox.c lib/kstrtox.c: smaller _parse_integer() 2016-10-11 15:06:30 -07:00
kstrtox.h
lcm.c
libcrc32c.c crypto: Work around deallocated stack frame reference gcc bug on sparc. 2017-06-24 07:11:17 +02:00
list_debug.c Merge android-4.9.129 (b727d1c) into msm-4.9 2018-11-07 13:12:49 +08:00
list_sort.c
llist.c lib/llist.c: fix data race in llist_del_first 2015-11-06 17:50:42 -08:00
locking-selftest-hardirq.h
locking-selftest-mutex.h
locking-selftest-rlock-hardirq.h
locking-selftest-rlock-softirq.h
locking-selftest-rlock.h
locking-selftest-rsem.h
locking-selftest-softirq.h
locking-selftest-spin-hardirq.h
locking-selftest-spin-softirq.h
locking-selftest-spin.h
locking-selftest-wlock-hardirq.h
locking-selftest-wlock-softirq.h
locking-selftest-wlock.h
locking-selftest-wsem.h
locking-selftest.c locking/selftest: Fix output since KERN_CONT changes 2016-11-25 07:12:19 +01:00
lockref.c
lru_cache.c lru_cache: Converted lc_seq_printf_status to return void 2015-11-25 09:22:02 -07:00
Makefile BACKPORT: error-injection: Separate error-injection from kprobe 2026-05-15 17:56:33 +07:00
md5.c
memory-notifier-error-inject.c
memweight.c
net_utils.c
netdev-notifier-error-inject.c net: Add support for CHANGEUPPER notifier error injection 2015-12-03 11:49:23 -05:00
nlattr.c net: fix nla_strcmp to handle more then one trailing null character 2022-06-14 16:52:38 +02:00
nmi_backtrace.c nmi_backtrace: generate one-line reports for idle cpus 2016-10-07 18:46:30 -07:00
nodemask.c nodemask: Fix return values to be unsigned 2022-06-14 16:52:40 +02:00
notifier-error-inject.c lib/notifier-error-inject: fix error when writing -errno to debugfs file 2023-01-07 12:07:14 +01:00
notifier-error-inject.h
of-reconfig-notifier-error-inject.c
oid_registry.c 509: fix printing uninitialized stack memory when OID is empty 2018-02-25 11:05:48 +01:00
once.c once: make helper generic for calling functions once 2015-10-08 05:26:36 -07:00
parser.c
pci_iomap.c libnvdimm for 4.3: 2015-09-08 14:35:59 -07:00
percpu-refcount.c percpu-refcount: init ->confirm_switch member properly 2016-08-11 13:52:23 -04:00
percpu_counter.c percpu_counter: update debugobjects fixup callbacks return type 2016-05-19 19:12:14 -07:00
percpu_ida.c mm, page_alloc: rename __GFP_WAIT to __GFP_RECLAIM 2015-11-06 17:50:42 -08:00
percpu_test.c
plist.c
pm-notifier-error-inject.c
qmi_encdec.c soc: qcom: qmi_encdec: Restrict string length in decode 2019-03-05 16:21:06 +05:30
qmi_encdec_priv.h soc: qcom: Add snapshot of QMI 2016-11-11 17:31:37 -08:00
radix-tree.c Revert "radix tree test suite: fix compilation" 2016-12-09 10:41:42 -08:00
random32.c random: replace custom notifier chain with standard one 2022-06-25 11:45:11 +02:00
ratelimit.c ratelimit: Fix data-races in ___ratelimit(). 2022-09-05 10:23:55 +02:00
rational.c
rbtree.c rbtree: cache leftmost node internally 2022-01-27 08:47:42 +01:00
rbtree_test.c lib/rbtree-test: lower default params 2018-12-21 14:11:30 +01:00
reciprocal_div.c
refcount.c BACKPORT: locking/refcount: Create unchecked atomic_t implementation 2026-05-15 17:54:59 +07:00
rhashtable.c rhashtable: add schedule points 2018-10-18 09:13:24 +02:00
sbitmap.c sbitmap: initialize weight to zero 2016-09-19 08:19:40 -06:00
scatterlist.c lib/scatterlist: add sg_init_marker() helper 2026-05-15 17:55:47 +07:00
seq_buf.c seq_buf: Fix overflow in seq_buf_putmem_hex() 2021-07-20 16:21:09 +02:00
sg_pool.c lib: scatterlist: move SG pool code from SCSI driver to lib/sg_pool.c 2016-04-15 16:53:14 -04:00
sg_split.c
sha1.c lib/crypto: sha1: re-roll loops to reduce code size 2022-06-25 11:45:02 +02:00
show_mem.c lib/show_mem.c: correct reserved memory calculation 2015-09-08 15:35:28 -07:00
siphash.c siphash: use one source of truth for siphash permutations 2022-06-25 11:45:14 +02:00
smp_processor_id.c
sort.c
stackdepot.c lib: stackdepot: turn depot_lock spinlock to raw_spinlock 2021-05-22 10:40:34 +02:00
stmp_device.c
string.c Merge remote-tracking branch 'common/android-4.9-q' into lineage-18.1-caf-sdm845 2021-09-16 19:05:49 +03:00
string_helpers.c string_helpers: add kstrdup_quotable_file 2016-04-21 10:47:26 +10:00
strncpy_from_user.c BACKPORT: make 'user_access_begin()' do 'access_ok()' 2026-02-04 00:23:05 +02:00
strnlen_user.c BACKPORT: make 'user_access_begin()' do 'access_ok()' 2026-02-04 00:23:05 +02:00
swiotlb.c swiotlb: skip swiotlb_bounce when orig_addr is zero 2022-07-02 16:17:16 +02:00
syscall.c lib/syscall: Clear return values when no stack 2017-04-08 09:30:35 +02:00
test-kstrtox.c kstrto*: accept "-0" for signed conversion 2015-09-10 13:29:01 -07:00
test-string_helpers.c lib/test-string_helpers.c: fix and improve string_get_size() tests 2016-02-03 08:28:43 -08:00
test_bitmap.c test_bitmap: unit tests for lib/bitmap.c 2016-02-19 22:54:09 -05:00
test_bpf.c BACKPORT: treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 295 2026-05-15 17:57:45 +07:00
test_firmware.c test: firmware_class: add asynchronous request trigger 2016-01-07 13:44:22 -07:00
test_hash.c lib/test_hash.c: fix warning in preprocessor symbol evaluation 2016-09-01 17:52:01 -07:00
test_hexdump.c test_hexdump: use memcpy instead of strncpy 2018-12-08 13:05:04 +01:00
test_kasan.c This is the 4.9.214 stable release 2020-02-17 10:05:12 +01:00
test_module.c
test_printf.c UPSTREAM: lib/test_printf.c: accept "ptrval" as valid result for plain 'p' tests 2022-02-21 16:30:33 +01:00
test_rhashtable.c rhashtable-test: Fix max_size parameter description 2016-08-08 12:52:42 -07:00
test_siphash.c siphash: implement HalfSipHash1-3 for hash tables 2019-08-25 10:51:42 +02:00
test_static_key_base.c
test_static_keys.c locking/static_keys: Avoid nested functions 2016-02-09 10:27:29 +01:00
test_user_copy.c usercopy: Adjust tests to deal with SMAP/PAN 2017-06-14 15:06:05 +02:00
test_uuid.c lib/uuid: add a test module 2016-05-30 15:26:57 -07:00
textsearch.c
timerqueue.c lib/timerqueue: Rely on rbtree semantics for next timer 2022-01-27 08:47:42 +01:00
ts_bm.c
ts_fsm.c
ts_kmp.c
ubsan.c ubsan: Fix nasty -Wbuiltin-declaration-mismatch GCC-9 warnings 2019-05-10 17:52:07 +02:00
ubsan.h lib/ubsan: add type mismatch handler for new GCC/Clang 2018-02-17 13:21:20 +01:00
ucs2_string.c lib/ucs2_string: Speed up ucs2_utf8size() 2016-09-09 16:08:46 +01:00
uuid.c lib/uuid.c: use correct offset in uuid parser 2016-05-30 15:26:57 -07:00
vsprintf.c BACKPORT: symbol lookup: introduce dereference_symbol_descriptor() 2026-05-15 17:57:02 +07:00
win_minmax.c lib/win_minmax: windowed min or max estimator 2016-09-21 00:22:59 -04:00
xxhash.c UPSTREAM: lib: Add xxhash module 2018-08-23 12:05:06 -07:00