Contents of /trunk/kernel26-alx/patches-2.6.27-r3/0133-2.6.27.34-all-fixes.patch
Parent Directory | Revision Log
Revision 1176 -
(show annotations)
(download)
Thu Oct 14 15:11:06 2010 UTC (13 years, 11 months ago) by niro
File size: 2107 byte(s)
Thu Oct 14 15:11:06 2010 UTC (13 years, 11 months ago) by niro
File size: 2107 byte(s)
-2.6.27-alx-r3: new magellan 0.5.2 kernel
1 | diff --git a/drivers/net/e100.c b/drivers/net/e100.c |
2 | index d991167..c68c57b 100644 |
3 | --- a/drivers/net/e100.c |
4 | +++ b/drivers/net/e100.c |
5 | @@ -1842,7 +1842,7 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx, |
6 | nic->ru_running = RU_SUSPENDED; |
7 | pci_dma_sync_single_for_device(nic->pdev, rx->dma_addr, |
8 | sizeof(struct rfd), |
9 | - PCI_DMA_BIDIRECTIONAL); |
10 | + PCI_DMA_FROMDEVICE); |
11 | return -ENODATA; |
12 | } |
13 | |
14 | diff --git a/fs/jffs2/wbuf.c b/fs/jffs2/wbuf.c |
15 | index 0e78b00..4d89e5f 100644 |
16 | --- a/fs/jffs2/wbuf.c |
17 | +++ b/fs/jffs2/wbuf.c |
18 | @@ -1271,10 +1271,20 @@ int jffs2_nor_wbuf_flash_setup(struct jffs2_sb_info *c) { |
19 | if (!c->wbuf) |
20 | return -ENOMEM; |
21 | |
22 | +#ifdef CONFIG_JFFS2_FS_WBUF_VERIFY |
23 | + c->wbuf_verify = kmalloc(c->wbuf_pagesize, GFP_KERNEL); |
24 | + if (!c->wbuf_verify) { |
25 | + kfree(c->wbuf); |
26 | + return -ENOMEM; |
27 | + } |
28 | +#endif |
29 | return 0; |
30 | } |
31 | |
32 | void jffs2_nor_wbuf_flash_cleanup(struct jffs2_sb_info *c) { |
33 | +#ifdef CONFIG_JFFS2_FS_WBUF_VERIFY |
34 | + kfree(c->wbuf_verify); |
35 | +#endif |
36 | kfree(c->wbuf); |
37 | } |
38 | |
39 | diff --git a/mm/slub.c b/mm/slub.c |
40 | index f0175b4..cbf856b 100644 |
41 | --- a/mm/slub.c |
42 | +++ b/mm/slub.c |
43 | @@ -2447,8 +2447,6 @@ static inline int kmem_cache_close(struct kmem_cache *s) |
44 | */ |
45 | void kmem_cache_destroy(struct kmem_cache *s) |
46 | { |
47 | - if (s->flags & SLAB_DESTROY_BY_RCU) |
48 | - rcu_barrier(); |
49 | down_write(&slub_lock); |
50 | s->refcount--; |
51 | if (!s->refcount) { |
52 | @@ -2459,6 +2457,8 @@ void kmem_cache_destroy(struct kmem_cache *s) |
53 | "still has objects.\n", s->name, __func__); |
54 | dump_stack(); |
55 | } |
56 | + if (s->flags & SLAB_DESTROY_BY_RCU) |
57 | + rcu_barrier(); |
58 | sysfs_slab_remove(s); |
59 | } else |
60 | up_write(&slub_lock); |
61 | diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c |
62 | index 7c52fe2..656f6fb 100644 |
63 | --- a/net/core/net_namespace.c |
64 | +++ b/net/core/net_namespace.c |
65 | @@ -446,7 +446,7 @@ int net_assign_generic(struct net *net, int id, void *data) |
66 | |
67 | ng->len = id; |
68 | INIT_RCU_HEAD(&ng->rcu); |
69 | - memcpy(&ng->ptr, &old_ng->ptr, old_ng->len); |
70 | + memcpy(&ng->ptr, &old_ng->ptr, old_ng->len * sizeof(void*)); |
71 | |
72 | rcu_assign_pointer(net->gen, ng); |
73 | call_rcu(&old_ng->rcu, net_generic_release); |