android_kernel_oneplus_msm8998/lib
Christophe Leroy 2e85872cb2 lib/scatterlist: Fix mapping iterator when sg->offset is greater than PAGE_SIZE
commit aeb87246537a83c2aff482f3f34a2e0991e02cbc upstream.

All mapping iterator logic is based on the assumption that sg->offset
is always lower than PAGE_SIZE.

But there are situations where sg->offset is such that the SG item
is on the second page. In that case sg_copy_to_buffer() fails
properly copying the data into the buffer. One of the reason is
that the data will be outside the kmapped area used to access that
data.

This patch fixes the issue by adjusting the mapping iterator
offset and pgoffset fields such that offset is always lower than
PAGE_SIZE.

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Fixes: 4225fc8555 ("lib/scatterlist: use page iterator in the mapping iterator")
Cc: stable@vger.kernel.org
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-08-04 09:34:50 +02:00
..
842
fonts
lz4
lzo
mpi lib/mpi: Fix karactx leak in mpi_powm 2019-07-10 09:56:43 +02:00
raid6 ARM: 8833/1: Ensure that NEON code always compiles with Clang 2019-04-27 09:33:51 +02:00
reed_solomon rslib: Fix handling of of caller provided syndrome 2019-08-04 09:34:48 +02:00
xz
zlib_deflate
zlib_inflate
.gitignore
argv_split.c
asn1_decoder.c ASN.1: check for error from ASN1_OP_END__ACT actions 2017-12-16 10:33:48 +01:00
assoc_array.c assoc_array: Fix shortcut creation 2019-03-23 08:44:33 +01:00
atomic64.c
atomic64_test.c x86/cpufeature: Carve out X86_FEATURE_* 2018-07-17 11:31:44 +02:00
audit.c
bcd.c
bch.c
bitmap.c
bitrev.c
bsearch.c kprobes: Prohibit probing on bsearch() 2019-04-27 09:33:51 +02:00
btree.c
bug.c
build_OID_registry
bust_spinlocks.c
check_signature.c
checksum.c
clz_ctz.c
clz_tab.c
cmdline.c lib/cmdline.c: fix get_options() overflow while parsing ranges 2017-06-29 12:48:51 +02:00
compat_audit.c
cordic.c
cpu-notifier-error-inject.c
cpu_rmap.c
cpumask.c
crc-ccitt.c
crc-itu-t.c
crc-t10dif.c
crc7.c
crc8.c
crc16.c
crc32.c
crc32defs.h
ctype.c
debug_info.c
debug_locks.c locking/lockdep: Fix debug_locks off performance problem 2018-11-21 09:27:31 +01:00
debugobjects.c debugobjects: avoid recursive calls with kmemleak 2018-12-17 21:55:12 +01:00
dec_and_lock.c
decompress.c
decompress_bunzip2.c
decompress_inflate.c
decompress_unlz4.c
decompress_unlzma.c
decompress_unlzo.c
decompress_unxz.c
devres.c
digsig.c lib/digsig: fix dereference of NULL user_key_payload 2017-10-27 10:23:17 +02:00
div64.c lib/div64.c: off by one in shift 2019-04-27 09:33:59 +02:00
dma-debug.c dma-debug: avoid spinlock recursion when disabling dma-debug 2016-06-07 18:14:37 -07:00
dump_stack.c
dynamic_debug.c dynamic-debug-howto: fix optional/omitted ending line number to be LARGE instead of 0 2017-12-16 10:33:54 +01:00
dynamic_queue_limits.c
earlycpio.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
flex_array.c
flex_proportions.c
gcd.c
gen_crc32table.c
genalloc.c lib/genalloc.c: make the avail variable an atomic_long_t 2017-12-16 10:33:54 +01:00
glob.c
halfmd4.c
hexdump.c
hweight.c x86/hweight: Get rid of the special calling convention 2018-04-24 09:32:04 +02:00
idr.c
inflate.c
int_sqrt.c lib/int_sqrt: optimize initial value compute 2019-04-27 09:33:47 +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:09:49 +01:00
iomap.c
iomap_copy.c
iommu-common.c
iommu-helper.c
ioremap.c ioremap: Update pgtable free interfaces with addr 2018-08-17 20:56:45 +02:00
iov_iter.c fix iov_iter_fault_in_readable() 2016-09-24 10:07:43 +02:00
irq_regs.c
is_single_threaded.c
jedec_ddr_data.c
kasprintf.c
Kconfig
Kconfig.debug kasan: rework Kconfig settings 2018-02-25 11:03:52 +01:00
Kconfig.kasan
Kconfig.kgdb
Kconfig.kmemcheck
kfifo.c
klist.c scsi: klist: Make it safe to use klists in atomic context 2018-10-10 08:52:05 +02:00
kobject.c kobject: Replace strncpy with memcpy 2018-12-13 09:21:28 +01:00
kobject_uevent.c
kstrtox.c lib: add "on"/"off" support to kstrtobool 2016-10-28 03:01:31 -04:00
kstrtox.h
lcm.c
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-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
lru_cache.c
Makefile x86/hweight: Get rid of the special calling convention 2018-04-24 09:32:04 +02:00
md5.c
memory-notifier-error-inject.c
memweight.c
net_utils.c
nlattr.c
nmi_backtrace.c
notifier-error-inject.c
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:03:40 +01:00
once.c
parser.c
pci_iomap.c
percpu-refcount.c
percpu_counter.c
percpu_ida.c
percpu_test.c
plist.c
pm-notifier-error-inject.c
proportions.c
radix-tree.c
random32.c
ratelimit.c
rational.c
rbtree.c
rbtree_test.c lib/rbtree-test: lower default params 2018-12-21 14:09:49 +01:00
reciprocal_div.c
rhashtable.c rhashtable: add schedule points 2019-02-08 11:25:31 +01:00
scatterlist.c lib/scatterlist: Fix mapping iterator when sg->offset is greater than PAGE_SIZE 2019-08-04 09:34:50 +02:00
seq_buf.c seq_buf: Make seq_buf_puts() null-terminate the buffer 2019-02-20 10:13:12 +01:00
sg_split.c
sha1.c
show_mem.c
smp_processor_id.c
sort.c
stmp_device.c
string.c lib/string.c: implement a basic bcmp 2019-04-27 09:33:54 +02:00
string_helpers.c
strncpy_from_user.c mm/uaccess: Use 'unsigned long' to placate UBSAN warnings on older GCC versions 2019-06-11 12:23:56 +02:00
strnlen_user.c mm/uaccess: Use 'unsigned long' to placate UBSAN warnings on older GCC versions 2019-06-11 12:23:56 +02:00
swiotlb.c swiotlb: clean up reporting 2018-12-17 21:55:16 +01:00
syscall.c
test-hexdump.c test_hexdump: use memcpy instead of strncpy 2019-02-20 10:13:14 +01:00
test-kstrtox.c
test-string_helpers.c lib/test-string_helpers.c: fix and improve string_get_size() tests 2016-05-11 11:21:26 +02:00
test_bpf.c bpf: fix selftests/bpf test_kmod.sh failure when CONFIG_BPF_JIT_ALWAYS_ON=y 2018-05-30 07:48:56 +02:00
test_firmware.c test: firmware_class: report errors properly on failure 2017-11-15 17:13:13 +01:00
test_kasan.c
test_module.c
test_printf.c
test_rhashtable.c
test_static_key_base.c
test_static_keys.c
test_user_copy.c usercopy: Adjust tests to deal with SMAP/PAN 2017-06-14 13:16:27 +02:00
textsearch.c
timerqueue.c
ts_bm.c
ts_fsm.c
ts_kmp.c
ucs2_string.c
usercopy.c
uuid.c
vsprintf.c lib/vsprintf: Remove atomic-unsafe support for %pCr 2018-07-03 11:21:27 +02:00