Commit 1bad998a authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman

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

parents c46f4774 3ffaa8c7
...@@ -111,15 +111,14 @@ static int subpattern(u8 *pattern, int i, int j, int g) ...@@ -111,15 +111,14 @@ static int subpattern(u8 *pattern, int i, int j, int g)
return ret; return ret;
} }
static void compute_prefix_tbl(struct ts_bm *bm, const u8 *pattern, static void compute_prefix_tbl(struct ts_bm *bm)
unsigned int len)
{ {
int i, j, g; int i, j, g;
for (i = 0; i < ASIZE; i++) for (i = 0; i < ASIZE; i++)
bm->bad_shift[i] = len; bm->bad_shift[i] = bm->patlen;
for (i = 0; i < len - 1; i++) for (i = 0; i < bm->patlen - 1; i++)
bm->bad_shift[pattern[i]] = len - 1 - i; bm->bad_shift[bm->pattern[i]] = bm->patlen - 1 - i;
/* Compute the good shift array, used to match reocurrences /* Compute the good shift array, used to match reocurrences
* of a subpattern */ * of a subpattern */
...@@ -150,8 +149,8 @@ static struct ts_config *bm_init(const void *pattern, unsigned int len, ...@@ -150,8 +149,8 @@ static struct ts_config *bm_init(const void *pattern, unsigned int len,
bm = ts_config_priv(conf); bm = ts_config_priv(conf);
bm->patlen = len; bm->patlen = len;
bm->pattern = (u8 *) bm->good_shift + prefix_tbl_len; bm->pattern = (u8 *) bm->good_shift + prefix_tbl_len;
compute_prefix_tbl(bm, pattern, len);
memcpy(bm->pattern, pattern, len); memcpy(bm->pattern, pattern, len);
compute_prefix_tbl(bm);
return conf; return conf;
} }
......
...@@ -236,7 +236,7 @@ unsigned int arpt_do_table(struct sk_buff **pskb, ...@@ -236,7 +236,7 @@ unsigned int arpt_do_table(struct sk_buff **pskb,
struct arpt_entry *e, *back; struct arpt_entry *e, *back;
const char *indev, *outdev; const char *indev, *outdev;
void *table_base; void *table_base;
struct xt_table_info *private = table->private; struct xt_table_info *private;
/* ARP header, plus 2 device addresses, plus 2 IP addresses. */ /* ARP header, plus 2 device addresses, plus 2 IP addresses. */
if (!pskb_may_pull((*pskb), (sizeof(struct arphdr) + if (!pskb_may_pull((*pskb), (sizeof(struct arphdr) +
...@@ -248,6 +248,7 @@ unsigned int arpt_do_table(struct sk_buff **pskb, ...@@ -248,6 +248,7 @@ unsigned int arpt_do_table(struct sk_buff **pskb,
outdev = out ? out->name : nulldevname; outdev = out ? out->name : nulldevname;
read_lock_bh(&table->lock); read_lock_bh(&table->lock);
private = table->private;
table_base = (void *)private->entries[smp_processor_id()]; table_base = (void *)private->entries[smp_processor_id()];
e = get_entry(table_base, private->hook_entry[hook]); e = get_entry(table_base, private->hook_entry[hook]);
back = get_entry(table_base, private->underflow[hook]); back = get_entry(table_base, private->underflow[hook]);
......
...@@ -201,6 +201,7 @@ void tcp_select_initial_window(int __space, __u32 mss, ...@@ -201,6 +201,7 @@ void tcp_select_initial_window(int __space, __u32 mss,
* See RFC1323 for an explanation of the limit to 14 * See RFC1323 for an explanation of the limit to 14
*/ */
space = max_t(u32, sysctl_tcp_rmem[2], sysctl_rmem_max); space = max_t(u32, sysctl_tcp_rmem[2], sysctl_rmem_max);
space = min_t(u32, space, *window_clamp);
while (space > 65535 && (*rcv_wscale) < 14) { while (space > 65535 && (*rcv_wscale) < 14) {
space >>= 1; space >>= 1;
(*rcv_wscale)++; (*rcv_wscale)++;
......
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