Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
0ecc103a
Commit
0ecc103a
authored
Feb 09, 2009
by
David S. Miller
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Conflicts: drivers/net/gianfar.c
parents
0012985d
4906f998
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
76 additions
and
12 deletions
+76
-12
drivers/atm/solos-pci.c
drivers/atm/solos-pci.c
+1
-0
drivers/isdn/hardware/mISDN/hfcmulti.c
drivers/isdn/hardware/mISDN/hfcmulti.c
+2
-0
drivers/net/gianfar.c
drivers/net/gianfar.c
+6
-0
drivers/net/netxen/netxen_nic.h
drivers/net/netxen/netxen_nic.h
+1
-1
drivers/net/netxen/netxen_nic_main.c
drivers/net/netxen/netxen_nic_main.c
+12
-1
drivers/net/tulip/de2104x.c
drivers/net/tulip/de2104x.c
+2
-1
drivers/net/tun.c
drivers/net/tun.c
+8
-2
net/bridge/br_forward.c
net/bridge/br_forward.c
+6
-1
net/ipv6/ip6_tunnel.c
net/ipv6/ip6_tunnel.c
+1
-1
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
+23
-2
net/netfilter/nf_conntrack_netlink.c
net/netfilter/nf_conntrack_netlink.c
+13
-2
net/netfilter/xt_sctp.c
net/netfilter/xt_sctp.c
+1
-1
No files found.
drivers/atm/solos-pci.c
View file @
0ecc103a
...
...
@@ -685,6 +685,7 @@ static int fpga_probe(struct pci_dev *dev, const struct pci_device_id *id)
out_release_regions:
pci_release_regions
(
dev
);
out:
kfree
(
card
);
return
err
;
}
...
...
drivers/isdn/hardware/mISDN/hfcmulti.c
View file @
0ecc103a
...
...
@@ -4599,6 +4599,7 @@ init_e1_port(struct hfc_multi *hc, struct hm_map *m)
printk
(
KERN_ERR
"%s: no memory for coeffs
\n
"
,
__func__
);
ret
=
-
ENOMEM
;
kfree
(
bch
);
goto
free_chan
;
}
bch
->
nr
=
ch
;
...
...
@@ -4767,6 +4768,7 @@ init_multi_port(struct hfc_multi *hc, int pt)
printk
(
KERN_ERR
"%s: no memory for coeffs
\n
"
,
__func__
);
ret
=
-
ENOMEM
;
kfree
(
bch
);
goto
free_chan
;
}
bch
->
nr
=
ch
+
1
;
...
...
drivers/net/gianfar.c
View file @
0ecc103a
...
...
@@ -1668,6 +1668,12 @@ static void gfar_schedule_cleanup(struct net_device *dev)
if
(
napi_schedule_prep
(
&
priv
->
napi
))
{
gfar_write
(
&
priv
->
regs
->
imask
,
IMASK_RTX_DISABLED
);
__napi_schedule
(
&
priv
->
napi
);
}
else
{
/*
* Clear IEVENT, so interrupts aren't called again
* because of the packets that have already arrived.
*/
gfar_write
(
&
priv
->
regs
->
ievent
,
IEVENT_RTX_MASK
);
}
spin_unlock
(
&
priv
->
rxlock
);
...
...
drivers/net/netxen/netxen_nic.h
View file @
0ecc103a
...
...
@@ -1203,7 +1203,7 @@ typedef struct {
#define NETXEN_IS_MSI_FAMILY(adapter) \
((adapter)->flags & (NETXEN_NIC_MSI_ENABLED | NETXEN_NIC_MSIX_ENABLED))
#define MSIX_ENTRIES_PER_ADAPTER
8
#define MSIX_ENTRIES_PER_ADAPTER
1
#define NETXEN_MSIX_TBL_SPACE 8192
#define NETXEN_PCI_REG_MSIX_TBL 0x44
...
...
drivers/net/netxen/netxen_nic_main.c
View file @
0ecc103a
...
...
@@ -76,6 +76,7 @@ static void netxen_nic_poll_controller(struct net_device *netdev);
#endif
static
irqreturn_t
netxen_intr
(
int
irq
,
void
*
data
);
static
irqreturn_t
netxen_msi_intr
(
int
irq
,
void
*
data
);
static
irqreturn_t
netxen_msix_intr
(
int
irq
,
void
*
data
);
/* PCI Device ID Table */
#define ENTRY(device) \
...
...
@@ -1084,7 +1085,9 @@ static int netxen_nic_open(struct net_device *netdev)
for
(
ring
=
0
;
ring
<
adapter
->
max_rds_rings
;
ring
++
)
netxen_post_rx_buffers
(
adapter
,
ctx
,
ring
);
}
if
(
NETXEN_IS_MSI_FAMILY
(
adapter
))
if
(
adapter
->
flags
&
NETXEN_NIC_MSIX_ENABLED
)
handler
=
netxen_msix_intr
;
else
if
(
adapter
->
flags
&
NETXEN_NIC_MSI_ENABLED
)
handler
=
netxen_msi_intr
;
else
{
flags
|=
IRQF_SHARED
;
...
...
@@ -1612,6 +1615,14 @@ static irqreturn_t netxen_msi_intr(int irq, void *data)
return
IRQ_HANDLED
;
}
static
irqreturn_t
netxen_msix_intr
(
int
irq
,
void
*
data
)
{
struct
netxen_adapter
*
adapter
=
data
;
napi_schedule
(
&
adapter
->
napi
);
return
IRQ_HANDLED
;
}
static
int
netxen_nic_poll
(
struct
napi_struct
*
napi
,
int
budget
)
{
struct
netxen_adapter
*
adapter
=
container_of
(
napi
,
struct
netxen_adapter
,
napi
);
...
...
drivers/net/tulip/de2104x.c
View file @
0ecc103a
...
...
@@ -464,13 +464,14 @@ static void de_rx (struct de_private *de)
drop
=
1
;
rx_next:
de
->
rx_ring
[
rx_tail
].
opts1
=
cpu_to_le32
(
DescOwn
);
if
(
rx_tail
==
(
DE_RX_RING_SIZE
-
1
))
de
->
rx_ring
[
rx_tail
].
opts2
=
cpu_to_le32
(
RingEnd
|
de
->
rx_buf_sz
);
else
de
->
rx_ring
[
rx_tail
].
opts2
=
cpu_to_le32
(
de
->
rx_buf_sz
);
de
->
rx_ring
[
rx_tail
].
addr1
=
cpu_to_le32
(
mapping
);
wmb
();
de
->
rx_ring
[
rx_tail
].
opts1
=
cpu_to_le32
(
DescOwn
);
rx_tail
=
NEXT_RX
(
rx_tail
);
}
...
...
drivers/net/tun.c
View file @
0ecc103a
...
...
@@ -260,10 +260,16 @@ static int update_filter(struct tap_filter *filter, void __user *arg)
nexact
=
n
;
/* The rest is hashed */
/* Remaining multicast addresses are hashed,
* unicast will leave the filter disabled. */
memset
(
filter
->
mask
,
0
,
sizeof
(
filter
->
mask
));
for
(;
n
<
uf
.
count
;
n
++
)
for
(;
n
<
uf
.
count
;
n
++
)
{
if
(
!
is_multicast_ether_addr
(
addr
[
n
].
u
))
{
err
=
0
;
/* no filter */
goto
done
;
}
addr_hash_set
(
filter
->
mask
,
addr
[
n
].
u
);
}
/* For ALLMULTI just set the mask to all ones.
* This overrides the mask populated above. */
...
...
net/bridge/br_forward.c
View file @
0ecc103a
...
...
@@ -67,6 +67,11 @@ static void __br_forward(const struct net_bridge_port *to, struct sk_buff *skb)
{
struct
net_device
*
indev
;
if
(
skb_warn_if_lro
(
skb
))
{
kfree_skb
(
skb
);
return
;
}
indev
=
skb
->
dev
;
skb
->
dev
=
to
->
dev
;
skb_forward_csum
(
skb
);
...
...
@@ -89,7 +94,7 @@ void br_deliver(const struct net_bridge_port *to, struct sk_buff *skb)
/* called with rcu_read_lock */
void
br_forward
(
const
struct
net_bridge_port
*
to
,
struct
sk_buff
*
skb
)
{
if
(
!
skb_warn_if_lro
(
skb
)
&&
should_deliver
(
to
,
skb
))
{
if
(
should_deliver
(
to
,
skb
))
{
__br_forward
(
to
,
skb
);
return
;
}
...
...
net/ipv6/ip6_tunnel.c
View file @
0ecc103a
...
...
@@ -249,8 +249,8 @@ static struct ip6_tnl *ip6_tnl_create(struct net *net, struct ip6_tnl_parm *p)
}
t
=
netdev_priv
(
dev
);
ip6_tnl_dev_init
(
dev
);
t
->
parms
=
*
p
;
ip6_tnl_dev_init
(
dev
);
if
((
err
=
register_netdevice
(
dev
))
<
0
)
goto
failed_free
;
...
...
net/ipv6/netfilter/nf_conntrack_proto_icmpv6.c
View file @
0ecc103a
...
...
@@ -49,8 +49,19 @@ static bool icmpv6_pkt_to_tuple(const struct sk_buff *skb,
static
const
u_int8_t
invmap
[]
=
{
[
ICMPV6_ECHO_REQUEST
-
128
]
=
ICMPV6_ECHO_REPLY
+
1
,
[
ICMPV6_ECHO_REPLY
-
128
]
=
ICMPV6_ECHO_REQUEST
+
1
,
[
ICMPV6_NI_QUERY
-
128
]
=
ICMPV6_NI_QUERY
+
1
,
[
ICMPV6_NI_REPLY
-
128
]
=
ICMPV6_NI_REPLY
+
1
[
ICMPV6_NI_QUERY
-
128
]
=
ICMPV6_NI_REPLY
+
1
,
[
ICMPV6_NI_REPLY
-
128
]
=
ICMPV6_NI_QUERY
+
1
};
static
const
u_int8_t
noct_valid_new
[]
=
{
[
ICMPV6_MGM_QUERY
-
130
]
=
1
,
[
ICMPV6_MGM_REPORT
-
130
]
=
1
,
[
ICMPV6_MGM_REDUCTION
-
130
]
=
1
,
[
NDISC_ROUTER_SOLICITATION
-
130
]
=
1
,
[
NDISC_ROUTER_ADVERTISEMENT
-
130
]
=
1
,
[
NDISC_NEIGHBOUR_SOLICITATION
-
130
]
=
1
,
[
NDISC_NEIGHBOUR_ADVERTISEMENT
-
130
]
=
1
,
[
ICMPV6_MLD2_REPORT
-
130
]
=
1
};
static
bool
icmpv6_invert_tuple
(
struct
nf_conntrack_tuple
*
tuple
,
...
...
@@ -178,6 +189,7 @@ icmpv6_error(struct net *net, struct sk_buff *skb, unsigned int dataoff,
{
const
struct
icmp6hdr
*
icmp6h
;
struct
icmp6hdr
_ih
;
int
type
;
icmp6h
=
skb_header_pointer
(
skb
,
dataoff
,
sizeof
(
_ih
),
&
_ih
);
if
(
icmp6h
==
NULL
)
{
...
...
@@ -194,6 +206,15 @@ icmpv6_error(struct net *net, struct sk_buff *skb, unsigned int dataoff,
return
-
NF_ACCEPT
;
}
type
=
icmp6h
->
icmp6_type
-
130
;
if
(
type
>=
0
&&
type
<
sizeof
(
noct_valid_new
)
&&
noct_valid_new
[
type
])
{
skb
->
nfct
=
&
nf_conntrack_untracked
.
ct_general
;
skb
->
nfctinfo
=
IP_CT_NEW
;
nf_conntrack_get
(
skb
->
nfct
);
return
NF_ACCEPT
;
}
/* is not error message ? */
if
(
icmp6h
->
icmp6_type
>=
128
)
return
NF_ACCEPT
;
...
...
net/netfilter/nf_conntrack_netlink.c
View file @
0ecc103a
...
...
@@ -434,7 +434,7 @@ static int ctnetlink_conntrack_event(struct notifier_block *this,
}
else
return
NOTIFY_DONE
;
if
(
!
nfnetlink_has_listeners
(
group
))
if
(
!
item
->
report
&&
!
nfnetlink_has_listeners
(
group
))
return
NOTIFY_DONE
;
skb
=
alloc_skb
(
NLMSG_GOODSIZE
,
GFP_ATOMIC
);
...
...
@@ -1215,6 +1215,16 @@ ctnetlink_create_conntrack(struct nlattr *cda[],
}
}
#ifdef CONFIG_NF_NAT_NEEDED
if
(
cda
[
CTA_NAT_SEQ_ADJ_ORIG
]
||
cda
[
CTA_NAT_SEQ_ADJ_REPLY
])
{
err
=
ctnetlink_change_nat_seq_adj
(
ct
,
cda
);
if
(
err
<
0
)
{
rcu_read_unlock
();
goto
err
;
}
}
#endif
if
(
cda
[
CTA_PROTOINFO
])
{
err
=
ctnetlink_change_protoinfo
(
ct
,
cda
);
if
(
err
<
0
)
{
...
...
@@ -1492,7 +1502,8 @@ static int ctnetlink_expect_event(struct notifier_block *this,
}
else
return
NOTIFY_DONE
;
if
(
!
nfnetlink_has_listeners
(
NFNLGRP_CONNTRACK_EXP_NEW
))
if
(
!
item
->
report
&&
!
nfnetlink_has_listeners
(
NFNLGRP_CONNTRACK_EXP_NEW
))
return
NOTIFY_DONE
;
skb
=
alloc_skb
(
NLMSG_GOODSIZE
,
GFP_ATOMIC
);
...
...
net/netfilter/xt_sctp.c
View file @
0ecc103a
...
...
@@ -105,7 +105,7 @@ match_packet(const struct sk_buff *skb,
switch
(
chunk_match_type
)
{
case
SCTP_CHUNK_MATCH_ALL
:
return
SCTP_CHUNKMAP_IS_CLEAR
(
info
->
chunkmap
);
return
SCTP_CHUNKMAP_IS_CLEAR
(
chunkmapcopy
);
case
SCTP_CHUNK_MATCH_ANY
:
return
false
;
case
SCTP_CHUNK_MATCH_ONLY
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment