What I mean is that you allocate memory whenever the depth increases.
Even if you have an array large enough to accommodate the increase
(because you don't release when you decrease the tag depth).
On further examination, there's also an invalid tag race: If a device
is throttling, it might want to do a big decrease followed fairly
quickly by a small increase. When it does the increase, you potentially
still have outstanding tags above the new depth, which will now run off
the end of your newly allocated tag array.
James
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/