[Bugs] [Bug 1421649] When using a fuse mount for client, EC volumes do not mount.

bugzilla at redhat.com bugzilla at redhat.com
Mon Mar 20 07:27:54 UTC 2017


https://bugzilla.redhat.com/show_bug.cgi?id=1421649



--- Comment #20 from Xavier Hernandez <xhernandez at datalab.es> ---
(In reply to Steve Grubb from comment #18)
> Another approach might be to compile into mmap() memory that is rw, and then
> mprotect() it to be rx. That assumes you are using a language (javascript)
> that does not do runtime optimizing which requires continued writing as the
> app runs.

The dynamic code here is used because the number of combinations that would be
needed grows easily to thousands. However in normal circumstances only a small
subset is used and tends to remain stable until some event happens (brick
failure or similar).

The program mmaps regions in blocks of 64KB to store multiple fragments of
code. However the fragments are generated as they are needed. At the same time
some other fragments might be executing, so the mprotect() solution is not
practical here.

Using an independent mmap() for each fragment of code seems a waste of memory
to me (normally each fragment of code requires few hundreds of bytes).

(In reply to Simon Sekidde from comment #19)
> bin_t is used to identify a file as an ordinary program type. If this is
> shell script then it should be shell_exec_t.

The dynamic code generated and stored into the temporary backend file is
machine code, not shell code. The bin_t type works fine here.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=JaEcYdsw1C&a=cc_unsubscribe


More information about the Bugs mailing list