Magellan Linux

Contents of /trunk/kernel26-alx/patches-2.6.27-r3/0133-2.6.27.34-all-fixes.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1176 - (show annotations) (download)
Thu Oct 14 15:11:06 2010 UTC (13 years, 6 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);