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);
|
free_page((unsigned long)usrdata->mcctrl_doorbell_va);
|
||||||
|
|
||||||
|
destroy_peer_channel_registry(usrdata);
|
||||||
kfree(usrdata->channels);
|
kfree(usrdata->channels);
|
||||||
kfree(usrdata);
|
kfree(usrdata);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -226,6 +226,7 @@ int reserve_user_space(struct mcctrl_usrdata *usrdata, unsigned long *startp,
|
|||||||
|
|
||||||
/* syscall.c */
|
/* syscall.c */
|
||||||
int init_peer_channel_registry(struct mcctrl_usrdata *ud);
|
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 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);
|
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);
|
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;
|
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 register_peer_channel(struct mcctrl_usrdata *ud, void *key, struct mcctrl_channel *ch)
|
||||||
{
|
{
|
||||||
int cpu;
|
int cpu;
|
||||||
|
|||||||
Reference in New Issue
Block a user