Florian La Roche
fbfaf85190
fix int_sqrt64() for very large numbers
...
If an input number x for int_sqrt64() has the highest bit set, then
fls64(x) is 64. (1UL << 64) is an overflow and breaks the algorithm.
Subtracting 1 is a better guess for the initial value of m anyway and
that's what also done in int_sqrt() implicitly [*].
[*] Note how int_sqrt() uses __fls() with two underscores, which already
returns the proper raw bit number.
In contrast, int_sqrt64() used fls64(), and that returns bit numbers
illogically starting at 1, because of error handling for the "no
bits set" case. Will points out that he bug probably is due to a
copy-and-paste error from the regular int_sqrt() case.
Signed-off-by: Florian La Roche <Florian.LaRoche@googlemail.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2019-01-21 07:20:18 +13:00
..
842
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
fonts
Fonts: New Terminus large console font
2018-12-19 10:42:08 +01:00
lz4
lib/lz4: update LZ4 decompressor module
2018-10-31 08:54:14 -07:00
lzo
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
mpi
lib/mpi: remove redundant variable esign
2018-08-07 17:51:39 +08:00
raid6
Kbuild late updates for v4.21
2019-01-06 16:33:10 -08:00
reed_solomon
reed_solomon: Fix kernel-doc
2018-07-10 15:00:52 -06:00
xz
lib/xz: Put CRC32_POLY_LE in xz_private.h
2018-10-02 08:44:59 +10:00
zlib_deflate
zlib_inflate
lib/zlib_inflate/inflate.c: remove fall through warnings
2018-10-31 08:54:13 -07:00
zstd
lib: zstd: clean up Makefile for simpler composite object handling
2018-03-26 02:01:27 +09:00
.gitignore
lib: add crc64 calculation routines
2018-08-22 10:52:48 -07:00
argv_split.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
ashldi3.c
move libgcc.h to include/linux
2017-12-01 13:09:40 -08:00
ashrdi3.c
move libgcc.h to include/linux
2017-12-01 13:09:40 -08:00
asn1_decoder.c
ASN.1: check for error from ASN1_OP_END__ACT actions
2017-12-08 15:13:27 +00:00
assoc_array.c
lib/assoc_array: Remove smp_read_barrier_depends()
2017-12-04 10:52:56 -08:00
atomic64.c
atomics/generic: Define atomic64_fetch_add_unless()
2018-06-21 14:25:21 +02:00
atomic64_test.c
lib/atomic64_test.c: add a test that atomic64_inc_not_zero() returns an int
2017-07-14 15:05:13 -07:00
audit.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
bcd.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
bch.c
lib/bch: fix possible stack overrun
2018-10-12 09:17:46 +02:00
bitmap.c
Remove 'type' argument from access_ok() function
2019-01-03 18:57:57 -08:00
bitrev.c
bsearch.c
lib/bsearch.c: micro-optimize pivot position calculation
2017-07-10 16:32:35 -07:00
btree.c
btree: avoid variable-length allocations
2018-03-14 16:55:29 -07:00
bucket_locks.c
ila: make lockdep happy again
2018-08-16 12:14:42 -07:00
bug.c
lib/bug.c: exclude non-BUG/WARN exceptions from report_bug()
2018-03-09 16:40:01 -08:00
build_OID_registry
bust_spinlocks.c
s390: use common bust_spinlocks()
2018-11-30 07:22:05 +01:00
chacha.c
crypto: chacha - add XChaCha12 support
2018-11-20 14:26:55 +08:00
check_signature.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
checksum.c
clz_ctz.c
clz_tab.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cmdline.c
lib/cmdline.c: remove meaningless comment
2017-09-08 18:26:49 -07:00
cmpdi2.c
move libgcc.h to include/linux
2017-12-01 13:09:40 -08:00
compat_audit.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
cordic.c
lib: cordic: Move cordic macros and defines to header file
2018-11-29 17:30:48 +02:00
cpu_rmap.c
cpumask.c
memblock: stop using implicit alignment to SMP_CACHE_BYTES
2018-10-31 08:54:16 -07:00
crc-ccitt.c
lib/crc-ccitt: Add CCITT-FALSE CRC16 variant
2018-01-08 10:08:33 +00:00
crc-itu-t.c
crc-t10dif.c
crc-t10dif: crc_t10dif_mutex can be static
2018-09-14 14:08:52 +08:00
crc4.c
docs: clean up and add rest of CRC functions to kernel-api.rst
2017-09-26 15:01:20 -06:00
crc7.c
crc8.c
docs: clean up and add rest of CRC functions to kernel-api.rst
2017-09-26 15:01:20 -06:00
crc16.c
crc32.c
lib/crc32: make core crc32() routines weak so they can be overridden
2018-09-10 16:09:27 +01:00
crc32defs.h
lib/crc: Move polynomial definition to separate header
2018-07-27 19:04:33 +08:00
crc32test.c
crc64.c
lib: add crc64 calculation routines
2018-08-22 10:52:48 -07:00
ctype.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
debug_info.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
debug_locks.c
locking/lockdep: Make global debug_locks* variables read-mostly
2018-10-19 07:53:18 +02:00
debugobjects.c
debugobjects: call debug_objects_mem_init eariler
2018-12-28 12:11:45 -08:00
dec_and_lock.c
atomic: Add irqsave variant of atomic_dec_and_lock()
2018-06-12 23:33:24 +02:00
decompress.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
decompress_bunzip2.c
lib: Use existing define with polynomial
2018-07-27 19:16:38 +08:00
decompress_inflate.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
decompress_unlz4.c
decompress_unlzma.c
decompress_unlzo.c
decompress_unxz.c
devres.c
devres: Add devm_of_iomap()
2018-07-23 15:22:39 +10:00
digsig.c
lib/digsig: fix dereference of NULL user_key_payload
2017-10-12 17:16:40 +01:00
div64.c
A relatively calm cycle for the docs tree again.
2017-11-13 08:25:06 -08:00
dump_stack.c
printk: move dump stack related code to lib/dump_stack.c
2018-03-15 13:25:36 +01:00
dynamic_debug.c
jump_label: move 'asm goto' support test to Kconfig
2019-01-06 09:46:51 +09:00
dynamic_queue_limits.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2017-11-15 11:56:19 -08:00
earlycpio.c
error-inject.c
error-injection: Add injectable error types
2018-01-12 17:33:38 -08:00
errseq.c
errseq: Always report a writeback error once
2018-04-27 08:51:26 -04:00
extable.c
lib/extable.c: use bsearch() library function in search_extable()
2017-07-10 16:32:35 -07:00
fault-inject.c
fault-inject: fix wrong should_fail() decision in task context
2017-08-10 15:54:06 -07: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
lib: optimize cpumask_next_and()
2018-02-06 18:32:44 -08:00
find_bit_benchmark.c
lib/find_bit_benchmark.c: align test_find_next_and_bit with others
2019-01-04 13:13:46 -08:00
flex_array.c
flex_proportions.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
gcd.c
lib/gcd: Remove use of CPU_NO_EFFICIENT_FFS macro
2018-11-12 14:26:21 -08:00
gen_crc32table.c
lib/crc: Use consistent naming for CRC-32 polynomials
2018-07-27 19:04:33 +08:00
gen_crc64table.c
lib: don't depend on linux headers being installed.
2018-12-29 11:36:44 -08:00
genalloc.c
lib/genalloc.c: include vmalloc.h
2019-01-05 13:54:53 -08:00
glob.c
globtest.c
hexdump.c
lib/hexdump.c: return -EINVAL in case of error in hex2bin()
2017-09-08 18:26:49 -07:00
hweight.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
idr.c
radix tree: Remove radix_tree_update_node_t
2018-10-21 10:46:44 -04:00
inflate.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
int_sqrt.c
fix int_sqrt64() for very large numbers
2019-01-21 07:20:18 +13:00
interval_tree.c
interval_tree_test.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
iomap.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
iomap_copy.c
iommu-helper.c
iommu-helper: mark iommu_is_span_boundary as inline
2018-05-09 06:55:44 +02:00
ioremap.c
lib/ioremap: ensure break-before-make is used for huge p4d mappings
2018-12-28 12:11:50 -08:00
iov_iter.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2019-01-05 13:18:59 -08:00
irq_poll.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
irq_regs.c
is_single_threaded.c
jedec_ddr_data.c
kasprintf.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
Kconfig
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md into for-linus
2019-01-03 08:21:02 -07:00
Kconfig.debug
Kconfig updates for v4.21
2018-12-29 13:03:29 -08:00
Kconfig.kasan
kasan: add CONFIG_KASAN_GENERIC and CONFIG_KASAN_SW_TAGS
2018-12-28 12:11:43 -08:00
Kconfig.kgdb
Kconfig.ubsan
lib/ubsan: remove null-pointer checks
2018-08-10 20:19:58 -07:00
kfifo.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
klist.c
scsi: klist: Make it safe to use klists in atomic context
2018-07-02 16:20:23 -04:00
kobject.c
kref/kobject: Improve documentation
2018-12-06 13:57:03 +01:00
kobject_uevent.c
kobject: Fix warnings in lib/kobject_uevent.c
2018-11-11 11:27:43 -08:00
kstrtox.c
lib/kstrtox.c: delete unnecessary casts
2018-10-31 08:54:13 -07:00
kstrtox.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
lcm.c
libcrc32c.c
libcrc32c: Add crc32c_impl function
2018-03-26 15:09:38 +02:00
list_debug.c
lib/list_debug.c: print unmangled addresses
2018-04-11 10:28:35 -07:00
list_sort.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
llist.c
locking/atomics: COCCINELLE/treewide: Convert trivial ACCESS_ONCE() patterns to READ_ONCE()/WRITE_ONCE()
2017-10-25 11:01:08 +02:00
locking-selftest-hardirq.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
locking-selftest-mutex.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
locking-selftest-rlock-hardirq.h
locking-selftest-rlock-softirq.h
locking-selftest-rlock.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
locking-selftest-rsem.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
locking-selftest-rtmutex.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
locking-selftest-softirq.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
locking-selftest-spin-hardirq.h
locking-selftest-spin-softirq.h
locking-selftest-spin.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
locking-selftest-wlock-hardirq.h
locking-selftest-wlock-softirq.h
locking-selftest-wlock.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
locking-selftest-wsem.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
locking-selftest.c
locking: Implement an algorithm choice for Wound-Wait mutexes
2018-07-03 09:44:36 +02:00
lockref.c
lockref: Add lockref_put_not_zero
2018-04-12 09:41:19 -07:00
logic_pio.c
lib: Add generic PIO mapping method
2018-03-21 17:18:34 -05:00
lru_cache.c
treewide: kzalloc() -> kcalloc()
2018-06-12 16:19:22 -07:00
lshrdi3.c
move libgcc.h to include/linux
2017-12-01 13:09:40 -08:00
Makefile
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2018-12-27 13:53:32 -08:00
memcat_p.c
lib: Fix ia64 bootloader linkage
2018-10-16 13:45:44 +02:00
memory-notifier-error-inject.c
memweight.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
muldi3.c
move libgcc.h to include/linux
2017-12-01 13:09:40 -08:00
net_utils.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
netdev-notifier-error-inject.c
nlattr.c
netlink: Add strict version of nlmsg_parse and nla_parse
2018-10-08 10:39:04 -07:00
nmi_backtrace.c
printk/nmi: Prevent deadlock when accessing the main log buffer in NMI
2018-07-09 14:10:40 +02:00
nodemask.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
notifier-error-inject.c
notifier-error-inject.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
objagg.c
lib: introduce initial implementation of object aggregation manager
2018-11-15 14:43:43 -08:00
of-reconfig-notifier-error-inject.c
oid_registry.c
509: fix printing uninitialized stack memory when OID is empty
2017-12-08 15:13:28 +00:00
once.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-11-04 09:26:51 +09:00
parman.c
parser.c
lib/parser.c: switch match_number() over to use match_strdup()
2018-10-31 08:54:12 -07:00
pci_iomap.c
PCI: Add SPDX GPL-2.0 when no license was specified
2018-01-26 11:45:16 -06:00
percpu-refcount.c
percpu-refcount: Replace call_rcu_sched() with call_rcu()
2018-11-27 09:21:45 -08:00
percpu_counter.c
notifier: Remove notifier header file wherever not used
2018-08-30 12:56:40 +02:00
percpu_test.c
plist.c
pm-notifier-error-inject.c
prime_numbers.c
radix-tree.c
radix tree: Don't return retry entries from lookup
2018-12-06 08:26:16 -05:00
random32.c
treewide: Switch DEFINE_TIMER callbacks to struct timer_list *
2017-11-21 15:57:05 -08:00
ratelimit.c
lib/ratelimit.c: use deferred printk() version
2017-10-03 17:54:26 -07:00
rational.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
rbtree.c
lib/rbtree,drm/mm: add rbtree_replace_node_cached()
2017-12-14 16:00:48 -08:00
rbtree_test.c
treewide: kmalloc() -> kmalloc_array()
2018-06-12 16:19:22 -07:00
reciprocal_div.c
lib: reciprocal_div: implement the improved algorithm on the paper mentioned
2018-07-07 01:45:31 +02:00
refcount.c
Linux 4.18-rc5
2018-07-17 09:27:43 +02:00
rhashtable.c
rhashtable: detect when object movement between tables might have invalidated a lookup
2018-12-03 15:31:55 -08:00
sbitmap.c
sbitmap: Protect swap_lock from hardirq
2019-01-15 16:29:57 +12:00
scatterlist.c
arch: switch the default on ARCH_HAS_SG_CHAIN
2018-12-06 07:04:56 -08:00
seq_buf.c
seq_buf: Use size_t for len in seq_buf_puts()
2018-12-22 08:21:03 -05:00
sg_pool.c
lib/sg_pool.c: remove unnecessary null check when freeing object
2018-10-31 08:54:13 -07:00
sg_split.c
sha1.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
sha256.c
kernel/kexec_file.c: move purgatories sha256 to common code
2018-04-13 17:10:28 -07:00
show_mem.c
lib/show_mem.c: drop pgdat_resize_lock in show_mem()
2018-12-28 12:11:49 -08:00
siphash.c
smp_processor_id.c
lib: do not use print_symbol()
2018-01-05 15:24:00 +01:00
sort.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
stackdepot.c
lib/stackdepot.c: use a non-instrumented version of memcmp()
2018-02-06 18:32:44 -08:00
stmp_device.c
string.c
lib: Fix ia64 bootloader linkage
2018-10-16 13:45:44 +02:00
string_helpers.c
mm: treewide: remove GFP_TEMPORARY allocation flag
2017-09-13 18:53:16 -07:00
strncpy_from_user.c
make 'user_access_begin()' do 'access_ok()'
2019-01-04 12:56:09 -08:00
strnlen_user.c
make 'user_access_begin()' do 'access_ok()'
2019-01-04 12:56:09 -08:00
syscall.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
test-kstrtox.c
test-string_helpers.c
test_bitfield.c
bitfield: add tests
2018-06-27 18:58:49 +03:00
test_bitmap.c
lib/test_bitmap.c: fix bitmap optimisation tests to report errors correctly
2018-05-18 17:17:12 -07:00
test_bpf.c
net: remove VLAN_TAG_PRESENT
2018-11-16 19:25:29 -08:00
test_debug_virtual.c
lib: fix build failure in CONFIG_DEBUG_VIRTUAL test
2018-12-17 22:12:30 +11:00
test_firmware.c
test_firmware: fix error return getting clobbered
2018-11-11 09:18:04 -08:00
test_hash.c
test_hexdump.c
test_hexdump: use memcpy instead of strncpy
2018-11-30 12:13:15 -08:00
test_ida.c
test_ida: Fix lockdep warning
2018-10-15 16:31:29 -04:00
test_kasan.c
lib/test_kasan.c: add tests for several string/memory API functions
2018-10-26 16:25:18 -07:00
test_kmod.c
lib/test_kmod.c: fix rmmod double free
2018-11-30 14:56:14 -08:00
test_list_sort.c
lib/test: delete five error messages for failed memory allocations
2017-11-17 16:10:01 -08:00
test_memcat_p.c
lib: Fix ia64 bootloader linkage
2018-10-16 13:45:44 +02:00
test_module.c
test_objagg.c
test_objagg: Fix warning.
2018-11-15 14:57:09 -08:00
test_overflow.c
test_overflow: Add shift overflow tests
2018-08-08 09:47:26 -06:00
test_parman.c
test_printf.c
lib/vsprintf: Print time and date in human readable format via %pt
2018-12-10 22:39:34 +01:00
test_rhashtable.c
test_rhashtable: remove semaphore usage
2018-12-18 15:12:53 -08:00
test_siphash.c
test_sort.c
lib/test_sort.c: add module unload support
2018-02-06 18:32:45 -08:00
test_static_key_base.c
test_static_keys.c
test_string.c
lib: add module support to string tests
2017-11-17 16:10:01 -08:00
test_sysctl.c
test_sysctl: test against int proc_dointvec() array support
2017-07-12 16:26:00 -07:00
test_ubsan.c
lib/test_ubsan.c: make test_ubsan_misaligned_access() static
2018-04-11 10:28:35 -07:00
test_user_copy.c
treewide: simplify Kconfig dependencies for removed archs
2018-03-26 15:55:57 +02:00
test_uuid.c
uuid: fix incorrect uuid_equal conversion in test_uuid_test
2017-07-21 09:38:30 +02:00
test_xarray.c
XArray: Fix xa_alloc when id exceeds max
2018-12-13 14:07:33 -05:00
textsearch.c
textsearch: fix kernel-doc warnings and add kernel-api section
2018-04-16 18:53:13 -04:00
timerqueue.c
timerqueue: Document return values of timerqueue_add/del()
2017-12-29 23:13:10 +01:00
ts_bm.c
ts_fsm.c
textsearch: fix typos in library helpers
2017-10-22 03:14:07 +01:00
ts_kmp.c
textsearch: fix typos in library helpers
2017-10-22 03:14:07 +01:00
ubsan.c
lib/ubsan.c: don't mark __ubsan_handle_builtin_unreachable as noreturn
2018-11-18 10:15:10 -08:00
ubsan.h
lib/ubsan: remove returns-nonnull-attribute checks
2018-02-06 18:32:46 -08:00
ucmpdi2.c
Add notrace to lib/ucmpdi2.c
2018-04-23 16:39:35 +01:00
ucs2_string.c
lib/ucs2_string.c: add MODULE_LICENSE()
2018-06-07 17:34:39 -07:00
usercopy.c
Remove 'type' argument from access_ok() function
2019-01-03 18:57:57 -08:00
uuid.c
Documentation: add UUID/GUID to kernel-api
2017-12-11 15:03:08 -07:00
vsprintf.c
lib/vsprintf: Print time and date in human readable format via %pt
2018-12-10 22:39:34 +01:00
win_minmax.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
xarray.c
XArray: Fix xa_alloc when id exceeds max
2018-12-13 14:07:33 -05:00
xxhash.c
lib: Add xxhash module
2017-08-15 09:02:07 -07:00