diff --git a/index.html b/index.html
index 6999d0f..3301091 100644
--- a/index.html
+++ b/index.html
@@ -50,7 +50,7 @@
 
 <p>
   <a href="maintaining.html">Project maintenance</a>
-  &nbsp; | &nbsp; 
+  &nbsp; | &nbsp;
   <a href="missing_pages.html">Missing pages</a>
 </p>
 
diff --git a/linux-api-ml.html b/linux-api-ml.html
index ca4bbcd..1d6d7f4 100644
--- a/linux-api-ml.html
+++ b/linux-api-ml.html
@@ -51,14 +51,14 @@
     </p>
 
     <p>
-        Among other things, a primary goal of the list is to help 
+        Among other things, a primary goal of the list is to help
 	answer the question: <em>How do we even know when an interface has been
 	added or changed?</em>
 	Many people have an interest in the answer to that question,
 	including:
 	<ul>
 	    <li>
-	        maintainers of C libraries, 
+	        maintainers of C libraries,
 	    </li>
 	    <li>
 	        the <em>man-pages</em> project,
@@ -70,7 +70,7 @@
 		<a href="http://codemonkey.org.uk/projects/trinity/">trinity</a>,
 	    </li>
 	    <li>
-		maintainers of tracing tools such as 
+		maintainers of tracing tools such as
 		<a href="https://sourceforge.net/projects/strace/">strace(1)</a>,
 	    </li>
 	    <li>
@@ -101,7 +101,7 @@
     <p>
         The kernel source file
 	<span class="pathname">Documentation/SubmitChecklist</span>
-	notes that all Linux kernel 
+	notes that all Linux kernel
 	<strong>patches that change userspace interfaces should be CCed to
 	linux-api@vger.kernel.org</strong>.
 	You would help many people by heeding that advice,
@@ -123,10 +123,10 @@
 	that change userspace interfaces should be CCed to
 	linux-api@vger.kernel.org, so that the various
 	parties who are interested in API changes are informed. For further information, see
-	https://www.kernel.org/doc/man-pages/linux-api-ml.html 
+	https://www.kernel.org/doc/man-pages/linux-api-ml.html
    </p>
     </blockquote>
-    
+
 <h2>Subscription and archive</h2>
 
     <p>
diff --git a/linux-man-ml.html b/linux-man-ml.html
index 4e96d32..920a102 100644
--- a/linux-man-ml.html
+++ b/linux-man-ml.html
@@ -52,7 +52,7 @@
        <em>Note that like other VGER mailing lists,
        HTML mail is rejected by the list server.</em>
     </p>
-    
+
 <h2>Subscription and archive</h2>
 
     <p>
diff --git a/linux-next.html b/linux-next.html
index 5cd8358..5a4be11 100644
--- a/linux-next.html
+++ b/linux-next.html
@@ -57,7 +57,7 @@
           # or: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
     Cloning into 'linux'...
     ...</pre>
-    
+
 <p>
     Then add a remote tracking branch for <em>linux-next</em>:
 </p>
@@ -65,9 +65,9 @@
     $ <strong>git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git</strong>
                           # or: git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
 </pre>
-    
+
 <p>
-    Fetch <em>linux-next</em> plus tags    
+    Fetch <em>linux-next</em> plus tags
 </p>
 <pre>    $ <strong>git fetch linux-next</strong>
     ...
diff --git a/maintaining.html b/maintaining.html
index 41aa7fa..6f3a2c9 100644
--- a/maintaining.html
+++ b/maintaining.html
@@ -134,7 +134,7 @@
     </blockquote>
 
 
-  
+
 <h3>Kernel source code</h3>
     <p>
         You can find nearly every kernel release ever made at
@@ -184,7 +184,7 @@
 <h2>Keeping up</h2>
     <p>
         One of the biggest challenges is keeping up to date with changes in
-        the kernel and glibc. 
+        the kernel and glibc.
         There are a few ways to do this.
 	This section lists some of the most useful ways.
     </p>
@@ -209,7 +209,7 @@
             <br>
             <br>
         </li>
