aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2013-04-29 22:47:50 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2013-04-29 22:47:50 -0400
commit56847d857cb0c3ee78c22ce776a26f88d9ffd4d4 (patch)
treea85bcf204a53e45d26f6a3984f16ddd525eef3e7 /net
parent191a712090bb8a10e6f129360eeed2d68f3d4c9a (diff)
parent8d564368a9a3197f43e56dadf4a18c5738849f94 (diff)
Merge branch 'akpm' (incoming from Andrew)
Merge second batch of fixes from Andrew Morton: - various misc bits - some printk updates - a new "SRAM" driver. - MAINTAINERS updates - the backlight driver queue - checkpatch updates - a few init/ changes - a huge number of drivers/rtc changes - fatfs updates - some lib/idr.c work - some renaming of the random driver interfaces * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (285 commits) net: rename random32 to prandom net/core: remove duplicate statements by do-while loop net/core: rename random32() to prandom_u32() net/netfilter: rename random32() to prandom_u32() net/sched: rename random32() to prandom_u32() net/sunrpc: rename random32() to prandom_u32() scsi: rename random32() to prandom_u32() lguest: rename random32() to prandom_u32() uwb: rename random32() to prandom_u32() video/uvesafb: rename random32() to prandom_u32() mmc: rename random32() to prandom_u32() drbd: rename random32() to prandom_u32() kernel/: rename random32() to prandom_u32() mm/: rename random32() to prandom_u32() lib/: rename random32() to prandom_u32() x86: rename random32() to prandom_u32() x86: pageattr-test: remove srandom32 call uuid: use prandom_bytes() raid6test: use prandom_bytes() sctp: convert sctp_assoc_set_id() to use idr_alloc_cyclic() ...
Diffstat (limited to 'net')
-rw-r--r--net/core/pktgen.c42
-rw-r--r--net/netfilter/nf_conntrack_core.c4
-rw-r--r--net/sched/sch_choke.c2
-rw-r--r--net/sctp/associola.c16
-rw-r--r--net/sunrpc/auth_gss/gss_krb5_wrap.c4
-rw-r--r--net/sunrpc/cache.c1
6 files changed, 27 insertions, 42 deletions
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 6048fc1da1c2..5c217427a669 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -2198,7 +2198,7 @@ static inline int f_pick(struct pktgen_dev *pkt_dev)
2198 pkt_dev->curfl = 0; /*reset */ 2198 pkt_dev->curfl = 0; /*reset */
2199 } 2199 }
2200 } else { 2200 } else {
2201 flow = random32() % pkt_dev->cflows; 2201 flow = prandom_u32() % pkt_dev->cflows;
2202 pkt_dev->curfl = flow; 2202 pkt_dev->curfl = flow;
2203 2203
2204 if (pkt_dev->flows[flow].count > pkt_dev->lflow) { 2204 if (pkt_dev->flows[flow].count > pkt_dev->lflow) {
@@ -2246,7 +2246,7 @@ static void set_cur_queue_map(struct pktgen_dev *pkt_dev)
2246 else if (pkt_dev->queue_map_min <= pkt_dev->queue_map_max) { 2246 else if (pkt_dev->queue_map_min <= pkt_dev->queue_map_max) {
2247 __u16 t; 2247 __u16 t;
2248 if (pkt_dev->flags & F_QUEUE_MAP_RND) { 2248 if (pkt_dev->flags & F_QUEUE_MAP_RND) {
2249 t = random32() % 2249 t = prandom_u32() %
2250 (pkt_dev->queue_map_max - 2250 (pkt_dev->queue_map_max -
2251 pkt_dev->queue_map_min + 1) 2251 pkt_dev->queue_map_min + 1)
2252 + pkt_dev->queue_map_min; 2252 + pkt_dev->queue_map_min;
@@ -2278,7 +2278,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
2278 __u32 tmp; 2278 __u32 tmp;
2279 2279
2280 if (pkt_dev->flags & F_MACSRC_RND) 2280 if (pkt_dev->flags & F_MACSRC_RND)
2281 mc = random32() % pkt_dev->src_mac_count; 2281 mc = prandom_u32() % pkt_dev->src_mac_count;
2282 else { 2282 else {
2283 mc = pkt_dev->cur_src_mac_offset++; 2283 mc = pkt_dev->cur_src_mac_offset++;
2284 if (pkt_dev->cur_src_mac_offset >= 2284 if (pkt_dev->cur_src_mac_offset >=
@@ -2304,7 +2304,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
2304 __u32 tmp; 2304 __u32 tmp;
2305 2305
2306 if (pkt_dev->flags & F_MACDST_RND) 2306 if (pkt_dev->flags & F_MACDST_RND)
2307 mc = random32() % pkt_dev->dst_mac_count; 2307 mc = prandom_u32() % pkt_dev->dst_mac_count;
2308 2308
2309 else { 2309 else {
2310 mc = pkt_dev->cur_dst_mac_offset++; 2310 mc = pkt_dev->cur_dst_mac_offset++;
@@ -2331,21 +2331,21 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
2331 for (i = 0; i < pkt_dev->nr_labels; i++) 2331 for (i = 0; i < pkt_dev->nr_labels; i++)
2332 if (pkt_dev->labels[i] & MPLS_STACK_BOTTOM) 2332 if (pkt_dev->labels[i] & MPLS_STACK_BOTTOM)
2333 pkt_dev->labels[i] = MPLS_STACK_BOTTOM | 2333 pkt_dev->labels[i] = MPLS_STACK_BOTTOM |
2334 ((__force __be32)random32() & 2334 ((__force __be32)prandom_u32() &
2335 htonl(0x000fffff)); 2335 htonl(0x000fffff));
2336 } 2336 }
2337 2337
2338 if ((pkt_dev->flags & F_VID_RND) && (pkt_dev->vlan_id != 0xffff)) { 2338 if ((pkt_dev->flags & F_VID_RND) && (pkt_dev->vlan_id != 0xffff)) {
2339 pkt_dev->vlan_id = random32() & (4096-1); 2339 pkt_dev->vlan_id = prandom_u32() & (4096 - 1);
2340 } 2340 }
2341 2341
2342 if ((pkt_dev->flags & F_SVID_RND) && (pkt_dev->svlan_id != 0xffff)) { 2342 if ((pkt_dev->flags & F_SVID_RND) && (pkt_dev->svlan_id != 0xffff)) {
2343 pkt_dev->svlan_id = random32() & (4096 - 1); 2343 pkt_dev->svlan_id = prandom_u32() & (4096 - 1);
2344 } 2344 }
2345 2345
2346 if (pkt_dev->udp_src_min < pkt_dev->udp_src_max) { 2346 if (pkt_dev->udp_src_min < pkt_dev->udp_src_max) {
2347 if (pkt_dev->flags & F_UDPSRC_RND) 2347 if (pkt_dev->flags & F_UDPSRC_RND)
2348 pkt_dev->cur_udp_src = random32() % 2348 pkt_dev->cur_udp_src = prandom_u32() %
2349 (pkt_dev->udp_src_max - pkt_dev->udp_src_min) 2349 (pkt_dev->udp_src_max - pkt_dev->udp_src_min)
2350 + pkt_dev->udp_src_min; 2350 + pkt_dev->udp_src_min;
2351 2351
@@ -2358,7 +2358,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
2358 2358
2359 if (pkt_dev->udp_dst_min < pkt_dev->udp_dst_max) { 2359 if (pkt_dev->udp_dst_min < pkt_dev->udp_dst_max) {
2360 if (pkt_dev->flags & F_UDPDST_RND) { 2360 if (pkt_dev->flags & F_UDPDST_RND) {
2361 pkt_dev->cur_udp_dst = random32() % 2361 pkt_dev->cur_udp_dst = prandom_u32() %
2362 (pkt_dev->udp_dst_max - pkt_dev->udp_dst_min) 2362 (pkt_dev->udp_dst_max - pkt_dev->udp_dst_min)
2363 + pkt_dev->udp_dst_min; 2363 + pkt_dev->udp_dst_min;
2364 } else { 2364 } else {
@@ -2375,7 +2375,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
2375 if (imn < imx) { 2375 if (imn < imx) {
2376 __u32 t; 2376 __u32 t;
2377 if (pkt_dev->flags & F_IPSRC_RND) 2377 if (pkt_dev->flags & F_IPSRC_RND)
2378 t = random32() % (imx - imn) + imn; 2378 t = prandom_u32() % (imx - imn) + imn;
2379 else { 2379 else {
2380 t = ntohl(pkt_dev->cur_saddr); 2380 t = ntohl(pkt_dev->cur_saddr);
2381 t++; 2381 t++;
@@ -2396,17 +2396,15 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
2396 __be32 s; 2396 __be32 s;
2397 if (pkt_dev->flags & F_IPDST_RND) { 2397 if (pkt_dev->flags & F_IPDST_RND) {
2398 2398
2399 t = random32() % (imx - imn) + imn; 2399 do {
2400 s = htonl(t); 2400 t = prandom_u32() %
2401 2401 (imx - imn) + imn;
2402 while (ipv4_is_loopback(s) ||
2403 ipv4_is_multicast(s) ||
2404 ipv4_is_lbcast(s) ||
2405 ipv4_is_zeronet(s) ||
2406 ipv4_is_local_multicast(s)) {
2407 t = random32() % (imx - imn) + imn;
2408 s = htonl(t); 2402 s = htonl(t);
2409 } 2403 } while (ipv4_is_loopback(s) ||
2404 ipv4_is_multicast(s) ||
2405 ipv4_is_lbcast(s) ||
2406 ipv4_is_zeronet(s) ||
2407 ipv4_is_local_multicast(s));
2410 pkt_dev->cur_daddr = s; 2408 pkt_dev->cur_daddr = s;
2411 } else { 2409 } else {
2412 t = ntohl(pkt_dev->cur_daddr); 2410 t = ntohl(pkt_dev->cur_daddr);
@@ -2437,7 +2435,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
2437 2435
2438 for (i = 0; i < 4; i++) { 2436 for (i = 0; i < 4; i++) {
2439 pkt_dev->cur_in6_daddr.s6_addr32[i] = 2437 pkt_dev->cur_in6_daddr.s6_addr32[i] =
2440 (((__force __be32)random32() | 2438 (((__force __be32)prandom_u32() |
2441 pkt_dev->min_in6_daddr.s6_addr32[i]) & 2439 pkt_dev->min_in6_daddr.s6_addr32[i]) &
2442 pkt_dev->max_in6_daddr.s6_addr32[i]); 2440 pkt_dev->max_in6_daddr.s6_addr32[i]);
2443 } 2441 }
@@ -2447,7 +2445,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev)
2447 if (pkt_dev->min_pkt_size < pkt_dev->max_pkt_size) { 2445 if (pkt_dev->min_pkt_size < pkt_dev->max_pkt_size) {
2448 __u32 t; 2446 __u32 t;
2449 if (pkt_dev->flags & F_TXSIZE_RND) { 2447 if (pkt_dev->flags & F_TXSIZE_RND) {
2450 t = random32() % 2448 t = prandom_u32() %
2451 (pkt_dev->max_pkt_size - pkt_dev->min_pkt_size) 2449 (pkt_dev->max_pkt_size - pkt_dev->min_pkt_size)
2452 + pkt_dev->min_pkt_size; 2450 + pkt_dev->min_pkt_size;
2453 } else { 2451 } else {
diff --git a/net/netfilter/nf_conntrack_core.c b/net/netfilter/nf_conntrack_core.c
index c8e001a9c45b..f84965af4a4e 100644
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -264,7 +264,7 @@ static void death_by_event(unsigned long ul_conntrack)
264 if (nf_conntrack_event(IPCT_DESTROY, ct) < 0) { 264 if (nf_conntrack_event(IPCT_DESTROY, ct) < 0) {
265 /* bad luck, let's retry again */ 265 /* bad luck, let's retry again */
266 ecache->timeout.expires = jiffies + 266 ecache->timeout.expires = jiffies +
267 (random32() % net->ct.sysctl_events_retry_timeout); 267 (prandom_u32() % net->ct.sysctl_events_retry_timeout);
268 add_timer(&ecache->timeout); 268 add_timer(&ecache->timeout);
269 return; 269 return;
270 } 270 }
@@ -283,7 +283,7 @@ void nf_ct_dying_timeout(struct nf_conn *ct)
283 /* set a new timer to retry event delivery */ 283 /* set a new timer to retry event delivery */
284 setup_timer(&ecache->timeout, death_by_event, (unsigned long)ct); 284 setup_timer(&ecache->timeout, death_by_event, (unsigned long)ct);
285 ecache->timeout.expires = jiffies + 285 ecache->timeout.expires = jiffies +
286 (random32() % net->ct.sysctl_events_retry_timeout); 286 (prandom_u32() % net->ct.sysctl_events_retry_timeout);
287 add_timer(&ecache->timeout); 287 add_timer(&ecache->timeout);
288} 288}
289EXPORT_SYMBOL_GPL(nf_ct_dying_timeout); 289EXPORT_SYMBOL_GPL(nf_ct_dying_timeout);
diff --git a/net/sched/sch_choke.c b/net/sched/sch_choke.c
index cc37dd52ecf9..ef53ab8d0aae 100644
--- a/net/sched/sch_choke.c
+++ b/net/sched/sch_choke.c
@@ -80,7 +80,7 @@ struct choke_sched_data {
80/* deliver a random number between 0 and N - 1 */ 80/* deliver a random number between 0 and N - 1 */
81static u32 random_N(unsigned int N) 81static u32 random_N(unsigned int N)
82{ 82{
83 return reciprocal_divide(random32(), N); 83 return reciprocal_divide(prandom_u32(), N);
84} 84}
85 85
86/* number of elements in queue including holes */ 86/* number of elements in queue including holes */
diff --git a/net/sctp/associola.c b/net/sctp/associola.c
index d2709e2b7be6..fa261a3594c2 100644
--- a/net/sctp/associola.c
+++ b/net/sctp/associola.c
@@ -66,13 +66,6 @@ static void sctp_assoc_bh_rcv(struct work_struct *work);
66static void sctp_assoc_free_asconf_acks(struct sctp_association *asoc); 66static void sctp_assoc_free_asconf_acks(struct sctp_association *asoc);
67static void sctp_assoc_free_asconf_queue(struct sctp_association *asoc); 67static void sctp_assoc_free_asconf_queue(struct sctp_association *asoc);
68 68
69/* Keep track of the new idr low so that we don't re-use association id
70 * numbers too fast. It is protected by they idr spin lock is in the
71 * range of 1 - INT_MAX.
72 */
73static u32 idr_low = 1;
74
75
76/* 1st Level Abstractions. */ 69/* 1st Level Abstractions. */
77 70
78/* Initialize a new association from provided memory. */ 71/* Initialize a new association from provided memory. */
@@ -1601,13 +1594,8 @@ int sctp_assoc_set_id(struct sctp_association *asoc, gfp_t gfp)
1601 if (preload) 1594 if (preload)
1602 idr_preload(gfp); 1595 idr_preload(gfp);
1603 spin_lock_bh(&sctp_assocs_id_lock); 1596 spin_lock_bh(&sctp_assocs_id_lock);
1604 /* 0 is not a valid id, idr_low is always >= 1 */ 1597 /* 0 is not a valid assoc_id, must be >= 1 */
1605 ret = idr_alloc(&sctp_assocs_id, asoc, idr_low, 0, GFP_NOWAIT); 1598 ret = idr_alloc_cyclic(&sctp_assocs_id, asoc, 1, 0, GFP_NOWAIT);
1606 if (ret >= 0) {
1607 idr_low = ret + 1;
1608 if (idr_low == INT_MAX)
1609 idr_low = 1;
1610 }
1611 spin_unlock_bh(&sctp_assocs_id_lock); 1599 spin_unlock_bh(&sctp_assocs_id_lock);
1612 if (preload) 1600 if (preload)
1613 idr_preload_end(); 1601 idr_preload_end();
diff --git a/net/sunrpc/auth_gss/gss_krb5_wrap.c b/net/sunrpc/auth_gss/gss_krb5_wrap.c
index 88edec929d73..1da52d1406fc 100644
--- a/net/sunrpc/auth_gss/gss_krb5_wrap.c
+++ b/net/sunrpc/auth_gss/gss_krb5_wrap.c
@@ -130,8 +130,8 @@ gss_krb5_make_confounder(char *p, u32 conflen)
130 130
131 /* initialize to random value */ 131 /* initialize to random value */
132 if (i == 0) { 132 if (i == 0) {
133 i = random32(); 133 i = prandom_u32();
134 i = (i << 32) | random32(); 134 i = (i << 32) | prandom_u32();
135 } 135 }
136 136
137 switch (conflen) { 137 switch (conflen) {
diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c
index 25d58e766014..ce2d180d05a4 100644
--- a/net/sunrpc/cache.c
+++ b/net/sunrpc/cache.c
@@ -1208,7 +1208,6 @@ EXPORT_SYMBOL_GPL(sunrpc_cache_pipe_upcall);
1208 * key and content are both parsed by cache 1208 * key and content are both parsed by cache
1209 */ 1209 */
1210 1210
1211#define isodigit(c) (isdigit(c) && c <= '7')
1212int qword_get(char **bpp, char *dest, int bufsize) 1211int qword_get(char **bpp, char *dest, int bufsize)
1213{ 1212{
1214 /* return bytes copied, or -1 on error */ 1213 /* return bytes copied, or -1 on error */