lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Mon, 21 Oct 2013 17:52:56 -0200
From:	Geyslan Gregório Bem <geyslan@...il.com>
To:	Eric Van Hensbergen <ericvh@...il.com>
Cc:	Ron Minnich <rminnich@...dia.gov>,
	Latchesar Ionkov <lucho@...kov.net>,
	V9FS Developers <v9fs-developer@...ts.sourceforge.net>,
	linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] 9p: fix return value in case of error in v9fs_fid_xattr_set

2013/10/21 Geyslan Gregório Bem <geyslan@...il.com>:
> At first, thanks for reply.
>
> 2013/10/20 Eric Van Hensbergen <ericvh@...il.com>:
>> On Sat, Sep 28, 2013 at 6:32 PM, Geyslan G. Bem <geyslan@...il.com> wrote:
>>>
>>> In case of error in the p9_client_write, the function v9fs_fid_xattr_set
>>> should return its negative value, what was never being done.
>>>
>>> Signed-off-by: Geyslan G. Bem <geyslan@...il.com>
>>> ---
>>>  fs/9p/xattr.c | 9 ++++-----
>>>  1 file changed, 4 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/fs/9p/xattr.c b/fs/9p/xattr.c
>>> index 3c28cdf..0788388 100644
>>> --- a/fs/9p/xattr.c
>>> +++ b/fs/9p/xattr.c
>>> @@ -149,11 +149,10 @@ int v9fs_fid_xattr_set(struct p9_fid *fid, const
>>> char *name,
>>>                         write_count = value_len;
>>>                 write_count = p9_client_write(fid, ((char *)value)+offset,
>>>                                         NULL, offset, write_count);
>>> -               if (write_count < 0) {
>>> -                       /* error in xattr write */
>>> -                       retval = write_count;
>>> -                       break;
>>> -               }
>>> +               /* error in xattr write */
>>> +               if (write_count < 0)
>>> +                       return write_count;
>>> +
>>>
>>
>>
>> So, I'm convinced that there's a problem here, but I think the solution in
>> the patch is incomplete.  Simply returning wouldn't clunk the fid.  I think
>> the right approach is likely to keep the break, clunk and return an error if
>> either the p9_client_write or the p9_client_clunk fails.
>>
>> I suppose you could make a claim that v9fs_fid_xattr_set shouldn't be
>> clunking the fid -- but considering it's cloned the fid in its function
>> body, it does seem like it shoudl also be cleaning up after itself.
>>
>
> Right. I'll centralize the exiting assuring that fid will be clunked
> in case of fails.
>
>>     -eric
>>
>>
>>       -eric
>>

New version sent:
 [PATCH] 9p: fix return value in case in v9fs_fid_xattr_set()
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists