s390 fixes for 5.7-rc3

- Add 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEE3QHqV+H2a8xAv27vjYWKoQLXFBgFAl6lOMoACgkQjYWKoQLX
 FBjQFQf/cA+F2tvEC+0YetUmwSaR+iPsCsgtCCSlBq5E8cCkzCf9uHVsXkmC647O
 6vMsbFh7TeGmLbYPtgl/mFRjsuoVgD/Gm5TMm2nsWqZ3+C7pd8cMXCLY7dAtFb5d
 judNcL0LSeBpytUflMLd2nXjuD90Y4dNd7J3WNC2l5/fdUW+Bd+97B+zj385wrTs
 Z4Ab4KBzv+79e+4iMtn7xiK+RMnhP/pDij1RbtAI1XS33cigjSkZQb5gC/Yxb4Qy
 badzecGOmdpod8A76didEeTTQ50bknT47dASwhguuDhdBZj36+SEnUXL0tiT1TFW
 /Za3Q+rLFOe8OEqTsCBzEF55ijkXZQ==
 =CBXL
 -----END PGP SIGNATURE-----

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
This commit is contained in:
Linus Torvalds 2020-04-26 10:58:49 -07:00
commit 749f04615a
6 changed files with 9 additions and 9 deletions

View File

@ -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)
{ {

View File

@ -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);

View File

@ -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)
} }
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;

View File

@ -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;

View File

@ -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)

View File

@ -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)
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);