カーネルモジュールに定義する関数で大きめの構造体を渡す
とときどきpanicになってしまいます。再現性が低いのですが

構造はstruct {unsigned int spectrum[2048],int start,int end};
な感じです。

ポインタで渡すことにしたら問題は無くなったかに見えるのですが、
いまいちピンとしません。

C言語ではこういう配列わたしちゃいけないのですか?(仕様など)
or
カーネルではいけないのですか?(サイズなど)

ユーザスペースで動くテストプログラムはうまく走るので
バグ混入を恐れつつ開発継続中。

どなたかご存知の方がいればよろしくお願いいたします。