Commit d9d1232b authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

misc: bcm-vk: fix tty registration race



Make sure to set the tty class-device driver data before registering the
tty to avoid having a racing open() dereference a NULL pointer.

Fixes: 91ca10d6 ("misc: bcm-vk: add ttyVK support")
Cc: stable@vger.kernel.org      # 5.12
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Link: https://lore.kernel.org/r/20210917115736.5816-1-johan@kernel.org


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 50c7ad36
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -267,13 +267,13 @@ int bcm_vk_tty_init(struct bcm_vk *vk, char *name)
		struct device *tty_dev;

		tty_port_init(&vk->tty[i].port);
		tty_dev = tty_port_register_device(&vk->tty[i].port, tty_drv,
						   i, dev);
		tty_dev = tty_port_register_device_attr(&vk->tty[i].port,
							tty_drv, i, dev, vk,
							NULL);
		if (IS_ERR(tty_dev)) {
			err = PTR_ERR(tty_dev);
			goto unwind;
		}
		dev_set_drvdata(tty_dev, vk);
		vk->tty[i].is_opened = false;
	}