-    
+
         <li>
             <a href="https://wiki.kernelnewbies.org/LinuxChanges">https://wiki.kernelnewbies.org/LinuxChanges</a>.
             Summarizes major internal and interface changes for each
@@ -343,7 +343,7 @@
 <!--
 The linux-net@vger.kernel.org mailing list is for networking
 user questions. Subscribe by sending
-subscribe linux-net in the message body to majordomo@vger.kernel.org 
+subscribe linux-net in the message body to majordomo@vger.kernel.org
 -->
 
     <p>
@@ -550,7 +550,7 @@
 
     <p>
         <a href="https://www.ubuntu.com/">Ubuntu</a> uses Launchpad for
-        manpages (<a href="https://bugs.launchpad.net/ubuntu/+source/manpages">bugs</a>, 
+        manpages (<a href="https://bugs.launchpad.net/ubuntu/+source/manpages">bugs</a>,
         <a href="https://launchpad.net/ubuntu/+source/manpages">package</a>)
         and manpages-posix
         (<a href="https://bugs.launchpad.net/ubuntu/+source/manpages-posix">bugs</a>,
@@ -863,7 +863,7 @@
 	see
         <a href="https://sourceware.org/glibc/wiki/FilingBugs">https://sourceware.org/glibc/wiki/FilingBugs</a>.
     </p>
-  
+
 
 <h2>Some history</h2>
 
diff --git a/missing_pages.html b/missing_pages.html
index 36a7207..b2047c2 100644
--- a/missing_pages.html
+++ b/missing_pages.html
@@ -94,7 +94,7 @@
     <br>
     <br>
 </li>
-  
+
 <li>
     Say how you obtained the information in the page: was it by reading (or
     writing) the relevant kernel or (g)libc source code; by writing a
@@ -105,7 +105,7 @@
     <br>
     <br>
 </li>
-  
+
 <li>
     Submit the page following
     <a href="https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING">the project guidelines for submitting patches</a>.
@@ -135,7 +135,7 @@
     consider is submitting a patch to the maintainers of the glibc
     documentation, if that is more appropriate.)
 </li>
-  
+
 </ul>
 
 
@@ -195,7 +195,7 @@
     <span class="man-page">proc(5)</span>.</span>
     The kernel source file
     <span class="pathname">Documentation/filesystems/sysfs.txt</span>
-    provides a starting point for this page; see also the many other 
+    provides a starting point for this page; see also the many other
     <span class="pathname">*sysfs*.txt</span>
     files under the
     <span class="pathname">Documentation/</span>
@@ -330,7 +330,7 @@
 </p>
 <pre class="shell">
 <strong>
-nm -D /lib/libm.so.6 | sed -re '/^[0-9a-f]* T /!d; s///; /^_/d' | 
+nm -D /lib/libm.so.6 | sed -re '/^[0-9a-f]* T /!d; s///; /^_/d' |
 	xargs whatis | sed -ne 's/: nothing appropriate\.$//p' | sort -u
 </strong>
 </pre>
@@ -374,7 +374,7 @@
       The idea is that in a debugger, we set 'mallwatch' to an address
       returned by the malloc functions, set a breakpoint on tr_break()
       (defined inside glibc), and then continue execution. When a malloc
-      operation touches the address referred to by 'mallwatch', the 
+      operation touches the address referred to by 'mallwatch', the
       breakpoint is actioned. mtrace() must be used to install the
       necessary malloc hooks.
     </td>
@@ -534,7 +534,7 @@
       <span class="man-page">isalpha(3)</span>,
       <span class="man-page">toupper(3)</span>,
       <span class="man-page">towlower(3)</span>,
-      and 
+      and
       <span class="man-page">towupper(3)</span>
       man pages (in particular, see the changes made in
       <a href="https://man7.org/linux/man-pages/changelog.html#release_3.63"><em>man-pages-3.63</em></a>).
diff --git a/style.css b/style.css
index 9e74fbe..90ff262 100644
--- a/style.css
+++ b/style.css
@@ -23,7 +23,7 @@
 */
 
 /* General Styles */
-html, body {    
+html, body {
     background-color: #fcfcfc;
     font-family: arial, sans-serif;
     font-size: 100%;
