Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
net/mptcp/protocol.c977d293e23("mptcp: ensure tx skbs always have the MPTCP ext")efe686ffce("mptcp: ensure tx skbs always have the MPTCP ext") same patch merged in both trees, keep net-next. Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
commit
2fcd14d0f7
332 changed files with 3501 additions and 1321 deletions
|
|
@ -1,5 +1,5 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0
|
||||
* Copyright 2019-2021 NXP Semiconductors
|
||||
* Copyright 2019-2021 NXP
|
||||
*/
|
||||
|
||||
#ifndef _NET_DSA_TAG_OCELOT_H
|
||||
|
|
|
|||
|
|
@ -80,6 +80,9 @@ struct mdio_driver {
|
|||
|
||||
/* Clears up any memory if needed */
|
||||
void (*remove)(struct mdio_device *mdiodev);
|
||||
|
||||
/* Quiesces the device on system shutdown, turns off interrupts etc */
|
||||
void (*shutdown)(struct mdio_device *mdiodev);
|
||||
};
|
||||
|
||||
static inline struct mdio_driver *
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/* SPDX-License-Identifier: BSD-3-Clause
|
||||
* Copyright (c) 2016-2018, NXP Semiconductors
|
||||
* Copyright 2016-2018 NXP
|
||||
* Copyright (c) 2018-2019, Vladimir Oltean <olteanv@gmail.com>
|
||||
*/
|
||||
#ifndef _LINUX_PACKING_H
|
||||
|
|
|
|||
|
|
@ -1471,6 +1471,7 @@ struct task_struct {
|
|||
mce_whole_page : 1,
|
||||
__mce_reserved : 62;
|
||||
struct callback_head mce_kill_me;
|
||||
int mce_count;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_KRETPROBES
|
||||
|
|
|
|||
|
|
@ -27,6 +27,12 @@ enum iter_type {
|
|||
ITER_DISCARD,
|
||||
};
|
||||
|
||||
struct iov_iter_state {
|
||||
size_t iov_offset;
|
||||
size_t count;
|
||||
unsigned long nr_segs;
|
||||
};
|
||||
|
||||
struct iov_iter {
|
||||
u8 iter_type;
|
||||
bool data_source;
|
||||
|
|
@ -47,7 +53,6 @@ struct iov_iter {
|
|||
};
|
||||
loff_t xarray_start;
|
||||
};
|
||||
size_t truncated;
|
||||
};
|
||||
|
||||
static inline enum iter_type iov_iter_type(const struct iov_iter *i)
|
||||
|
|
@ -55,6 +60,14 @@ static inline enum iter_type iov_iter_type(const struct iov_iter *i)
|
|||
return i->iter_type;
|
||||
}
|
||||
|
||||
static inline void iov_iter_save_state(struct iov_iter *iter,
|
||||
struct iov_iter_state *state)
|
||||
{
|
||||
state->iov_offset = iter->iov_offset;
|
||||
state->count = iter->count;
|
||||
state->nr_segs = iter->nr_segs;
|
||||
}
|
||||
|
||||
static inline bool iter_is_iovec(const struct iov_iter *i)
|
||||
{
|
||||
return iov_iter_type(i) == ITER_IOVEC;
|
||||
|
|
@ -233,6 +246,7 @@ ssize_t iov_iter_get_pages(struct iov_iter *i, struct page **pages,
|
|||
ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages,
|
||||
size_t maxsize, size_t *start);
|
||||
int iov_iter_npages(const struct iov_iter *i, int maxpages);
|
||||
void iov_iter_restore(struct iov_iter *i, struct iov_iter_state *state);
|
||||
|
||||
const void *dup_iter(struct iov_iter *new, struct iov_iter *old, gfp_t flags);
|
||||
|
||||
|
|
@ -255,10 +269,8 @@ static inline void iov_iter_truncate(struct iov_iter *i, u64 count)
|
|||
* conversion in assignement is by definition greater than all
|
||||
* values of size_t, including old i->count.
|
||||
*/
|
||||
if (i->count > count) {
|
||||
i->truncated += i->count - count;
|
||||
if (i->count > count)
|
||||
i->count = count;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -267,7 +279,6 @@ static inline void iov_iter_truncate(struct iov_iter *i, u64 count)
|
|||
*/
|
||||
static inline void iov_iter_reexpand(struct iov_iter *i, size_t count)
|
||||
{
|
||||
i->truncated -= count - i->count;
|
||||
i->count = count;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue