Annotation of /trunk/kernel26-alx/patches-2.6.27-r3/0133-2.6.27.34-all-fixes.patch
Parent Directory | Revision Log
Revision 1176 -
(hide 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 | niro | 1176 | 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); |