Date: Mon, 23 May 2016 11:05:20 +0200 From: Hans Petter Selasky <hps@selasky.org> To: Matthew Macy <mmacy@nextbsd.org>, "freebsd-x11@freebsd.org" <freebsd-x11@freebsd.org>, "freebsd-current@freebsd.org" <freebsd-current@freebsd.org> Subject: Re: CFT update day 2 Message-ID: <b4ed28f1-9366-d716-0092-2c2aa542056f@selasky.org> In-Reply-To: <154dcac7f27.f5da66a0148247.6294302194451585046@nextbsd.org> References: <154dcac7f27.f5da66a0148247.6294302194451585046@nextbsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 05/23/16 10:12, Matthew Macy wrote: > - Will Andrews identified a conditionally uninitialized return in > idr_find that could lead to a panic in some cases. FYI If you integrate linux_idr.c from FreeBSD-11-current, this problem and a few others should already be solved: For example there: while ((il = idr_find_layer_locked(idr, i)) != NULL) { The following loop is buggy: for (;i < (i & ~IDR_MASK) + IDR_SIZE; i++) { if (il->ary[i & IDR_MASK]) { *nextidp = i; And equivalent to a "while (true)", which I believe this is not the intention. --HPS
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b4ed28f1-9366-d716-0092-2c2aa542056f>