The Samba-Bugzilla – Attachment 16333 Details for
Bug 14486
vfs_glusterfs: smbtorture test smb2.rw.rw1 failure on distributed disperse volume
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Errata patch for 4.13.next, 4.12.next, 4.11.next
0001-s3-modules-gluster.-Fix-the-error-I-made-in-preventi.patch (text/plain), 2.42 KB, created by
Jeremy Allison
on 2020-11-12 18:27:55 UTC
(
hide
)
Description:
Errata patch for 4.13.next, 4.12.next, 4.11.next
Filename:
MIME Type:
Creator:
Jeremy Allison
Created:
2020-11-12 18:27:55 UTC
Size:
2.42 KB
patch
obsolete
>From 9613a98bb3dfb906060edc87fed537eef59f19f1 Mon Sep 17 00:00:00 2001 >From: Jeremy Allison <jra@samba.org> >Date: Tue, 10 Nov 2020 10:18:18 -0800 >Subject: [PATCH] s3: modules: gluster. Fix the error I made in preventing > talloc leaks from a function. >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >file_lines_parse() plays horrible tricks with >the passed-in talloc pointers and the hierarcy >which makes freeing hard to get right. > >As we know mem_ctx is freed by the caller, after >calling file_lines_parse don't free on exit and let the caller >handle it. This violates good Samba coding practice >but we know we're not leaking here. > >BUG: https://bugzilla.samba.org/show_bug.cgi?id=14486 > >Signed-off-by: Jeremy Allison <jra@samba.org> >Reviewed-by: Guenther Deschner <gd@samba.org> > >Autobuild-User(master): Günther Deschner <gd@samba.org> >Autobuild-Date(master): Wed Nov 11 15:02:27 UTC 2020 on sn-devel-184 > >(cherry picked from commit 457b49c67803dd95abc8502c2a410fac273f6fba) >--- > source3/modules/vfs_glusterfs.c | 20 ++++++++++++-------- > 1 file changed, 12 insertions(+), 8 deletions(-) > >diff --git a/source3/modules/vfs_glusterfs.c b/source3/modules/vfs_glusterfs.c >index bdfe35ced82..17e945f7e78 100644 >--- a/source3/modules/vfs_glusterfs.c >+++ b/source3/modules/vfs_glusterfs.c >@@ -315,15 +315,25 @@ static int check_for_write_behind_translator(TALLOC_CTX *mem_ctx, > return -1; > } > >+ /* >+ * file_lines_parse() plays horrible tricks with >+ * the passed-in talloc pointers and the hierarcy >+ * which makes freeing hard to get right. >+ * >+ * As we know mem_ctx is freed by the caller, after >+ * this point don't free on exit and let the caller >+ * handle it. This violates good Samba coding practice >+ * but we know we're not leaking here. >+ */ >+ > lines = file_lines_parse(buf, > newlen, > &numlines, > mem_ctx); > if (lines == NULL || numlines <= 0) { >- TALLOC_FREE(option); >- TALLOC_FREE(buf); > return -1; > } >+ /* On success, buf is now a talloc child of lines !! */ > > for (i=0; i < numlines; i++) { > if (strequal(lines[i], option)) { >@@ -338,15 +348,9 @@ static int check_for_write_behind_translator(TALLOC_CTX *mem_ctx, > "Please check the vfs_glusterfs(8) manpage for " > "further details.\n", > volume); >- TALLOC_FREE(lines); >- TALLOC_FREE(option); >- TALLOC_FREE(buf); > return -1; > } > >- TALLOC_FREE(lines); >- TALLOC_FREE(option); >- TALLOC_FREE(buf); > return 0; > } > >-- >2.27.0 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
gd
:
review+
Actions:
View
Attachments on
bug 14486
:
16217
|
16218
|
16226
|
16319
|
16320
|
16322
|
16324
| 16333 |
16345
|
16346
|
16354
|
16355