Module Name: src Committed By: riastradh Date: Fri Jan 14 22:28:50 UTC 2022
Modified Files: src/sys/dev/i2c: ihidev.c Log Message: ihidev(4): Avoid reference count overflow. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/dev/i2c/ihidev.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/i2c/ihidev.c diff -u src/sys/dev/i2c/ihidev.c:1.24 src/sys/dev/i2c/ihidev.c:1.25 --- src/sys/dev/i2c/ihidev.c:1.24 Fri Jan 14 22:28:23 2022 +++ src/sys/dev/i2c/ihidev.c Fri Jan 14 22:28:50 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: ihidev.c,v 1.24 2022/01/14 22:28:23 riastradh Exp $ */ +/* $NetBSD: ihidev.c,v 1.25 2022/01/14 22:28:50 riastradh Exp $ */ /* $OpenBSD ihidev.c,v 1.13 2017/04/08 02:57:23 deraadt Exp $ */ /*- @@ -54,7 +54,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ihidev.c,v 1.24 2022/01/14 22:28:23 riastradh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ihidev.c,v 1.25 2022/01/14 22:28:50 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -889,7 +889,7 @@ ihidev_open(struct ihidev *scd) mutex_enter(&sc->sc_lock); - if (scd->sc_state & IHIDEV_OPEN) { + if (scd->sc_state & IHIDEV_OPEN || sc->sc_refcnt == INT_MAX) { error = EBUSY; goto out; }