diff options
author | Anna-Maria Gleixner <anna-maria@linutronix.de> | 2016-03-16 09:25:23 +0100 |
---|---|---|
committer | Shaohua Li <shli@fb.com> | 2016-03-17 14:30:15 -0700 |
commit | 1d034e68e2c256640eb1f44bd7dcd89f90806ccf (patch) | |
tree | 81db1ee654b53022f3bf01b032fb131677aaa449 | |
parent | 23ddba80ebe836476bb2fa1f5ef305dd1c63dc0b (diff) | |
download | linux-1d034e68e2c256640eb1f44bd7dcd89f90806ccf.tar.bz2 |
md/raid5: Cleanup cpu hotplug notifier
The raid456_cpu_notify() hotplug callback lacks handling of the
CPU_UP_CANCELED case. That means if CPU_UP_PREPARE fails, the scratch
buffer is leaked.
Add handling for CPU_UP_CANCELED[_FROZEN] hotplug notifier transitions
to free the scratch buffer.
CC: Shaohua Li <shli@kernel.org>
CC: linux-raid@vger.kernel.org
Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
Signed-off-by: Shaohua Li <shli@fb.com>
-rw-r--r-- | drivers/md/raid5.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index 31ac0f0bf86f..8ab8b65e1741 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -6381,6 +6381,8 @@ static int raid456_cpu_notify(struct notifier_block *nfb, unsigned long action, break; case CPU_DEAD: case CPU_DEAD_FROZEN: + case CPU_UP_CANCELED: + case CPU_UP_CANCELED_FROZEN: free_scratch_buffer(conf, per_cpu_ptr(conf->percpu, cpu)); break; default: |