diff options
| author | Todd Kjos <tkjos@google.com> | 2017-03-02 13:53:48 -0800 |
|---|---|---|
| committer | Todd Kjos <tkjos@google.com> | 2017-03-02 13:53:48 -0800 |
| commit | 837de638dc019843efb0f8744e299769af32e004 (patch) | |
| tree | 3f693d421593332edcdf1d877433d31e9f1525de /include/linux | |
| parent | f04805218728192d346291c1a0e78cb184142bad (diff) | |
| parent | dd4534d88b93a911983503851ec9441787a4997d (diff) | |
Merge branch 'upstream-linux-4.4.y' into android-4.4
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/can/core.h | 7 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 4 |
2 files changed, 7 insertions, 4 deletions
diff --git a/include/linux/can/core.h b/include/linux/can/core.h index a0875001b13c..df08a41d5be5 100644 --- a/include/linux/can/core.h +++ b/include/linux/can/core.h @@ -45,10 +45,9 @@ struct can_proto { extern int can_proto_register(const struct can_proto *cp); extern void can_proto_unregister(const struct can_proto *cp); -extern int can_rx_register(struct net_device *dev, canid_t can_id, - canid_t mask, - void (*func)(struct sk_buff *, void *), - void *data, char *ident); +int can_rx_register(struct net_device *dev, canid_t can_id, canid_t mask, + void (*func)(struct sk_buff *, void *), + void *data, char *ident, struct sock *sk); extern void can_rx_unregister(struct net_device *dev, canid_t can_id, canid_t mask, diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 93a6a2c66d15..4035bbe40971 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1399,6 +1399,7 @@ enum netdev_priv_flags { * @mtu: Interface MTU value * @type: Interface hardware type * @hard_header_len: Maximum hardware header length. + * @min_header_len: Minimum hardware header length * * @needed_headroom: Extra headroom the hardware may need, but not in all * cases can this be guaranteed @@ -1619,6 +1620,7 @@ struct net_device { unsigned int mtu; unsigned short type; unsigned short hard_header_len; + unsigned short min_header_len; unsigned short needed_headroom; unsigned short needed_tailroom; @@ -2541,6 +2543,8 @@ static inline bool dev_validate_header(const struct net_device *dev, { if (likely(len >= dev->hard_header_len)) return true; + if (len < dev->min_header_len) + return false; if (capable(CAP_SYS_RAWIO)) { memset(ll_header + len, 0, dev->hard_header_len - len); |
