Commit 576e61ce authored by Linus Torvalds's avatar Linus Torvalds

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

Pull s390 fixes from Vasily Gorbik:

 - Remove outdated linux390 link from MAINTAINERS

 - Add few missing EX_TABLE entries to inline assemblies

 - Fix raw data collection for pai_ext PMU

 - Add kernel image secure boot trailer for future firmware versions

 - Fix out-of-bounds access on cio_ignore free

 - Fix memory allocation of mdev_types array in vfio-ap

* tag 's390-6.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/vfio-ap: Fix memory allocation for mdev_types array
  s390/cio: fix out-of-bounds access on cio_ignore free
  s390/pai: fix raw data collection for PMU pai_ext
  s390/boot: add secure boot trailer
  s390/pci: add missing EX_TABLE entries to __pcistg_mio_inuser()/__pcilg_mio_inuser()
  s390/futex: add missing EX_TABLE entry to __futex_atomic_op()
  s390/uaccess: add missing EX_TABLE entries to __clear_user()
  MAINTAINERS: remove outdated linux390 link
parents 283f13d4 e38de480
...@@ -11258,7 +11258,6 @@ M: Claudio Imbrenda <imbrenda@linux.ibm.com> ...@@ -11258,7 +11258,6 @@ M: Claudio Imbrenda <imbrenda@linux.ibm.com>
R: David Hildenbrand <david@redhat.com> R: David Hildenbrand <david@redhat.com>
L: kvm@vger.kernel.org L: kvm@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git
F: Documentation/virt/kvm/s390* F: Documentation/virt/kvm/s390*
F: arch/s390/include/asm/gmap.h F: arch/s390/include/asm/gmap.h
...@@ -17998,7 +17997,6 @@ R: Christian Borntraeger <borntraeger@linux.ibm.com> ...@@ -17998,7 +17997,6 @@ R: Christian Borntraeger <borntraeger@linux.ibm.com>
R: Sven Schnelle <svens@linux.ibm.com> R: Sven Schnelle <svens@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
T: git git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git
F: Documentation/driver-api/s390-drivers.rst F: Documentation/driver-api/s390-drivers.rst
F: Documentation/s390/ F: Documentation/s390/
...@@ -18010,7 +18008,6 @@ M: Vineeth Vijayan <vneethv@linux.ibm.com> ...@@ -18010,7 +18008,6 @@ M: Vineeth Vijayan <vneethv@linux.ibm.com>
M: Peter Oberparleiter <oberpar@linux.ibm.com> M: Peter Oberparleiter <oberpar@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
F: drivers/s390/cio/ F: drivers/s390/cio/
S390 DASD DRIVER S390 DASD DRIVER
...@@ -18018,7 +18015,6 @@ M: Stefan Haberland <sth@linux.ibm.com> ...@@ -18018,7 +18015,6 @@ M: Stefan Haberland <sth@linux.ibm.com>
M: Jan Hoeppner <hoeppner@linux.ibm.com> M: Jan Hoeppner <hoeppner@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
F: block/partitions/ibm.c F: block/partitions/ibm.c
F: drivers/s390/block/dasd* F: drivers/s390/block/dasd*
F: include/linux/dasd_mod.h F: include/linux/dasd_mod.h
...@@ -18028,7 +18024,6 @@ M: Matthew Rosato <mjrosato@linux.ibm.com> ...@@ -18028,7 +18024,6 @@ M: Matthew Rosato <mjrosato@linux.ibm.com>
M: Gerald Schaefer <gerald.schaefer@linux.ibm.com> M: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
F: drivers/iommu/s390-iommu.c F: drivers/iommu/s390-iommu.c
S390 IUCV NETWORK LAYER S390 IUCV NETWORK LAYER
...@@ -18037,7 +18032,6 @@ M: Wenjia Zhang <wenjia@linux.ibm.com> ...@@ -18037,7 +18032,6 @@ M: Wenjia Zhang <wenjia@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
F: drivers/s390/net/*iucv* F: drivers/s390/net/*iucv*
F: include/net/iucv/ F: include/net/iucv/
F: net/iucv/ F: net/iucv/
...@@ -18048,7 +18042,6 @@ M: Wenjia Zhang <wenjia@linux.ibm.com> ...@@ -18048,7 +18042,6 @@ M: Wenjia Zhang <wenjia@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
L: netdev@vger.kernel.org L: netdev@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
F: drivers/s390/net/ F: drivers/s390/net/
S390 PCI SUBSYSTEM S390 PCI SUBSYSTEM
...@@ -18056,7 +18049,6 @@ M: Niklas Schnelle <schnelle@linux.ibm.com> ...@@ -18056,7 +18049,6 @@ M: Niklas Schnelle <schnelle@linux.ibm.com>
M: Gerald Schaefer <gerald.schaefer@linux.ibm.com> M: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
F: arch/s390/pci/ F: arch/s390/pci/
F: drivers/pci/hotplug/s390_pci_hpc.c F: drivers/pci/hotplug/s390_pci_hpc.c
F: Documentation/s390/pci.rst F: Documentation/s390/pci.rst
...@@ -18067,7 +18059,6 @@ M: Halil Pasic <pasic@linux.ibm.com> ...@@ -18067,7 +18059,6 @@ M: Halil Pasic <pasic@linux.ibm.com>
M: Jason Herne <jjherne@linux.ibm.com> M: Jason Herne <jjherne@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
F: Documentation/s390/vfio-ap* F: Documentation/s390/vfio-ap*
F: drivers/s390/crypto/vfio_ap* F: drivers/s390/crypto/vfio_ap*
...@@ -18096,7 +18087,6 @@ S390 ZCRYPT DRIVER ...@@ -18096,7 +18087,6 @@ S390 ZCRYPT DRIVER
M: Harald Freudenberger <freude@linux.ibm.com> M: Harald Freudenberger <freude@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
F: drivers/s390/crypto/ F: drivers/s390/crypto/
S390 ZFCP DRIVER S390 ZFCP DRIVER
...@@ -18104,7 +18094,6 @@ M: Steffen Maier <maier@linux.ibm.com> ...@@ -18104,7 +18094,6 @@ M: Steffen Maier <maier@linux.ibm.com>
M: Benjamin Block <bblock@linux.ibm.com> M: Benjamin Block <bblock@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
F: drivers/s390/scsi/zfcp_* F: drivers/s390/scsi/zfcp_*
S3C ADC BATTERY DRIVER S3C ADC BATTERY DRIVER
...@@ -18676,7 +18665,6 @@ M: Wenjia Zhang <wenjia@linux.ibm.com> ...@@ -18676,7 +18665,6 @@ M: Wenjia Zhang <wenjia@linux.ibm.com>
M: Jan Karcher <jaka@linux.ibm.com> M: Jan Karcher <jaka@linux.ibm.com>
L: linux-s390@vger.kernel.org L: linux-s390@vger.kernel.org
S: Supported S: Supported
W: http://www.ibm.com/developerworks/linux/linux390/
F: net/smc/ F: net/smc/
SHARP GP2AP002A00F/GP2AP002S00F SENSOR DRIVER SHARP GP2AP002A00F/GP2AP002S00F SENSOR DRIVER
......
...@@ -102,8 +102,17 @@ SECTIONS ...@@ -102,8 +102,17 @@ SECTIONS
_compressed_start = .; _compressed_start = .;
*(.vmlinux.bin.compressed) *(.vmlinux.bin.compressed)
_compressed_end = .; _compressed_end = .;
FILL(0xff); }
. = ALIGN(4096);
#define SB_TRAILER_SIZE 32
/* Trailer needed for Secure Boot */
. += SB_TRAILER_SIZE; /* make sure .sb.trailer does not overwrite the previous section */
. = ALIGN(4096) - SB_TRAILER_SIZE;
.sb.trailer : {
QUAD(0)
QUAD(0)
QUAD(0)
QUAD(0x000000207a49504c)
} }
_end = .; _end = .;
......
...@@ -17,7 +17,8 @@ ...@@ -17,7 +17,8 @@
"3: jl 1b\n" \ "3: jl 1b\n" \
" lhi %0,0\n" \ " lhi %0,0\n" \
"4: sacf 768\n" \ "4: sacf 768\n" \
EX_TABLE(0b,4b) EX_TABLE(2b,4b) EX_TABLE(3b,4b) \ EX_TABLE(0b,4b) EX_TABLE(1b,4b) \
EX_TABLE(2b,4b) EX_TABLE(3b,4b) \
: "=d" (ret), "=&d" (oldval), "=&d" (newval), \ : "=d" (ret), "=&d" (oldval), "=&d" (newval), \
"=m" (*uaddr) \ "=m" (*uaddr) \
: "0" (-EFAULT), "d" (oparg), "a" (uaddr), \ : "0" (-EFAULT), "d" (oparg), "a" (uaddr), \
......
...@@ -459,6 +459,7 @@ static int paiext_push_sample(void) ...@@ -459,6 +459,7 @@ static int paiext_push_sample(void)
raw.frag.data = cpump->save; raw.frag.data = cpump->save;
raw.size = raw.frag.size; raw.size = raw.frag.size;
data.raw = &raw; data.raw = &raw;
data.sample_flags |= PERF_SAMPLE_RAW;
} }
overflow = perf_event_overflow(event, &data, &regs); overflow = perf_event_overflow(event, &data, &regs);
......
...@@ -157,7 +157,7 @@ unsigned long __clear_user(void __user *to, unsigned long size) ...@@ -157,7 +157,7 @@ unsigned long __clear_user(void __user *to, unsigned long size)
asm volatile( asm volatile(
" lr 0,%[spec]\n" " lr 0,%[spec]\n"
"0: mvcos 0(%1),0(%4),%0\n" "0: mvcos 0(%1),0(%4),%0\n"
" jz 4f\n" "6: jz 4f\n"
"1: algr %0,%2\n" "1: algr %0,%2\n"
" slgr %1,%2\n" " slgr %1,%2\n"
" j 0b\n" " j 0b\n"
...@@ -167,11 +167,11 @@ unsigned long __clear_user(void __user *to, unsigned long size) ...@@ -167,11 +167,11 @@ unsigned long __clear_user(void __user *to, unsigned long size)
" clgr %0,%3\n" /* copy crosses next page boundary? */ " clgr %0,%3\n" /* copy crosses next page boundary? */
" jnh 5f\n" " jnh 5f\n"
"3: mvcos 0(%1),0(%4),%3\n" "3: mvcos 0(%1),0(%4),%3\n"
" slgr %0,%3\n" "7: slgr %0,%3\n"
" j 5f\n" " j 5f\n"
"4: slgr %0,%0\n" "4: slgr %0,%0\n"
"5:\n" "5:\n"
EX_TABLE(0b,2b) EX_TABLE(3b,5b) EX_TABLE(0b,2b) EX_TABLE(6b,2b) EX_TABLE(3b,5b) EX_TABLE(7b,5b)
: "+a" (size), "+a" (to), "+a" (tmp1), "=a" (tmp2) : "+a" (size), "+a" (to), "+a" (tmp1), "=a" (tmp2)
: "a" (empty_zero_page), [spec] "d" (spec.val) : "a" (empty_zero_page), [spec] "d" (spec.val)
: "cc", "memory", "0"); : "cc", "memory", "0");
......
...@@ -64,7 +64,7 @@ static inline int __pcistg_mio_inuser( ...@@ -64,7 +64,7 @@ static inline int __pcistg_mio_inuser(
asm volatile ( asm volatile (
" sacf 256\n" " sacf 256\n"
"0: llgc %[tmp],0(%[src])\n" "0: llgc %[tmp],0(%[src])\n"
" sllg %[val],%[val],8\n" "4: sllg %[val],%[val],8\n"
" aghi %[src],1\n" " aghi %[src],1\n"
" ogr %[val],%[tmp]\n" " ogr %[val],%[tmp]\n"
" brctg %[cnt],0b\n" " brctg %[cnt],0b\n"
...@@ -72,7 +72,7 @@ static inline int __pcistg_mio_inuser( ...@@ -72,7 +72,7 @@ static inline int __pcistg_mio_inuser(
"2: ipm %[cc]\n" "2: ipm %[cc]\n"
" srl %[cc],28\n" " srl %[cc],28\n"
"3: sacf 768\n" "3: sacf 768\n"
EX_TABLE(0b, 3b) EX_TABLE(1b, 3b) EX_TABLE(2b, 3b) EX_TABLE(0b, 3b) EX_TABLE(4b, 3b) EX_TABLE(1b, 3b) EX_TABLE(2b, 3b)
: :
[src] "+a" (src), [cnt] "+d" (cnt), [src] "+a" (src), [cnt] "+d" (cnt),
[val] "+d" (val), [tmp] "=d" (tmp), [val] "+d" (val), [tmp] "=d" (tmp),
...@@ -215,10 +215,10 @@ static inline int __pcilg_mio_inuser( ...@@ -215,10 +215,10 @@ static inline int __pcilg_mio_inuser(
"2: ahi %[shift],-8\n" "2: ahi %[shift],-8\n"
" srlg %[tmp],%[val],0(%[shift])\n" " srlg %[tmp],%[val],0(%[shift])\n"
"3: stc %[tmp],0(%[dst])\n" "3: stc %[tmp],0(%[dst])\n"
" aghi %[dst],1\n" "5: aghi %[dst],1\n"
" brctg %[cnt],2b\n" " brctg %[cnt],2b\n"
"4: sacf 768\n" "4: sacf 768\n"
EX_TABLE(0b, 4b) EX_TABLE(1b, 4b) EX_TABLE(3b, 4b) EX_TABLE(0b, 4b) EX_TABLE(1b, 4b) EX_TABLE(3b, 4b) EX_TABLE(5b, 4b)
: :
[ioaddr_len] "+&d" (ioaddr_len.pair), [ioaddr_len] "+&d" (ioaddr_len.pair),
[cc] "+d" (cc), [val] "=d" (val), [cc] "+d" (cc), [val] "=d" (val),
......
...@@ -753,13 +753,9 @@ static int __unset_online(struct device *dev, void *data) ...@@ -753,13 +753,9 @@ static int __unset_online(struct device *dev, void *data)
{ {
struct idset *set = data; struct idset *set = data;
struct subchannel *sch = to_subchannel(dev); struct subchannel *sch = to_subchannel(dev);
struct ccw_device *cdev;
if (sch->st == SUBCHANNEL_TYPE_IO) { if (sch->st == SUBCHANNEL_TYPE_IO && sch->config.ena)
cdev = sch_get_cdev(sch); idset_sch_del(set, sch->schid);
if (cdev && cdev->online)
idset_sch_del(set, sch->schid);
}
return 0; return 0;
} }
......
...@@ -52,7 +52,7 @@ struct ap_matrix_dev { ...@@ -52,7 +52,7 @@ struct ap_matrix_dev {
struct mutex guests_lock; /* serializes access to each KVM guest */ struct mutex guests_lock; /* serializes access to each KVM guest */
struct mdev_parent parent; struct mdev_parent parent;
struct mdev_type mdev_type; struct mdev_type mdev_type;
struct mdev_type *mdev_types[]; struct mdev_type *mdev_types[1];
}; };
extern struct ap_matrix_dev *matrix_dev; extern struct ap_matrix_dev *matrix_dev;
......
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