[PATCH 01/15] fuse: Copy write buffer content before polling

2025-04-05 Thread Hanna Czenczek
Polling in I/O functions can lead to nested read_from_fuse_export() calls, overwriting the request buffer's content. The only function affected by this is fuse_write(), which therefore must use a bounce buffer or corruption may occur. Note that in addition we do not know whether libfuse-internal

Re: [PATCH 01/15] fuse: Copy write buffer content before polling

2025-04-04 Thread Hanna Czenczek
On 01.04.25 15:44, Eric Blake wrote: On Tue, Mar 25, 2025 at 05:06:35PM +0100, Hanna Czenczek wrote: Polling in I/O functions can lead to nested read_from_fuse_export() calls, overwriting the request buffer's content. The only function affected by this is fuse_write(), which therefore must use

Re: [PATCH 01/15] fuse: Copy write buffer content before polling

2025-04-04 Thread Hanna Czenczek
On 27.03.25 15:47, Stefan Hajnoczi wrote: On Tue, Mar 25, 2025 at 05:06:35PM +0100, Hanna Czenczek wrote: Polling in I/O functions can lead to nested read_from_fuse_export() "Polling" means several different things. "aio_poll()" or "nested event loop" would be clearer. Sure! calls, overwrit

Re: [PATCH 01/15] fuse: Copy write buffer content before polling

2025-04-01 Thread Eric Blake
On Tue, Mar 25, 2025 at 05:06:35PM +0100, Hanna Czenczek wrote: > Polling in I/O functions can lead to nested read_from_fuse_export() > calls, overwriting the request buffer's content. The only function > affected by this is fuse_write(), which therefore must use a bounce > buffer or corruption ma

Re: [PATCH 01/15] fuse: Copy write buffer content before polling

2025-03-27 Thread Stefan Hajnoczi
On Tue, Mar 25, 2025 at 05:06:35PM +0100, Hanna Czenczek wrote: > Polling in I/O functions can lead to nested read_from_fuse_export() "Polling" means several different things. "aio_poll()" or "nested event loop" would be clearer. > calls, overwriting the request buffer's content. The only functi