Simple mutex_destroy question

Lucas Tanure tanure at linux.com
Fri Nov 14 05:42:21 EST 2025


Hi,

Do I need to call mutex_destroy in a failed probe exit, or in the remove 
module function, if the mutex is located in memory allocated with 
devm_kzalloc and family?
Like:
static int mychip_i2c_probe(struct i2c_client *client)
{
     struct chip *chip;
     int ret;

     chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL);
     if (!chip)
         return -ENOMEM;

     mutex_init(&chip->lock);
     i2c_set_clientdata(client, chip);

     /* Do my chip stuf
     */


     return ret;

probe_fail:
     mutex_destroy(&chip->lock);
     return ret;
}

I understand that mutex_destroy will only invalidate the memory, but as 
I am freeing this is not necessary?

Thanks
Lucas Tanure



More information about the Kernelnewbies mailing list