mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull vfs updates from Al Viro:
- more ->d_init() stuff (work.dcache)
- pathname resolution cleanups (work.namei)
- a few missing iov_iter primitives - copy_from_iter_full() and
friends. Either copy the full requested amount, advance the iterator
and return true, or fail, return false and do _not_ advance the
iterator. Quite a few open-coded callers converted (and became more
readable and harder to fuck up that way) (work.iov_iter)
- several assorted patches, the big one being logfs removal
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
logfs: remove from tree
vfs: fix put_compat_statfs64() does not handle errors
namei: fold should_follow_link() with the step into not-followed link
namei: pass both WALK_GET and WALK_MORE to should_follow_link()
namei: invert WALK_PUT logics
namei: shift interpretation of LOOKUP_FOLLOW inside should_follow_link()
namei: saner calling conventions for mountpoint_last()
namei.c: get rid of user_path_parent()
switch getfrag callbacks to ..._full() primitives
make skb_add_data,{_nocache}() and skb_copy_to_page_nocache() advance only on success
[iov_iter] new primitives - copy_from_iter_full() and friends
don't open-code file_inode()
ceph: switch to use of ->d_init()
ceph: unify dentry_operations instances
lustre: switch to use of ->d_init()
This commit is contained in:
commit
9a19a6db37
73 changed files with 264 additions and 9721 deletions
|
|
@ -826,11 +826,11 @@ ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk
|
|||
struct msghdr *msg = from;
|
||||
|
||||
if (skb->ip_summed == CHECKSUM_PARTIAL) {
|
||||
if (copy_from_iter(to, len, &msg->msg_iter) != len)
|
||||
if (!copy_from_iter_full(to, len, &msg->msg_iter))
|
||||
return -EFAULT;
|
||||
} else {
|
||||
__wsum csum = 0;
|
||||
if (csum_and_copy_from_iter(to, len, &csum, &msg->msg_iter) != len)
|
||||
if (!csum_and_copy_from_iter_full(to, len, &csum, &msg->msg_iter))
|
||||
return -EFAULT;
|
||||
skb->csum = csum_block_add(skb->csum, csum, odd);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -609,15 +609,15 @@ int ping_getfrag(void *from, char *to,
|
|||
fraglen -= sizeof(struct icmphdr);
|
||||
if (fraglen < 0)
|
||||
BUG();
|
||||
if (csum_and_copy_from_iter(to + sizeof(struct icmphdr),
|
||||
if (!csum_and_copy_from_iter_full(to + sizeof(struct icmphdr),
|
||||
fraglen, &pfh->wcheck,
|
||||
&pfh->msg->msg_iter) != fraglen)
|
||||
&pfh->msg->msg_iter))
|
||||
return -EFAULT;
|
||||
} else if (offset < sizeof(struct icmphdr)) {
|
||||
BUG();
|
||||
} else {
|
||||
if (csum_and_copy_from_iter(to, fraglen, &pfh->wcheck,
|
||||
&pfh->msg->msg_iter) != fraglen)
|
||||
if (!csum_and_copy_from_iter_full(to, fraglen, &pfh->wcheck,
|
||||
&pfh->msg->msg_iter))
|
||||
return -EFAULT;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue