Simple mutex_destroy question

Lucas Tanure tanure at linux.com
Wed Nov 19 05:08:50 EST 2025


On Fri, Nov 14, 2025 at 10:42 AM Lucas Tanure <tanure at linux.com> wrote:
>
> 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


Hi,
Could someone help shed some light on this? Should I do  mutex_destroy
on a mutex that is inside a memory that's about to be freed?
thanks



More information about the Kernelnewbies mailing list