Commit f4a818e0 authored by Linus Torvalds's avatar Linus Torvalds
Browse files

Import 1.1.55

parent 057f54fb
......@@ -289,6 +289,7 @@ extern void stop_tty(struct tty_struct * tty);
extern void start_tty(struct tty_struct * tty);
extern int tty_register_ldisc(int disc, struct tty_ldisc *new_ldisc);
extern int tty_register_driver(struct tty_driver *driver);
extern int tty_unregister_driver(struct tty_driver *driver);
extern int tty_read_raw_data(struct tty_struct *tty, unsigned char *bufp,
int buflen);
......
......@@ -25,6 +25,7 @@
#include <linux/module.h>
#include <linux/termios.h>
#include <linux/tqueue.h>
#include <linux/tty.h>
#include <linux/serial.h>
#ifdef CONFIG_INET
#include <linux/netdevice.h>
......@@ -91,6 +92,9 @@ struct symbol_table symbol_table = { 0, 0, 0, /* for stacked module support */
X(unregister_chrdev),
X(register_blkdev),
X(unregister_blkdev),
X(tty_register_driver),
X(tty_unregister_driver),
X(tty_std_termios),
/* block device driver support */
X(block_read),
......
......@@ -83,6 +83,7 @@
* Matt Dillon : Yet more small nasties remove from the TCP code
* (Be very nice to this man if tcp finally works 100%) 8)
* Alan Cox : BSD accept semantics.
* Peter De Schrijver : ENOTCONN check missing in tcp_sendto().
*
*
* To Fix:
......@@ -1221,15 +1222,17 @@ static int tcp_sendto(struct sock *sk, unsigned char *from,
{
if (flags & ~(MSG_OOB|MSG_DONTROUTE))
return -EINVAL;
if (addr_len < sizeof(*addr))
return(-EINVAL);
if (!tcp_connected(sk->state))
return -ENOTCONN;
if (addr_len < sizeof(*addr))
return -EINVAL;
if (addr->sin_family && addr->sin_family != AF_INET)
return(-EINVAL);
return -EINVAL;
if (addr->sin_port != sk->dummy_th.dest)
return(-EISCONN);
return -EISCONN;
if (addr->sin_addr.s_addr != sk->daddr)
return(-EISCONN);
return(tcp_write(sk, from, len, nonblock, flags));
return -EISCONN;
return tcp_write(sk, from, len, nonblock, flags);
}
......@@ -2238,7 +2241,7 @@ static void tcp_close(struct sock *sk, int timeout)
/* The +1 is not needed because the FIN takes up seq
is not read!!! */
if(skb->len > 0 && after(skb->h.th->seq + skb->len , sk->copied_seq))
need_reset = 1;
need_reset = 0;
kfree_skb(skb, FREE_READ);
}
if(sk->debug)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment