On Wed, 2007-01-03 at 20:11 -0600, Doug Maxey wrote:
On Thu, 04 Jan 2007 12:09:16 +1100, Benjamin Herrenschmidt wrote:
quoted
quoted
tempb = (((unsigned long long) block) *
((unsigned long long)bs)) + (unsigned long long)doff;
+ if (tempb > dend) {
+ DEBUG_F("\nSeek error on block %lx, tempb=%Lx\n", block, tempb >> 9);
+ return EXT2_ET_LLSEEK_FAILED;
+ }
+
In the case where we don't pass a "part", dend is 0 no ? We should check
this case and not apply the test...
well, I guess we should not test in that case. (dend && tempb >> dend)
But that puts us back in the position of searching past the end of the
disk.
On what system would we get here without having found a partition table?
Ext2 on a optical disk?
Or if you explicitely pass something like hd:0,\xxxx I suppose and it
detects it as ext2... I don't remember for sure :-)
Ben.