add missing kfree() for channel lookup table
This commit is contained in:
@ -388,6 +388,7 @@ void destroy_ikc_channels(ihk_os_t os)
|
||||
}
|
||||
free_page((unsigned long)usrdata->mcctrl_doorbell_va);
|
||||
|
||||
destroy_peer_channel_registry(usrdata);
|
||||
kfree(usrdata->channels);
|
||||
kfree(usrdata);
|
||||
}
|
||||
|
||||
@ -226,6 +226,7 @@ int reserve_user_space(struct mcctrl_usrdata *usrdata, unsigned long *startp,
|
||||
|
||||
/* syscall.c */
|
||||
int init_peer_channel_registry(struct mcctrl_usrdata *ud);
|
||||
void destroy_peer_channel_registry(struct mcctrl_usrdata *ud);
|
||||
int register_peer_channel(struct mcctrl_usrdata *ud, void *key, struct mcctrl_channel *ch);
|
||||
int deregister_peer_channel(struct mcctrl_usrdata *ud, void *key, struct mcctrl_channel *ch);
|
||||
struct mcctrl_channel *get_peer_channel(struct mcctrl_usrdata *ud, void *key);
|
||||
|
||||
@ -83,6 +83,13 @@ int init_peer_channel_registry(struct mcctrl_usrdata *ud)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void destroy_peer_channel_registry(struct mcctrl_usrdata *ud)
|
||||
{
|
||||
kfree(ud->keys);
|
||||
ud->keys = NULL;
|
||||
return;
|
||||
}
|
||||
|
||||
int register_peer_channel(struct mcctrl_usrdata *ud, void *key, struct mcctrl_channel *ch)
|
||||
{
|
||||
int cpu;
|
||||
|
||||
Reference in New Issue
Block a user