Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aed5a833 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'net-2.6-misc-20080605a' of git://git.linux-ipv6.org/gitroot/yoshfuji/linux-2.6-fix

parents a6604471 9596cc82
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -94,6 +94,28 @@ extern void addrconf_join_solict(struct net_device *dev,
extern void			addrconf_leave_solict(struct inet6_dev *idev,
					struct in6_addr *addr);

static inline unsigned long addrconf_timeout_fixup(u32 timeout,
						    unsigned unit)
{
	if (timeout == 0xffffffff)
		return ~0UL;

	/*
	 * Avoid arithmetic overflow.
	 * Assuming unit is constant and non-zero, this "if" statement
	 * will go away on 64bit archs.
	 */
	if (0xfffffffe > LONG_MAX / unit && timeout > LONG_MAX / unit)
		return LONG_MAX / unit;

	return timeout;
}

static inline int addrconf_finite_timeout(unsigned long timeout)
{
	return ~timeout;
}

/*
 *	IPv6 Address Label subsystem (addrlabel.c)
 */
+2 −1
Original line number Diff line number Diff line
@@ -548,7 +548,8 @@ struct sctp_af {
	struct dst_entry *(*get_dst)	(struct sctp_association *asoc,
					 union sctp_addr *daddr,
					 union sctp_addr *saddr);
	void		(*get_saddr)	(struct sctp_association *asoc,
	void		(*get_saddr)	(struct sctp_sock *sk,
					 struct sctp_association *asoc,
					 struct dst_entry *dst,
					 union sctp_addr *daddr,
					 union sctp_addr *saddr);
+2 −1
Original line number Diff line number Diff line
@@ -40,7 +40,8 @@ extern int datagram_recv_ctl(struct sock *sk,
						  struct msghdr *msg,
						  struct sk_buff *skb);

extern int			datagram_send_ctl(struct msghdr *msg,
extern int			datagram_send_ctl(struct net *net,
						  struct msghdr *msg,
						  struct flowi *fl,
						  struct ipv6_txoptions *opt,
						  int *hlimit, int *tclass);
+1 −0
Original line number Diff line number Diff line
@@ -135,6 +135,7 @@ extern void udp_err(struct sk_buff *, u32);

extern int	udp_sendmsg(struct kiocb *iocb, struct sock *sk,
			    struct msghdr *msg, size_t len);
extern void	udp_flush_pending_frames(struct sock *sk);

extern int	udp_rcv(struct sk_buff *skb);
extern int	udp_ioctl(struct sock *sk, int cmd, unsigned long arg);
+1 −1
Original line number Diff line number Diff line
@@ -97,7 +97,7 @@ static int tunnel64_rcv(struct sk_buff *skb)
{
	struct xfrm_tunnel *handler;

	if (!pskb_may_pull(skb, sizeof(struct iphdr)))
	if (!pskb_may_pull(skb, sizeof(struct ipv6hdr)))
		goto drop;

	for (handler = tunnel64_handlers; handler; handler = handler->next)
Loading