mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Eyal Lebedinsky <eyal@eyal.emu.id.au>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.4.19pre8aa1 & vm-34: unresolved kmap_pagetable
Date: Sat, 4 May 2002 15:49:43 +0200	[thread overview]
Message-ID: <20020504154943.W1396@dualathlon.random> (raw)
In-Reply-To: <20020503203738.E1396@dualathlon.random> <3CD339B7.5BEB2DB4@eyal.emu.id.au> <20020504092531.L1396@dualathlon.random> <3CD3E505.A688C20A@eyal.emu.id.au>

On Sat, May 04, 2002 at 11:41:25PM +1000, Eyal Lebedinsky wrote:
> Well, this may be a problem for NVdriver (a mostly binary only driver)
> which I use.

This should fix it:

diff -urN NVIDIA_kernel-1.0-2313/nv.c NVIDIA_kernel-1.0-2313.pte-highmem/nv.c
--- NVIDIA_kernel-1.0-2313/nv.c	Tue Nov 27 21:39:17 2001
+++ NVIDIA_kernel-1.0-2313.pte-highmem/nv.c	Sun Feb  3 16:35:18 2002
@@ -42,6 +42,7 @@
 #include <linux/interrupt.h>           
 #include <linux/tqueue.h>               // struct tq_struct 
 #include <linux/poll.h>
+#include <linux/highmem.h>
 #ifdef CONFIG_PM
 #include <linux/pm.h>                   // power management
 #endif
@@ -2267,7 +2268,7 @@
 {
     pgd_t *pg_dir;
     pmd_t *pg_mid_dir;
-    pte_t *pg_table;
+    pte_t *pg_table, pte;
 
     /* XXX do we really need this? */
     if (address > VMALLOC_START)
@@ -2297,11 +2298,13 @@
     if (pmd_none(*pg_mid_dir))
         goto failed;
 
-    pg_table = pte_offset(pg_mid_dir, address);
-    if (!pte_present(*pg_table))
+    pg_table = pte_offset_atomic(pg_mid_dir, address);
+    pte = *pg_table;
+    pte_kunmap(pg_table);
+    if (!pte_present(pte))
         goto failed;
 
-    return ((pte_val(*pg_table) & KERN_PAGE_MASK) | NV_MASK_OFFSET(address));
+    return ((pte_val(pte) & KERN_PAGE_MASK) | NV_MASK_OFFSET(address));
 
   failed:
     return (unsigned long) NULL;

Andrea

  reply	other threads:[~2002-05-04 13:48 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-03 18:37 2.4.19pre8aa1 & vm-34 Andrea Arcangeli
2002-05-04  0:18 ` 2.4.19pre8aa1 & vm-34: zftape-init.c compile error Eyal Lebedinsky
2002-05-05  1:08   ` Mike Fedyk
2002-05-05  7:33     ` Eyal Lebedinsky
2002-05-04  0:24 ` 2.4.19pre8aa1 & vm-34: blkmtd.c compile failure Eyal Lebedinsky
2002-05-04  7:09   ` Andrea Arcangeli
2002-05-04 11:44     ` Andrea Arcangeli
2002-05-04  0:54 ` 2.4.19pre8aa1 & vm-34: 8253xutl.c compile error Eyal Lebedinsky
2002-05-04  1:30 ` 2.4.19pre8aa1 & vm-34: unresolved kmap_pagetable Eyal Lebedinsky
2002-05-04  7:25   ` Andrea Arcangeli
2002-05-04 13:41     ` Eyal Lebedinsky
2002-05-04 13:49       ` Andrea Arcangeli [this message]
2002-05-05  0:26         ` Eyal Lebedinsky

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020504154943.W1396@dualathlon.random \
    --to=andrea@suse.de \
    --cc=eyal@eyal.emu.id.au \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®