Lennert Buytenhek
06c67befee
[PATCH] make valid_mmap_phys_addr_range() take a pfn
...
Newer ARMs have a 40 bit physical address space, but mapping physical
memory above 4G needs a special page table format which we (currently?) do
not use for userspace mappings, so what happens instead is that mapping an
address >= 4G will happily discard the upper bits and wrap.
There is a valid_mmap_phys_addr_range() arch hook where we could check for
>= 4G addresses and deny the mapping, but this hook takes an unsigned long
address:
static inline int valid_mmap_phys_addr_range(unsigned long addr, size_t size);
And drivers/char/mem.c:mmap_mem() calls it like this:
static int mmap_mem(struct file * file, struct vm_area_struct * vma)
{
size_t size = vma->vm_end - vma->vm_start;
if (!valid_mmap_phys_addr_range(vma->vm_pgoff << PAGE_SHIFT, size))
So that's not much help either.
This patch makes the hook take a pfn instead of a phys address.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-10 13:24:25 -07:00
..
cpufreq
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
acpi-ext.c
Pull acpi_os_free into release branch
2006-07-01 17:19:08 -04:00
acpi-processor.c
[ACPI] IA64 ZX1 buildfix for _PDC patch
2005-12-05 17:24:45 -05:00
acpi.c
Pull acpi_os_free into release branch
2006-07-01 17:19:08 -04:00
asm-offsets.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
audit.c
[PATCH] audit syscall classes
2006-07-01 07:44:10 -04:00
brl_emu.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
cyclone.c
[IA64] don't report !sn2 or !summit hardware as an error
2006-03-07 15:26:49 -08:00
efi.c
[PATCH] make valid_mmap_phys_addr_range() take a pfn
2006-07-10 13:24:25 -07:00
efi_stub.S
[IA64] make efi_stub.S fit in 80 cols
2006-06-21 14:35:28 -07:00
entry.h
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
entry.S
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
fsys.S
[IA64] cleanup in fsys.S
2006-02-28 08:53:32 -08:00
gate-data.S
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
gate.lds.S
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
gate.S
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
head.S
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
ia64_ksyms.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
init_task.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
iosapic.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
irq.c
[PATCH] genirq: cleanup: remove irq_descp()
2006-06-29 10:26:22 -07:00
irq_ia64.c
[PATCH] irq-flags: IA64: Use the new IRQF_ constants
2006-07-02 13:58:47 -07:00
irq_lsapic.c
[PATCH] genirq: add ->retrigger() irq op to consolidate hw_irq_resend()
2006-06-29 10:26:23 -07:00
ivt.S
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
jprobes.S
[IA64] prevent accidental modification of args in jprobe handler
2006-01-13 14:45:21 -08:00
kprobes.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
machvec.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
Makefile
[PATCH] audit syscall classes
2006-07-01 07:44:10 -04:00
mca.c
[PATCH] sched: cleanup, remove task_t, convert to struct task_struct
2006-07-03 15:27:11 -07:00
mca_asm.S
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
mca_drv.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
mca_drv.h
[IA64] MCA recovery: kernel context recovery table
2006-03-24 09:49:52 -08:00
mca_drv_asm.S
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
minstate.h
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
module.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
numa.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
pal.S
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
palinfo.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
patch.c
[IA64] add init declaration - gate page functions
2006-03-22 16:54:38 -08:00
perfmon.c
[PATCH] irq-flags: IA64: Use the new IRQF_ constants
2006-07-02 13:58:47 -07:00
perfmon_default_smpl.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
perfmon_generic.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
perfmon_itanium.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
perfmon_mckinley.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
perfmon_montecito.h
[IA64] Perfmon for Montecito
2006-01-16 10:31:44 -08:00
process.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
ptrace.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
sal.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
salinfo.c
[PATCH] cpu hotplug: use hotplug version of cpu notifier in appropriate places
2006-06-27 17:32:41 -07:00
semaphore.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
setup.c
[PATCH] tty: Remove include of screen_info.h from tty.h
2006-07-10 13:24:16 -07:00
sigframe.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
signal.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
smp.c
[IA64] wider use of for_each_cpu_mask() in arch/ia64
2005-10-25 15:10:08 -07:00
smpboot.c
[PATCH] sched: cleanup, remove task_t, convert to struct task_struct
2006-07-03 15:27:11 -07:00
sys_ia64.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
time.c
[PATCH] irq-flags: IA64: Use the new IRQF_ constants
2006-07-02 13:58:47 -07:00
topology.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
traps.c
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00
unaligned.c
[IA64] sysctl option to silence unaligned trap warnings
2006-02-28 09:42:23 -08:00
uncached.c
[PATCH] change gen_pool allocator to not touch managed memory
2006-06-23 07:42:49 -07:00
unwind.c
[IA64] MCA/INIT: remove obsolete unwind code
2005-09-11 14:09:34 -07:00
unwind_decoder.c
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
unwind_i.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
vmlinux.lds.S
Remove obsolete #include <linux/config.h>
2006-06-30 19:25:36 +02:00