Re: [RFC] typechecking for get_unaligned/put_unaligned

From: Linus Torvalds
Date: Tue Oct 17 2006 - 11:29:30 EST




On Tue, 17 Oct 2006, David Howells wrote:

> Al Viro <viro@xxxxxxxxxxxxxxxx> wrote:
>
> > * sizeof(*ptr) should be one of 1, 2, 4, 8
>
> Should we give an error if someone tries passing a 1-byte-sized memory location
> to get/put_unaligned()? I suspect it might be best to reduce to a trivial
> direct assignment in that case.

Note that in some cases, you have different architectures having different
sizes, and it could potentially be the case that one architecture has a
1-byte thing, and another has a 2-byte thing.

It's unlikely to be an issue for single-byte cases, but it definitely
happens for other equivalent things (ie "get_user()" often has 2 vs 4-byte
accesses, and obviously the 4- vs 8-byte thing through 32/64-bit values
depending on the size of the machine).

So at least in _theory_ it's quite possible that a single-byte access can
make sense, simply because the size might depend on a config option.

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