]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
i2c: cp2615: fix serial string NULL-deref at probe
authorJohan Hovold <johan@kernel.org>
Mon, 9 Mar 2026 07:50:16 +0000 (08:50 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 Mar 2026 10:08:56 +0000 (11:08 +0100)
commit aa79f996eb41e95aed85a1bd7f56bcd6a3842008 upstream.

The cp2615 driver uses the USB device serial string as the i2c adapter
name but does not make sure that the string exists.

Verify that the device has a serial number before accessing it to avoid
triggering a NULL-pointer dereference (e.g. with malicious devices).

Fixes: 4a7695429ead ("i2c: cp2615: add i2c driver for Silicon Labs' CP2615 Digital Audio Bridge")
Cc: stable@vger.kernel.org # 5.13
Cc: Bence Csókás <bence98@sch.bme.hu>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Bence Csókás <bence98@sch.bme.hu>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Link: https://lore.kernel.org/r/20260309075016.25612-1-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/i2c/busses/i2c-cp2615.c

index e7720ea4045eb674616f573a18865af04b14247d..7b62ba115eb9f16567af190cee6f6be157708e95 100644 (file)
@@ -298,6 +298,9 @@ cp2615_i2c_probe(struct usb_interface *usbif, const struct usb_device_id *id)
        if (!adap)
                return -ENOMEM;
 
+       if (!usbdev->serial)
+               return -EINVAL;
+
        strscpy(adap->name, usbdev->serial, sizeof(adap->name));
        adap->owner = THIS_MODULE;
        adap->dev.parent = &usbif->dev;