]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
ipmi: fix oob access due to uninit smi_msg type
authorJakub Kicinski <kuba@kernel.org>
Wed, 24 Nov 2021 21:03:23 +0000 (13:03 -0800)
committerCorey Minyard <cminyard@mvista.com>
Thu, 25 Nov 2021 14:21:13 +0000 (08:21 -0600)
We're hitting OOB accesses in handle_ipmb_direct_rcv_rsp() (memcpy of
size -1) after user space generates a message. Looks like the message
is incorrectly assumed to be of the new IPMB type, because type is never
set and message is allocated with kmalloc() not kzalloc().

Fixes: 059747c245f0 ("ipmi: Add support for IPMB direct messages")
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Message-Id: <20211124210323.1950976-1-kuba@kernel.org>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
drivers/char/ipmi/ipmi_msghandler.c

index a2ec0171363a6b7505566bf3740d700f9f26d037..7d7df17d8b3d13bb4fee00e46574361111f904df 100644 (file)
@@ -5033,6 +5033,7 @@ struct ipmi_smi_msg *ipmi_alloc_smi_msg(void)
        if (rv) {
                rv->done = free_smi_msg;
                rv->user_data = NULL;
+               rv->type = IPMI_SMI_MSG_TYPE_NORMAL;
                atomic_inc(&smi_msg_inuse_count);
        }
        return rv;