Skip to content

Commit 6fe137c

Browse files
committed
Merge tag 's390-5.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull s390 fixes from Vasily Gorbik: - defconfig updates - Fix build errors with CC_OPTIMIZE_FOR_SIZE due to usage of "i" constraint for function arguments. Two kvm changes acked-by Christian Borntraeger. - Fix -Wunused-but-set-variable warnings in mm code. - Avoid a constant misuse in qdio. - Handle a case when cpumf is temporarily unavailable. * tag 's390-5.4-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: KVM: s390: mark __insn32_query() as __always_inline KVM: s390: fix __insn32_query() inline assembly s390: update defconfigs s390/pci: mark function(s) __always_inline s390/mm: mark function(s) __always_inline s390/jump_label: mark function(s) __always_inline s390/cpu_mf: mark function(s) __always_inline s390/atomic,bitops: mark function(s) __always_inline s390/mm: fix -Wunused-but-set-variable warnings s390: mark __cpacf_query() as __always_inline s390/qdio: clarify size of the QIB parm area s390/cpumf: Fix indentation in sampling device driver s390/cpumsf: Check for CPU Measurement sampling s390/cpumf: Use consistant debug print format
2 parents 4ea6553 + d0dea73 commit 6fe137c

File tree

17 files changed

+83
-53
lines changed

17 files changed

+83
-53
lines changed

