Skip to content

Commit 576e61c

Browse files
committed
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
2 parents 283f13d + e38de48 commit 576e61c

File tree

8 files changed

+24
-29
lines changed

8 files changed

+24
-29
lines changed

MAINTAINERS

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11258,7 +11258,6 @@ M: Claudio Imbrenda <[email protected]>
1125811258
R: David Hildenbrand <[email protected]>
1125911259
1126011260
S: Supported
11261-
W: http://www.ibm.com/developerworks/linux/linux390/
1126211261
T: git git://git.kernel.org/pub/scm/linux/kernel/git/kvms390/linux.git
1126311262
F: Documentation/virt/kvm/s390*
1126411263
F: arch/s390/include/asm/gmap.h
@@ -17998,7 +17997,6 @@ R: Christian Borntraeger <[email protected]>
1799817997
R: Sven Schnelle <[email protected]>
1799917998
1800017999
S: Supported
18001-
W: http://www.ibm.com/developerworks/linux/linux390/
1800218000
T: git git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux.git
1800318001
F: Documentation/driver-api/s390-drivers.rst
1800418002
F: Documentation/s390/
@@ -18010,15 +18008,13 @@ M: Vineeth Vijayan <[email protected]>
1801018008
M: Peter Oberparleiter <[email protected]>
1801118009
1801218010
S: Supported
18013-
W: http://www.ibm.com/developerworks/linux/linux390/
1801418011
F: drivers/s390/cio/
1801518012

1801618013
S390 DASD DRIVER
1801718014
M: Stefan Haberland <[email protected]>
1801818015
M: Jan Hoeppner <[email protected]>
1801918016
1802018017
S: Supported
18021-
W: http://www.ibm.com/developerworks/linux/linux390/
1802218018
F: block/partitions/ibm.c
1802318019
F: drivers/s390/block/dasd*
1802418020
F: include/linux/dasd_mod.h
@@ -18028,7 +18024,6 @@ M: Matthew Rosato <[email protected]>
1802818024
M: Gerald Schaefer <[email protected]>
1802918025
1803018026
S: Supported
18031-
W: http://www.ibm.com/developerworks/linux/linux390/
1803218027
F: drivers/iommu/s390-iommu.c
1803318028

1803418029
S390 IUCV NETWORK LAYER
@@ -18037,7 +18032,6 @@ M: Wenjia Zhang <[email protected]>
1803718032
1803818033
1803918034
S: Supported
18040-
W: http://www.ibm.com/developerworks/linux/linux390/
1804118035
F: drivers/s390/net/*iucv*
1804218036
F: include/net/iucv/
1804318037
F: net/iucv/
@@ -18048,15 +18042,13 @@ M: Wenjia Zhang <[email protected]>
1804818042
1804918043
1805018044
S: Supported
18051-
W: http://www.ibm.com/developerworks/linux/linux390/
1805218045
F: drivers/s390/net/
1805318046

1805418047
S390 PCI SUBSYSTEM
1805518048
M: Niklas Schnelle <[email protected]>
1805618049
M: Gerald Schaefer <[email protected]>
1805718050
1805818051
S: Supported
18059-
W: http://www.ibm.com/developerworks/linux/linux390/
1806018052
F: arch/s390/pci/
1806118053
F: drivers/pci/hotplug/s390_pci_hpc.c
1806218054
F: Documentation/s390/pci.rst
@@ -18067,7 +18059,6 @@ M: Halil Pasic <[email protected]>
1806718059
M: Jason Herne <[email protected]>
1806818060
1806918061
S: Supported
18070-
W: http://www.ibm.com/developerworks/linux/linux390/
1807118062
F: Documentation/s390/vfio-ap*
1807218063
F: drivers/s390/crypto/vfio_ap*
1807318064

@@ -18096,15 +18087,13 @@ S390 ZCRYPT DRIVER
1809618087
M: Harald Freudenberger <[email protected]>
1809718088
1809818089
S: Supported
18099-
W: http://www.ibm.com/developerworks/linux/linux390/
1810018090
F: drivers/s390/crypto/
1810118091

1810218092
S390 ZFCP DRIVER
1810318093
M: Steffen Maier <[email protected]>
1810418094
M: Benjamin Block <[email protected]>
1810518095
1810618096
S: Supported
18107-
W: http://www.ibm.com/developerworks/linux/linux390/
1810818097
F: drivers/s390/scsi/zfcp_*
1810918098

1811018099
S3C ADC BATTERY DRIVER
@@ -18676,7 +18665,6 @@ M: Wenjia Zhang <[email protected]>
1867618665
M: Jan Karcher <[email protected]>
1867718666
1867818667
S: Supported
18679-
W: http://www.ibm.com/developerworks/linux/linux390/
1868018668
F: net/smc/
1868118669

1868218670
SHARP GP2AP002A00F/GP2AP002S00F SENSOR DRIVER

arch/s390/boot/vmlinux.lds.S

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,17 @@ SECTIONS
102102
_compressed_start = .;
103103
*(.vmlinux.bin.compressed)
104104
_compressed_end = .;
105-
FILL(0xff);
106-
. = ALIGN(4096);
105+
}
106+
107+
#define SB_TRAILER_SIZE 32
108+
/* Trailer needed for Secure Boot */
109+
. += SB_TRAILER_SIZE; /* make sure .sb.trailer does not overwrite the previous section */
110+
. = ALIGN(4096) - SB_TRAILER_SIZE;
111+
.sb.trailer : {
112+
QUAD(0)
113+
QUAD(0)
114+
QUAD(0)
115+
QUAD(0x000000207a49504c)
107116
}
108117
_end = .;
109118

