diff options
| author | Tony Lindgren <tony@atomide.com> | 2013-04-01 11:55:04 -0400 |
|---|---|---|
| committer | Tony Lindgren <tony@atomide.com> | 2013-04-01 11:55:04 -0400 |
| commit | d29778a01d5fc4b69ca1e7bc21121536e5c1c31d (patch) | |
| tree | 0fb90068b5b19436723d55bc44350776588c2992 /net/core | |
| parent | ce9df0b00ac7f0a733d361c23bebdd79f32f8adc (diff) | |
| parent | 469d633d20c774ecd34ac615c838193e1e150c62 (diff) | |
Merge tag 'omap-devel-b-for-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/pjw/omap-pending into omap-for-v3.10/fixes-non-critical
Some miscellaneous OMAP hwmod, powerdomain, and clock fixes for 3.10.
Basic test logs are here:
http://www.pwsan.com/omap/testlogs/prcm_fixes_a_3.10/20130331205716/
Diffstat (limited to 'net/core')
| -rw-r--r-- | net/core/dev.c | 3 | ||||
| -rw-r--r-- | net/core/flow_dissector.c | 2 | ||||
| -rw-r--r-- | net/core/rtnetlink.c | 2 | ||||
| -rw-r--r-- | net/core/scm.c | 4 |
4 files changed, 7 insertions, 4 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index dffbef70cd31..b13e5c766c11 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -1545,7 +1545,6 @@ void net_enable_timestamp(void) | |||
| 1545 | return; | 1545 | return; |
| 1546 | } | 1546 | } |
| 1547 | #endif | 1547 | #endif |
| 1548 | WARN_ON(in_interrupt()); | ||
| 1549 | static_key_slow_inc(&netstamp_needed); | 1548 | static_key_slow_inc(&netstamp_needed); |
| 1550 | } | 1549 | } |
| 1551 | EXPORT_SYMBOL(net_enable_timestamp); | 1550 | EXPORT_SYMBOL(net_enable_timestamp); |
| @@ -2219,9 +2218,9 @@ struct sk_buff *skb_mac_gso_segment(struct sk_buff *skb, | |||
| 2219 | struct sk_buff *segs = ERR_PTR(-EPROTONOSUPPORT); | 2218 | struct sk_buff *segs = ERR_PTR(-EPROTONOSUPPORT); |
| 2220 | struct packet_offload *ptype; | 2219 | struct packet_offload *ptype; |
| 2221 | __be16 type = skb->protocol; | 2220 | __be16 type = skb->protocol; |
| 2221 | int vlan_depth = ETH_HLEN; | ||
| 2222 | 2222 | ||
| 2223 | while (type == htons(ETH_P_8021Q)) { | 2223 | while (type == htons(ETH_P_8021Q)) { |
| 2224 | int vlan_depth = ETH_HLEN; | ||
| 2225 | struct vlan_hdr *vh; | 2224 | struct vlan_hdr *vh; |
| 2226 | 2225 | ||
| 2227 | if (unlikely(!pskb_may_pull(skb, vlan_depth + VLAN_HLEN))) | 2226 | if (unlikely(!pskb_may_pull(skb, vlan_depth + VLAN_HLEN))) |
diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 9d4c7201400d..e187bf06d673 100644 --- a/net/core/flow_dissector.c +++ b/net/core/flow_dissector.c | |||
| @@ -140,6 +140,8 @@ ipv6: | |||
| 140 | flow->ports = *ports; | 140 | flow->ports = *ports; |
| 141 | } | 141 | } |
| 142 | 142 | ||
| 143 | flow->thoff = (u16) nhoff; | ||
| 144 | |||
| 143 | return true; | 145 | return true; |
| 144 | } | 146 | } |
| 145 | EXPORT_SYMBOL(skb_flow_dissect); | 147 | EXPORT_SYMBOL(skb_flow_dissect); |
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c index a585d45cc9d9..5fb8d7e47294 100644 --- a/net/core/rtnetlink.c +++ b/net/core/rtnetlink.c | |||
| @@ -2621,7 +2621,7 @@ static int rtnetlink_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
| 2621 | struct rtattr *attr = (void *)nlh + NLMSG_ALIGN(min_len); | 2621 | struct rtattr *attr = (void *)nlh + NLMSG_ALIGN(min_len); |
| 2622 | 2622 | ||
| 2623 | while (RTA_OK(attr, attrlen)) { | 2623 | while (RTA_OK(attr, attrlen)) { |
| 2624 | unsigned int flavor = attr->rta_type; | 2624 | unsigned int flavor = attr->rta_type & NLA_TYPE_MASK; |
| 2625 | if (flavor) { | 2625 | if (flavor) { |
| 2626 | if (flavor > rta_max[sz_idx]) | 2626 | if (flavor > rta_max[sz_idx]) |
| 2627 | return -EINVAL; | 2627 | return -EINVAL; |
diff --git a/net/core/scm.c b/net/core/scm.c index 905dcc6ad1e3..2dc6cdaaae8a 100644 --- a/net/core/scm.c +++ b/net/core/scm.c | |||
| @@ -24,6 +24,7 @@ | |||
| 24 | #include <linux/interrupt.h> | 24 | #include <linux/interrupt.h> |
| 25 | #include <linux/netdevice.h> | 25 | #include <linux/netdevice.h> |
| 26 | #include <linux/security.h> | 26 | #include <linux/security.h> |
| 27 | #include <linux/pid_namespace.h> | ||
| 27 | #include <linux/pid.h> | 28 | #include <linux/pid.h> |
| 28 | #include <linux/nsproxy.h> | 29 | #include <linux/nsproxy.h> |
| 29 | #include <linux/slab.h> | 30 | #include <linux/slab.h> |
| @@ -52,7 +53,8 @@ static __inline__ int scm_check_creds(struct ucred *creds) | |||
| 52 | if (!uid_valid(uid) || !gid_valid(gid)) | 53 | if (!uid_valid(uid) || !gid_valid(gid)) |
| 53 | return -EINVAL; | 54 | return -EINVAL; |
| 54 | 55 | ||
| 55 | if ((creds->pid == task_tgid_vnr(current) || nsown_capable(CAP_SYS_ADMIN)) && | 56 | if ((creds->pid == task_tgid_vnr(current) || |
| 57 | ns_capable(current->nsproxy->pid_ns->user_ns, CAP_SYS_ADMIN)) && | ||
| 56 | ((uid_eq(uid, cred->uid) || uid_eq(uid, cred->euid) || | 58 | ((uid_eq(uid, cred->uid) || uid_eq(uid, cred->euid) || |
| 57 | uid_eq(uid, cred->suid)) || nsown_capable(CAP_SETUID)) && | 59 | uid_eq(uid, cred->suid)) || nsown_capable(CAP_SETUID)) && |
| 58 | ((gid_eq(gid, cred->gid) || gid_eq(gid, cred->egid) || | 60 | ((gid_eq(gid, cred->gid) || gid_eq(gid, cred->egid) || |
