lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090301165327.GA12970@linux-os.sc.intel.com>
Date:	Sun, 1 Mar 2009 08:53:27 -0800
From:	"Pallipadi, Venkatesh" <venkatesh.pallipadi@...el.com>
To:	Stefan Lippers-Hollmann <s.L-H@....de>
Cc:	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	"Pallipadi, Venkatesh" <venkatesh.pallipadi@...el.com>,
	"Siddha, Suresh B" <suresh.b.siddha@...el.com>,
	Dave Airlie <airlied@...hat.com>,
	Jesse Barnes <jbarnes@...tuousgeek.org>,
	Eric Anholt <eric@...olt.net>,
	Keith Packard <keithp@...thp.com>, Ingo Molnar <mingo@...e.hu>
Subject: Re: gpu/drm, x86, PAT: io_mapping_create_wc and resource_size_t

On Sun, Mar 01, 2009 at 05:54:53AM -0800, Stefan Lippers-Hollmann wrote:
> Hi
> 
> On Samstag, 28. Februar 2009, Linux Kernel Mailing List wrote:
> > Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ab0d47d0ab311eb181532c1ecb6d02905685071
> > Commit:     4ab0d47d0ab311eb181532c1ecb6d02905685071
> > Parent:     6644107d57a8fa82b47e4c55da4d9d91a612f29c
> > Author:     Venkatesh Pallipadi <venkatesh.pallipadi@...el.com>
> > AuthorDate: Tue Feb 24 17:35:12 2009 -0800
> > Committer:  Ingo Molnar <mingo@...e.hu>
> > CommitDate: Wed Feb 25 13:09:51 2009 +0100
> >
> >     gpu/drm, x86, PAT: io_mapping_create_wc and resource_size_t
> >
> >     io_mapping_create_wc should take a resource_size_t parameter in place of
> >     unsigned long. With unsigned long, there will be no way to map greater than 4GB
> >     address in i386/32 bit.
> >
> >     On x86, greater than 4GB addresses cannot be mapped on i386 without PAE. Return
> >     error for such a case.
> >
> >     Patch also adds a structure for io_mapping, that saves the base, size and
> >     type on HAVE_ATOMIC_IOMAP archs, that can be used to verify the offset on
> >     io_mapping_map calls.
> >
> >     Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@...el.com>
> >     Signed-off-by: Suresh Siddha <suresh.b.siddha@...el.com>
> >     Cc: Dave Airlie <airlied@...hat.com>
> >     Cc: Jesse Barnes <jbarnes@...tuousgeek.org>
> >     Cc: Eric Anholt <eric@...olt.net>
> >     Cc: Keith Packard <keithp@...thp.com>
> >     Signed-off-by: Ingo Molnar <mingo@...e.hu>
> 
> This patch, as part of 2.6.29-rc6-git5, fails to build for me on i386 (it
> builds on amd64) with the attached (slimmed down) config (CONFIG_X86_PAT=y)
> and buildlog:
> 
>   Building modules, stage 2.
>   MODPOST 809 modules
> ERROR: "pgprot_writecombine" [drivers/gpu/drm/i915/i915.ko] undefined!
> ERROR: "is_io_mapping_possible" [drivers/gpu/drm/i915/i915.ko] undefined!
> make[1]: *** [__modpost] Error 1
> make: *** [modules] Error 2
> 
> This is a build regression in comparison to 2.6.29-rc6.
> 

My bad. I had missed drm as module compilation. Below patch should fix it.
Can you please verify.

Thanks,
Venki


Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@...el.com>

---
 arch/x86/mm/iomap_32.c     |    1 +
 arch/x86/mm/pat.c          |    2 ++
 include/linux/io-mapping.h |    3 ++-
 3 files changed, 5 insertions(+), 1 deletion(-)

Index: linux-2.6/arch/x86/mm/iomap_32.c
===================================================================
--- linux-2.6.orig/arch/x86/mm/iomap_32.c	2009-03-01 08:31:12.000000000 -0800
+++ linux-2.6/arch/x86/mm/iomap_32.c	2009-03-01 08:47:20.000000000 -0800
@@ -37,6 +37,7 @@ is_io_mapping_possible(resource_size_t b
 	return 1;
 }
 #endif
+EXPORT_SYMBOL_GPL(is_io_mapping_possible);
 
 /* Map 'pfn' using fixed map 'type' and protections 'prot'
  */
Index: linux-2.6/arch/x86/mm/pat.c
===================================================================
--- linux-2.6.orig/arch/x86/mm/pat.c	2009-03-01 08:31:00.000000000 -0800
+++ linux-2.6/arch/x86/mm/pat.c	2009-03-01 08:45:48.000000000 -0800
@@ -11,6 +11,7 @@
 #include <linux/bootmem.h>
 #include <linux/debugfs.h>
 #include <linux/kernel.h>
+#include <linux/module.h>
 #include <linux/gfp.h>
 #include <linux/mm.h>
 #include <linux/fs.h>
@@ -868,6 +869,7 @@ pgprot_t pgprot_writecombine(pgprot_t pr
 	else
 		return pgprot_noncached(prot);
 }
+EXPORT_SYMBOL(pgprot_writecombine);
 
 #if defined(CONFIG_DEBUG_FS) && defined(CONFIG_X86_PAT)
 
Index: linux-2.6/include/linux/io-mapping.h
===================================================================
--- linux-2.6.orig/include/linux/io-mapping.h	2009-03-01 08:31:12.000000000 -0800
+++ linux-2.6/include/linux/io-mapping.h	2009-03-01 08:49:53.000000000 -0800
@@ -91,8 +91,9 @@ io_mapping_unmap_atomic(void *vaddr)
 static inline void *
 io_mapping_map_wc(struct io_mapping *mapping, unsigned long offset)
 {
+	resource_size_t phys_addr;
 	BUG_ON(offset >= mapping->size);
-	resource_size_t phys_addr = mapping->base + offset;
+	phys_addr = mapping->base + offset;
 	return ioremap_wc(phys_addr, PAGE_SIZE);
 }
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