static int __init read_suspend_image(void) { int error = 0; if ((error = check_sig())) return error; if ((error = check_header())) return error; if ((error = read_pagedir())) return error; if ((error = data_read())) free_pages((unsigned long)pagedir_nosave, pagedir_order); return error; }
static int __init read_suspend_image(void) { int error = 0; if ((error = check_sig())) return error; if ((error = check_header())) return error; if ((error = read_pagedir())) return error; if ((error = relocate_pagedir())) goto FreePagedir; if ((error = check_pagedir())) goto FreePagedir; if ((error = read_image_data())) goto FreePagedir; Done: return error; FreePagedir: free_pages((unsigned long)pm_pagedir_nosave,pagedir_order); goto Done; }