Re: /dev/mem "unbounded?"

From: H. Peter Anvin
Date: Wed Nov 09 2011 - 19:11:48 EST


On 11/09/2011 02:38 PM, Andrei Warkentin wrote:
> Hi Peter,
>
> ----- Original Message -----
>>
>> That would be incorrect behavior, though, except perhaps for the
>> range
>> that cannot be addressed by the processor. It is explicitly
>> permitted
>> to address ranges that does not have addresses mapped to it.
>
> There is a current mechanism for restricting access to a subset
> of addresses, and it is used to enforce < 1MB accesses on x86
> if CONFIG_STRICT_DEVMEM. This could be extended.
>

Well, that mechanism is broken. The way it *should* work is that any
region which is system RAM should be denied access, and the rest is
accessible. The current behavior is a hack due to the behavior of some
old versions of Xorg, but that has long been fixed.

> Do you think there is any value in specifying something like
> CONFIG_DEV_MEM_ONLY_CLAIMED, which would only allow accesses
> until the end of the last range claimed with request_region (but
> could, of course, well be unmapped). This will allow accesses to
> any unclaimed "holes" in between. I.e., if you have 0-100m claimed,
> followed by 300-700m claimed, then reading /dev/mem will work up
> until you reach 700m.

No. If you don't know what you're accessing, you should not be touching
/dev/mem under any circumstances. Odds are that even if you're only
reading, there are registers with side effects in there somewhere.

-hpa



--
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/