| raw e-mail | index | archive | help
``` [root@freebsd-main ~]# dtrace -n 'fbt::dev_ref:entry {printf("[%s]: invoke dev_ref: %s, refcount:%d", execname, args[0]->si_name, args[0]->si_refcount= )}' dtrace: description 'fbt::dev_ref:entry ' matched 1 probe CPU ID FUNCTION:NAME 1 43845 dev_ref:entry [sshd]: invoke dev_ref: hpet0, refcount:11 0 43845 dev_ref:entry [sshd]: invoke dev_ref: hpet0, refcount:12 0 43845 dev_ref:entry [bash]: invoke dev_ref: hpet0, refcount:13 1 43845 dev_ref:entry [resizewin]: invoke dev_ref: hp= et0, refcount:14 1 43845 dev_ref:entry [sysctl]: invoke dev_ref: hpet0, refcount:15 1 43845 dev_ref:entry [sysctl]: invoke dev_ref: hpet0, refcount:16 1 43845 dev_ref:entry [sysctl]: invoke dev_ref: hpet0, refcount:17 1 43845 dev_ref:entry [sysctl]: invoke dev_ref: hpet0, refcount:18 1 43845 dev_ref:entry [sysctl]: invoke dev_ref: hpet0, refcount:19 1 43845 dev_ref:entry [sysctl]: invoke dev_ref: hpet0, refcount:20 1 43845 dev_ref:entry [sysctl]: invoke dev_ref: hpet0, refcount:21 1 43845 dev_ref:entry [sysctl]: invoke dev_ref: hpet0, refcount:22 1 43845 dev_ref:entry [sysctl]: invoke dev_ref: hpet0, refcount:23 1 43845 dev_ref:entry [sysctl]: invoke dev_ref: hpet0, refcount:24 1 43845 dev_ref:entry [sh]: invoke dev_ref: hpet0, refcount:25 1 43845 dev_ref:entry [atrun]: invoke dev_ref: hpet0, refcount:26 ``` this cdev->si_refcount leak might have kernel panic risk if enable KASSERT(= ), see dev_rel() ``` void dev_rel(struct cdev *dev) { int flag =3D 0; dev_lock_assert_unlocked(); dev_lock(); dev->si_refcount--; KASSERT(dev->si_refcount >=3D 0, ("dev_rel(%s) gave negative count", devtoname(dev))); if (dev->si_devsw =3D=3D NULL && dev->si_refcount =3D=3D 0) { LIST_REMOVE(dev, si_list); flag =3D 1; } dev_unlock(); if (flag) devfs_free(dev); } ``` --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?>