# HG changeset patch # User Pascal Bellard # Date 1250520347 -7200 # Node ID 3f839259b89cbfe61d7d660cd6ba1cbe11e0b4e9 # Parent 85c6a353fee082110968e9929a155bfbe4fb093a linux: add hotfix patch diff -r 85c6a353fee0 -r 3f839259b89c linux/receipt --- a/linux/receipt Mon Aug 17 10:04:00 2009 +0000 +++ b/linux/receipt Mon Aug 17 16:45:47 2009 +0200 @@ -36,6 +36,7 @@ $PACKAGE-diff-$VERSION.u $PACKAGE-freeinitrd-$VERSION.u $PACKAGE-unlzma-$VERSION.u +$PACKAGE-hotfix-$VERSION.u EOT make mrproper cp ../stuff/$PACKAGE-$VERSION-slitaz.config .config diff -r 85c6a353fee0 -r 3f839259b89c linux/stuff/linux-hotfix-2.6.30.4.u --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/linux/stuff/linux-hotfix-2.6.30.4.u Mon Aug 17 16:45:47 2009 +0200 @@ -0,0 +1,11 @@ +--- linux-2.6.30.4/net/socket.c ++++ linux-2.6.30.4/net/socket.c +@@ -736,7 +736,7 @@ + if (more) + flags |= MSG_MORE; + +- return sock->ops->sendpage(sock, page, offset, size, flags); ++ return kernel_sendpage(sock, page, offset, size, flags); + } + + static ssize_t sock_splice_read(struct file *file, loff_t *ppos, diff -r 85c6a353fee0 -r 3f839259b89c linux/stuff/linux-unlzma-2.6.30.4.u --- a/linux/stuff/linux-unlzma-2.6.30.4.u Mon Aug 17 10:04:00 2009 +0000 +++ b/linux/stuff/linux-unlzma-2.6.30.4.u Mon Aug 17 16:45:47 2009 +0200 @@ -130,7 +130,15 @@ if (rc_is_bit_0(rc, prob)) { rc_update_bit_0(rc, prob); distance = cst->rep2; -@@ -451,7 +489,7 @@ +@@ -444,24 +482,24 @@ + prob_len = prob + LZMA_LEN_CHOICE; + if (rc_is_bit_0(rc, prob_len)) { + rc_update_bit_0(rc, prob_len); +- prob_len = (prob + LZMA_LEN_LOW ++ prob_len += LZMA_LEN_LOW - LZMA_LEN_CHOICE + + (pos_state << + LZMA_LEN_NUM_LOW_BITS)); + offset = 0; num_bits = LZMA_LEN_NUM_LOW_BITS; } else { rc_update_bit_1(rc, prob_len); @@ -138,8 +146,11 @@ + prob_len += LZMA_LEN_CHOICE_2 - LZMA_LEN_CHOICE; if (rc_is_bit_0(rc, prob_len)) { rc_update_bit_0(rc, prob_len); - prob_len = (prob + LZMA_LEN_MID -@@ -461,7 +499,7 @@ +- prob_len = (prob + LZMA_LEN_MID ++ prob_len += LZMA_LEN_MID - LZMA_LEN_CHOICE_2 + + (pos_state << + LZMA_LEN_NUM_MID_BITS)); + offset = 1 << LZMA_LEN_NUM_LOW_BITS; num_bits = LZMA_LEN_NUM_MID_BITS; } else { rc_update_bit_1(rc, prob_len); @@ -167,7 +178,7 @@ rc_init(&rc, fill, inbuf, in_len); -@@ -596,13 +639,13 @@ +@@ -596,23 +639,23 @@ if (header.dict_size == 0) header.dict_size = 1; @@ -183,8 +194,11 @@ goto exit_1; num_probs = LZMA_BASE_SIZE + (LZMA_LIT_SIZE << (lc + lp)); -@@ -612,7 +655,7 @@ - num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp)); + p = (uint16_t *) large_malloc(num_probs * sizeof(*p)); + if (p == 0) + goto exit_2; +- num_probs = LZMA_LITERAL + (LZMA_LIT_SIZE << (lc + lp)); ++ num_probs += LZMA_LITERAL - LZMA_BASE_SIZE; for (i = 0; i < num_probs; i++) p[i] = (1 << RC_MODEL_TOTAL_BITS) >> 1; -