Nessuno ha avuto un problema con la compilazione del kernel 2.6.15.5?

Me lo ha fatto notare un amico del mio LUG, lo ho scaricato, ho provato a compilarlo e ho riscontrato lo stesso problema, la compilazione si blocca!

Il problema è una funzione che andava scritta dietro ad un'altra funzione nel file (da dentro i sorgenti del kernel) fs/nfs/direct.c.

Viene un po da porsi la domanda: "ma i kernel developers provano a compilarlo prima di buttare fuori la release?"

Comunque la patch per risolvere la cosa è quella scritta sotto, potete anche fare la modifica a mano se volete, ah, ai kernel developers non ho fatto la segnalazione in quanto il bug lo ha scoperto questo mio amico e mi sembra giusto che lo faccia lui, poi magari lo sanno già....

La patch:

codice:
--- /usr/src/linux-2.6.15.5/fs/nfs/direct.c.orig        2006-03-04 12:49:11.000000000 +0100
+++ /usr/src/linux-2.6.15.5/fs/nfs/direct.c     2006-03-04 12:50:06.000000000 +0100
@@ -73,6 +73,24 @@ struct nfs_direct_req {
                                error;          /* any reported error */
 };

+/**
+ * nfs_free_user_pages - tear down page struct array
+ * @pages: array of page struct pointers underlying target buffer
+ * @npages: number of pages in the array
+ * @do_dirty: dirty the pages as we release them
+ */
+static void
+nfs_free_user_pages(struct page **pages, int npages, int do_dirty)
+{
+       int i;
+       for (i = 0; i < npages; i++) {
+               if (do_dirty)
+                       set_page_dirty_lock(pages[i]);
+               page_cache_release(pages[i]);
+       }
+       kfree(pages);
+}
+

 /**
  * nfs_get_user_pages - find and set up pages underlying user's buffer
@@ -117,24 +135,6 @@ nfs_get_user_pages(int rw, unsigned long
 }

 /**
- * nfs_free_user_pages - tear down page struct array
- * @pages: array of page struct pointers underlying target buffer
- * @npages: number of pages in the array
- * @do_dirty: dirty the pages as we release them
- */
-static void
-nfs_free_user_pages(struct page **pages, int npages, int do_dirty)
-{
-       int i;
-       for (i = 0; i < npages; i++) {
-               if (do_dirty)
-                       set_page_dirty_lock(pages[i]);
-               page_cache_release(pages[i]);
-       }
-       kfree(pages);
-}
-
-/**
  * nfs_direct_req_release - release  nfs_direct_req structure for direct read
  * @kref: kref object embedded in an nfs_direct_req structure
  *