Ядро Linux: почему это вызывает крах kstrtol?

Я изучаю программирование ядра и имею простой вызов kstrtol, который я использую для преобразования строки в число. Однако каждый раз, когда я компилирую этот модуль и использую insmod для помещения его в ядро, я получаю "BUG: невозможно обработать пейджинговый запрос ядра на f862b026 " а затем регистр и стек дамп.

м, следуя определению отсюда:https://www.kernel.org/doc/htmldocs/kernel-api/API-kstrtol.html, Это похоже на действительно простой звонок. Что я здесь не так делаю?

#include 

static int __init convert(void)
{
    long myLong;
    char *myNumber = "342";
    myNumber[2] = '\0'; //Overwriting the '2', just so I know for sure I have a terminating '\0'

    if (kstrtol(myNumber, 10, &myLong) == 0)
    {
        printk("We have a number!\n");
    }
return 0;
}

static void __exit convert_exit(void)
{
    printk("Module unloaded\n");
}

module_init(convert);
module_exit(convert_exit); 

Ответы на вопрос(1)

Ваш ответ на вопрос