Няшная / Говнокод #18472 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
int do_execve(const char *filename,
	const char __user *const __user *__argv,
	const char __user *const __user *__envp,
	struct pt_regs *regs)
{
	struct user_arg_ptr argv = { .ptr.native = __argv };
	struct user_arg_ptr envp = { .ptr.native = __envp };
    /* exec mt_debug*/
    int ret;
    int retry = 3;
    do{
        ret = do_execve_common(filename, argv, envp, regs);
        printk(KERN_DEBUG"[exec] %s(%d)\n", filename, retry);
    }while( -999 == ret && retry-- > 0);
	return ret;
}

Ядро от MTK. Они логгируют каждый exec на уровне ядра.

Запостил: Azq2 Azq2, (Updated )

Комментарии (4) RSS

  • Ещё больше смущает странная проверка ret, это же похоже код, который вернула запускаемая программа.
    Ответить
  • > логгируют каждый exec
    В общем-то не так и страшно. Подумаешь строчку в кольцевой буфер добавили. На фоне самого exec()'а, имхо, фигня.

    > код, который вернула
    А вот это интересней. Это однозначно не код возврата запускаемой программы. Надо смотреть, в каком случае do_execve_common() может вернуть ошибку -999. Тогда будет понятнее, почему они решили делать повторы. Судя по ебануто-безымянному -999 это какая-то чисто медиатековская ошибка, которой в нормальных ядрах нету.

    P.S. Где исходники целиком можно глянуть?
    Ответить
  • Да, это жёппа. На mtk невозможно вообще что-либо разрабатывать из-за лютого спама во все щел^Wлоги. Высирает по гигабайту кирпичей в час.
    Ответить

Добавить комментарий

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8