android_kernel_motorola_sm6375/lib
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Mikulas Patocka c00f3892f4 hex2bin: fix access beyond string end
commit e4d8a29997731b3bb14059024b24df9f784288d0 upstream.

If we pass too short string to "hex2bin" (and the string size without
the terminating NUL character is even), "hex2bin" reads one byte after
the terminating NUL character.  This patch fixes it.

Note that hex_to_bin returns -1 on error and hex2bin return -EINVAL on
error - so we can't just return the variable "hi" or "lo" on error.
This inconsistency may be fixed in the next merge window, but for the
purpose of fixing this bug, we just preserve the existing behavior and
return -1 and -EINVAL.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Fixes: b78049831f ("lib: add error checking to hex2bin")
Cc: stable@vger.kernel.org
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-05-09 09:03:22 +02:00
..
842
crypto
dim
fonts Fonts: Replace discarded const qualifier 2020-11-10 12:37:26 +01:00
livepatch
lz4 lz4: fix LZ4_decompress_safe_partial read out of bound 2022-04-15 14:18:39 +02:00
lzo lib/lzo: fix ambiguous encoding bug in lzo-rle 2020-06-17 16:40:28 +02:00
math
mpi lib/mpi: use kcalloc in mpi_resize 2021-09-15 09:47:29 +02:00
raid6 lib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.3 2022-04-15 14:18:23 +02:00
reed_solomon
vdso lib/vdso: Make clock_getres() POSIX compliant again 2019-10-23 14:48:23 +02:00
xz lib/xz: Validate the value before assigning it to an enum variable 2021-11-17 09:48:31 +01:00
zlib_deflate
zlib_inflate lib/zlib: remove outdated and incorrect pre-increment optimization 2020-06-24 17:50:39 +02:00
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 bug: Remove redundant condition check in report_bug 2021-05-14 09:44:27 +02:00
build_OID_registry
bust_spinlocks.c
chacha.c
check_signature.c
checksum.c
clz_ctz.c
clz_tab.c
cmdline.c
cmpdi2.c
compat_audit.c
cpu_rmap.c
cpumask.c
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c crc-t10dif: Fix potential crypto notify dead-lock 2020-08-19 08:15:54 +02:00
crc4.c
crc7.c
crc8.c
crc16.c
crc32.c lib/crc32.c: fix trivial typo in preprocessor condition 2020-10-29 09:57:52 +01:00
crc32defs.h
crc32test.c lib/crc32test: remove extra local_irq_disable/enable 2020-11-10 12:37:27 +01:00
crc64.c
ctype.c
debug_info.c
debug_locks.c
debugobjects.c debugobjects: Fix various data races 2020-02-24 08:36:52 +01:00
dec_and_lock.c
decompress.c
decompress_bunzip2.c
decompress_inflate.c
decompress_unlz4.c lib/decompress_unlz4.c: correctly handle zero-padding around initrds. 2021-07-20 16:10:46 +02:00
decompress_unlzma.c
decompress_unlzo.c
decompress_unxz.c lib/xz: Avoid overlapping memcpy() with invalid input with in-place decompression 2021-11-17 09:48:31 +01:00
devres.c devres: keep both device name and resource name in pretty name 2020-08-21 13:05:32 +02:00
digsig.c
dump_stack.c dump_stack: avoid the livelock of the dump_lock 2019-11-06 08:47:50 -08:00
dynamic_debug.c dyndbg: fix a BUG_ON in ddebug_describe_flags 2020-08-19 08:16:04 +02:00
dynamic_queue_limits.c
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 uapi: rename ext2_swab() to swab() and share globally in swab.h 2020-04-13 10:48:07 +02:00
find_bit_benchmark.c
flex_proportions.c
gen_crc32table.c
gen_crc64table.c
genalloc.c lib/genalloc: fix the overflow when size is too big 2021-01-12 20:16:10 +01:00
generic-radix-tree.c lib/generic-radix-tree.c: add kmemleak annotations 2019-10-14 15:04:00 -07:00
glob.c
globtest.c
hexdump.c hex2bin: fix access beyond string end 2022-05-09 09:03:22 +02:00
hweight.c
idr.c ida: Free allocated bitmap in error path 2020-10-29 09:57:47 +01:00
inflate.c
interval_tree.c
interval_tree_test.c
iomap.c
iomap_copy.c
iommu-helper.c
ioremap.c
iov_iter.c lib/iov_iter: initialize "flags" in new pipe_buffer 2022-02-23 11:59:59 +01:00
irq_poll.c
irq_regs.c
is_single_threaded.c
kasprintf.c
Kconfig ARM: 9178/1: fix unmet dependency on BITREVERSE for HAVE_ARCH_BITREVERSE 2022-03-19 13:40:16 +01:00
Kconfig.debug Kconfig.debug: drop selecting non-existing HARDLOCKUP_DETECTOR_ARCH 2021-09-26 14:07:10 +02:00
Kconfig.kasan
Kconfig.kgdb
Kconfig.ubsan
kfifo.c
klist.c
kobject.c kobject: Restore old behaviour of kobject_del(NULL) 2020-09-17 13:47:52 +02:00
kobject_uevent.c kobject_uevent: remove warning in init_uevent_argv() 2021-05-19 10:08:33 +02:00
kstrtox.c lib: vsprintf: Fix handling of number field widths in vsscanf 2021-07-14 16:53:16 +02:00
kstrtox.h lib: vsprintf: Fix handling of number field widths in vsscanf 2021-07-14 16:53:16 +02:00
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
logic_pio.c PCI: Fix pci_register_io_range() memory leak 2021-03-17 17:03:44 +01:00
lru_cache.c
lshrdi3.c
Makefile avoid __memcat_p link failure 2021-05-07 10:51:37 +02:00
memcat_p.c
memory-notifier-error-inject.c
memweight.c
muldi3.c
net_utils.c
netdev-notifier-error-inject.c
nlattr.c net: fix nla_strcmp to handle more then one trailing null character 2021-05-19 10:08:27 +02:00
nmi_backtrace.c
nodemask.c
notifier-error-inject.c
notifier-error-inject.h
objagg.c
of-reconfig-notifier-error-inject.c
oid_registry.c
once.c once: Fix panic when module unload 2021-09-03 10:08:12 +02:00
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 idr: Fix idr_alloc_u32 on 32-bit systems 2019-11-03 06:36:50 -05:00
random32.c random32: make prandom_u32() output unpredictable 2020-11-18 19:20:20 +01:00
ratelimit.c
rbtree.c
rbtree_test.c
refcount.c
rhashtable.c
sbitmap.c sbitmap: only queue kyber's wait callback if not already active 2020-01-12 12:21:44 +01:00
scatterlist.c sgl_alloc_order: fix memory leak 2020-11-05 11:43:22 +01:00
seq_buf.c seq_buf: Fix overflow in seq_buf_putmem_hex() 2021-07-19 08:53:16 +02:00
sg_pool.c
sg_split.c
sha1.c
show_mem.c
siphash.c siphash: use _unaligned version by default 2021-12-08 09:01:12 +01:00
smp_processor_id.c
sort.c
stackdepot.c lib: stackdepot: turn depot_lock spinlock to raw_spinlock 2021-05-22 11:38:30 +02:00
stmp_device.c
string.c lib/string.c: implement stpcpy 2020-10-01 13:18:23 +02:00
string_helpers.c
strncpy_from_user.c lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user() 2020-01-29 16:45:29 +01:00
strnlen_user.c lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user() 2020-01-29 16:45:29 +01:00
syscall.c lib/syscall: fix syscall registers retrieval on 32-bit platforms 2020-12-11 13:23:32 +01:00
test-kstrtox.c
test-string_helpers.c
test_bitfield.c
test_bitmap.c
test_blackhole_dev.c
test_bpf.c bpf/tests: Do not PASS tests without actually testing the result 2021-09-22 12:26:29 +02:00
test_debug_virtual.c
test_firmware.c
test_hash.c
test_hexdump.c
test_ida.c
test_kasan.c kasan: stop tests being eliminated as dead code with FORTIFY_SOURCE 2020-06-22 09:31:12 +02:00
test_kmod.c lib/test: use after free in register_test_dev_kmod() 2022-04-15 14:18:21 +02:00
test_list_sort.c
test_memcat_p.c
test_meminit.c lib/test_meminit: destroy cache in kmem_cache_alloc_bulk() test 2022-01-27 09:19:55 +01:00
test_module.c
test_objagg.c test_objagg: Fix potential memory leak in error handling 2020-06-30 15:37:04 -04:00
test_overflow.c
test_parman.c
test_printf.c vsprintf: don't obfuscate NULL and error pointers 2020-05-27 17:46:43 +02:00
test_rhashtable.c
test_siphash.c
test_sort.c
test_stackinit.c lib/test_stackinit: Fix static initializer test 2021-09-22 12:26:38 +02:00
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 usercopy: Avoid soft lockups in test_check_nonzero_user() 2019-10-16 14:56:21 +02:00
test_uuid.c
test_vmalloc.c
test_xarray.c XArray: Fix xas_create_range() when multi-order entry present 2022-04-15 14:18:28 +02:00
textsearch.c
timerqueue.c
ts_bm.c
ts_fsm.c
ts_kmp.c
ubsan.c lib/ubsan: don't serialize UBSAN report 2020-01-09 10:20:07 +01:00
ubsan.h
ucmpdi2.c
ucs2_string.c
usercopy.c
uuid.c
vsprintf.c lib: vsprintf: Fix handling of number field widths in vsscanf 2021-07-14 16:53:16 +02:00
win_minmax.c
xarray.c XArray: Update the LRU list in xas_split() 2022-04-15 14:18:28 +02:00
xxhash.c