arch/s390/configs/debug_defconfig

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ CONFIG_NR_CPUS=512
4444
CONFIG_NUMA=y
4545
CONFIG_HZ_100=y
4646
CONFIG_KEXEC_FILE=y
47+
CONFIG_KEXEC_SIG=y
4748
CONFIG_EXPOLINE=y
4849
CONFIG_EXPOLINE_AUTO=y
4950
CONFIG_CHSC_SCH=y
@@ -69,12 +70,13 @@ CONFIG_MODULE_UNLOAD=y
6970
CONFIG_MODULE_FORCE_UNLOAD=y
7071
CONFIG_MODVERSIONS=y
7172
CONFIG_MODULE_SRCVERSION_ALL=y
72-
CONFIG_MODULE_SIG=y
7373
CONFIG_MODULE_SIG_SHA256=y
74+
CONFIG_UNUSED_SYMBOLS=y
7475
CONFIG_BLK_DEV_INTEGRITY=y
7576
CONFIG_BLK_DEV_THROTTLING=y
7677
CONFIG_BLK_WBT=y
7778
CONFIG_BLK_CGROUP_IOLATENCY=y
79+
CONFIG_BLK_CGROUP_IOCOST=y
7880
CONFIG_PARTITION_ADVANCED=y
7981
CONFIG_IBM_PARTITION=y
8082
CONFIG_BSD_DISKLABEL=y
@@ -370,6 +372,7 @@ CONFIG_NETLINK_DIAG=m
370372
CONFIG_CGROUP_NET_PRIO=y
371373
CONFIG_BPF_JIT=y
372374
CONFIG_NET_PKTGEN=m
375+
# CONFIG_NET_DROP_MONITOR is not set
373376
CONFIG_PCI=y
374377
CONFIG_PCI_DEBUG=y
375378
CONFIG_HOTPLUG_PCI=y
@@ -424,6 +427,7 @@ CONFIG_DM_CRYPT=m
424427
CONFIG_DM_SNAPSHOT=m
425428
CONFIG_DM_THIN_PROVISIONING=m
426429
CONFIG_DM_WRITECACHE=m
430+
CONFIG_DM_CLONE=m
427431
CONFIG_DM_MIRROR=m
428432
CONFIG_DM_LOG_USERSPACE=m
429433
CONFIG_DM_RAID=m
@@ -435,6 +439,7 @@ CONFIG_DM_DELAY=m
435439
CONFIG_DM_UEVENT=y
436440
CONFIG_DM_FLAKEY=m
437441
CONFIG_DM_VERITY=m
442+
CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y
438443
CONFIG_DM_SWITCH=m
439444
CONFIG_NETDEVICES=y
440445
CONFIG_BONDING=m
@@ -489,6 +494,7 @@ CONFIG_MLX5_CORE_EN=y
489494
# CONFIG_NET_VENDOR_NVIDIA is not set
490495
# CONFIG_NET_VENDOR_OKI is not set
491496
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
497+
# CONFIG_NET_VENDOR_PENSANDO is not set
492498
# CONFIG_NET_VENDOR_QLOGIC is not set
493499
# CONFIG_NET_VENDOR_QUALCOMM is not set
494500
# CONFIG_NET_VENDOR_RDC is not set
@@ -538,15 +544,16 @@ CONFIG_WATCHDOG=y
538544
CONFIG_WATCHDOG_NOWAYOUT=y
539545
CONFIG_SOFT_WATCHDOG=m
540546
CONFIG_DIAG288_WATCHDOG=m
541-
CONFIG_DRM=y
542-
CONFIG_DRM_VIRTIO_GPU=y
547+
CONFIG_FB=y
543548
CONFIG_FRAMEBUFFER_CONSOLE=y
549+
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
544550
# CONFIG_HID is not set
545551
# CONFIG_USB_SUPPORT is not set
546552
CONFIG_INFINIBAND=m
547553
CONFIG_INFINIBAND_USER_ACCESS=m
548554
CONFIG_MLX4_INFINIBAND=m
549555
CONFIG_MLX5_INFINIBAND=m
556+
CONFIG_SYNC_FILE=y
550557
CONFIG_VFIO=m
551558
CONFIG_VFIO_PCI=m
552559
CONFIG_VFIO_MDEV=m
@@ -580,6 +587,8 @@ CONFIG_NILFS2_FS=m
580587
CONFIG_FS_DAX=y
581588
CONFIG_EXPORTFS_BLOCK_OPS=y
582589
CONFIG_FS_ENCRYPTION=y
590+
CONFIG_FS_VERITY=y
591+
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
583592
CONFIG_FANOTIFY=y
584593
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
585594
CONFIG_QUOTA_NETLINK_INTERFACE=y
@@ -589,6 +598,7 @@ CONFIG_QFMT_V2=m
589598
CONFIG_AUTOFS4_FS=m
590599
CONFIG_FUSE_FS=y
591600
CONFIG_CUSE=m
601+
CONFIG_VIRTIO_FS=m
592602
CONFIG_OVERLAY_FS=m
593603
CONFIG_FSCACHE=m
594604
CONFIG_CACHEFILES=m
@@ -648,12 +658,15 @@ CONFIG_FORTIFY_SOURCE=y
648658
CONFIG_SECURITY_SELINUX=y
649659
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
650660
CONFIG_SECURITY_SELINUX_DISABLE=y
661+
CONFIG_SECURITY_LOCKDOWN_LSM=y
662+
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
651663
CONFIG_INTEGRITY_SIGNATURE=y
652664
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
653665
CONFIG_IMA=y
654666
CONFIG_IMA_DEFAULT_HASH_SHA256=y
655667
CONFIG_IMA_WRITE_POLICY=y
656668
CONFIG_IMA_APPRAISE=y
669+
CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
657670
CONFIG_CRYPTO_USER=m
658671
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
659672
CONFIG_CRYPTO_PCRYPT=m
@@ -664,10 +677,6 @@ CONFIG_CRYPTO_ECDH=m
664677
CONFIG_CRYPTO_ECRDSA=m
665678
CONFIG_CRYPTO_CHACHA20POLY1305=m
666679
CONFIG_CRYPTO_AEGIS128=m
667-
CONFIG_CRYPTO_AEGIS128L=m
668-
CONFIG_CRYPTO_AEGIS256=m
669-
CONFIG_CRYPTO_MORUS640=m
670-
CONFIG_CRYPTO_MORUS1280=m
671680
CONFIG_CRYPTO_CFB=m
672681
CONFIG_CRYPTO_LRW=m
673682
CONFIG_CRYPTO_PCBC=m
@@ -739,7 +748,6 @@ CONFIG_DEBUG_INFO=y
739748
CONFIG_DEBUG_INFO_DWARF4=y
740749
CONFIG_GDB_SCRIPTS=y
741750
CONFIG_FRAME_WARN=1024
742-
CONFIG_UNUSED_SYMBOLS=y
743751
CONFIG_HEADERS_INSTALL=y
744752
CONFIG_HEADERS_CHECK=y
745753
CONFIG_DEBUG_SECTION_MISMATCH=y