arch/s390/include/asm/futex.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@
1717
"3: jl 1b\n" \
1818
" lhi %0,0\n" \
1919
"4: sacf 768\n" \
20-
EX_TABLE(0b,4b) EX_TABLE(2b,4b) EX_TABLE(3b,4b) \
20+
EX_TABLE(0b,4b) EX_TABLE(1b,4b) \
21+
EX_TABLE(2b,4b) EX_TABLE(3b,4b) \
2122
: "=d" (ret), "=&d" (oldval), "=&d" (newval), \
2223
"=m" (*uaddr) \
2324
: "0" (-EFAULT), "d" (oparg), "a" (uaddr), \

arch/s390/kernel/perf_pai_ext.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,7 @@ static int paiext_push_sample(void)
459459
raw.frag.data = cpump->save;
460460
raw.size = raw.frag.size;
461461
data.raw = &raw;
462+
data.sample_flags |= PERF_SAMPLE_RAW;
462463
}
463464

464465
overflow = perf_event_overflow(event, &data, &regs);

arch/s390/lib/uaccess.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ unsigned long __clear_user(void __user *to, unsigned long size)
157157
asm volatile(
158158
" lr 0,%[spec]\n"
159159
"0: mvcos 0(%1),0(%4),%0\n"
160-
" jz 4f\n"
160+
"6: jz 4f\n"
161161
"1: algr %0,%2\n"
162162
" slgr %1,%2\n"
163163
" j 0b\n"
@@ -167,11 +167,11 @@ unsigned long __clear_user(void __user *to, unsigned long size)
167167
" clgr %0,%3\n" /* copy crosses next page boundary? */
168168
" jnh 5f\n"
169169
"3: mvcos 0(%1),0(%4),%3\n"
170-
" slgr %0,%3\n"
170+
"7: slgr %0,%3\n"
171171
" j 5f\n"
172172
"4: slgr %0,%0\n"
173173
"5:\n"
174-
EX_TABLE(0b,2b) EX_TABLE(3b,5b)
174+
EX_TABLE(0b,2b) EX_TABLE(6b,2b) EX_TABLE(3b,5b) EX_TABLE(7b,5b)
175175
: "+a" (size), "+a" (to), "+a" (tmp1), "=a" (tmp2)
176176
: "a" (empty_zero_page), [spec] "d" (spec.val)
177177
: "cc", "memory", "0");

arch/s390/pci/pci_mmio.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,15 +64,15 @@ static inline int __pcistg_mio_inuser(
6464
asm volatile (
6565
" sacf 256\n"
6666
"0: llgc %[tmp],0(%[src])\n"
67-
" sllg %[val],%[val],8\n"
67+
"4: sllg %[val],%[val],8\n"
6868
" aghi %[src],1\n"
6969
" ogr %[val],%[tmp]\n"
7070
" brctg %[cnt],0b\n"
7171
"1: .insn rre,0xb9d40000,%[val],%[ioaddr_len]\n"
7272
"2: ipm %[cc]\n"
7373
" srl %[cc],28\n"
7474
"3: sacf 768\n"
75-
EX_TABLE(0b, 3b) EX_TABLE(1b, 3b) EX_TABLE(2b, 3b)
75+
EX_TABLE(0b, 3b) EX_TABLE(4b, 3b) EX_TABLE(1b, 3b) EX_TABLE(2b, 3b)
7676
:
7777
[src] "+a" (src), [cnt] "+d" (cnt),
7878
[val] "+d" (val), [tmp] "=d" (tmp),
@@ -215,10 +215,10 @@ static inline int __pcilg_mio_inuser(
215215
"2: ahi %[shift],-8\n"
216216
" srlg %[tmp],%[val],0(%[shift])\n"
217217
"3: stc %[tmp],0(%[dst])\n"
218-
" aghi %[dst],1\n"
218+
"5: aghi %[dst],1\n"
219219
" brctg %[cnt],2b\n"
220220
"4: sacf 768\n"
221-
EX_TABLE(0b, 4b) EX_TABLE(1b, 4b) EX_TABLE(3b, 4b)
221+
EX_TABLE(0b, 4b) EX_TABLE(1b, 4b) EX_TABLE(3b, 4b) EX_TABLE(5b, 4b)
222222
:
223223
[ioaddr_len] "+&d" (ioaddr_len.pair),
224224
[cc] "+d" (cc), [val] "=d" (val),

drivers/s390/cio/css.c

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -753,13 +753,9 @@ static int __unset_online(struct device *dev, void *data)
753753
{
754754
struct idset *set = data;
755755
struct subchannel *sch = to_subchannel(dev);
756-
struct ccw_device *cdev;
757756

758-
if (sch->st == SUBCHANNEL_TYPE_IO) {
759-
cdev = sch_get_cdev(sch);
760-
if (cdev && cdev->online)
761-
idset_sch_del(set, sch->schid);
762-
}
757+
if (sch->st == SUBCHANNEL_TYPE_IO && sch->config.ena)
758+
idset_sch_del(set, sch->schid);
763759

764760
return 0;
765761
}

drivers/s390/crypto/vfio_ap_private.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ struct ap_matrix_dev {
5252
struct mutex guests_lock; /* serializes access to each KVM guest */
5353
struct mdev_parent parent;
5454
struct mdev_type mdev_type;
55-
struct mdev_type *mdev_types[];
55+
struct mdev_type *mdev_types[1];
5656
};
5757

5858
extern struct ap_matrix_dev *matrix_dev;

0 commit comments

Comments
 (0)