Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 6229
b: refs/heads/master
c: b0573de
h: refs/heads/master
i:
  6227: 63630b4
v: v3
  • Loading branch information
Patrick McHardy authored and David S. Miller committed Aug 29, 2005
1 parent 6be252e commit 3514ddb
Show file tree
Hide file tree
Showing 23 changed files with 59 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f9e815b376dc19e6afc551cd755ac64e9e42d81f
refs/heads/master: b0573dea1fb32ebc72ffa05980fd840df1d80860
2 changes: 2 additions & 0 deletions trunk/include/asm-alpha/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
#define SO_ERROR 0x1007
#define SO_SNDBUF 0x1001
#define SO_RCVBUF 0x1002
#define SO_SNDBUFFORCE 0x100a
#define SO_RCVBUFFORCE 0x100b
#define SO_RCVLOWAT 0x1010
#define SO_SNDLOWAT 0x1011
#define SO_RCVTIMEO 0x1012
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-arm/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-arm26/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-cris/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-frv/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-h8300/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-i386/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-ia64/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-m32r/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-m68k/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-mips/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ To add: #define SO_REUSEPORT 0x0200 /* Allow local address and port reuse. */
#define SO_ERROR 0x1007 /* get error status and clear */
#define SO_SNDBUF 0x1001 /* Send buffer size. */
#define SO_RCVBUF 0x1002 /* Receive buffer. */
#define SO_SNDBUFFORCE 0x100a
#define SO_RCVBUFFORCE 0x100b
#define SO_SNDLOWAT 0x1003 /* send low-water mark */
#define SO_RCVLOWAT 0x1004 /* receive low-water mark */
#define SO_SNDTIMEO 0x1005 /* send timeout */
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-parisc/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
/* To add :#define SO_REUSEPORT 0x0200 */
#define SO_SNDBUF 0x1001
#define SO_RCVBUF 0x1002
#define SO_SNDBUFFORCE 0x100a
#define SO_RCVBUFFORCE 0x100b
#define SO_SNDLOWAT 0x1003
#define SO_RCVLOWAT 0x1004
#define SO_SNDTIMEO 0x1005
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-ppc/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-ppc64/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-s390/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-sh/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_RCVBUFFORCE 32
#define SO_SNDBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-sparc/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@

#define SO_SNDBUF 0x1001
#define SO_RCVBUF 0x1002
#define SO_SNDBUFFORCE 0x100a
#define SO_RCVBUFFORCE 0x100b
#define SO_ERROR 0x1007
#define SO_TYPE 0x1008

Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-sparc64/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@

#define SO_SNDBUF 0x1001
#define SO_RCVBUF 0x1002
#define SO_SNDBUFFORCE 0x100a
#define SO_RCVBUFFORCE 0x100b
#define SO_ERROR 0x1007
#define SO_TYPE 0x1008

Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-v850/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-x86_64/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
2 changes: 2 additions & 0 deletions trunk/include/asm-xtensa/socket.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
#define SO_BROADCAST 6
#define SO_SNDBUF 7
#define SO_RCVBUF 8
#define SO_SNDBUFFORCE 32
#define SO_RCVBUFFORCE 33
#define SO_KEEPALIVE 9
#define SO_OOBINLINE 10
#define SO_NO_CHECK 11
Expand Down
18 changes: 16 additions & 2 deletions trunk/net/core/sock.c
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ int sock_setsockopt(struct socket *sock, int level, int optname,

if (val > sysctl_wmem_max)
val = sysctl_wmem_max;

set_sndbuf:
sk->sk_userlocks |= SOCK_SNDBUF_LOCK;
if ((val * 2) < SOCK_MIN_SNDBUF)
sk->sk_sndbuf = SOCK_MIN_SNDBUF;
Expand All @@ -274,6 +274,13 @@ int sock_setsockopt(struct socket *sock, int level, int optname,
sk->sk_write_space(sk);
break;

case SO_SNDBUFFORCE:
if (!capable(CAP_NET_ADMIN)) {
ret = -EPERM;
break;
}
goto set_sndbuf;

case SO_RCVBUF:
/* Don't error on this BSD doesn't and if you think
about it this is right. Otherwise apps have to
Expand All @@ -282,7 +289,7 @@ int sock_setsockopt(struct socket *sock, int level, int optname,

if (val > sysctl_rmem_max)
val = sysctl_rmem_max;

set_rcvbuf:
sk->sk_userlocks |= SOCK_RCVBUF_LOCK;
/* FIXME: is this lower bound the right one? */
if ((val * 2) < SOCK_MIN_RCVBUF)
Expand All @@ -291,6 +298,13 @@ int sock_setsockopt(struct socket *sock, int level, int optname,
sk->sk_rcvbuf = val * 2;
break;

case SO_RCVBUFFORCE:
if (!capable(CAP_NET_ADMIN)) {
ret = -EPERM;
break;
}
goto set_rcvbuf;

case SO_KEEPALIVE:
#ifdef CONFIG_INET
if (sk->sk_protocol == IPPROTO_TCP)
Expand Down

0 comments on commit 3514ddb

Please sign in to comment.