diff options
author | Jeff Garzik <jeff@garzik.org> | 2006-09-30 23:45:41 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2006-09-30 23:45:41 -0400 |
commit | 1c7da74c4aab595a994beb5fe728ebf0d0b41f59 (patch) | |
tree | 64128abdf9550ebb51d8f3ee6732d7350b9c62f2 /arch/ia64 | |
parent | aebb1153ac54ddbbd3d3f0481a193f4bf0ead53b (diff) | |
parent | 1bdfd554be94def718323659173517c5d4a69d25 (diff) |
Merge branch 'master' into upstream
Diffstat (limited to 'arch/ia64')
-rw-r--r-- | arch/ia64/hp/sim/simeth.c | 4 | ||||
-rw-r--r-- | arch/ia64/kernel/time.c | 2 | ||||
-rw-r--r-- | arch/ia64/mm/fault.c | 8 |
3 files changed, 8 insertions, 6 deletions
diff --git a/arch/ia64/hp/sim/simeth.c b/arch/ia64/hp/sim/simeth.c index b5195be628..e1a1b11473 100644 --- a/arch/ia64/hp/sim/simeth.c +++ b/arch/ia64/hp/sim/simeth.c | |||
@@ -320,7 +320,7 @@ simeth_device_event(struct notifier_block *this,unsigned long event, void *ptr) | |||
320 | } | 320 | } |
321 | 321 | ||
322 | printk(KERN_INFO "simeth_device_event: %s ipaddr=0x%x\n", | 322 | printk(KERN_INFO "simeth_device_event: %s ipaddr=0x%x\n", |
323 | dev->name, htonl(ifa->ifa_local)); | 323 | dev->name, ntohl(ifa->ifa_local)); |
324 | 324 | ||
325 | /* | 325 | /* |
326 | * XXX Fix me | 326 | * XXX Fix me |
@@ -331,7 +331,7 @@ simeth_device_event(struct notifier_block *this,unsigned long event, void *ptr) | |||
331 | local = dev->priv; | 331 | local = dev->priv; |
332 | /* now do it for real */ | 332 | /* now do it for real */ |
333 | r = event == NETDEV_UP ? | 333 | r = event == NETDEV_UP ? |
334 | netdev_attach(local->simfd, dev->irq, htonl(ifa->ifa_local)): | 334 | netdev_attach(local->simfd, dev->irq, ntohl(ifa->ifa_local)): |
335 | netdev_detach(local->simfd); | 335 | netdev_detach(local->simfd); |
336 | 336 | ||
337 | printk(KERN_INFO "simeth: netdev_attach/detach: event=%s ->%d\n", | 337 | printk(KERN_INFO "simeth: netdev_attach/detach: event=%s ->%d\n", |
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c index 6928ef0d64..16262687a1 100644 --- a/arch/ia64/kernel/time.c +++ b/arch/ia64/kernel/time.c | |||
@@ -78,7 +78,7 @@ timer_interrupt (int irq, void *dev_id, struct pt_regs *regs) | |||
78 | * xtime_lock. | 78 | * xtime_lock. |
79 | */ | 79 | */ |
80 | write_seqlock(&xtime_lock); | 80 | write_seqlock(&xtime_lock); |
81 | do_timer(regs); | 81 | do_timer(1); |
82 | local_cpu_data->itm_next = new_itm; | 82 | local_cpu_data->itm_next = new_itm; |
83 | write_sequnlock(&xtime_lock); | 83 | write_sequnlock(&xtime_lock); |
84 | } else | 84 | } else |
diff --git a/arch/ia64/mm/fault.c b/arch/ia64/mm/fault.c index 14ef7cceb2..59f3ab9376 100644 --- a/arch/ia64/mm/fault.c +++ b/arch/ia64/mm/fault.c | |||
@@ -146,9 +146,11 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re | |||
146 | # error File is out of sync with <linux/mm.h>. Please update. | 146 | # error File is out of sync with <linux/mm.h>. Please update. |
147 | # endif | 147 | # endif |
148 | 148 | ||
149 | if (((isr >> IA64_ISR_R_BIT) & 1UL) && (!(vma->vm_flags & (VM_READ | VM_WRITE)))) | ||
150 | goto bad_area; | ||
151 | |||
149 | mask = ( (((isr >> IA64_ISR_X_BIT) & 1UL) << VM_EXEC_BIT) | 152 | mask = ( (((isr >> IA64_ISR_X_BIT) & 1UL) << VM_EXEC_BIT) |
150 | | (((isr >> IA64_ISR_W_BIT) & 1UL) << VM_WRITE_BIT) | 153 | | (((isr >> IA64_ISR_W_BIT) & 1UL) << VM_WRITE_BIT)); |
151 | | (((isr >> IA64_ISR_R_BIT) & 1UL) << VM_READ_BIT)); | ||
152 | 154 | ||
153 | if ((vma->vm_flags & mask) != mask) | 155 | if ((vma->vm_flags & mask) != mask) |
154 | goto bad_area; | 156 | goto bad_area; |
@@ -278,7 +280,7 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re | |||
278 | 280 | ||
279 | out_of_memory: | 281 | out_of_memory: |
280 | up_read(&mm->mmap_sem); | 282 | up_read(&mm->mmap_sem); |
281 | if (current->pid == 1) { | 283 | if (is_init(current)) { |
282 | yield(); | 284 | yield(); |
283 | down_read(&mm->mmap_sem); | 285 | down_read(&mm->mmap_sem); |
284 | goto survive; | 286 | goto survive; |