arch/s390/configs/defconfig

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ CONFIG_NUMA=y
4444
# CONFIG_NUMA_EMU is not set
4545
CONFIG_HZ_100=y
4646
CONFIG_KEXEC_FILE=y
47+
CONFIG_KEXEC_SIG=y
4748
CONFIG_EXPOLINE=y
4849
CONFIG_EXPOLINE_AUTO=y
4950
CONFIG_CHSC_SCH=y
@@ -66,11 +67,12 @@ CONFIG_MODULE_UNLOAD=y
6667
CONFIG_MODULE_FORCE_UNLOAD=y
6768
CONFIG_MODVERSIONS=y
6869
CONFIG_MODULE_SRCVERSION_ALL=y
69-
CONFIG_MODULE_SIG=y
7070
CONFIG_MODULE_SIG_SHA256=y
71+
CONFIG_UNUSED_SYMBOLS=y
7172
CONFIG_BLK_DEV_THROTTLING=y
7273
CONFIG_BLK_WBT=y
7374
CONFIG_BLK_CGROUP_IOLATENCY=y
75+
CONFIG_BLK_CGROUP_IOCOST=y
7476
CONFIG_PARTITION_ADVANCED=y
7577
CONFIG_IBM_PARTITION=y
7678
CONFIG_BSD_DISKLABEL=y
@@ -363,6 +365,7 @@ CONFIG_NETLINK_DIAG=m
363365
CONFIG_CGROUP_NET_PRIO=y
364366
CONFIG_BPF_JIT=y
365367
CONFIG_NET_PKTGEN=m
368+
# CONFIG_NET_DROP_MONITOR is not set
366369
CONFIG_PCI=y
367370
CONFIG_HOTPLUG_PCI=y
368371
CONFIG_HOTPLUG_PCI_S390=y
@@ -418,6 +421,7 @@ CONFIG_DM_CRYPT=m
418421
CONFIG_DM_SNAPSHOT=m
419422
CONFIG_DM_THIN_PROVISIONING=m
420423
CONFIG_DM_WRITECACHE=m
424+
CONFIG_DM_CLONE=m
421425
CONFIG_DM_MIRROR=m
422426
CONFIG_DM_LOG_USERSPACE=m
423427
CONFIG_DM_RAID=m
@@ -429,6 +433,7 @@ CONFIG_DM_DELAY=m
429433
CONFIG_DM_UEVENT=y
430434
CONFIG_DM_FLAKEY=m
431435
CONFIG_DM_VERITY=m
436+
CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y
432437
CONFIG_DM_SWITCH=m
433438
CONFIG_DM_INTEGRITY=m
434439
CONFIG_NETDEVICES=y
@@ -484,6 +489,7 @@ CONFIG_MLX5_CORE_EN=y
484489
# CONFIG_NET_VENDOR_NVIDIA is not set
485490
# CONFIG_NET_VENDOR_OKI is not set
486491
# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
492+
# CONFIG_NET_VENDOR_PENSANDO is not set
487493
# CONFIG_NET_VENDOR_QLOGIC is not set
488494
# CONFIG_NET_VENDOR_QUALCOMM is not set
489495
# CONFIG_NET_VENDOR_RDC is not set
@@ -533,16 +539,16 @@ CONFIG_WATCHDOG_CORE=y
533539
CONFIG_WATCHDOG_NOWAYOUT=y
534540
CONFIG_SOFT_WATCHDOG=m
535541
CONFIG_DIAG288_WATCHDOG=m
536-
CONFIG_DRM=y
537-
CONFIG_DRM_VIRTIO_GPU=y
538-
# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
542+
CONFIG_FB=y
539543
CONFIG_FRAMEBUFFER_CONSOLE=y
544+
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
540545
# CONFIG_HID is not set
541546
# CONFIG_USB_SUPPORT is not set
542547
CONFIG_INFINIBAND=m
543548
CONFIG_INFINIBAND_USER_ACCESS=m
544549
CONFIG_MLX4_INFINIBAND=m
545550
CONFIG_MLX5_INFINIBAND=m
551+
CONFIG_SYNC_FILE=y
546552
CONFIG_VFIO=m
547553
CONFIG_VFIO_PCI=m
548554
CONFIG_VFIO_MDEV=m
@@ -573,6 +579,8 @@ CONFIG_NILFS2_FS=m
573579
CONFIG_FS_DAX=y
574580
CONFIG_EXPORTFS_BLOCK_OPS=y
575581
CONFIG_FS_ENCRYPTION=y
582+
CONFIG_FS_VERITY=y
583+
CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
576584
CONFIG_FANOTIFY=y
577585
CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
578586
CONFIG_QUOTA_NETLINK_INTERFACE=y
@@ -581,6 +589,7 @@ CONFIG_QFMT_V2=m
581589
CONFIG_AUTOFS4_FS=m
582590
CONFIG_FUSE_FS=y
583591
CONFIG_CUSE=m
592+
CONFIG_VIRTIO_FS=m
584593
CONFIG_OVERLAY_FS=m
585594
CONFIG_FSCACHE=m
586595
CONFIG_CACHEFILES=m
@@ -639,12 +648,15 @@ CONFIG_SECURITY_NETWORK=y
639648
CONFIG_SECURITY_SELINUX=y
640649
CONFIG_SECURITY_SELINUX_BOOTPARAM=y
641650
CONFIG_SECURITY_SELINUX_DISABLE=y
651+
CONFIG_SECURITY_LOCKDOWN_LSM=y
652+
CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y
642653
CONFIG_INTEGRITY_SIGNATURE=y
643654
CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y
644655
CONFIG_IMA=y
645656
CONFIG_IMA_DEFAULT_HASH_SHA256=y
646657
CONFIG_IMA_WRITE_POLICY=y
647658
CONFIG_IMA_APPRAISE=y
659+
CONFIG_LSM="yama,loadpin,safesetid,integrity,selinux,smack,tomoyo,apparmor"
648660
CONFIG_CRYPTO_FIPS=y
649661
CONFIG_CRYPTO_USER=m
650662
# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
@@ -656,10 +668,6 @@ CONFIG_CRYPTO_ECDH=m
656668
CONFIG_CRYPTO_ECRDSA=m
657669
CONFIG_CRYPTO_CHACHA20POLY1305=m
658670
CONFIG_CRYPTO_AEGIS128=m
659-
CONFIG_CRYPTO_AEGIS128L=m
660-
CONFIG_CRYPTO_AEGIS256=m
661-
CONFIG_CRYPTO_MORUS640=m
662-
CONFIG_CRYPTO_MORUS1280=m
663671
CONFIG_CRYPTO_CFB=m
664672
CONFIG_CRYPTO_LRW=m
665673
CONFIG_CRYPTO_OFB=m
@@ -727,7 +735,6 @@ CONFIG_DEBUG_INFO=y
727735
CONFIG_DEBUG_INFO_DWARF4=y
728736
CONFIG_GDB_SCRIPTS=y
729737
CONFIG_FRAME_WARN=1024
730-
CONFIG_UNUSED_SYMBOLS=y
731738
CONFIG_DEBUG_SECTION_MISMATCH=y
732739
CONFIG_MAGIC_SYSRQ=y
733740
CONFIG_DEBUG_MEMORY_INIT=y

