From: Linus Torvalds Date: Fri, 2 Jul 2021 19:08:10 +0000 (-0700) Subject: Merge branch 'akpm' (patches from Andrew) X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=71bd9341011f626d692aabe024f099820f02c497;p=linux.git Merge branch 'akpm' (patches from Andrew) Merge more updates from Andrew Morton: "190 patches. Subsystems affected by this patch series: mm (hugetlb, userfaultfd, vmscan, kconfig, proc, z3fold, zbud, ras, mempolicy, memblock, migration, thp, nommu, kconfig, madvise, memory-hotplug, zswap, zsmalloc, zram, cleanups, kfence, and hmm), procfs, sysctl, misc, core-kernel, lib, lz4, checkpatch, init, kprobes, nilfs2, hfs, signals, exec, kcov, selftests, compress/decompress, and ipc" * emailed patches from Andrew Morton : (190 commits) ipc/util.c: use binary search for max_idx ipc/sem.c: use READ_ONCE()/WRITE_ONCE() for use_global_lock ipc: use kmalloc for msg_queue and shmid_kernel ipc sem: use kvmalloc for sem_undo allocation lib/decompressors: remove set but not used variabled 'level' selftests/vm/pkeys: exercise x86 XSAVE init state selftests/vm/pkeys: refill shadow register after implicit kernel write selftests/vm/pkeys: handle negative sys_pkey_alloc() return code selftests/vm/pkeys: fix alloc_random_pkey() to make it really, really random kcov: add __no_sanitize_coverage to fix noinstr for all architectures exec: remove checks in __register_bimfmt() x86: signal: don't do sas_ss_reset() until we are certain that sigframe won't be abandoned hfsplus: report create_date to kstat.btime hfsplus: remove unnecessary oom message nilfs2: remove redundant continue statement in a while-loop kprobes: remove duplicated strong free_insn_page in x86 and s390 init: print out unknown kernel parameters checkpatch: do not complain about positive return values starting with EPOLL checkpatch: improve the indented label test checkpatch: scripts/spdxcheck.py now requires python3 ... --- 71bd9341011f626d692aabe024f099820f02c497 diff --cc drivers/block/zram/zram_drv.h index 74c411911b6ea,6e73dc3c27690..80c3b43b4828f --- a/drivers/block/zram/zram_drv.h +++ b/drivers/block/zram/zram_drv.h @@@ -112,9 -112,9 +112,9 @@@ struct zram /* * zram is claimed so open request will be failed */ - bool claim; /* Protected by bdev->bd_mutex */ + bool claim; /* Protected by disk->open_mutex */ - struct file *backing_dev; #ifdef CONFIG_ZRAM_WRITEBACK + struct file *backing_dev; spinlock_t wb_limit_lock; bool wb_limit_enable; u64 bd_wb_limit; diff --cc include/linux/compiler_types.h index d509169860f12,cc2bee7f09777..e4ea86fc584d6 --- a/include/linux/compiler_types.h +++ b/include/linux/compiler_types.h @@@ -210,7 -210,7 +210,7 @@@ struct ftrace_likely_data /* Section for code which can't be instrumented at all */ #define noinstr \ noinline notrace __attribute((__section__(".noinstr.text"))) \ - __no_kcsan __no_sanitize_address __no_profile - __no_kcsan __no_sanitize_address __no_sanitize_coverage ++ __no_kcsan __no_sanitize_address __no_profile __no_sanitize_coverage #endif /* __KERNEL__ */ diff --cc include/linux/kernel.h index f2ad8a53f71f8,7bb0a5cb7d57f..1b2f0a7e00d68 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@@ -71,20 -73,7 +73,19 @@@ */ #define lower_32_bits(n) ((u32)((n) & 0xffffffff)) +/** + * upper_16_bits - return bits 16-31 of a number + * @n: the number we're accessing + */ +#define upper_16_bits(n) ((u16)((n) >> 16)) + +/** + * lower_16_bits - return bits 0-15 of a number + * @n: the number we're accessing + */ +#define lower_16_bits(n) ((u16)((n) & 0xffff)) + struct completion; - struct pt_regs; struct user; #ifdef CONFIG_PREEMPT_VOLUNTARY diff --cc lib/vsprintf.c index e5c7afbf7405f,30e1bc22105cf..2926cc27623f4 --- a/lib/vsprintf.c +++ b/lib/vsprintf.c @@@ -86,9 -61,21 +86,10 @@@ static unsigned long long simple_strnto * * This function has caveats. Please use kstrtoull instead. */ + noinline unsigned long long simple_strtoull(const char *cp, char **endp, unsigned int base) { - unsigned long long result; - unsigned int rv; - - cp = _parse_integer_fixup_radix(cp, &base); - rv = _parse_integer(cp, base, &result); - /* FIXME */ - cp += (rv & ~KSTRTOX_OVERFLOW); - - if (endp) - *endp = (char *)cp; - - return result; + return simple_strntoull(cp, INT_MAX, endp, base); } EXPORT_SYMBOL(simple_strtoull);