Fork us on GitHub Follow us on Google+ Follow us on Facebook Follow us on Twitter

Opened 5 years ago

Last modified 11 months ago

#528 new defect

Address space area leak in remote_ahci_read/write_blocks()

Reported by: Jakub Jermář Owned by:
Priority: major Milestone:
Component: helenos/lib/other Version: mainline
Keywords: Cc:
Blocker for: Depends on:
See also:

Description (last modified by Jakub Jermář)

It looks like there is a leak of a shared address space area in remote_ahci_write_blocks() and remote_ahci_read_blocks():

        void *buf;
        async_share_out_finalize(cid, &buf);

        const uint64_t blocknum =
            (((uint64_t) (DEV_IPC_GET_ARG1(*call))) << 32) |
            (((uint64_t) (DEV_IPC_GET_ARG2(*call))) & 0xffffffff);
        const size_t cnt = (size_t) DEV_IPC_GET_ARG3(*call);

        const int ret = ahci_iface->read_blocks(fun, blocknum, cnt, buf);

        async_answer_0(callid, ret);
}

buf is passed to ahci_read/write_blocks(), but it is never as_destroy()'ed in either of them nor in any other part of the ahci driver or libdrv.

Change History (3)

comment:1 Changed 5 years ago by Jakub Jermář

Description: modified (diff)

comment:2 Changed 4 years ago by Jakub Jermář

Milestone: 0.6.00.7.1

comment:3 Changed 11 months ago by Jakub Jermář

Milestone: 0.7.1
Note: See TracTickets for help on using tickets.