/* INIT_HLIST_HEAD (&rp->free_instances); */
for (i = 0; i < alloc_nodes; i++)
{
- inst = kmalloc (sizeof (struct kretprobe_instance), GFP_KERNEL);
+ inst = kmalloc (sizeof (struct kretprobe_instance), GFP_ATOMIC);
if (inst == NULL)
{
free_rp_inst (rp);
int ret = 0;
struct kretprobe_instance *inst;
int i;
+ int priority = atomic ? GFP_ATOMIC : GFP_KERNEL;
DBPRINTF ("START");
rp->kp.pre_handler = pre_handler_kretprobe;
INIT_HLIST_HEAD (&rp->free_instances);
for (i = 0; i < rp->maxactive; i++)
{
- inst = kmalloc (sizeof (struct kretprobe_instance), GFP_KERNEL);
+ inst = kmalloc (sizeof (struct kretprobe_instance), priority);
if (inst == NULL)
{
free_rp_inst (rp);