Linux v4.15.18
This commit is contained in:
parent
5666c27e64
commit
8838225a6f
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
2
sources
2
sources
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
Loading…
Reference in New Issue