Skip to content

Commit 5bd0116

Browse files
committed
Merge tag 'for-linus-6.18-2' of https://github.com/cminyard/linux-ipmi
Pull IPMI fixes from Corey Minyard: "A few bug fixes for patches that went in this release: a refcount error and some missing or incorrect error checks" * tag 'for-linus-6.18-2' of https://github.com/cminyard/linux-ipmi: ipmi: Fix handling of messages with provided receive message pointer mfd: ls2kbmc: check for devm_mfd_add_devices() failure mfd: ls2kbmc: Fix an IS_ERR() vs NULL check in probe()
2 parents 3a86608 + e2c6949 commit 5bd0116

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

drivers/char/ipmi/ipmi_msghandler.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2301,8 +2301,11 @@ static int i_ipmi_request(struct ipmi_user *user,
23012301
if (supplied_recv) {
23022302
recv_msg = supplied_recv;
23032303
recv_msg->user = user;
2304-
if (user)
2304+
if (user) {
23052305
atomic_inc(&user->nr_msgs);
2306+
/* The put happens when the message is freed. */
2307+
kref_get(&user->refcount);
2308+
}
23062309
} else {
23072310
recv_msg = ipmi_alloc_recv_msg(user);
23082311
if (IS_ERR(recv_msg))

drivers/mfd/ls2k-bmc-core.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ static int ls2k_bmc_probe(struct pci_dev *dev, const struct pci_device_id *id)
469469
return ret;
470470

471471
ddata = devm_kzalloc(&dev->dev, sizeof(*ddata), GFP_KERNEL);
472-
if (IS_ERR(ddata)) {
472+
if (!ddata) {
473473
ret = -ENOMEM;
474474
goto disable_pci;
475475
}
@@ -495,9 +495,13 @@ static int ls2k_bmc_probe(struct pci_dev *dev, const struct pci_device_id *id)
495495
goto disable_pci;
496496
}
497497

498-
return devm_mfd_add_devices(&dev->dev, PLATFORM_DEVID_AUTO,
499-
ls2k_bmc_cells, ARRAY_SIZE(ls2k_bmc_cells),
500-
&dev->resource[0], 0, NULL);
498+
ret = devm_mfd_add_devices(&dev->dev, PLATFORM_DEVID_AUTO,
499+
ls2k_bmc_cells, ARRAY_SIZE(ls2k_bmc_cells),
500+
&dev->resource[0], 0, NULL);
501+
if (ret)
502+
goto disable_pci;
503+
504+
return 0;
501505

502506
disable_pci:
503507
pci_disable_device(dev);

0 commit comments

Comments
 (0)