I think the real question is if we want people to convert:
if (copy_from_user(foo, bar, sizeof *foo))
return -EFAULT;
... into ...
if (get_user(*foo, bar))
return -EFAULT;
... or ...
rv = get_user(*foo, bar);
if (rv)
return rv;
... where *foo is a structure type. It does have the advantage that a
single API does everything, simple or not, but has the disadvantage that
the partial-access semantics are now less explicit.
-hpa
--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.
--