Skip to content

Commit f154c80

Browse files
committed
Merge tag 's390-5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
Pull more s390 updates from Heiko Carstens: "Except for the xpram device driver removal it is all about fixes and cleanups. - Fix topology update on cpu hotplug, so notifiers see expected masks. This bug was uncovered with SCHED_CORE support. - Fix stack unwinding so that the correct number of entries are omitted like expected by common code. This fixes KCSAN selftests. - Add kmemleak annotation to stack_alloc to avoid false positive kmemleak warnings. - Avoid layering violation in common I/O code and don't unregister subchannel from child-drivers. - Remove xpram device driver for which no real use case exists since the kernel is 64 bit only. Also all hypervisors got required support removed in the meantime, which means the xpram device driver is dead code. - Fix -ENODEV handling of clp_get_state in our PCI code. - Enable KFENCE in debug defconfig. - Cleanup hugetlbfs s390 specific Kconfig dependency. - Quite a lot of trivial fixes to get rid of "W=1" warnings, and and other simple cleanups" * tag 's390-5.15-2' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: hugetlbfs: s390 is always 64bit s390/ftrace: remove incorrect __va usage s390/zcrypt: remove incorrect kernel doc indicators scsi: zfcp: fix kernel doc comments s390/sclp: add __nonstring annotation s390/hmcdrv_ftp: fix kernel doc comment s390: remove xpram device driver s390/pci: read clp_list_pci_req only once s390/pci: fix clp_get_state() handling of -ENODEV s390/cio: fix kernel doc comment s390/ctrlchar: fix kernel doc comment s390/con3270: use proper type for tasklet function s390/cpum_cf: move array from header to C file s390/mm: fix kernel doc comments s390/topology: fix topology information when calling cpu hotplug notifiers s390/unwind: use current_frame_address() to unwind current task s390/configs: enable CONFIG_KFENCE in debug_defconfig s390/entry: make oklabel within CHKSTG macro local s390: add kmemleak annotation in stack_alloc() s390/cio: dont unregister subchannel from child-drivers
2 parents 7b871c7 + bb9c14a commit f154c80

38 files changed

+139
-562
lines changed

arch/s390/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ config S390
110110
select ARCH_STACKWALK
111111
select ARCH_SUPPORTS_ATOMIC_RMW
112112
select ARCH_SUPPORTS_DEBUG_PAGEALLOC
113+
select ARCH_SUPPORTS_HUGETLBFS
113114
select ARCH_SUPPORTS_NUMA_BALANCING
114115
select ARCH_USE_BUILTIN_BSWAP
115116
select ARCH_USE_CMPXCHG_LOCKREF

arch/s390/configs/debug_defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,7 @@ CONFIG_DEBUG_VM_PGFLAGS=y
804804
CONFIG_DEBUG_MEMORY_INIT=y
805805
CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m
806806
CONFIG_DEBUG_PER_CPU_MAPS=y
807+
CONFIG_KFENCE=y
807808
CONFIG_DEBUG_SHIRQ=y
808809
CONFIG_PANIC_ON_OOPS=y
809810
CONFIG_DETECT_HUNG_TASK=y

arch/s390/configs/defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -397,7 +397,6 @@ CONFIG_BLK_DEV_DRBD=m
397397
CONFIG_BLK_DEV_NBD=m
398398
CONFIG_BLK_DEV_RAM=y
399399
CONFIG_BLK_DEV_RAM_SIZE=32768
400-
# CONFIG_BLK_DEV_XPRAM is not set
401400
CONFIG_VIRTIO_BLK=y
402401
CONFIG_BLK_DEV_RBD=m
403402
CONFIG_BLK_DEV_NVME=m

arch/s390/configs/zfcpdump_defconfig

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ CONFIG_NET=y
3535
# CONFIG_ETHTOOL_NETLINK is not set
3636
CONFIG_DEVTMPFS=y
3737
CONFIG_BLK_DEV_RAM=y
38-
# CONFIG_BLK_DEV_XPRAM is not set
3938
# CONFIG_DCSSBLK is not set
4039
# CONFIG_DASD is not set
4140
CONFIG_ENCLOSURE_SERVICES=y

