2020-06-01 12:06:30

by Markus Elfring

[permalink] [raw]
Subject: Re: [PATCH 1/2] ubifs: Fix potential memory leaks while iterating entries

> Fix some potential memory leaks in error handling branches while
> iterating xattr entries.

Such information is useful.


> For example, function ubifs_tnc_remove_ino()
> forgets to free pxent if it exists. Similar problems also exist in
> ubifs_purge_xattrs(), ubifs_add_orphan() and ubifs_jnl_write_inode().

Can an other wording variant be a bit nicer?


I suggest to avoid the specification of duplicate function calls
(also for the desired exception handling).
Will it be helpful to add a few jump targets?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?id=3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162#n455

Regards,
Markus


2020-06-01 13:48:09

by Zhihao Cheng

[permalink] [raw]
Subject: Re: [PATCH 1/2] ubifs: Fix potential memory leaks while iterating entries

在 2020/6/1 20:00, Markus Elfring 写道:
>> Fix some potential memory leaks in error handling branches while
>> iterating xattr entries.
> Such information is useful.
>
>
>> For example, function ubifs_tnc_remove_ino()
>> forgets to free pxent if it exists. Similar problems also exist in
>> ubifs_purge_xattrs(), ubifs_add_orphan() and ubifs_jnl_write_inode().
> Can an other wording variant be a bit nicer?
Thanks for reminding, I will improve this description.
>
> I suggest to avoid the specification of duplicate function calls
> (also for the desired exception handling).
> Will it be helpful to add a few jump targets?
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?id=3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162#n455
I've thought about using "goto err_tag_2" in kill_xattrs code block to
release prev xent, but later it needs to jump to 'out_release tag‘ for
releasing previously requested memory, which can clutter the code. It
seems that two consecutive 'goto tags' will make the code less readable.
> Regards,
> Markus
>
> .



2020-06-01 13:57:29

by Richard Weinberger

[permalink] [raw]
Subject: Re: [PATCH 1/2] ubifs: Fix potential memory leaks while iterating entries

On Mon, Jun 1, 2020 at 3:46 PM Zhihao Cheng <[email protected]> wrote:
>
> 在 2020/6/1 20:00, Markus Elfring 写道:
> >> Fix some potential memory leaks in error handling branches while
> >> iterating xattr entries.
> > Such information is useful.
> >
> >
> >> For example, function ubifs_tnc_remove_ino()
> >> forgets to free pxent if it exists. Similar problems also exist in
> >> ubifs_purge_xattrs(), ubifs_add_orphan() and ubifs_jnl_write_inode().
> > Can an other wording variant be a bit nicer?
> Thanks for reminding, I will improve this description.

The description is fine. No need to resend. Patch will be queued after
the merge window.
Thanks for fixing these issues!

--
Thanks,
//richard

2020-06-01 14:05:21

by Markus Elfring

[permalink] [raw]
Subject: Re: [1/2] ubifs: Fix potential memory leaks while iterating entries

>> I suggest to avoid the specification of duplicate function calls
>> (also for the desired exception handling).
>> Will it be helpful to add a few jump targets?
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?id=3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162#n455
> I've thought about using "goto err_tag_2" in kill_xattrs code block to release prev xent,

I propose to choose better labels.


> but later it needs to jump to 'out_release tag‘ for releasing previously requested memory,
> which can clutter the code.

Would you like to reconsider this view?


> It seems that two consecutive 'goto tags' will make the code less readable.

How do you think about to try another software adjustment out in such a design direction?


Can it make sense to combine changes together with the update step
“ubifs: dent: Fix some potential memory leaks while iterating entries”
into a single patch?
https://lore.kernel.org/linux-mtd/[email protected]/
https://lore.kernel.org/patchwork/patch/1250456/

Regards,
Markus

2020-06-01 14:14:10

by Richard Weinberger

[permalink] [raw]
Subject: Re: [1/2] ubifs: Fix potential memory leaks while iterating entries

On Mon, Jun 1, 2020 at 4:00 PM Markus Elfring <[email protected]> wrote:
>
> >> I suggest to avoid the specification of duplicate function calls
> >> (also for the desired exception handling).
> >> Will it be helpful to add a few jump targets?
> >> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/coding-style.rst?id=3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162#n455
> > I've thought about using "goto err_tag_2" in kill_xattrs code block to release prev xent,
>
> I propose to choose better labels.
>
>
> > but later it needs to jump to 'out_release tag‘ for releasing previously requested memory,
> > which can clutter the code.
>
> Would you like to reconsider this view?
>
>
> > It seems that two consecutive 'goto tags' will make the code less readable.
>
> How do you think about to try another software adjustment out in such a design direction?
>
>
> Can it make sense to combine changes together with the update step
> “ubifs: dent: Fix some potential memory leaks while iterating entries”
> into a single patch?
> https://lore.kernel.org/linux-mtd/[email protected]/
> https://lore.kernel.org/patchwork/patch/1250456/

No. Please stop this kind of bikeshedding.
Zhihao, feel free to ignore all "advice" given by Markus Elfring.

--
Thanks,
//richard