kmalloc과 반대되는 함수로 kfree()로 이것은 <linux/slab.h>에 선언되어 있다.
void kfree(const void *ptr);
인터럽트 핸들러에서 메모리를 할당하는 예를 들어보자. 이 예제에서는 인터럽트 핸들러가 버퍼를 할당하여 입력 데이터를 담으려 한다. 버퍼의 크기는 BUF_SIZE에 바이트 단위로 정의되어 있는데, 2바이트 이상으 ㅣ값이라 가정하면
char *buf;
buf = kmalloc(BUF_SIZE, GFP_ATOMIC);
if(!buf)
/*메모리할당 오류 */
나중에 메모리가 더 필요치 않게되면 잊지말고 해제해야 한다.
kfree(buf);
void kfree(const void *ptr);
인터럽트 핸들러에서 메모리를 할당하는 예를 들어보자. 이 예제에서는 인터럽트 핸들러가 버퍼를 할당하여 입력 데이터를 담으려 한다. 버퍼의 크기는 BUF_SIZE에 바이트 단위로 정의되어 있는데, 2바이트 이상으 ㅣ값이라 가정하면
char *buf;
buf = kmalloc(BUF_SIZE, GFP_ATOMIC);
if(!buf)
/*메모리할당 오류 */
나중에 메모리가 더 필요치 않게되면 잊지말고 해제해야 한다.
kfree(buf);