arch/s390/include/asm/cpu_mcf.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,6 @@ enum cpumf_ctr_set {
2424

2525
#define CPUMF_LCCTL_ENABLE_SHIFT 16
2626
#define CPUMF_LCCTL_ACTCTL_SHIFT 0
27-
static const u64 cpumf_ctr_ctl[CPUMF_CTR_SET_MAX] = {
28-
[CPUMF_CTR_SET_BASIC] = 0x02,
29-
[CPUMF_CTR_SET_USER] = 0x04,
30-
[CPUMF_CTR_SET_CRYPTO] = 0x08,
31-
[CPUMF_CTR_SET_EXT] = 0x01,
32-
[CPUMF_CTR_SET_MT_DIAG] = 0x20,
33-
};
3427

3528
static inline void ctr_set_enable(u64 *state, u64 ctrsets)
3629
{

arch/s390/include/asm/smp.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ extern struct mutex smp_cpu_state_mutex;
1818
extern unsigned int smp_cpu_mt_shift;
1919
extern unsigned int smp_cpu_mtid;
2020
extern __vector128 __initdata boot_cpu_vector_save_area[__NUM_VXRS];
21+
extern cpumask_t cpu_setup_mask;
2122

2223
extern int __cpu_up(unsigned int cpu, struct task_struct *tidle);
2324

arch/s390/include/asm/stacktrace.h

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,6 @@ static inline bool on_stack(struct stack_info *info,
3434
return addr >= info->begin && addr + len <= info->end;
3535
}
3636

37-
static __always_inline unsigned long get_stack_pointer(struct task_struct *task,
38-
struct pt_regs *regs)
39-
{
40-
if (regs)
41-
return (unsigned long) kernel_stack_pointer(regs);
42-
if (task == current)
43-
return current_stack_pointer();
44-
return (unsigned long) task->thread.ksp;
45-
}
46-
4737
/*
4838
* Stack layout of a C stack frame.
4939
*/
@@ -74,6 +64,16 @@ struct stack_frame {
7464
((unsigned long)__builtin_frame_address(0) - \
7565
offsetof(struct stack_frame, back_chain))
7666

67+
static __always_inline unsigned long get_stack_pointer(struct task_struct *task,
68+
struct pt_regs *regs)
69+
{
70+
if (regs)
71+
return (unsigned long)kernel_stack_pointer(regs);
72+
if (task == current)
73+
return current_frame_address();
74+
return (unsigned long)task->thread.ksp;
75+
}
76+
7777
/*
7878
* To keep this simple mark register 2-6 as being changed (volatile)
7979
* by the called function, even though register 6 is saved/nonvolatile.

arch/s390/include/asm/unwind.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ static inline bool unwind_error(struct unwind_state *state)
5555
return state->error;
5656
}
5757

58-
static inline void unwind_start(struct unwind_state *state,
59-
struct task_struct *task,
60-
struct pt_regs *regs,
61-
unsigned long first_frame)
58+
static __always_inline void unwind_start(struct unwind_state *state,
59+
struct task_struct *task,
60+
struct pt_regs *regs,
61+
unsigned long first_frame)
6262
{
6363
task = task ?: current;
6464
first_frame = first_frame ?: get_stack_pointer(task, regs);

arch/s390/kernel/entry.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,10 +140,10 @@ _LPP_OFFSET = __LC_LPP
140140
TSTMSK __LC_MCCK_CODE,(MCCK_CODE_STG_ERROR|MCCK_CODE_STG_KEY_ERROR)
141141
jnz \errlabel
142142
TSTMSK __LC_MCCK_CODE,MCCK_CODE_STG_DEGRAD
143-
jz oklabel\@
143+
jz .Loklabel\@
144144
TSTMSK __LC_MCCK_CODE,MCCK_CODE_STG_FAIL_ADDR
145145
jnz \errlabel
146-
oklabel\@:
146+
.Loklabel\@:
147147
.endm
148148

149149
#if IS_ENABLED(CONFIG_KVM)

arch/s390/kernel/ftrace.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,13 +341,13 @@ NOKPROBE_SYMBOL(prepare_ftrace_return);
341341
*/
342342
int ftrace_enable_ftrace_graph_caller(void)
343343
{
344-
brcl_disable(__va(ftrace_graph_caller));
344+
brcl_disable(ftrace_graph_caller);
345345
return 0;
346346
}
347347

348348
int ftrace_disable_ftrace_graph_caller(void)
349349
{
350-
brcl_enable(__va(ftrace_graph_caller));
350+
brcl_enable(ftrace_graph_caller);
351351
return 0;
352352
}
353353

0 commit comments

Comments
 (0)