In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
In the Linux kernel, the following vulnerability has been resolved:md: Fix missing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.
| linux | | https://git.kernel.org/linus/855678ed8534518e2b428bcbcec695de9ba248e8 | https://git.kernel.org/linus/fa2bbff7b0b4e211fec5e5686ef96350690597b5 | ubuntu |
</details>
二、漏洞分析结构反馈
影响性分析说明:
IntheLinuxkernel,thefollowingvulnerabilityhasbeenresolved:md:Fixmissing release of active_io for flushsubmit_flushes atomic_set(&mddev->flush_pending, 1); rdev_for_each_rcu(rdev, mddev) atomic_inc(&mddev->flush_pending); bi->bi_end_io = md_end_flush submit_bio(bi); /* flush io is done first */ md_end_flush if (atomic_dec_and_test(&mddev->flush_pending)) percpu_ref_put(&mddev->active_io) -> active_io is not released if (atomic_dec_and_test(&mddev->flush_pending)) -> missing release of active_ioFor consequence, mddev_suspend() will wait for active_io to be zeroforever.Fix this problem by releasing active_io in submit_flushes() if flush_pending is decreased to zero.