Ver código fonte

[PATCH] sys_ioprio_set: minor do_each_thread+break fix

From include/linux/sched.h:

         * Careful: do_each_thread/while_each_thread is a double loop so
         *          'break' will not work as expected - use goto instead.
         */

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Jens Axboe <axboe@suse.de>
Oleg Nesterov 19 anos atrás
pai
commit
78bd4d484f
1 arquivos alterados com 2 adições e 2 exclusões
  1. 2 2
      fs/ioprio.c

+ 2 - 2
fs/ioprio.c

@@ -111,9 +111,9 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
 					continue;
 					continue;
 				ret = set_task_ioprio(p, ioprio);
 				ret = set_task_ioprio(p, ioprio);
 				if (ret)
 				if (ret)
-					break;
+					goto free_uid;
 			} while_each_thread(g, p);
 			} while_each_thread(g, p);
-
+free_uid:
 			if (who)
 			if (who)
 				free_uid(user);
 				free_uid(user);
 			break;
 			break;