Messages in this thread Patch in this message | | | Date | Mon, 30 Aug 2004 11:10:19 -0700 | From | "Randy.Dunlap" <> | Subject | Re: 1GB/2GB/3GB User Space Splitting Patch 2.6.8.1 (PSEUDO SPAM) |
| |
On Mon, 30 Aug 2004 05:56:17 +0000 jmerkey@comcast.net wrote:
| | | | | > What kernel version? I can't even find usb_read_device() in 2.6.9-rc1. | > | > BTW, as someone else requested, please teach your mail client to wrap | > lines around column 70-72. Thanks. | > | > ~Randy | | linux-2.6.8.1.tar.gz
usb_device_read here (usb_read_device above :)
| static ssize_t usb_device_read(struct file *file, | char __user *buf, | size_t nbytes, | loff_t *ppos) | { | struct list_head *buslist; | struct usb_bus *bus; | ssize_t ret, total_written = 0; | loff_t skip_bytes = *ppos; | | if (*ppos < 0) | return -EINVAL; | if (nbytes <= 0) | return 0; | if (!access_ok(VERIFY_WRITE, buf, nbytes)) | return -EFAULT; | | /* enumerate busses */ | down (&usb_bus_list_lock); | for (buslist = usb_bus_list.next; | buslist != &usb_bus_list; | buslist = buslist->next) { | /* print devices for this bus */ | bus = list_entry(buslist, struct usb_bus, | bus_list); | /* print devices for this bus */ | bus = list_entry(buslist, struct usb_bus, | bus_list); | | /* recurse through all children of the root hub */ | if (!bus->root_hub) | continue; | | // IT BARFS RIGHT HERE --> | down(&bus->root_hub->serialize);
It doesn't barf on me. I added one other patch on top of yours: one from Roland Dreier, for arch/i386/kernel/doublefault.c [below].
| P.S. I am using my comcast account which | is not as good as MUTT -- line wrap settings | since it is web based. | drdos.com gets rejected | so I am typing less characters/line. :-) | - Thanks.
-- ~Randy
Looks like arch/i386/kernel/doublefault.c is one place in the code that hardcodes the assumption that PAGE_OFFSET == 0xC0000000. Here's a patch that fixes that.
(Of course this doesn't really fix anything except debugging output)
- Roland
Signed-off-by: Roland Dreier <roland@topspin.com>
Index: linux-2.6.8-rc1/arch/i386/kernel/doublefault.c =================================================================== --- linux-2.6.8-rc1.orig/arch/i386/kernel/doublefault.c +++ linux-2.6.8-rc1/arch/i386/kernel/doublefault.c @@ -13,7 +13,7 @@ static unsigned long doublefault_stack[DOUBLEFAULT_STACKSIZE]; #define STACK_START (unsigned long)(doublefault_stack+DOUBLEFAULT_STACKSIZE) -#define ptr_ok(x) ((x) > 0xc0000000 && (x) < 0xc1000000) +#define ptr_ok(x) ((x) > PAGE_OFFSET && (x) < PAGE_OFFSET + 0x1000000) static void doublefault_fn(void) { - - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |