+++ /dev/null
-From e0256ad670e95044c9b065a4d1c78513ab37abb0 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 24 Feb 2021 11:29:36 +0100
-Subject: s390/pci: expose UID uniqueness guarantee
-
-From: Niklas Schnelle <schnelle@linux.ibm.com>
-
-[ Upstream commit 408f2c9c15682fc21b645fdec1f726492e235c4b ]
-
-On s390 each PCI device has a user-defined ID (UID) exposed under
-/sys/bus/pci/devices/<dev>/uid. This ID was designed to serve as the PCI
-device's primary index and to match the device within Linux to the
-device configured in the hypervisor. To serve as a primary identifier
-the UID must be unique within the Linux instance, this is guaranteed by
-the platform if and only if the UID Uniqueness Checking flag is set
-within the CLP List PCI Functions response.
-
-While the UID has been exposed to userspace since commit ac4995b9d570
-("s390/pci: add some new arch specific pci attributes") whether or not
-the platform guarantees its uniqueness for the lifetime of the Linux
-instance while defined is not visible from userspace. Remedy this by
-exposing this as a per device attribute at
-
-/sys/bus/pci/devices/<dev>/uid_is_unique
-
-Keeping this a per device attribute allows for maximum flexibility if we
-ever end up with some devices not having a UID or not enjoying the
-guaranteed uniqueness.
-
-Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
-Reviewed-by: Viktor Mihajlovski <mihajlov@linux.ibm.com>
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- Documentation/s390/pci.rst | 14 +++++++++++---
- arch/s390/pci/pci_sysfs.c | 9 +++++++++
- 2 files changed, 20 insertions(+), 3 deletions(-)
-
-diff --git a/Documentation/s390/pci.rst b/Documentation/s390/pci.rst
-index 492850bff316..8157f0cddbc2 100644
---- a/Documentation/s390/pci.rst
-+++ b/Documentation/s390/pci.rst
-@@ -50,7 +50,8 @@ Entries specific to zPCI functions and entries that hold zPCI information.
- * /sys/bus/pci/slots/XXXXXXXX
-
- The slot entries are set up using the function identifier (FID) of the
-- PCI function.
-+ PCI function. The format depicted as XXXXXXXX above is 8 hexadecimal digits
-+ with 0 padding and lower case hexadecimal digitis.
-
- - /sys/bus/pci/slots/XXXXXXXX/power
-
-@@ -88,8 +89,15 @@ Entries specific to zPCI functions and entries that hold zPCI information.
- is attached to.
-
- - uid
-- The unique identifier (UID) is defined when configuring an LPAR and is
-- unique in the LPAR.
-+ The user identifier (UID) may be defined as part of the machine
-+ configuration or the z/VM or KVM guest configuration. If the accompanying
-+ uid_is_unique attribute is 1 the platform guarantees that the UID is unique
-+ within that instance and no devices with the same UID can be attached
-+ during the lifetime of the system.
-+
-+ - uid_is_unique
-+ Indicates whether the user identifier (UID) is guaranteed to be and remain
-+ unique within this Linux instance.
-
- - pfip/segmentX
- The segments determine the isolation of a function.
-diff --git a/arch/s390/pci/pci_sysfs.c b/arch/s390/pci/pci_sysfs.c
-index 5c028bee91b9..e14d346dafd6 100644
---- a/arch/s390/pci/pci_sysfs.c
-+++ b/arch/s390/pci/pci_sysfs.c
-@@ -131,6 +131,13 @@ static ssize_t report_error_write(struct file *filp, struct kobject *kobj,
- }
- static BIN_ATTR(report_error, S_IWUSR, NULL, report_error_write, PAGE_SIZE);
-
-+static ssize_t uid_is_unique_show(struct device *dev,
-+ struct device_attribute *attr, char *buf)
-+{
-+ return sysfs_emit(buf, "%d\n", zpci_unique_uid ? 1 : 0);
-+}
-+static DEVICE_ATTR_RO(uid_is_unique);
-+
- static struct bin_attribute *zpci_bin_attrs[] = {
- &bin_attr_util_string,
- &bin_attr_report_error,
-@@ -148,8 +155,10 @@ static struct attribute *zpci_dev_attrs[] = {
- &dev_attr_uid.attr,
- &dev_attr_recover.attr,
- &dev_attr_mio_enabled.attr,
-+ &dev_attr_uid_is_unique.attr,
- NULL,
- };
-+
- static struct attribute_group zpci_attr_group = {
- .attrs = zpci_dev_attrs,
- .bin_attrs = zpci_bin_attrs,
---
-2.30.2
-
selftests-resctrl-fix-incorrect-parsing-of-imc-count.patch
selftests-resctrl-fix-checking-for-0-for-unsigned-va.patch
power-supply-cpcap-charger-add-usleep-to-cpcap-charg.patch
-s390-pci-expose-uid-uniqueness-guarantee.patch
scsi-smartpqi-use-host-wide-tag-space.patch
scsi-smartpqi-correct-request-leakage-during-reset-o.patch
scsi-smartpqi-add-new-pci-ids.patch
+++ /dev/null
-From 61ca49a9105faefa003b37542cebad8722f8ae22 Mon Sep 17 00:00:00 2001
-From: Ilya Dryomov <idryomov@gmail.com>
-Date: Mon, 26 Apr 2021 19:11:37 +0200
-Subject: libceph: don't set global_id until we get an auth ticket
-
-From: Ilya Dryomov <idryomov@gmail.com>
-
-commit 61ca49a9105faefa003b37542cebad8722f8ae22 upstream.
-
-With the introduction of enforcing mode, setting global_id as soon
-as we get it in the first MAuth reply will result in EACCES if the
-connection is reset before we get the second MAuth reply containing
-an auth ticket -- because on retry we would attempt to reclaim that
-global_id with no auth ticket at hand.
-
-Neither ceph_auth_client nor ceph_mon_client depend on global_id
-being set ealy, so just delay the setting until we get and process
-the second MAuth reply. While at it, complain if the monitor sends
-a zero global_id or changes our global_id as the session is likely
-to fail after that.
-
-Cc: stable@vger.kernel.org # needs backporting for < 5.11
-Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
-Reviewed-by: Sage Weil <sage@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- net/ceph/auth.c | 36 +++++++++++++++++++++++-------------
- 1 file changed, 23 insertions(+), 13 deletions(-)
-
---- a/net/ceph/auth.c
-+++ b/net/ceph/auth.c
-@@ -36,6 +36,20 @@ static int init_protocol(struct ceph_aut
- }
- }
-
-+static void set_global_id(struct ceph_auth_client *ac, u64 global_id)
-+{
-+ dout("%s global_id %llu\n", __func__, global_id);
-+
-+ if (!global_id)
-+ pr_err("got zero global_id\n");
-+
-+ if (ac->global_id && global_id != ac->global_id)
-+ pr_err("global_id changed from %llu to %llu\n", ac->global_id,
-+ global_id);
-+
-+ ac->global_id = global_id;
-+}
-+
- /*
- * setup, teardown.
- */
-@@ -222,11 +236,6 @@ int ceph_handle_auth_reply(struct ceph_a
-
- payload_end = payload + payload_len;
-
-- if (global_id && ac->global_id != global_id) {
-- dout(" set global_id %lld -> %lld\n", ac->global_id, global_id);
-- ac->global_id = global_id;
-- }
--
- if (ac->negotiating) {
- /* server does not support our protocols? */
- if (!protocol && result < 0) {
-@@ -253,11 +262,16 @@ int ceph_handle_auth_reply(struct ceph_a
-
- ret = ac->ops->handle_reply(ac, result, payload, payload_end,
- NULL, NULL, NULL, NULL);
-- if (ret == -EAGAIN)
-+ if (ret == -EAGAIN) {
- ret = build_request(ac, true, reply_buf, reply_len);
-- else if (ret)
-+ goto out;
-+ } else if (ret) {
- pr_err("auth protocol '%s' mauth authentication failed: %d\n",
- ceph_auth_proto_name(ac->protocol), result);
-+ goto out;
-+ }
-+
-+ set_global_id(ac, global_id);
-
- out:
- mutex_unlock(&ac->mutex);
-@@ -484,15 +498,11 @@ int ceph_auth_handle_reply_done(struct c
- int ret;
-
- mutex_lock(&ac->mutex);
-- if (global_id && ac->global_id != global_id) {
-- dout("%s global_id %llu -> %llu\n", __func__, ac->global_id,
-- global_id);
-- ac->global_id = global_id;
-- }
--
- ret = ac->ops->handle_reply(ac, 0, reply, reply + reply_len,
- session_key, session_key_len,
- con_secret, con_secret_len);
-+ if (!ret)
-+ set_global_id(ac, global_id);
- mutex_unlock(&ac->mutex);
- return ret;
- }
+++ /dev/null
-From a0639ad2992b73a185d820190c3da3d9c9d02d2d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 24 Feb 2021 11:29:36 +0100
-Subject: s390/pci: expose UID uniqueness guarantee
-
-From: Niklas Schnelle <schnelle@linux.ibm.com>
-
-[ Upstream commit 408f2c9c15682fc21b645fdec1f726492e235c4b ]
-
-On s390 each PCI device has a user-defined ID (UID) exposed under
-/sys/bus/pci/devices/<dev>/uid. This ID was designed to serve as the PCI
-device's primary index and to match the device within Linux to the
-device configured in the hypervisor. To serve as a primary identifier
-the UID must be unique within the Linux instance, this is guaranteed by
-the platform if and only if the UID Uniqueness Checking flag is set
-within the CLP List PCI Functions response.
-
-While the UID has been exposed to userspace since commit ac4995b9d570
-("s390/pci: add some new arch specific pci attributes") whether or not
-the platform guarantees its uniqueness for the lifetime of the Linux
-instance while defined is not visible from userspace. Remedy this by
-exposing this as a per device attribute at
-
-/sys/bus/pci/devices/<dev>/uid_is_unique
-
-Keeping this a per device attribute allows for maximum flexibility if we
-ever end up with some devices not having a UID or not enjoying the
-guaranteed uniqueness.
-
-Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
-Reviewed-by: Viktor Mihajlovski <mihajlov@linux.ibm.com>
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- Documentation/s390/pci.rst | 14 +++++++++++---
- arch/s390/pci/pci_sysfs.c | 9 +++++++++
- 2 files changed, 20 insertions(+), 3 deletions(-)
-
-diff --git a/Documentation/s390/pci.rst b/Documentation/s390/pci.rst
-index 492850bff316..8157f0cddbc2 100644
---- a/Documentation/s390/pci.rst
-+++ b/Documentation/s390/pci.rst
-@@ -50,7 +50,8 @@ Entries specific to zPCI functions and entries that hold zPCI information.
- * /sys/bus/pci/slots/XXXXXXXX
-
- The slot entries are set up using the function identifier (FID) of the
-- PCI function.
-+ PCI function. The format depicted as XXXXXXXX above is 8 hexadecimal digits
-+ with 0 padding and lower case hexadecimal digitis.
-
- - /sys/bus/pci/slots/XXXXXXXX/power
-
-@@ -88,8 +89,15 @@ Entries specific to zPCI functions and entries that hold zPCI information.
- is attached to.
-
- - uid
-- The unique identifier (UID) is defined when configuring an LPAR and is
-- unique in the LPAR.
-+ The user identifier (UID) may be defined as part of the machine
-+ configuration or the z/VM or KVM guest configuration. If the accompanying
-+ uid_is_unique attribute is 1 the platform guarantees that the UID is unique
-+ within that instance and no devices with the same UID can be attached
-+ during the lifetime of the system.
-+
-+ - uid_is_unique
-+ Indicates whether the user identifier (UID) is guaranteed to be and remain
-+ unique within this Linux instance.
-
- - pfip/segmentX
- The segments determine the isolation of a function.
-diff --git a/arch/s390/pci/pci_sysfs.c b/arch/s390/pci/pci_sysfs.c
-index 5c028bee91b9..e14d346dafd6 100644
---- a/arch/s390/pci/pci_sysfs.c
-+++ b/arch/s390/pci/pci_sysfs.c
-@@ -131,6 +131,13 @@ static ssize_t report_error_write(struct file *filp, struct kobject *kobj,
- }
- static BIN_ATTR(report_error, S_IWUSR, NULL, report_error_write, PAGE_SIZE);
-
-+static ssize_t uid_is_unique_show(struct device *dev,
-+ struct device_attribute *attr, char *buf)
-+{
-+ return sysfs_emit(buf, "%d\n", zpci_unique_uid ? 1 : 0);
-+}
-+static DEVICE_ATTR_RO(uid_is_unique);
-+
- static struct bin_attribute *zpci_bin_attrs[] = {
- &bin_attr_util_string,
- &bin_attr_report_error,
-@@ -148,8 +155,10 @@ static struct attribute *zpci_dev_attrs[] = {
- &dev_attr_uid.attr,
- &dev_attr_recover.attr,
- &dev_attr_mio_enabled.attr,
-+ &dev_attr_uid_is_unique.attr,
- NULL,
- };
-+
- static struct attribute_group zpci_attr_group = {
- .attrs = zpci_dev_attrs,
- .bin_attrs = zpci_bin_attrs,
---
-2.30.2
-
spi-spi-ti-qspi-free-dma-resources.patch
libceph-bump-cephxauthenticate-encoding-version.patch
libceph-allow-addrvecs-with-a-single-none-blank-address.patch
-libceph-don-t-set-global_id-until-we-get-an-auth-ticket.patch
scsi-qla2xxx-reserve-extra-irq-vectors.patch
scsi-lpfc-fix-rmmod-crash-due-to-bad-ring-pointers-to-abort_iotag.patch
scsi-qla2xxx-fix-crash-in-qla2xxx_mqueuecommand.patch
selftests-resctrl-fix-incorrect-parsing-of-imc-count.patch
selftests-resctrl-fix-checking-for-0-for-unsigned-va.patch
power-supply-cpcap-charger-add-usleep-to-cpcap-charg.patch
-s390-pci-expose-uid-uniqueness-guarantee.patch
scsi-smartpqi-use-host-wide-tag-space.patch
scsi-smartpqi-correct-request-leakage-during-reset-o.patch
scsi-smartpqi-add-new-pci-ids.patch
+++ /dev/null
-From 61ca49a9105faefa003b37542cebad8722f8ae22 Mon Sep 17 00:00:00 2001
-From: Ilya Dryomov <idryomov@gmail.com>
-Date: Mon, 26 Apr 2021 19:11:37 +0200
-Subject: libceph: don't set global_id until we get an auth ticket
-
-From: Ilya Dryomov <idryomov@gmail.com>
-
-commit 61ca49a9105faefa003b37542cebad8722f8ae22 upstream.
-
-With the introduction of enforcing mode, setting global_id as soon
-as we get it in the first MAuth reply will result in EACCES if the
-connection is reset before we get the second MAuth reply containing
-an auth ticket -- because on retry we would attempt to reclaim that
-global_id with no auth ticket at hand.
-
-Neither ceph_auth_client nor ceph_mon_client depend on global_id
-being set ealy, so just delay the setting until we get and process
-the second MAuth reply. While at it, complain if the monitor sends
-a zero global_id or changes our global_id as the session is likely
-to fail after that.
-
-Cc: stable@vger.kernel.org # needs backporting for < 5.11
-Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
-Reviewed-by: Sage Weil <sage@redhat.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- net/ceph/auth.c | 36 +++++++++++++++++++++++-------------
- 1 file changed, 23 insertions(+), 13 deletions(-)
-
---- a/net/ceph/auth.c
-+++ b/net/ceph/auth.c
-@@ -36,6 +36,20 @@ static int init_protocol(struct ceph_aut
- }
- }
-
-+static void set_global_id(struct ceph_auth_client *ac, u64 global_id)
-+{
-+ dout("%s global_id %llu\n", __func__, global_id);
-+
-+ if (!global_id)
-+ pr_err("got zero global_id\n");
-+
-+ if (ac->global_id && global_id != ac->global_id)
-+ pr_err("global_id changed from %llu to %llu\n", ac->global_id,
-+ global_id);
-+
-+ ac->global_id = global_id;
-+}
-+
- /*
- * setup, teardown.
- */
-@@ -222,11 +236,6 @@ int ceph_handle_auth_reply(struct ceph_a
-
- payload_end = payload + payload_len;
-
-- if (global_id && ac->global_id != global_id) {
-- dout(" set global_id %lld -> %lld\n", ac->global_id, global_id);
-- ac->global_id = global_id;
-- }
--
- if (ac->negotiating) {
- /* server does not support our protocols? */
- if (!protocol && result < 0) {
-@@ -253,11 +262,16 @@ int ceph_handle_auth_reply(struct ceph_a
-
- ret = ac->ops->handle_reply(ac, result, payload, payload_end,
- NULL, NULL, NULL, NULL);
-- if (ret == -EAGAIN)
-+ if (ret == -EAGAIN) {
- ret = build_request(ac, true, reply_buf, reply_len);
-- else if (ret)
-+ goto out;
-+ } else if (ret) {
- pr_err("auth protocol '%s' mauth authentication failed: %d\n",
- ceph_auth_proto_name(ac->protocol), result);
-+ goto out;
-+ }
-+
-+ set_global_id(ac, global_id);
-
- out:
- mutex_unlock(&ac->mutex);
-@@ -484,15 +498,11 @@ int ceph_auth_handle_reply_done(struct c
- int ret;
-
- mutex_lock(&ac->mutex);
-- if (global_id && ac->global_id != global_id) {
-- dout("%s global_id %llu -> %llu\n", __func__, ac->global_id,
-- global_id);
-- ac->global_id = global_id;
-- }
--
- ret = ac->ops->handle_reply(ac, 0, reply, reply + reply_len,
- session_key, session_key_len,
- con_secret, con_secret_len);
-+ if (!ret)
-+ set_global_id(ac, global_id);
- mutex_unlock(&ac->mutex);
- return ret;
- }
+++ /dev/null
-From 7b9825aa0891087c5c91be0fb75431919e2027e3 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 24 Feb 2021 11:29:36 +0100
-Subject: s390/pci: expose UID uniqueness guarantee
-
-From: Niklas Schnelle <schnelle@linux.ibm.com>
-
-[ Upstream commit 408f2c9c15682fc21b645fdec1f726492e235c4b ]
-
-On s390 each PCI device has a user-defined ID (UID) exposed under
-/sys/bus/pci/devices/<dev>/uid. This ID was designed to serve as the PCI
-device's primary index and to match the device within Linux to the
-device configured in the hypervisor. To serve as a primary identifier
-the UID must be unique within the Linux instance, this is guaranteed by
-the platform if and only if the UID Uniqueness Checking flag is set
-within the CLP List PCI Functions response.
-
-While the UID has been exposed to userspace since commit ac4995b9d570
-("s390/pci: add some new arch specific pci attributes") whether or not
-the platform guarantees its uniqueness for the lifetime of the Linux
-instance while defined is not visible from userspace. Remedy this by
-exposing this as a per device attribute at
-
-/sys/bus/pci/devices/<dev>/uid_is_unique
-
-Keeping this a per device attribute allows for maximum flexibility if we
-ever end up with some devices not having a UID or not enjoying the
-guaranteed uniqueness.
-
-Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
-Reviewed-by: Viktor Mihajlovski <mihajlov@linux.ibm.com>
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- Documentation/s390/pci.rst | 14 +++++++++++---
- arch/s390/pci/pci_sysfs.c | 9 +++++++++
- 2 files changed, 20 insertions(+), 3 deletions(-)
-
-diff --git a/Documentation/s390/pci.rst b/Documentation/s390/pci.rst
-index 492850bff316..8157f0cddbc2 100644
---- a/Documentation/s390/pci.rst
-+++ b/Documentation/s390/pci.rst
-@@ -50,7 +50,8 @@ Entries specific to zPCI functions and entries that hold zPCI information.
- * /sys/bus/pci/slots/XXXXXXXX
-
- The slot entries are set up using the function identifier (FID) of the
-- PCI function.
-+ PCI function. The format depicted as XXXXXXXX above is 8 hexadecimal digits
-+ with 0 padding and lower case hexadecimal digitis.
-
- - /sys/bus/pci/slots/XXXXXXXX/power
-
-@@ -88,8 +89,15 @@ Entries specific to zPCI functions and entries that hold zPCI information.
- is attached to.
-
- - uid
-- The unique identifier (UID) is defined when configuring an LPAR and is
-- unique in the LPAR.
-+ The user identifier (UID) may be defined as part of the machine
-+ configuration or the z/VM or KVM guest configuration. If the accompanying
-+ uid_is_unique attribute is 1 the platform guarantees that the UID is unique
-+ within that instance and no devices with the same UID can be attached
-+ during the lifetime of the system.
-+
-+ - uid_is_unique
-+ Indicates whether the user identifier (UID) is guaranteed to be and remain
-+ unique within this Linux instance.
-
- - pfip/segmentX
- The segments determine the isolation of a function.
-diff --git a/arch/s390/pci/pci_sysfs.c b/arch/s390/pci/pci_sysfs.c
-index 5c028bee91b9..e14d346dafd6 100644
---- a/arch/s390/pci/pci_sysfs.c
-+++ b/arch/s390/pci/pci_sysfs.c
-@@ -131,6 +131,13 @@ static ssize_t report_error_write(struct file *filp, struct kobject *kobj,
- }
- static BIN_ATTR(report_error, S_IWUSR, NULL, report_error_write, PAGE_SIZE);
-
-+static ssize_t uid_is_unique_show(struct device *dev,
-+ struct device_attribute *attr, char *buf)
-+{
-+ return sysfs_emit(buf, "%d\n", zpci_unique_uid ? 1 : 0);
-+}
-+static DEVICE_ATTR_RO(uid_is_unique);
-+
- static struct bin_attribute *zpci_bin_attrs[] = {
- &bin_attr_util_string,
- &bin_attr_report_error,
-@@ -148,8 +155,10 @@ static struct attribute *zpci_dev_attrs[] = {
- &dev_attr_uid.attr,
- &dev_attr_recover.attr,
- &dev_attr_mio_enabled.attr,
-+ &dev_attr_uid_is_unique.attr,
- NULL,
- };
-+
- static struct attribute_group zpci_attr_group = {
- .attrs = zpci_dev_attrs,
- .bin_attrs = zpci_bin_attrs,
---
-2.30.2
-
spi-spi-ti-qspi-free-dma-resources.patch
libceph-bump-cephxauthenticate-encoding-version.patch
libceph-allow-addrvecs-with-a-single-none-blank-address.patch
-libceph-don-t-set-global_id-until-we-get-an-auth-ticket.patch
scsi-qla2xxx-reserve-extra-irq-vectors.patch
scsi-lpfc-fix-rmmod-crash-due-to-bad-ring-pointers-to-abort_iotag.patch
scsi-qla2xxx-fix-crash-in-qla2xxx_mqueuecommand.patch
selftests-resctrl-fix-checking-for-0-for-unsigned-va.patch
power-supply-cpcap-charger-fix-small-mistake-in-curr.patch
power-supply-cpcap-charger-add-usleep-to-cpcap-charg.patch
-s390-pci-expose-uid-uniqueness-guarantee.patch
scsi-smartpqi-use-host-wide-tag-space.patch
scsi-smartpqi-correct-request-leakage-during-reset-o.patch
scsi-smartpqi-add-new-pci-ids.patch