• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/kernel/

Lines Matching defs:kip

138 	struct kprobe_insn_page *kip;
142 hlist_for_each_entry(kip, pos, &kprobe_insn_pages, hlist) {
143 if (kip->nused < INSNS_PER_PAGE) {
146 if (kip->slot_used[i] == SLOT_CLEAN) {
147 kip->slot_used[i] = SLOT_USED;
148 kip->nused++;
149 return kip->insns + (i * MAX_INSN_SIZE);
152 /* Surprise! No unused slots. Fix kip->nused. */
153 kip->nused = INSNS_PER_PAGE;
162 kip = kmalloc(sizeof(struct kprobe_insn_page), GFP_KERNEL);
163 if (!kip)
171 kip->insns = module_alloc(PAGE_SIZE);
172 if (!kip->insns) {
173 kfree(kip);
176 INIT_HLIST_NODE(&kip->hlist);
177 hlist_add_head(&kip->hlist, &kprobe_insn_pages);
178 memset(kip->slot_used, SLOT_CLEAN, INSNS_PER_PAGE);
179 kip->slot_used[0] = SLOT_USED;
180 kip->nused = 1;
181 kip->ngarbage = 0;
182 return kip->insns;
186 static int __kprobes collect_one_slot(struct kprobe_insn_page *kip, int idx)
188 kip->slot_used[idx] = SLOT_CLEAN;
189 kip->nused--;
190 if (kip->nused == 0) {
197 hlist_del(&kip->hlist);
199 INIT_HLIST_NODE(&kip->hlist);
200 hlist_add_head(&kip->hlist,
203 module_free(NULL, kip->insns);
204 kfree(kip);
213 struct kprobe_insn_page *kip;
220 hlist_for_each_entry_safe(kip, pos, next, &kprobe_insn_pages, hlist) {
222 if (kip->ngarbage == 0)
224 kip->ngarbage = 0; /* we will collect all garbages */
226 if (kip->slot_used[i] == SLOT_DIRTY &&
227 collect_one_slot(kip, i))
237 struct kprobe_insn_page *kip;
240 hlist_for_each_entry(kip, pos, &kprobe_insn_pages, hlist) {
241 if (kip->insns <= slot &&
242 slot < kip->insns + (INSNS_PER_PAGE * MAX_INSN_SIZE)) {
243 int i = (slot - kip->insns) / MAX_INSN_SIZE;
245 kip->slot_used[i] = SLOT_DIRTY;
246 kip->ngarbage++;
248 collect_one_slot(kip, i);