aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/debug/kdb/kdb_main.c65
1 files changed, 0 insertions, 65 deletions
diff --git a/kernel/debug/kdb/kdb_main.c b/kernel/debug/kdb/kdb_main.c
index 25908cf2f5d7..cdfc0a7e583e 100644
--- a/kernel/debug/kdb/kdb_main.c
+++ b/kernel/debug/kdb/kdb_main.c
@@ -2362,69 +2362,6 @@ static int kdb_pid(int argc, const char **argv)
2362 return 0; 2362 return 0;
2363} 2363}
2364 2364
2365/*
2366 * kdb_ll - This function implements the 'll' command which follows a
2367 * linked list and executes an arbitrary command for each
2368 * element.
2369 */
2370static int kdb_ll(int argc, const char **argv)
2371{
2372 int diag = 0;
2373 unsigned long addr;
2374 long offset = 0;
2375 unsigned long va;
2376 unsigned long linkoffset;
2377 int nextarg;
2378 const char *command;
2379
2380 if (argc != 3)
2381 return KDB_ARGCOUNT;
2382
2383 nextarg = 1;
2384 diag = kdbgetaddrarg(argc, argv, &nextarg, &addr, &offset, NULL);
2385 if (diag)
2386 return diag;
2387
2388 diag = kdbgetularg(argv[2], &linkoffset);
2389 if (diag)
2390 return diag;
2391
2392 /*
2393 * Using the starting address as
2394 * the first element in the list, and assuming that
2395 * the list ends with a null pointer.
2396 */
2397
2398 va = addr;
2399 command = kdb_strdup(argv[3], GFP_KDB);
2400 if (!command) {
2401 kdb_printf("%s: cannot duplicate command\n", __func__);
2402 return 0;
2403 }
2404 /* Recursive use of kdb_parse, do not use argv after this point */
2405 argv = NULL;
2406
2407 while (va) {
2408 char buf[80];
2409
2410 if (KDB_FLAG(CMD_INTERRUPT))
2411 goto out;
2412
2413 sprintf(buf, "%s " kdb_machreg_fmt "\n", command, va);
2414 diag = kdb_parse(buf);
2415 if (diag)
2416 goto out;
2417
2418 addr = va + linkoffset;
2419 if (kdb_getword(&va, addr, sizeof(va)))
2420 goto out;
2421 }
2422
2423out:
2424 kfree(command);
2425 return diag;
2426}
2427
2428static int kdb_kgdb(int argc, const char **argv) 2365static int kdb_kgdb(int argc, const char **argv)
2429{ 2366{
2430 return KDB_CMD_KGDB; 2367 return KDB_CMD_KGDB;
@@ -2866,8 +2803,6 @@ static void __init kdb_inittab(void)
2866 kdb_register_repeat("btt", kdb_bt, "<vaddr>", 2803 kdb_register_repeat("btt", kdb_bt, "<vaddr>",
2867 "Backtrace process given its struct task address", 0, 2804 "Backtrace process given its struct task address", 0,
2868 KDB_REPEAT_NONE); 2805 KDB_REPEAT_NONE);
2869 kdb_register_repeat("ll", kdb_ll, "<first-element> <linkoffset> <cmd>",
2870 "Execute cmd for each element in linked list", 0, KDB_REPEAT_NONE);
2871 kdb_register_repeat("env", kdb_env, "", 2806 kdb_register_repeat("env", kdb_env, "",
2872 "Show environment variables", 0, KDB_REPEAT_NONE); 2807 "Show environment variables", 0, KDB_REPEAT_NONE);
2873 kdb_register_repeat("set", kdb_set, "", 2808 kdb_register_repeat("set", kdb_set, "",