bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patch #1754] [Patch #1754] store_{read, write} abort program when LEN i


From: noreply
Subject: [patch #1754] [Patch #1754] store_{read, write} abort program when LEN is not aligned
Date: Fri, 01 Aug 2003 06:41:16 -0400
User-agent: Mozilla/5.0 (X11; U; Linux i686) Gecko/20030714 Galeon/1.3.5 Debian/1.3.5.20030714-2

Patch #1754 has been updated. 

Project: 
Category: libstore
Status: Open
Summary: store_{read,write} abort program when LEN is not aligned

Follow-Ups:

Date: Wed 07/23/2003 at 13:35
By: ogi

Comment:
* Copyright years are updated.
-------------------------------------------------------

Date: Thu 07/31/2003 at 22:46
By: marcus

Comment:
The assert is there to catch bugs in libstore using programs, which usually 
only access store blocks with aligned boundaries.

Do you have an application which doesn't do this, or did you see a Hurd program 
using libstore in a way that triggers the assertion?

-------------------------------------------------------

Date: Fri 08/01/2003 at 09:15
By: ogi

Comment:
I hit this problem while patching e2fsprogs to work with libstore.  e2fsprogs 
uses some unaligned reads from block devices.

If libstore was internal library in the Hurd, I would agree with you.  But 
native Hurd programs (not in the Hurd distribution) can legally want to use the 
library, so libstore must behave correctly on invalid arguments.  For example, 
munmap returns EINVAL if address is not aligned, it doesn't throw assertion 
failure.  What is the difference between munmap and store_read so that 
store_read have to not return EINVAL on invalid arguments?

Moreover, every program that uses store_read must check if I/O errors occured.  
So the EINVAL will always be caught ;-)
-------------------------------------------------------

Date: Fri 08/01/2003 at 12:41
By: marcus

Comment:
Why does e2fsprogs unaligned reads?  I would like to discuss what it does, 
independently of resolving this patch.

I agree that eventually we want to make libstore more robust  But before we can 
do that, we must check that all existing callers, at least those in the Hurd 
code, but preferably also parted etc, do check the return value properly.  Can 
you please do that?

-------------------------------------------------------

-------------------------------------------------------
For more info, visit:

http://savannah.gnu.org/patch/?func=detailpatch&patch_id=1754&group_id=30

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]