]> Zhao Yanbai Git Server - minix.git/commitdiff
Kernel: resolve Coverity warnings
authorDavid van Moolenbroek <david@minix3.org>
Wed, 15 Aug 2012 11:12:11 +0000 (11:12 +0000)
committerDavid van Moolenbroek <david@minix3.org>
Wed, 15 Aug 2012 11:12:11 +0000 (11:12 +0000)
kernel/arch/i386/apic.c
kernel/arch/i386/memory.c
kernel/debug.c
kernel/proc.c
kernel/system/do_sysctl.c

index ffbbdb98cf0204ac548c416c047c16bdb9bc18c0..597650020df509d1e614632173e505be97e3ad50 100644 (file)
@@ -594,6 +594,7 @@ static  u32_t lapic_errstatus(void)
        return lapic_read(LAPIC_ESR);
 }
 
+#ifdef CONFIG_SMP
 static int lapic_disable_in_msr(void)
 {
        u32_t msr_hi, msr_lo;
@@ -605,6 +606,7 @@ static int lapic_disable_in_msr(void)
 
        return 1;
 }
+#endif /* CONFIG_SMP */
 
 void lapic_disable(void)
 {
@@ -626,6 +628,7 @@ void lapic_disable(void)
                return;
        }
 
+#ifdef CONFIG_SMP
        val = lapic_read(LAPIC_LINT0) & 0xFFFE58FF;
        val |= APIC_ICR_INT_MASK;
        lapic_write (LAPIC_LINT0, val);
@@ -639,6 +642,7 @@ void lapic_disable(void)
        lapic_write(LAPIC_SIVR, val);
 
        lapic_disable_in_msr();
+#endif /* CONFIG_SMP */
 }
 
 static int lapic_enable_in_msr(void)
index 3e4b74347efbe7d44289b97f2633cf38cdd044a6..27bbf43cabba0b6f6e8d65c93390f6ccae147910 100644 (file)
@@ -213,7 +213,7 @@ static int lin_lin_copy(struct proc *srcproc, vir_bytes srclinaddr,
 
 static u32_t phys_get32(phys_bytes addr)
 {
-       const u32_t v;
+       u32_t v;
        int r;
 
        if((r=lin_lin_copy(NULL, addr, 
index 260b334aa944051653987021b3054ba0ac1e691f..ad51a69c11fcdb393742f3f624484fa06359d2a3 100644 (file)
@@ -90,7 +90,6 @@ int runqueues_ok_cpu(unsigned cpu)
     }
   }    
 
-  l = 0;
   for (xp = BEG_PROC_ADDR; xp < END_PROC_ADDR; ++xp) {
        if(!proc_ptr_ok(xp)) {
                printf("xp bogus pointer in proc table\n");
@@ -101,10 +100,6 @@ int runqueues_ok_cpu(unsigned cpu)
        if(proc_is_runnable(xp) && !xp->p_found) {
                printf("sched error: ready proc %d not on queue\n", xp->p_nr);
                return 0;
-               if (l++ > MAX_LOOP) {
-                       printf("loop in debug.c?\n"); 
-                       return 0;
-               }
        }
   }
 
@@ -145,7 +140,7 @@ rtsflagstr(const u32_t flags)
        static char str[100];
        str[0] = '\0';
 
-#define FLAG(n) if(flags & n) { strcat(str, #n " "); }
+#define FLAG(n) if(flags & n) { strlcat(str, #n " ", sizeof(str)); }
 
        FLAG(RTS_SLOT_FREE);
        FLAG(RTS_PROC_STOP);
index 72a3d052c88b1d24821b510864261c2546931159..c83954ab489b1a1e3ad83e4f20c25ed1d8a0a485 100644 (file)
@@ -932,6 +932,7 @@ static int mini_receive(struct proc * caller_ptr,
                printf("mini_receive: sending notify from NONE\n");
            }
 #endif
+           assert(src_proc_nr != NONE);
             unset_notify_pending(caller_ptr, src_id);  /* no longer pending */
 
             /* Found a suitable source, deliver the notification message. */
@@ -1250,8 +1251,6 @@ asyn_error:
   }
 
   return(OK);
-
-  return r;
 }
 
 /*===========================================================================*
index d4f258d103974693a05432faf13f25e0879008c2..5bc6b100a711c56fbc8727fc13184b347eedc27a 100644 (file)
@@ -46,9 +46,5 @@ int do_sysctl(struct proc * caller, message * m_ptr)
        printf("do_sysctl: invalid request %d\n", m_ptr->SYSCTL_CODE);
         return(EINVAL);
   }
-
-  panic("do_sysctl: can't happen");
-
-  return(OK);
 }