title: Is there any size limit on array/buffer I can declare in Linux module?
body: <p>I am able to insmod hello.ko without any error message. But my understanding says should not work as linux kernel stack is only 4KB size. Look like there is some gap in my understanding. Can anyone help me figure what I am missing?  </p>
  
  <pre><code>#include&lt;linux/init.h&gt;
  #include&lt;linux/kernel.h&gt;
  #include&lt;linux/module.h&gt;
  MODULE_LICENSE("Dual BSD/GPL");
  
  
  int popo()
  {
      int a[10*1024*1024]={0};
              printk(KERN_WARNING "popo\n");
      }
      static int __init my_init()
      {
        printk(KERN_WARNING "Hello world!\n");
    popo();
    return 0;
  }
  
  static void my_exit()
  {
    printk(KERN_WARNING "bye!\n");
  }
  
  module_init(my_init);
  module_exit(my_exit);
  </code></pre>