milos-linux/lib
Linus Torvalds bc46b7cbc5 s390 updates for 6.17 merge window
- Standardize on the __ASSEMBLER__ macro that is provided by GCC
   and Clang compilers and replace __ASSEMBLY__ with  __ASSEMBLER__
   in both uapi and non-uapi headers
 
 - Explicitly include <linux/export.h> in architecture and driver
   files which contain an EXPORT_SYMBOL() and remove the include
   from the files which do not contain the EXPORT_SYMBOL()
 
 - Use the full title of "z/Architecture Principles of Operation"
   manual and the name of a section where facility bits are listed
 
 - Use -D__DISABLE_EXPORTS for files in arch/s390/boot to avoid
   unnecessary slowing down of the build and confusing external
   kABI tools that process symtypes data
 
 - Print additional unrecoverable machine check information to make
   the root cause analysis easier
 
 - Move cmpxchg_user_key() handling to uaccess library code, since
   the generated code is large anyway and there is no benefit if it
   is inlined
 
 - Fix a problem when cmpxchg_user_key() is executing a code with a
   non-default key: if a system is IPL-ed with "LOAD NORMAL", and
   the previous system used storage keys where the fetch-protection
   bit was set for some pages, and the cmpxchg_user_key() is located
   within such page, a protection exception happens
 
 - Either the external call or emergency signal order is used to send
   an IPI to a remote CPU. Use the external order only, since it is at
   least as good and sometimes even better, than the emergency signal
 
 - In case of an early crash the early program check handler prints
   more or less random value of the last breaking event address, since
   it is not initialized properly. Copy the last breaking event address
   from the lowcore to pt_regs to address this
 
 - During STP synchronization check udelay() can not be used, since the
   first CPU modifies tod_clock_base and get_tod_clock_monotonic() might
   return a non-monotonic time. Instead, busy-loop on other CPUs, while
   the the first CPU actually handles the synchronization operation
 
 - When debugging the early kernel boot using QEMU with the -S flag and
   GDB attached, skip the decompressor and start directly in kernel
 
 - Rename PAI Crypto event 4210 according to z16 and z17 "z/Architecture
   Principles of Operation" manual
 
 - Remove the in-kernel time steering support in favour of the new s390
   PTP driver, which allows the kernel clock steered more precisely
 
 - Remove a possible false-positive warning in pte_free_defer(), which
   could be triggered in a valid case KVM guest process is initializing
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYKADUWIQQrtrZiYVkVzKQcYivNdxKlNrRb8AUCaIJQThccYWdvcmRlZXZA
 bGludXguaWJtLmNvbQAKCRDNdxKlNrRb8FI2APwPnlrj6ZVXzNA6dw0fSUt697rS
 NlaHEORXL8KcfoQh8QD/WwHUe1VNtDG1R5bBn0guR+UytVgR9Tt7LxyKfIgT3ws=
 =tdMb
 -----END PGP SIGNATURE-----

Merge tag 's390-6.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 updates from Alexander Gordeev:

 - Standardize on the __ASSEMBLER__ macro that is provided by GCC and
   Clang compilers and replace __ASSEMBLY__ with __ASSEMBLER__ in both
   uapi and non-uapi headers

 - Explicitly include <linux/export.h> in architecture and driver files
   which contain an EXPORT_SYMBOL() and remove the include from the
   files which do not contain the EXPORT_SYMBOL()

 - Use the full title of "z/Architecture Principles of Operation" manual
   and the name of a section where facility bits are listed

 - Use -D__DISABLE_EXPORTS for files in arch/s390/boot to avoid
   unnecessary slowing down of the build and confusing external kABI
   tools that process symtypes data

 - Print additional unrecoverable machine check information to make the
   root cause analysis easier

 - Move cmpxchg_user_key() handling to uaccess library code, since the
   generated code is large anyway and there is no benefit if it is
   inlined

 - Fix a problem when cmpxchg_user_key() is executing a code with a
   non-default key: if a system is IPL-ed with "LOAD NORMAL", and the
   previous system used storage keys where the fetch-protection bit was
   set for some pages, and the cmpxchg_user_key() is located within such
   page, a protection exception happens

 - Either the external call or emergency signal order is used to send an
   IPI to a remote CPU. Use the external order only, since it is at
   least as good and sometimes even better, than the emergency signal

 - In case of an early crash the early program check handler prints more
   or less random value of the last breaking event address, since it is
   not initialized properly. Copy the last breaking event address from
   the lowcore to pt_regs to address this

 - During STP synchronization check udelay() can not be used, since the
   first CPU modifies tod_clock_base and get_tod_clock_monotonic() might
   return a non-monotonic time. Instead, busy-loop on other CPUs, while
   the the first CPU actually handles the synchronization operation

 - When debugging the early kernel boot using QEMU with the -S flag and
   GDB attached, skip the decompressor and start directly in kernel

 - Rename PAI Crypto event 4210 according to z16 and z17 "z/Architecture
   Principles of Operation" manual

 - Remove the in-kernel time steering support in favour of the new s390
   PTP driver, which allows the kernel clock steered more precisely

 - Remove a possible false-positive warning in pte_free_defer(), which
   could be triggered in a valid case KVM guest process is initializing

