https://www.kernel.org/doc/html/v5.0/process/coding-style.ht...
int do_stuff_in_order(void) { int ret = init_a(); if (ret != success) goto out; ret = init_b(); if (ret != success) goto error1; ret = init_c(); if (ret != success) goto error2; return 0; error2: teardown_b(); error1: teardown_a(); out: return ret; }
https://www.kernel.org/doc/html/v5.0/process/coding-style.ht...