Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[LAPB]: Fix windowsize check
[TCP]: Fixes IW > 2 cases when TCP is application limited
[PKT_SCHED] RED: Fix overflow in calculation of queue average
[LLX]: SOCK_DGRAM interface fixes
[PKT_SCHED]: Return ENOENT if qdisc module is unavailable
[BRIDGE]: netlink status fix

+22 -23
+1 -1
include/net/red.h
··· 212 212 * Seems, it is the best solution to 213 213 * problem of too coarse exponent tabulation. 214 214 */ 215 - us_idle = (p->qavg * us_idle) >> p->Scell_log; 215 + us_idle = (p->qavg * (u64)us_idle) >> p->Scell_log; 216 216 217 217 if (us_idle < (p->qavg >> 1)) 218 218 return p->qavg - us_idle;
+1 -1
net/bridge/br_netlink.c
··· 85 85 goto err_out; 86 86 87 87 err = br_fill_ifinfo(skb, port, current->pid, 0, event, 0); 88 - if (err) 88 + if (err < 0) 89 89 goto err_kfree; 90 90 91 91 NETLINK_CB(skb).dst_group = RTNLGRP_LINK;
+2 -1
net/ipv4/tcp_input.c
··· 3541 3541 if (inet_csk(sk)->icsk_ca_state == TCP_CA_Open && 3542 3542 sk->sk_socket && !test_bit(SOCK_NOSPACE, &sk->sk_socket->flags)) { 3543 3543 /* Limited by application or receiver window. */ 3544 - u32 win_used = max(tp->snd_cwnd_used, 2U); 3544 + u32 init_win = tcp_init_cwnd(tp, __sk_dst_get(sk)); 3545 + u32 win_used = max(tp->snd_cwnd_used, init_win); 3545 3546 if (win_used < tp->snd_cwnd) { 3546 3547 tp->snd_ssthresh = tcp_current_ssthresh(sk); 3547 3548 tp->snd_cwnd = (tp->snd_cwnd + win_used) >> 1;
+7 -5
net/lapb/lapb_iface.c
··· 238 238 goto out_put; 239 239 240 240 if (lapb->state == LAPB_STATE_0) { 241 - if (((parms->mode & LAPB_EXTENDED) && 242 - (parms->window < 1 || parms->window > 127)) || 243 - (parms->window < 1 || parms->window > 7)) 244 - goto out_put; 245 - 241 + if (parms->mode & LAPB_EXTENDED) { 242 + if (parms->window < 1 || parms->window > 127) 243 + goto out_put; 244 + } else { 245 + if (parms->window < 1 || parms->window > 7) 246 + goto out_put; 247 + } 246 248 lapb->mode = parms->mode; 247 249 lapb->window = parms->window; 248 250 }
+8 -12
net/llc/af_llc.c
··· 784 784 copied += used; 785 785 len -= used; 786 786 787 - if (used + offset < skb->len) 788 - continue; 789 - 790 787 if (!(flags & MSG_PEEK)) { 791 788 sk_eat_skb(sk, skb, 0); 792 789 *seq = 0; 793 790 } 791 + 792 + /* For non stream protcols we get one packet per recvmsg call */ 793 + if (sk->sk_type != SOCK_STREAM) 794 + goto copy_uaddr; 795 + 796 + /* Partial read */ 797 + if (used + offset < skb->len) 798 + continue; 794 799 } while (len > 0); 795 800 796 - /* 797 - * According to UNIX98, msg_name/msg_namelen are ignored 798 - * on connected socket. -ANK 799 - * But... af_llc still doesn't have separate sets of methods for 800 - * SOCK_DGRAM and SOCK_STREAM :-( So we have to do this test, will 801 - * eventually fix this tho :-) -acme 802 - */ 803 - if (sk->sk_type == SOCK_DGRAM) 804 - goto copy_uaddr; 805 801 out: 806 802 release_sock(sk); 807 803 return copied;
+2 -2
net/llc/llc_sap.c
··· 51 51 { 52 52 struct sockaddr_llc *addr; 53 53 54 - if (skb->sk->sk_type == SOCK_STREAM) /* See UNIX98 */ 55 - return; 56 54 /* save primitive for use by the user. */ 57 55 addr = llc_ui_skb_cb(skb); 56 + 57 + memset(addr, 0, sizeof(*addr)); 58 58 addr->sllc_family = sk->sk_family; 59 59 addr->sllc_arphrd = skb->dev->type; 60 60 addr->sllc_test = prim == LLC_TEST_PRIM;
+1 -1
net/sched/sch_api.c
··· 430 430 } 431 431 #endif 432 432 433 - err = -EINVAL; 433 + err = -ENOENT; 434 434 if (ops == NULL) 435 435 goto err_out; 436 436