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
_______________________________________________
freebsd-current@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"