Commit 749f0461 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 's390-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Vasily Gorbik:

 - Add a few notrace annotations to avoid potential crashes when
   switching ftrace tracers.

 - Avoid setting affinity for floating irqs in pci code.

 - Fix build issue found by kbuild test robot.

* tag 's390-5.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/protvirt: fix compilation issue
  s390/pci: do not set affinity for floating irqs
  s390/ftrace: fix potential crashes when switching tracers
parents 670bcd79 673deb0b
...@@ -7,9 +7,7 @@ ...@@ -7,9 +7,7 @@
#ifdef CONFIG_PROTECTED_VIRTUALIZATION_GUEST #ifdef CONFIG_PROTECTED_VIRTUALIZATION_GUEST
int __bootdata_preserved(prot_virt_guest); int __bootdata_preserved(prot_virt_guest);
#endif #endif
#if IS_ENABLED(CONFIG_KVM)
struct uv_info __bootdata_preserved(uv_info); struct uv_info __bootdata_preserved(uv_info);
#endif
void uv_query_info(void) void uv_query_info(void)
{ {
......
...@@ -133,7 +133,7 @@ void diag_stat_inc(enum diag_stat_enum nr) ...@@ -133,7 +133,7 @@ void diag_stat_inc(enum diag_stat_enum nr)
} }
EXPORT_SYMBOL(diag_stat_inc); EXPORT_SYMBOL(diag_stat_inc);
void diag_stat_inc_norecursion(enum diag_stat_enum nr) void notrace diag_stat_inc_norecursion(enum diag_stat_enum nr)
{ {
this_cpu_inc(diag_stat.counter[nr]); this_cpu_inc(diag_stat.counter[nr]);
trace_s390_diagnose_norecursion(diag_map[nr].code); trace_s390_diagnose_norecursion(diag_map[nr].code);
......
...@@ -403,7 +403,7 @@ int smp_find_processor_id(u16 address) ...@@ -403,7 +403,7 @@ int smp_find_processor_id(u16 address)
return -1; return -1;
} }
bool arch_vcpu_is_preempted(int cpu) bool notrace arch_vcpu_is_preempted(int cpu)
{ {
if (test_cpu_flag_of(CIF_ENABLED_WAIT, cpu)) if (test_cpu_flag_of(CIF_ENABLED_WAIT, cpu))
return false; return false;
...@@ -413,7 +413,7 @@ bool arch_vcpu_is_preempted(int cpu) ...@@ -413,7 +413,7 @@ bool arch_vcpu_is_preempted(int cpu)
} }
EXPORT_SYMBOL(arch_vcpu_is_preempted); EXPORT_SYMBOL(arch_vcpu_is_preempted);
void smp_yield_cpu(int cpu) void notrace smp_yield_cpu(int cpu)
{ {
if (!MACHINE_HAS_DIAG9C) if (!MACHINE_HAS_DIAG9C)
return; return;
......
...@@ -14,7 +14,7 @@ EXPORT_TRACEPOINT_SYMBOL(s390_diagnose); ...@@ -14,7 +14,7 @@ EXPORT_TRACEPOINT_SYMBOL(s390_diagnose);
static DEFINE_PER_CPU(unsigned int, diagnose_trace_depth); static DEFINE_PER_CPU(unsigned int, diagnose_trace_depth);
void trace_s390_diagnose_norecursion(int diag_nr) void notrace trace_s390_diagnose_norecursion(int diag_nr)
{ {
unsigned long flags; unsigned long flags;
unsigned int *depth; unsigned int *depth;
......
...@@ -23,10 +23,11 @@ ...@@ -23,10 +23,11 @@
int __bootdata_preserved(prot_virt_guest); int __bootdata_preserved(prot_virt_guest);
#endif #endif
struct uv_info __bootdata_preserved(uv_info);
#if IS_ENABLED(CONFIG_KVM) #if IS_ENABLED(CONFIG_KVM)
int prot_virt_host; int prot_virt_host;
EXPORT_SYMBOL(prot_virt_host); EXPORT_SYMBOL(prot_virt_host);
struct uv_info __bootdata_preserved(uv_info);
EXPORT_SYMBOL(uv_info); EXPORT_SYMBOL(uv_info);
static int __init prot_virt_setup(char *val) static int __init prot_virt_setup(char *val)
......
...@@ -115,7 +115,6 @@ static struct irq_chip zpci_irq_chip = { ...@@ -115,7 +115,6 @@ static struct irq_chip zpci_irq_chip = {
.name = "PCI-MSI", .name = "PCI-MSI",
.irq_unmask = pci_msi_unmask_irq, .irq_unmask = pci_msi_unmask_irq,
.irq_mask = pci_msi_mask_irq, .irq_mask = pci_msi_mask_irq,
.irq_set_affinity = zpci_set_irq_affinity,
}; };
static void zpci_handle_cpu_local_irq(bool rescan) static void zpci_handle_cpu_local_irq(bool rescan)
...@@ -276,7 +275,9 @@ int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type) ...@@ -276,7 +275,9 @@ int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
rc = -EIO; rc = -EIO;
if (hwirq - bit >= msi_vecs) if (hwirq - bit >= msi_vecs)
break; break;
irq = __irq_alloc_descs(-1, 0, 1, 0, THIS_MODULE, msi->affinity); irq = __irq_alloc_descs(-1, 0, 1, 0, THIS_MODULE,
(irq_delivery == DIRECTED) ?
msi->affinity : NULL);
if (irq < 0) if (irq < 0)
return -ENOMEM; return -ENOMEM;
rc = irq_set_msi_desc(irq, msi); rc = irq_set_msi_desc(irq, msi);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment