typedef unsigned int size_t;
typedef int ssize_t;
typedef int atomic_t;
typedef unsigned gfp_t;

struct pp_struct
{
  atomic_t irqc;
};

void *malloc(size_t size);

void *kmalloc(size_t size, gfp_t flags)
{
  return malloc(size);
}

int main(void)
{
  struct pp_struct *pp;
  atomic_t *pp2;

  pp = kmalloc(sizeof(struct pp_struct), 10);

  // This works:
  // pp = malloc (sizeof (struct pp_struct));

  if(!pp)
    return -10;

  pp2 = &(pp->irqc);

  //*(&(pp->irqc))=0;

  return 0;
}
