Re: filesystem bug?

From: viro
Date: Tue Dec 16 2003 - 18:41:45 EST


On Wed, Dec 17, 2003 at 08:31:55AM +0900, Tsuchiya Yoshihiro wrote:
> Hi,
>
> Stephen, I don't have anything helpful for debuging at this point. We
> noticed the problem
> by debuging our SCSI driver. Then we found that the same thing happens
> on generic
> SCSI disk and IDE also. The problem we observed in our driver was that
> while it is
> processing a buffer, which should be locked by BH_LOCK, the contents of
> the buffer were
> overwritten. The amount of overwrite is a few byte to 1KB out of 4KB,
> which cannot be done
> in our driver. Then, we tried a generic SCSI and I reproduced the problem.
> I think it is not because of a broken pointer because overwrites only
> happen in data buffers
> and other parts of memory seem ok.

Umm... You do realize that if you have a shared writable mapping, the
buffer contents _can_ change during the IO? Legitimately. When dirty
page is being written to disk, it remains mapped. So process can change
its contents just fine.

BH_LOCK does not prevent that and it was never supposed to...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/