Messages in this thread | | | Date | Mon, 14 Nov 2011 14:33:08 -0800 (PST) | From | Andrei Warkentin <> | Subject | Re: [PATCH] /dev/mem: Fix wrong error on accessing beyond valid memory addresses. |
| |
Hi,
----- Original Message ----- > From: "H. Peter Anvin" <hpa@zytor.com> > To: "Andrei Warkentin" <awarkentin@vmware.com> > Cc: linux-kernel@vger.kernel.org > Sent: Monday, November 14, 2011 5:12:35 PM > Subject: Re: [PATCH] /dev/mem: Fix wrong error on accessing beyond valid memory addresses. > > On 11/14/2011 02:11 PM, Andrei Warkentin wrote: > >> > >> EOF seems wrong to me (not as bad as EFAULT, but still wrong). > > > > Although that was what we had discussed, I do not return -EOF in > > the patch. As you > > mention - that would be wrong. I played around with other devices > > (block, actually), > > and if you attempt to read(2) beyond the end, read(2) simply > > returns 0, as in > > zero bytes read out. Of course, lseek(2) beyond the end should > > return -EINVAL, as > > well, so that is what that patch I CCd you on accomplishes. > > > > 0 is EOF. >
Ah, whoops, silly me.
> This is not a block device -- comparing to block devices is > pointless. > There is no "end" to /dev/mem, so this is a totally meaningless > comparison.
Oh ok, I looked at other arches, like IA64, and now see why using valid_phys_addr_range as an "end" test is meaningless.
Thanks, A
| |