arch/s390/configs/zfcpdump_defconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ CONFIG_RAW_DRIVER=y
6161
CONFIG_CONFIGFS_FS=y
6262
# CONFIG_MISC_FILESYSTEMS is not set
6363
# CONFIG_NETWORK_FILESYSTEMS is not set
64-
# CONFIG_DIMLIB is not set
64+
CONFIG_LSM="yama,loadpin,safesetid,integrity"
6565
CONFIG_PRINTK_TIME=y
6666
CONFIG_DEBUG_INFO=y
6767
CONFIG_DEBUG_FS=y

arch/s390/include/asm/atomic_ops.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ __ATOMIC_OPS(__atomic64_xor, long, "laxg")
4141
#undef __ATOMIC_OP
4242

4343
#define __ATOMIC_CONST_OP(op_name, op_type, op_string, op_barrier) \
44-
static inline void op_name(op_type val, op_type *ptr) \
44+
static __always_inline void op_name(op_type val, op_type *ptr) \
4545
{ \
4646
asm volatile( \
4747
op_string " %[ptr],%[val]\n" \

arch/s390/include/asm/bitops.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ __bitops_byte(unsigned long nr, volatile unsigned long *ptr)
5656
return ((unsigned char *)ptr) + ((nr ^ (BITS_PER_LONG - 8)) >> 3);
5757
}
5858

59-
static inline void arch_set_bit(unsigned long nr, volatile unsigned long *ptr)
59+
static __always_inline void arch_set_bit(unsigned long nr, volatile unsigned long *ptr)
6060
{
6161
unsigned long *addr = __bitops_word(nr, ptr);
6262
unsigned long mask;
@@ -77,7 +77,7 @@ static inline void arch_set_bit(unsigned long nr, volatile unsigned long *ptr)
7777
__atomic64_or(mask, (long *)addr);
7878
}
7979

80-
static inline void arch_clear_bit(unsigned long nr, volatile unsigned long *ptr)
80+
static __always_inline void arch_clear_bit(unsigned long nr, volatile unsigned long *ptr)
8181
{
8282
unsigned long *addr = __bitops_word(nr, ptr);
8383
unsigned long mask;
@@ -98,8 +98,8 @@ static inline void arch_clear_bit(unsigned long nr, volatile unsigned long *ptr)
9898
__atomic64_and(mask, (long *)addr);
9999
}
100100

101-
static inline void arch_change_bit(unsigned long nr,
102-
volatile unsigned long *ptr)
101+
static __always_inline void arch_change_bit(unsigned long nr,
102+
volatile unsigned long *ptr)
103103
{
104104
unsigned long *addr = __bitops_word(nr, ptr);
105105
unsigned long mask;

arch/s390/include/asm/cpacf.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ typedef struct { unsigned char bytes[16]; } cpacf_mask_t;
171171
*
172172
* Returns 1 if @func is available for @opcode, 0 otherwise
173173
*/
174-
static inline void __cpacf_query(unsigned int opcode, cpacf_mask_t *mask)
174+
static __always_inline void __cpacf_query(unsigned int opcode, cpacf_mask_t *mask)
175175
{
176176
register unsigned long r0 asm("0") = 0; /* query function */
177177
register unsigned long r1 asm("1") = (unsigned long) mask;

arch/s390/include/asm/cpu_mf.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ asm(".include \"asm/cpu_mf-insn.h\"\n");
2828
CPU_MF_INT_SF_PRA|CPU_MF_INT_SF_SACA| \
2929
CPU_MF_INT_SF_LSDA)
3030

31+
#define CPU_MF_SF_RIBM_NOTAV 0x1 /* Sampling unavailable */
32+
3133
/* CPU measurement facility support */
3234
static inline int cpum_cf_avail(void)
3335
{
@@ -69,7 +71,8 @@ struct hws_qsi_info_block { /* Bit(s) */
6971
unsigned long max_sampl_rate; /* 16-23: maximum sampling interval*/
7072
unsigned long tear; /* 24-31: TEAR contents */
7173
unsigned long dear; /* 32-39: DEAR contents */
72-
unsigned int rsvrd0; /* 40-43: reserved */
74+
unsigned int rsvrd0:24; /* 40-42: reserved */
75+
unsigned int ribm:8; /* 43: Reserved by IBM */
7376
unsigned int cpu_speed; /* 44-47: CPU speed */
7477
unsigned long long rsvrd1; /* 48-55: reserved */
7578
unsigned long long rsvrd2; /* 56-63: reserved */
@@ -220,7 +223,8 @@ enum stcctm_ctr_set {
220223
MT_DIAG = 5,
221224
MT_DIAG_CLEARING = 9, /* clears loss-of-MT-ctr-data alert */
222225
};
223-
static inline int stcctm(enum stcctm_ctr_set set, u64 range, u64 *dest)
226+
227+
static __always_inline int stcctm(enum stcctm_ctr_set set, u64 range, u64 *dest)
224228
{
225229
int cc;
226230

arch/s390/include/asm/hugetlb.h

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@
1212
#include <asm/page.h>
1313
#include <asm/pgtable.h>
1414

15-
16-
#define is_hugepage_only_range(mm, addr, len) 0
1715
#define hugetlb_free_pgd_range free_pgd_range
1816
#define hugepages_supported() (MACHINE_HAS_EDAT1)
1917

@@ -23,6 +21,13 @@ pte_t huge_ptep_get(pte_t *ptep);
2321
pte_t huge_ptep_get_and_clear(struct mm_struct *mm,
2422
unsigned long addr, pte_t *ptep);
2523

24+
static inline bool is_hugepage_only_range(struct mm_struct *mm,
25+
unsigned long addr,
26+
unsigned long len)
27+
{
28+
return false;
29+
}
30+
2631
/*
2732
* If the arch doesn't supply something else, assume that hugepage
2833
* size aligned regions are ok without further preparation.

arch/s390/include/asm/jump_label.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
* We use a brcl 0,2 instruction for jump labels at compile time so it
2121
* can be easily distinguished from a hotpatch generated instruction.
2222
*/
23-
static inline bool arch_static_branch(struct static_key *key, bool branch)
23+
static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
2424
{
2525
asm_volatile_goto("0: brcl 0,"__stringify(JUMP_LABEL_NOP_OFFSET)"\n"
2626
".pushsection __jump_table,\"aw\"\n"
@@ -34,7 +34,7 @@ static inline bool arch_static_branch(struct static_key *key, bool branch)
3434
return true;
3535
}
3636

37-
static inline bool arch_static_branch_jump(struct static_key *key, bool branch)
37+
static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch)
3838
{
3939
asm_volatile_goto("0: brcl 15,%l[label]\n"
4040
".pushsection __jump_table,\"aw\"\n"

0 commit comments

Comments
 (0)