* tag 's390-6.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (29 commits)
  s390/mm: Remove possible false-positive warning in pte_free_defer()
  s390/stp: Default to enabled
  s390/stp: Remove leap second support
  s390/time: Remove in-kernel time steering
  s390/sclp: Use monotonic clock in sclp_sync_wait()
  s390/smp: Use monotonic clock in smp_emergency_stop()
  s390/time: Use monotonic clock in get_cycles()
  s390/pai_crypto: Rename PAI Crypto event 4210
  scripts/gdb/symbols: make lx-symbols skip the s390 decompressor
  s390/boot: Introduce jump_to_kernel() function
  s390/stp: Remove udelay from stp_sync_clock()
  s390/early: Copy last breaking event address to pt_regs
  s390/smp: Remove conditional emergency signal order code usage
  s390/uaccess: Merge cmpxchg_user_key() inline assemblies
  s390/uaccess: Prevent kprobes on cmpxchg_user_key() functions
  s390/uaccess: Initialize code pages executed with non-default access key
  s390/skey: Provide infrastructure for executing with non-default access key
  s390/uaccess: Make cmpxchg_user_key() library code
  s390/page: Add memory clobber to page_set_storage_key()
  s390/page: Cleanup page_set_storage_key() inline assemblies
  ...
2025-07-29 20:17:08 -07:00
..
842 lib: 842: Improve error handling in sw842_compress() 2025-02-09 18:08:11 +08:00
crc lib/crc: x86/crc32c: Enable VPCLMULQDQ optimization where beneficial 2025-07-20 20:52:34 -07:00
crypto s390 updates for 6.17 merge window 2025-07-29 20:17:08 -07:00
dim dim: pass dim_sample to net_dim() by reference 2024-11-03 12:36:54 -08:00
fonts drm/log: select CONFIG_FONT_SUPPORT 2024-12-12 18:26:32 +01:00
kunit linux_kselftest-kunit-6.17-rc1 2025-07-29 12:43:10 -07:00
lz4 include/linux/lz4.h: add some missing macros 2025-01-24 22:47:28 -08:00
lzo crypto: lzo - Fix compression buffer overrun 2025-03-08 16:23:22 +08:00
math lib/prime_numbers: convert self-test to KUnit 2025-02-12 14:00:11 -08:00
pldmfw pldmfw: Don't require send_package_data or send_component_table to be defined 2025-05-15 12:59:18 +02:00
raid6 s390 updates for 6.17 merge window 2025-07-29 20:17:08 -07:00
reed_solomon
test_fortify kbuild: require gcc-8 and binutils-2.30 2025-04-30 21:53:35 +02:00
tests lib/ratelimit: Add functional and stress tests 2025-07-29 15:56:03 -07:00
vdso vdso/gettimeofday: Add support for auxiliary clocks 2025-07-18 14:09:39 +02:00
xz
zlib_deflate lib/zlib: drop EQUAL macro 2025-03-16 22:30:49 -07:00
zlib_dfltcc
zlib_inflate zlib: add module description 2025-04-11 17:32:38 -07:00
zstd Update zstd to the latest upstream release v1.5.7. Imported cleanly from the 2025-03-26 21:35:28 -07:00
.gitignore
alloc_tag.c lib/alloc_tag: do not acquire non-existent lock in alloc_tag_top_users() 2025-07-09 21:07:52 -07:00
argv_split.c
ashldi3.c
ashrdi3.c
asn1_decoder.c ASN.1: add module description 2025-04-11 17:32:37 -07:00
asn1_encoder.c
assoc_array.c
atomic64.c atomic64: Use arch_spin_locks instead of raw_spin_locks 2025-01-22 15:07:01 -05:00
atomic64_test.c x86/cpufeatures: Rename X86_CMPXCHG64 to X86_CX8 2025-02-28 11:42:34 +01:00
audit.c
base64.c
bcd.c
bch.c
bitmap-str.c
bitmap.c
bitrev.c
bootconfig-data.S
bootconfig.c
bsearch.c
btree.c
bucket_locks.c
bug.c bug: Use RCU instead RCU-sched to protect module_bug_list. 2025-03-10 11:54:46 +01:00
build_OID_registry
buildid.c
bust_spinlocks.c
check_signature.c
checksum.c net: checksum: Move from32to16() to generic header 2024-10-30 15:29:59 +01:00
closure.c
clz_ctz.c
clz_tab.c
cmdline.c
cmpdi2.c
cmpxchg-emu.c
codetag.c alloc_tag: handle module codetag load errors as module load failures 2025-06-05 22:02:23 -07:00
compat_audit.c
cpu_rmap.c net: move aRFS rmap management and CPU affinity to core 2025-02-26 19:51:37 -08:00
cpumask.c cpumask: drop cpumask_next_wrap_old() 2025-02-24 16:37:23 -05:00
ctype.c
debug_info.c
debug_locks.c
debugobjects.c
dec_and_lock.c
decompress.c
decompress_bunzip2.c
decompress_inflate.c
decompress_unlz4.c
decompress_unlzma.c
decompress_unlzo.c
decompress_unxz.c
decompress_unzstd.c
devmem_is_allowed.c
devres.c devres: Export devm_ioremap_resource_wc() 2025-05-05 16:18:09 -05:00
dhry.h
dhry_1.c
dhry_2.c
dhry_run.c
digsig.c
dump_stack.c lib/dump_stack: Use preempt_model_str() 2025-03-17 11:23:39 +01:00
dynamic_debug.c
dynamic_queue_limits.c dql: Fix dql->limit value when reset. 2025-03-25 06:26:55 -07:00
earlycpio.c
errname.c
error-inject.c
errseq.c errseq: eliminate special limitation for macro MAX_ERRNO 2025-05-11 17:54:06 -07:00
extable.c
fault-inject-usercopy.c
fault-inject.c fault-inject: use prandom where cryptographically secure randomness is not needed 2025-01-12 20:21:00 -08:00
fdt.c
fdt_addresses.c
fdt_empty_tree.c
fdt_ro.c
fdt_rw.c
fdt_strerror.c
fdt_sw.c
fdt_wip.c
find_bit.c find: Add find_first_andnot_bit() 2025-05-15 20:24:40 +02:00
find_bit_benchmark.c
flex_proportions.c
fw_table.c
genalloc.c
generic-radix-tree.c
glob.c
globtest.c
group_cpus.c lib/group_cpus: Let group_cpu_evenly() return the number of initialized masks 2025-07-01 10:24:11 -06:00
hexdump.c
hweight.c
idr.c ida: Add ida_find_first_range() 2025-03-25 10:18:31 -03:00
inflate.c lib/inflate.c: remove dead code 2025-01-12 20:21:15 -08:00
interval_tree.c lib/interval_tree: fix the comment of interval_tree_span_iter_next_gap() 2025-03-17 12:17:01 -07:00
interval_tree_test.c lib/interval_tree: add test case for span iteration 2025-03-17 12:17:01 -07:00
iomap.c asm-generic/io.h: rework split ioread64/iowrite64 helpers 2025-03-01 21:00:22 +01:00
iomap_copy.c
iomem_copy.c lib/iomem_copy: fix kerneldoc format style 2024-10-29 07:14:29 +00:00
iommu-helper.c
iov_iter.c iov_iter: use iov_offset for length calculation in iov_iter_aligned_bvec 2025-06-05 22:02:23 -07:00
irq_poll.c
irq_regs.c
is_single_threaded.c
kasprintf.c
Kconfig lib/crc: Move files into lib/crc/ 2025-06-30 09:31:57 -07:00
Kconfig.debug lib/ratelimit: Add functional and stress tests 2025-07-29 15:56:03 -07:00
Kconfig.kasan kasan: delete CONFIG_KASAN_MODULE_TEST 2024-11-11 00:26:44 -08:00
Kconfig.kcsan
Kconfig.kfence
Kconfig.kgdb Documentation: move dev-tools debugging files to process/debugging/ 2024-12-17 13:46:53 -07:00
Kconfig.kmsan
Kconfig.ubsan hardening fixes for v6.16-rc1 (take 2) 2025-06-01 11:37:01 -07:00
kfifo.c
klist.c
kobject.c kobject: Remove unused functions 2025-01-14 19:45:35 +01:00
kobject_uevent.c
kstrtox.c kstrtox: add support for enabled and disabled in kstrtobool() 2025-05-11 17:54:06 -07:00
kstrtox.h
linear_ranges.c
list_debug.c lib/list_debug.c: add object information in case of invalid object 2025-01-25 20:22:23 -08:00
list_sort.c lib/list_sort: clarify comparison function requirements in list_sort() 2025-01-24 22:47:23 -08:00
llist.c llist: make llist_add_batch() a static inline 2025-05-27 19:40:34 -07:00
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 locking/ww_mutex: Fix ww_mutex dummy lockdep map selftest warnings 2024-12-02 12:16:57 +01:00
lockref.c lockref: use bool for false/true returns 2025-01-16 11:48:11 +01:00
logic_iomem.c
logic_pio.c
lru_cache.c
lshrdi3.c
lwq.c
Makefile CRC updates for 6.17 2025-07-28 17:43:29 -07:00
maple_tree.c maple_tree: fix mt_destroy_walk() on root leaf node 2025-07-09 21:07:52 -07:00
memcat_p.c
memory-notifier-error-inject.c
memregion.c
memweight.c
min_heap.c lib min_heap: use size_t for array size and index variables 2025-03-16 23:24:14 -07:00
muldi3.c
net_utils.c net, treewide: define and use MAC_ADDR_STR_LEN 2025-03-19 19:17:58 +01:00
netdev-notifier-error-inject.c
nlattr.c
nmi_backtrace.c
notifier-error-inject.c
notifier-error-inject.h
objagg.c
objpool.c objpool: fix to make percpu slot allocation more robust 2024-11-07 14:14:58 -08:00
of-reconfig-notifier-error-inject.c
oid_registry.c lib/oid_registry.c: remove unused sprint_OID 2025-05-11 17:54:13 -07:00
once.c
packing.c lib: packing: add pack_fields() and unpack_fields() 2024-12-11 20:13:00 -08:00
packing_test.c lib: packing: add pack_fields() and unpack_fields() 2024-12-11 20:13:00 -08:00
parman.c
parser.c Documentation: core-api: add generic parser docbook 2024-12-11 09:07:40 -07:00
percpu-refcount.c
percpu_counter.c
percpu_test.c percpu: add a test case for the specific 64-bit value addition 2024-11-06 20:11:14 -08:00
plist.c lib/plist.c: add shortcut for plist_requeue() 2025-03-16 22:30:47 -07:00
pm-notifier-error-inject.c
polynomial.c
radix-tree.c
radix-tree.h
random32.c Random number generator updates for Linux 6.13-rc1. 2024-11-19 10:43:44 -08:00
ratelimit.c ratelimit: Drop redundant accesses to burst 2025-05-08 16:13:27 -07:00
rbtree.c lib/rbtree.c: fix the example typo 2025-05-11 17:54:04 -07:00
rbtree_test.c lib/rbtree: add random seed 2025-03-17 12:17:00 -07:00
rcuref.c rcuref: Plug slowpath race in rcuref_put() 2025-01-29 15:21:31 +01:00
ref_tracker.c
refcount.c
rhashtable.c Mainly individually changelogged singleton patches. The patch series in 2025-01-26 17:50:53 -08:00
sbitmap.c
scatterlist.c scatterlist: fix extraneous '@'-sign kernel-doc notation 2025-06-11 22:42:35 -07:00
seq_buf.c
sg_pool.c
sg_split.c lib: scatterlist: fix sg_split_phys to preserve original scatterlist offsets 2025-04-01 15:20:46 -07:00
siphash.c
smp_processor_id.c lib/smp_processor_id: Make migration check unconditional of SMP 2025-07-10 17:52:13 +02:00
sort.c lib/sort.c: add _nonatomic() variants with cond_resched() 2025-04-01 15:20:46 -07:00
stackdepot.c mm, bpf: Introduce free_pages_nolock() 2025-02-27 09:36:18 -08:00
stmp_device.c
string.c string: Add load_unaligned_zeropad() code path to sized_strscpy() 2025-04-15 13:50:17 -07:00
string_helpers.c lib/string_helpers: Introduce parse_int_array() 2025-04-07 15:07:56 +01:00
strncpy_from_user.c kasan: move checks to do_strncpy_from_user 2024-11-11 00:26:43 -08:00
strnlen_user.c
syscall.c
test-kstrtox.c
test_bitmap.c bitmap: remove _check_eq_u32_array 2025-02-18 11:51:21 -05:00
test_bitops.c
test_bpf.c bpf/tests: Add 32 bits only long conditional jump tests 2025-01-06 16:10:19 +01:00
test_debug_virtual.c
test_dynamic_debug.c
test_firmware.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
test_fpu.h
test_fpu_glue.c
test_fpu_impl.c
test_free_pages.c
test_hexdump.c
test_hmm.c mm: allow compound zone device pages 2025-03-17 22:06:39 -07:00
test_hmm_uapi.h
test_ida.c ida: Add ida_find_first_range() 2025-03-25 10:18:31 -03:00
test_kmod.c lib/test_kmod: do not hardcode/depend on any filesystem 2025-05-11 17:54:09 -07:00
test_lockup.c
test_maple_tree.c test_maple_tree: test exhausted upper limit of mtree_alloc_cyclic() 2025-01-25 20:22:19 -08:00
test_memcat_p.c
test_meminit.c
test_min_heap.c lib/test_min_heap: use inline min heap variants to reduce attack vector 2025-01-12 20:20:57 -08:00
test_module.c
test_objagg.c lib: test_objagg: Set error message in check_expect_hints_stats() 2025-07-01 17:29:00 -07:00
test_objpool.c lib: test_objpool: Switch to use hrtimer_setup() 2025-02-18 10:32:32 +01:00
test_parman.c
test_ref_tracker.c
test_rhashtable.c
test_static_key_base.c
test_static_keys.c
test_sysctl.c sysctl: Close test ctl_headers with a for loop 2025-04-14 14:13:41 +02:00
test_ubsan.c ubsan: Fix panic from test_ubsan_out_of_bounds 2025-04-15 13:50:17 -07:00
test_uuid.c
test_vmalloc.c lib/test_vmalloc.c: allow built-in execution 2025-05-11 17:48:34 -07:00
test_xarray.c xarray: make xa_alloc_cyclic() return 0 on all success cases 2025-05-11 17:48:19 -07:00
textsearch.c
timerqueue.c
trace_readwrite.c
ts_bm.c
ts_fsm.c
ts_kmp.c
ubsan.c KVM: arm64: Introduce CONFIG_UBSAN_KVM_EL2 2025-05-07 11:21:35 +01:00
ubsan.h ubsan/overflow: Rework integer overflow sanitizer option to turn on everything 2025-03-07 19:58:05 -08:00
ucmpdi2.c
ucs2_string.c ucs2_string: add module description 2025-04-11 17:32:38 -07:00
union_find.c
usercopy.c
uuid.c
vsprintf.c drm for 6.16-rc1 2025-05-28 09:46:39 -07:00
win_minmax.c rxrpc: Generate rtt_min 2024-12-09 13:48:29 -08:00
xarray.c xarray: fix kerneldoc for __xa_cmpxchg 2025-05-12 23:50:49 -07:00
xxhash.c