diff options
author | David S. Miller <davem@davemloft.net> | 2016-05-15 13:32:12 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-05-15 13:32:48 -0400 |
commit | 909b27f706433a0b3dff79aa259de63aafe40a42 (patch) | |
tree | c13cda633379cdbef701e730027b6a19ba6b267e /lib/iov_iter.c | |
parent | 8fbb89c6fbfd1cda9ae413cd1e042837a8edbdeb (diff) | |
parent | 272911b889f47aa5bc3e004804fc2382f0ac6ce6 (diff) | |
download | op-kernel-dev-909b27f706433a0b3dff79aa259de63aafe40a42.zip op-kernel-dev-909b27f706433a0b3dff79aa259de63aafe40a42.tar.gz |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
The nf_conntrack_core.c fix in 'net' is not relevant in 'net-next'
because we no longer have a per-netns conntrack hash.
The ip_gre.c conflict as well as the iwlwifi ones were cases of
overlapping changes.
Conflicts:
drivers/net/wireless/intel/iwlwifi/mvm/tx.c
net/ipv4/ip_gre.c
net/netfilter/nf_conntrack_core.c
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/iov_iter.c')
-rw-r--r-- | lib/iov_iter.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/iov_iter.c b/lib/iov_iter.c index 5fecddc..ca5316e 100644 --- a/lib/iov_iter.c +++ b/lib/iov_iter.c @@ -569,6 +569,25 @@ unsigned long iov_iter_alignment(const struct iov_iter *i) } EXPORT_SYMBOL(iov_iter_alignment); +unsigned long iov_iter_gap_alignment(const struct iov_iter *i) +{ + unsigned long res = 0; + size_t size = i->count; + if (!size) + return 0; + + iterate_all_kinds(i, size, v, + (res |= (!res ? 0 : (unsigned long)v.iov_base) | + (size != v.iov_len ? size : 0), 0), + (res |= (!res ? 0 : (unsigned long)v.bv_offset) | + (size != v.bv_len ? size : 0)), + (res |= (!res ? 0 : (unsigned long)v.iov_base) | + (size != v.iov_len ? size : 0)) + ); + return res; +} +EXPORT_SYMBOL(iov_iter_gap_alignment); + ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages, size_t maxsize, unsigned maxpages, size_t *start) |