cudaMalloc Pointer to Pointer

Im trying to copy a linked list on to the GPU. Lets say I have a simple struct called Cuda. Can I make an array for Cuda pointers and malloc them on to the GPU?
typedef struct _Cuda
int value;
double leftovers;
struct _Cuda *nextCuda;

typdef struct _Cuda1
int remove;
Cuda *firstnode;
Cuda *lastnode;
double max;

Cuda **CudaArrayC = NULL; //Array of cuda pointer

cudaMalloc((void *) &CudaArrayC,(CUDA_num * sizeof(Cuda));

If not,Does any have any suggestion as to how i should go about implementing a linked list on the GPU? Is this even possible considering FERMI?

Thanks for your help!

Once on the gpu, do you want to be able to add/delete nodes in the list? Or is the list (but not necessarily the data within) static?

It would be nice to have that capability. But if there is some cuda restrictions its ok. I’m essentially trying to create a benchmark with command line arguments. So the node are specified at the command line. Also when I took a GPU computing course they mentioned that resursion is restricted. Will this prevent me from porting my single linked list to the GPU?