mbox series

[v3,0/2] ceph: don't NULL terminate virtual xattr values

Message ID 20190621141833.17551-1-jlayton@kernel.org (mailing list archive)
Headers show
Series ceph: don't NULL terminate virtual xattr values | expand

Message

Jeff Layton June 21, 2019, 2:18 p.m. UTC
v3: switch to using an intermediate buffer for snprintf destination
    add patch to fix ceph_vxattrcb_layout return value
v2: drop bogus EXPORT_SYMBOL of static function

This is the 3rd posting of this patchset. Instead of adding a new
snprintf variant that doesn't NULL terminate, this set instead has
the vxattr handlers use an intermediate buffer as the snprintf
destination and then memcpy's the result into the destination buffer.

Also, I added a patch to fix up the return of ceph_vxattrcb_layout. The
existing code actually worked, but relied on casting a signed negative
value to unsigned and back, which seemed a little sketchy.

Most of the rationale for this set is in the description of the first
patch of the series.

Jeff Layton (2):
  ceph: fix buffer length handling in virtual xattrs
  ceph: fix return of ceph_vxattrcb_layout

 fs/ceph/xattr.c | 113 ++++++++++++++++++++++++++++++++++--------------
 1 file changed, 81 insertions(+), 32 deletions(-)

Comments

Yan, Zheng June 24, 2019, 8:56 a.m. UTC | #1
On Fri, Jun 21, 2019 at 10:21 PM Jeff Layton <jlayton@kernel.org> wrote:
>
> v3: switch to using an intermediate buffer for snprintf destination
>     add patch to fix ceph_vxattrcb_layout return value
> v2: drop bogus EXPORT_SYMBOL of static function
>
> This is the 3rd posting of this patchset. Instead of adding a new
> snprintf variant that doesn't NULL terminate, this set instead has
> the vxattr handlers use an intermediate buffer as the snprintf
> destination and then memcpy's the result into the destination buffer.
>
> Also, I added a patch to fix up the return of ceph_vxattrcb_layout. The
> existing code actually worked, but relied on casting a signed negative
> value to unsigned and back, which seemed a little sketchy.
>
> Most of the rationale for this set is in the description of the first
> patch of the series.
>
> Jeff Layton (2):
>   ceph: fix buffer length handling in virtual xattrs
>   ceph: fix return of ceph_vxattrcb_layout
>
>  fs/ceph/xattr.c | 113 ++++++++++++++++++++++++++++++++++--------------
>  1 file changed, 81 insertions(+), 32 deletions(-)
>

Reviewed-by
> --
> 2.21.0
>