[PATCH] kprobes: replace magic numbers with enum

Replace the magic numbers with an enum, and gets rid of a warning on the
specific architectures (ex. powerpc) on which the compiler considers
'char' as 'unsigned char'.

Signed-off-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Prasanna S Panchamukhi <prasanna@in.ibm.com>
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by Masami Hiramatsu and committed by Linus Torvalds ab40c5c6 46bae1a9

+13 -7
+13 -7
kernel/kprobes.c
··· 87 87 int ngarbage; 88 88 }; 89 89 90 + enum kprobe_slot_state { 91 + SLOT_CLEAN = 0, 92 + SLOT_DIRTY = 1, 93 + SLOT_USED = 2, 94 + }; 95 + 90 96 static struct hlist_head kprobe_insn_pages; 91 97 static int kprobe_garbage_slots; 92 98 static int collect_garbage_slots(void); ··· 136 130 if (kip->nused < INSNS_PER_PAGE) { 137 131 int i; 138 132 for (i = 0; i < INSNS_PER_PAGE; i++) { 139 - if (!kip->slot_used[i]) { 140 - kip->slot_used[i] = 1; 133 + if (kip->slot_used[i] == SLOT_CLEAN) { 134 + kip->slot_used[i] = SLOT_USED; 141 135 kip->nused++; 142 136 return kip->insns + (i * MAX_INSN_SIZE); 143 137 } ··· 169 163 } 170 164 INIT_HLIST_NODE(&kip->hlist); 171 165 hlist_add_head(&kip->hlist, &kprobe_insn_pages); 172 - memset(kip->slot_used, 0, INSNS_PER_PAGE); 173 - kip->slot_used[0] = 1; 166 + memset(kip->slot_used, SLOT_CLEAN, INSNS_PER_PAGE); 167 + kip->slot_used[0] = SLOT_USED; 174 168 kip->nused = 1; 175 169 kip->ngarbage = 0; 176 170 return kip->insns; ··· 179 173 /* Return 1 if all garbages are collected, otherwise 0. */ 180 174 static int __kprobes collect_one_slot(struct kprobe_insn_page *kip, int idx) 181 175 { 182 - kip->slot_used[idx] = 0; 176 + kip->slot_used[idx] = SLOT_CLEAN; 183 177 kip->nused--; 184 178 if (kip->nused == 0) { 185 179 /* ··· 218 212 continue; 219 213 kip->ngarbage = 0; /* we will collect all garbages */ 220 214 for (i = 0; i < INSNS_PER_PAGE; i++) { 221 - if (kip->slot_used[i] == -1 && 215 + if (kip->slot_used[i] == SLOT_DIRTY && 222 216 collect_one_slot(kip, i)) 223 217 break; 224 218 } ··· 238 232 slot < kip->insns + (INSNS_PER_PAGE * MAX_INSN_SIZE)) { 239 233 int i = (slot - kip->insns) / MAX_INSN_SIZE; 240 234 if (dirty) { 241 - kip->slot_used[i] = -1; 235 + kip->slot_used[i] = SLOT_DIRTY; 242 236 kip->ngarbage++; 243 237 } else { 244 238 collect_one_slot(kip, i);