android_kernel_motorola_sm6375/lib
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jason A. Donenfeld 0f31cafc7d
UPSTREAM: crypto: poly1305 - add new 32 and 64-bit generic versions
These two C implementations from Zinc -- a 32x32 one and a 64x64 one,
depending on the platform -- come from Andrew Moon's public domain
poly1305-donna portable code, modified for usage in the kernel. The
precomputation in the 32-bit version and the use of 64x64 multiplies in
the 64-bit version make these perform better than the code it replaces.
Moon's code is also very widespread and has received many eyeballs of
scrutiny.

There's a bit of interference between the x86 implementation, which
relies on internal details of the old scalar implementation. In the next
commit, the x86 implementation will be replaced with a faster one that
doesn't rely on this, so none of this matters much. But for now, to keep
this passing the tests, we inline the bits of the old implementation
that the x86 implementation relied on. Also, since we now support a
slightly larger key space, via the union, some offsets had to be fixed
up.

Nonce calculation was folded in with the emit function, to take
advantage of 64x64 arithmetic. However, Adiantum appeared to rely on no
nonce handling in emit, so this path was conditionalized. We also
introduced a new struct, poly1305_core_key, to represent the precise
amount of space that particular implementation uses.

Testing with kbench9000, depending on the CPU, the update function for
the 32x32 version has been improved by 4%-7%, and for the 64x64 by
19%-30%. The 32x32 gains are small, but I think there's great value in
having a parallel implementation to the 64x64 one so that the two can be
compared side-by-side as nice stand-alone units.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
(cherry picked from commit 1c08a104360f3e18f4ee6346c21cc3923efb952e)
Bug: 152722841
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Change-Id: Id78d94f75740b3517260ad67ac3250728c721fd6
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2025-09-24 12:16:32 +02:00
..
842 lib: 842: Improve error handling in sw842_compress() 2025-04-10 14:29:40 +02:00
crypto UPSTREAM: crypto: poly1305 - add new 32 and 64-bit generic versions 2025-09-24 12:16:32 +02:00
dim linux/dim: Do nothing if no time delta between samples 2023-05-30 12:44:01 +01:00
fonts
livepatch
lz4 lz4: fix kernel decompression speed 2024-04-16 03:34:44 +03:00
lzo
math bitmap: introduce generic optimized bitmap_size() 2024-09-04 13:14:50 +02:00
mpi crypto: lib/mpi - avoid null pointer deref in mpi_cmp_ui() 2023-09-23 11:00:03 +02:00
raid6
reed_solomon
vdso
xz xz: cleanup CRC32 edits from 2018 2024-11-08 16:20:30 +01:00
zlib_deflate
zlib_inflate
zstd
.gitignore
argv_split.c
ashldi3.c
ashrdi3.c
asn1_decoder.c
assoc_array.c
atomic64.c
atomic64_test.c
audit.c
bcd.c
bch.c
bitmap.c
bitrev.c
bsearch.c
btree.c
bucket_locks.c
bug.c
build_OID_registry
bust_spinlocks.c
check_signature.c
checksum.c
clz_ctz.c lib/clz_ctz.c: Fix __clzdi2() and __ctzdi2() for 32-bit kernels 2023-08-30 16:27:25 +02:00
clz_tab.c
cmdline.c
cmpdi2.c
compat_audit.c
cpu_rmap.c lib: cpu_rmap: Fix potential use-after-free in irq_cpu_rmap_release() 2023-06-14 10:59:56 +02:00
cpumask.c
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c
crc4.c
crc7.c
crc8.c
crc16.c
crc32.c
crc32defs.h
crc32test.c
crc64.c
ctype.c
debug_info.c
debug_locks.c
debugobjects.c debugobjects: Fix conditions in fill_pool() 2024-11-08 16:20:34 +01:00
dec_and_lock.c
decompress.c
decompress_bunzip2.c decompress_bunzip2: fix rare decompression failure 2024-08-19 05:33:38 +02:00
decompress_inflate.c
decompress_unlz4.c
decompress_unlzma.c
decompress_unlzo.c
decompress_unxz.c
devres.c
digsig.c
dump_stack.c
dynamic_debug.c This is the 5.4.276 stable release 2024-05-17 15:29:56 +00:00
dynamic_queue_limits.c dql: Fix dql->limit value when reset. 2025-06-04 14:32:30 +02:00
earlycpio.c
error-inject.c
errseq.c
extable.c
fault-inject.c
fdt.c
fdt_empty_tree.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
find_bit.c
find_bit_benchmark.c
flex_proportions.c
gen_crc32table.c
gen_crc64table.c
genalloc.c
generic-radix-tree.c lib/generic-radix-tree.c: Fix rare race in __genradix_ptr_alloc() 2024-09-12 11:03:55 +02:00
glob.c
globtest.c
hexdump.c
hweight.c
idr.c ida: Fix crash in ida_free when the bitmap is empty 2024-01-25 14:34:21 -08:00
inflate.c
interval_tree.c
interval_tree_test.c
iomap.c
iomap_copy.c
iommu-helper.c
ioremap.c
iov_iter.c
irq_poll.c
irq_regs.c
is_single_threaded.c
kasprintf.c
Kconfig
Kconfig.debug kernel: Add CC_WERROR config to turn warnings into errors 2024-05-18 18:07:44 +00:00
Kconfig.kasan
Kconfig.kgdb
Kconfig.ubsan
kfifo.c
klist.c
kobject.c kobject: Fix slab-out-of-bounds in fill_kobj_path() 2023-11-08 11:23:38 +01:00
kobject_uevent.c kobject_uevent: Fix OOB access within zap_modalias_env() 2024-08-19 05:33:38 +02:00
kstrtox.c
kstrtox.h
libcrc32c.c
list_debug.c
list_sort.c
llist.c
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-rtmutex.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
lockref.c lockref: stop doing cpu_relax in the cmpxchg loop 2023-02-06 07:52:42 +01:00
logic_pio.c
lru_cache.c
lshrdi3.c
Makefile UPSTREAM: crypto: chacha - move existing library code into lib/crypto 2025-09-24 12:16:29 +02:00
memcat_p.c
memory-notifier-error-inject.c
memweight.c
muldi3.c
net_utils.c
netdev-notifier-error-inject.c
nlattr.c netlink: prevent potential spectre v1 gadgets 2023-02-06 07:52:45 +01:00
nmi_backtrace.c
nodemask.c
notifier-error-inject.c
notifier-error-inject.h
objagg.c mlxsw: spectrum_acl_erp: Fix object nesting warning 2024-08-19 05:33:28 +02:00
of-reconfig-notifier-error-inject.c
oid_registry.c
once.c
packing.c
parman.c
parser.c
pci_iomap.c
percpu-refcount.c
percpu_counter.c
percpu_test.c
plist.c
pm-notifier-error-inject.c
radix-tree.c radix tree: remove unused variable 2023-08-30 16:27:26 +02:00
random32.c
ratelimit.c
rbtree.c
rbtree_test.c
refcount.c
rhashtable.c
sbitmap.c
scatterlist.c
seq_buf.c
sg_pool.c
sg_split.c lib: scatterlist: fix sg_split_phys to preserve original scatterlist offsets 2025-05-02 07:39:15 +02:00
sha1.c
show_mem.c
siphash.c
smp_processor_id.c
sort.c
stackdepot.c Merge tag 'ASB-2024-07-05_11-5.4' of https://android.googlesource.com/kernel/common into android13-5.4-lahaina 2024-08-05 21:38:21 +03:00
stmp_device.c
string.c
string_helpers.c lib: string_helpers: silence snprintf() output truncation warning 2024-12-14 19:44:39 +01:00
strncpy_from_user.c
strnlen_user.c
syscall.c
test-kstrtox.c
test-string_helpers.c
test_bitfield.c
test_bitmap.c
test_blackhole_dev.c net: blackhole_dev: fix build warning for ethh set but not used 2024-03-26 18:22:15 -04:00
test_bpf.c
test_debug_virtual.c
test_firmware.c test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation 2023-08-11 11:54:00 +02:00
test_hash.c
test_hexdump.c
test_ida.c ida: Fix crash in ida_free when the bitmap is empty 2024-01-25 14:34:21 -08:00
test_kasan.c
test_kmod.c
test_list_sort.c
test_memcat_p.c
test_meminit.c lib/test_meminit: fix off-by-one error in test_pages() 2023-10-25 11:53:17 +02:00
test_module.c
test_objagg.c lib: test_objagg: Set error message in check_expect_hints_stats() 2025-07-17 18:24:56 +02:00
test_overflow.c overflow: Implement size_t saturating arithmetic helpers 2024-09-04 13:14:51 +02:00
test_parman.c
test_printf.c
test_rhashtable.c
test_siphash.c
test_sort.c
test_stackinit.c
test_static_key_base.c
test_static_keys.c
test_string.c
test_strscpy.c
test_sysctl.c
test_ubsan.c
test_user_copy.c
test_uuid.c
test_vmalloc.c
test_xarray.c
textsearch.c
timerqueue.c
ts_bm.c lib/ts_bm: reset initial match offset for every block of text 2023-07-27 08:37:12 +02:00
ts_fsm.c
ts_kmp.c
ubsan.c
ubsan.h
ucmpdi2.c
ucs2_string.c
usercopy.c uaccess: Add speculation barrier to copy_from_user() 2023-02-25 11:53:26 +01:00
uuid.c
vsprintf.c
win_minmax.c
xarray.c
xxhash.c