Linux v4.15.18

This commit is contained in:
Justin M. Forbes 2018-04-19 09:31:50 -05:00
parent 5666c27e64
commit 8838225a6f
4 changed files with 5 additions and 146 deletions

View File

@ -2371,90 +2371,3 @@ index 17f349459587..c2b23a9fdf3d 100644
#ifndef __LINUX_IPMI_MSGDEFS_H
--
2.14.3
From 426fa6179dae677134dfb37b21d057819418515b Mon Sep 17 00:00:00 2001
From: Corey Minyard <cminyard@mvista.com>
Date: Wed, 28 Feb 2018 08:09:49 -0600
Subject: [PATCH 9/9] ipmi: Fix some error cleanup issues
device_remove_group() was called on any cleanup, even if the
device attrs had not been added yet. That can occur in certain
error scenarios, so add a flag to know if it has been added.
Also make sure we remove the dev if we added it ourselves.
Signed-off-by: Corey Minyard <cminyard@mvista.com>
Cc: stable@vger.kernel.org # 4.15
---
drivers/char/ipmi/ipmi_si_intf.c | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index 5141ccf0b958..2b9f434775d4 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -232,6 +232,9 @@ struct smi_info {
/* Default driver model device. */
struct platform_device *pdev;
+ /* Have we added the device group to the device? */
+ bool dev_group_added;
+
/* Counters and things for the proc filesystem. */
atomic_t stats[SI_NUM_STATS];
@@ -2007,8 +2010,8 @@ int ipmi_si_add_smi(struct si_sm_io *io)
if (initialized) {
rv = try_smi_init(new_smi);
if (rv) {
- mutex_unlock(&smi_infos_lock);
cleanup_one_si(new_smi);
+ mutex_unlock(&smi_infos_lock);
return rv;
}
}
@@ -2167,6 +2170,7 @@ static int try_smi_init(struct smi_info *new_smi)
rv);
goto out_err_stop_timer;
}
+ new_smi->dev_group_added = true;
rv = ipmi_register_smi(&handlers,
new_smi,
@@ -2220,7 +2224,10 @@ static int try_smi_init(struct smi_info *new_smi)
return 0;
out_err_remove_attrs:
- device_remove_group(new_smi->io.dev, &ipmi_si_dev_attr_group);
+ if (new_smi->dev_group_added) {
+ device_remove_group(new_smi->io.dev, &ipmi_si_dev_attr_group);
+ new_smi->dev_group_added = false;
+ }
dev_set_drvdata(new_smi->io.dev, NULL);
out_err_stop_timer:
@@ -2268,6 +2275,7 @@ static int try_smi_init(struct smi_info *new_smi)
else
platform_device_put(new_smi->pdev);
new_smi->pdev = NULL;
+ new_smi->io.dev = NULL;
}
kfree(init_name);
@@ -2364,8 +2372,10 @@ static void cleanup_one_si(struct smi_info *to_clean)
}
}
- device_remove_group(to_clean->io.dev, &ipmi_si_dev_attr_group);
- dev_set_drvdata(to_clean->io.dev, NULL);
+ if (to_clean->dev_group_added)
+ device_remove_group(to_clean->io.dev, &ipmi_si_dev_attr_group);
+ if (to_clean->io.dev)
+ dev_set_drvdata(to_clean->io.dev, NULL);
list_del(&to_clean->link);
--
2.14.3

View File

@ -54,7 +54,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
%define stable_update 17
%define stable_update 18
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@ -641,9 +641,6 @@ Patch663: 0001-scsi-libsas-direct-call-probe-and-destruct.patch
# rhbz 1511786
Patch664: drm-nouveau-bl-fix-backlight-regression.patch
# rhbz 1558977
Patch665: sunrpc-remove-incorrect-HMAC-request-initialization.patch
# CVE-2018-10021 rhbz 1566407 1566409
Patch666: 0001-scsi-libsas-defer-ata-device-eh-commands-to-libata.patch
@ -1945,6 +1942,9 @@ fi
#
#
%changelog
* Thu Apr 19 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.15.18-200
- Linux v4.15.18
* Thu Apr 12 2018 Laura Abbott <labbott@redhat.com> - 4.15.17-200
- Linux v4.15.17

View File

@ -1,2 +1,2 @@
SHA512 (linux-4.15.tar.xz) = c00d92659df815a53dcac7dde145b742b1f20867d380c07cb09ddb3295d6ff10f8931b21ef0b09d7156923a3957b39d74d87c883300173b2e20690d2b4ec35ea
SHA512 (patch-4.15.17.xz) = fa1d0c0f9c55bb32ffc01b080ddf24fb69584e3c29d6d6b27ba24fd5bd7ad44d0fb0c18a269e33ef3f0fb4f10ed64e1f429cf621f61f49e5de33acba788e7ba8
SHA512 (patch-4.15.18.xz) = c40dfeedce4876fa4df51ae93978b2a8d9844ca04cf890a6d708fd85786dcda99a6611066977d5a4d841a03af8838d6aa6e1bc69084720fbf7147058b8394fb8

View File

@ -1,54 +0,0 @@
From 5cdbcf4aa78b57c4f10892f20725174829cca191 Mon Sep 17 00:00:00 2001
From: Eric Biggers <ebiggers@google.com>
Date: Wed, 28 Mar 2018 10:57:22 -0700
Subject: [PATCH] sunrpc: remove incorrect HMAC request initialization
make_checksum_hmac_md5() is allocating an HMAC transform and doing
crypto API calls in the following order:
crypto_ahash_init()
crypto_ahash_setkey()
crypto_ahash_digest()
This is wrong because it makes no sense to init() the request before a
key has been set, given that the initial state depends on the key. And
digest() is short for init() + update() + final(), so in this case
there's no need to explicitly call init() at all.
Before commit 9fa68f620041 ("crypto: hash - prevent using keyed hashes
without setting key") the extra init() had no real effect, at least for
the software HMAC implementation. (There are also hardware drivers that
implement HMAC-MD5, and it's not immediately obvious how gracefully they
handle init() before setkey().) But now the crypto API detects this
incorrect initialization and returns -ENOKEY. This is breaking NFS
mounts in some cases.
Fix it by removing the incorrect call to crypto_ahash_init().
Reported-by: Michael Young <m.a.young@durham.ac.uk>
Fixes: 9fa68f620041 ("crypto: hash - prevent using keyed hashes without setting key")
Fixes: fffdaef2eb4a ("gss_krb5: Add support for rc4-hmac encryption")
Cc: stable@vger.kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Jeremy Cline <jeremy@jcline.org>
---
net/sunrpc/auth_gss/gss_krb5_crypto.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/net/sunrpc/auth_gss/gss_krb5_crypto.c b/net/sunrpc/auth_gss/gss_krb5_crypto.c
index 12649c9fedab..8654494b4d0a 100644
--- a/net/sunrpc/auth_gss/gss_krb5_crypto.c
+++ b/net/sunrpc/auth_gss/gss_krb5_crypto.c
@@ -237,9 +237,6 @@ make_checksum_hmac_md5(struct krb5_ctx *kctx, char *header, int hdrlen,
ahash_request_set_callback(req, CRYPTO_TFM_REQ_MAY_SLEEP, NULL, NULL);
- err = crypto_ahash_init(req);
- if (err)
- goto out;
err = crypto_ahash_setkey(hmac_md5, cksumkey, kctx->gk5e->keylength);
if (err)
goto out;
--
2.16.2