From mboxrd@z Thu Jan 1 00:00:00 1970 From: mulyadi.santosa@gmail.com (Mulyadi Santosa) Date: Wed, 23 Nov 2011 00:52:39 +0700 Subject: Freeing work_struct memory In-Reply-To: <4ECABACA.7030701@gnukai.com> References: <4ECABACA.7030701@gnukai.com> Message-ID: To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org Hi ... On Tue, Nov 22, 2011 at 03:55, Kai Meyer wrote: > I frequently get a kernel panic with a specific test, but the stack > trace is rarely the same, which seems to indicate to me that I'm > corrupting data somewhere. So my question is: > > Can I free the memory for "struct my_worker *worker" inside worker_fn? > Or does the work_queue stuff need to continue to use the "struct > work_struct work" member after the end of worker_fn? I think it's due to the dequeueing out of the worker thread. So, it tries to dequeue, but in fact it points to NULL. You need to make sure it finishes completely first...then free it later. -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.com