From 8c364c784966be1700ea39ae45028f3e9be9cae0 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 27 Mar 2018 22:40:05 +0100 Subject: gentoo resync : 27.03.2018 --- sys-fs/mdadm/Manifest | 14 +-- ...date-metadata_update-size-before-using-it.patch | 44 ------- ...-not-try-to-restart-if-reshape-is-running.patch | 45 -------- ....1-Grow-fix-removal-of-line-in-wrong-case.patch | 39 ------- ...-use-strcpy-rather-than-pointless-strncpy.patch | 32 ------ ...date-metadata_update-size-before-using-it.patch | 128 --------------------- ...file-install-mdadm-grow-continue-.service.patch | 28 ----- ...on-allow-prepare_update-to-report-failure.patch | 119 ------------------- ...e-Unix-domain-socket-is-created-with-safe.patch | 34 ------ sys-fs/mdadm/mdadm-3.3.1-r2.ebuild | 95 --------------- sys-fs/mdadm/mdadm-4.1_rc1.ebuild | 87 ++++++++++++++ 11 files changed, 90 insertions(+), 575 deletions(-) delete mode 100644 sys-fs/mdadm/files/mdadm-3.3.1-DDF-validate-metadata_update-size-before-using-it.patch delete mode 100644 sys-fs/mdadm/files/mdadm-3.3.1-Grow-Do-not-try-to-restart-if-reshape-is-running.patch delete mode 100644 sys-fs/mdadm/files/mdadm-3.3.1-Grow-fix-removal-of-line-in-wrong-case.patch delete mode 100644 sys-fs/mdadm/files/mdadm-3.3.1-IMSM-use-strcpy-rather-than-pointless-strncpy.patch delete mode 100644 sys-fs/mdadm/files/mdadm-3.3.1-IMSM-validate-metadata_update-size-before-using-it.patch delete mode 100644 sys-fs/mdadm/files/mdadm-3.3.1-Makefile-install-mdadm-grow-continue-.service.patch delete mode 100644 sys-fs/mdadm/files/mdadm-3.3.1-mdmon-allow-prepare_update-to-report-failure.patch delete mode 100644 sys-fs/mdadm/files/mdadm-3.3.1-mdmon-ensure-Unix-domain-socket-is-created-with-safe.patch delete mode 100644 sys-fs/mdadm/mdadm-3.3.1-r2.ebuild create mode 100644 sys-fs/mdadm/mdadm-4.1_rc1.ebuild (limited to 'sys-fs/mdadm') diff --git a/sys-fs/mdadm/Manifest b/sys-fs/mdadm/Manifest index ec7509f2dfb3..831dd19b16f2 100644 --- a/sys-fs/mdadm/Manifest +++ b/sys-fs/mdadm/Manifest @@ -1,25 +1,17 @@ AUX etc-default-mdadm 320 BLAKE2B 9da106687798a145b523bad7a696b2aa83b16b74f66bd583f9715c78fe3fd8aac9736d4a709128b8ad15660bae514b1a55eccab04e54d869a11cd091cb4dca87 SHA512 2258f6321e447c05e3da88a41c7a2c4a031973744125d00ee0cdb249170b02ff99b58f3883ef6892c882c313fe929404551234c12917a9d7222e497af1cfa48c -AUX mdadm-3.3.1-DDF-validate-metadata_update-size-before-using-it.patch 1409 BLAKE2B d3ff5b6977584edc00681b043b501ea17eb726e43a79ec15659c5e04f259d7d9dc941d15d7e30d70469a45eb77169d11c9444e59afd3009759a9809e519b693f SHA512 ce8962daeebbdb92a16263d82019ff0ffa2e3127e0477b821ef157e1a71d958434fd2054e776ba0a816f334504a16ad276b655aa5951dd3331868e74db8488c3 -AUX mdadm-3.3.1-Grow-Do-not-try-to-restart-if-reshape-is-running.patch 1656 BLAKE2B 6dfb4a513d864b2bdf67690d5d8d29023a40d4c85543f8e34a9c0bc378937d11e94c303d93434c515bcb689dfef7a5e9f31c473d1271a565a6d218290bb0a7f1 SHA512 ebae416c12d85a381cff25634ee1f574ac1ae376ddf35c1c8ea3abb4f6978b8689a86aebeb7b6ad0496fa683de9882994d78314b49bae707439a5fabccf7fb2a -AUX mdadm-3.3.1-Grow-fix-removal-of-line-in-wrong-case.patch 1080 BLAKE2B b9f15d2b0b134806d83d8cafeed42d8f95ebe8fef41f6022ea19ad961d464715483aeffd19b3d9cd49f9707922a97294a23341c79dbf60e0fb7689f57d089ee2 SHA512 d666877ba2e2d32266beec1d67bff0edb1d3b39cb44e198ef3ff5c4fe1feb348aa1210becd306e3cbda8d46e8360e320080525698504f80a77c02b6781bd5df5 -AUX mdadm-3.3.1-IMSM-use-strcpy-rather-than-pointless-strncpy.patch 1045 BLAKE2B 64e36c238b12100f41ef4b29dc11b7dcbbc16da68914c5fedcfe429a0eb8a80a44bd0a96fc902ca4b483b9646056228efde31309ccb3d659615c77e4472a5f4c SHA512 c49b50af731c858253d9b570045725748856c8666e071f34a8d72788ec594a4bd4b3a0b528c6a197903b49459b223d8c76bfbf20b8da358e5515c16b8d99b36a -AUX mdadm-3.3.1-IMSM-validate-metadata_update-size-before-using-it.patch 3882 BLAKE2B 17fa37a2314c13a9c65d96e1c996a1aeab393f278952969f7ea6fa778c8a36171e68653052794f29926714c347d15fed8dfbba7e125567efc19c6e35a83f4f33 SHA512 8ac28b8e6ede9cf51412656b030a84765519243cbd306f33a34920770dafa5b4abcebd5590e2279e524a1a4b1ebbb69a665e1da8939cdaf7051918e10eb0ca2c -AUX mdadm-3.3.1-Makefile-install-mdadm-grow-continue-.service.patch 1001 BLAKE2B f3bac492d725b572b6199295b993bb99436ed86a44fa7147d12d0713acda189bedb57aadd271a098b07c4fa387e2542d2c35e9e0df1e1f8d563e57c082c6596a SHA512 3f2395d00e66d2d45e50cad9de6456bdbe0b1e4ab2ec925e19060b1f6d399f5fada1411539baa5cb9fbcd528d9ec184692a5d78890c3a23ac62de71ed00f5562 -AUX mdadm-3.3.1-mdmon-allow-prepare_update-to-report-failure.patch 3654 BLAKE2B 480910659ab1089f97a762b0460b396cd024ac67cc353eec13ecc58dc6fc1711038f5ddd3f1536fda0d1528c80221714693fa996fbf98efd7acba696be6c9e20 SHA512 05b8f395ba1dbf31998eba0303396dbed92f825d37a99e48ab67dd66b6275d31fced087fcd3d70bb08a5e18a38098efab8a5df855519b457b532bb7f1aeb9f51 -AUX mdadm-3.3.1-mdmon-ensure-Unix-domain-socket-is-created-with-safe.patch 1015 BLAKE2B bfef904baa9388045150443fcce4cb95d41cf96d9bf096f1bbf6851aa5ab6e9aa2772b2bae195375c442b02229b75a6e462965adbdac98f96d8fe64a6bdb10a6 SHA512 3f8f8a6cf3f75004916180d67257af504b722cce6fd85a1e0136fd46dc467ea5919e8d65ba7483f3960f0676e1bb0d3cc0b09d24acf235f2045247aa199d377f AUX mdadm-3.4-sysmacros.patch 859 BLAKE2B 7ad91f1bb06ef6ddba5f3d1a4f7c2a542e57c10d0e28d619bd858ea74afdbd1c2f1dc59657f5ceb206c6a9ab93989c29d9b33e7c7394571204786c96ccd16f31 SHA512 47564bba9d45dfb39d63df9e6cd96ad03b37b314e794af180911481feb4e038035aa1ea6d3de2061982f46b51d1a205168f98e6f0a092f55f6f8e760dbabdae6 AUX mdadm.confd 205 BLAKE2B 3ce0a158e1b9621a034442cdc7f643ee39a3cc9ea62697b6d1d090ae28c07e1b2ee192a33bdbdc36b95ec1e997f375764cddfde7e247b0a4830121a5216736ac SHA512 7bf66898000b3d02bbf0704a8032b0f4fc045380501dc8d2bbbb31d33b122d9c35879b25714663079eeadd207c9da87c9d9af8464e76146bf5b68594e73fd92c AUX mdadm.rc 465 BLAKE2B fef5cc1cc68d7d5e11250b6196cfd1fa45bd39e14d90c723d44d7b6e6ee8c3727056eb7f6cd57646f05646798b246aa0579bc61c11cd79c6559cb1070fff7685 SHA512 01fe98e88466afefd84a52cedc5fcbe18eadf8f80fed12b8a2a6a8f5581e7cabe8ce3f2e99cdc3c1bacc626f5eb4f6bffe3cc888153089ee2a461c465ae05570 AUX mdadm.weekly 187 BLAKE2B 50048d84cd57b384b98fcdb6b2a4a18380aab6e76877ee9edd460e65ef9f35981c05b12f32e96dc0b6a8247e628ff162b0a1171fe00fa55aa3f4dfb47e2fc91a SHA512 3bc7bf8c9593f06e42ae657e2bce416758090d1f999a447986df17b97e1494b261f02155b83932295f2f3bbab7d8933cf647c834bfb1d7def879cbedfaa6d7c2 AUX mdraid.confd 383 BLAKE2B c61fd2c072a0d12ca21ad4f8a60a55101b4e452f9acc8cdcdf9a6069060b11bf90387830f516b69d266fef061112ba41f903b9371fff91c94c9332b12e436145 SHA512 37fe70f5df0fb2b68be01ee774e3a943cfb280322f2db0c5d6892e701fb58be26a225b78448814294bf68f154cca697278fcf9572a47b6201920d95ad05189d6 AUX mdraid.rc 759 BLAKE2B 41f1b4cb9dd29411d56bea656dddc2cb2fd3cc14b183d05c502fb5e29407d1d816de9595e13349ef7e03240308cf4395578be31149f59d1960d1feee0165506d SHA512 d76190646b393d1480607b0d89d08ce4196738295fbb7790fa1035c53a041b5cb88fe857bb2070920a9c3ae21b9fb8f7838dde240fa0e275e5915add9c113021 -DIST mdadm-3.3.1.tar.xz 407964 BLAKE2B 7494f6431729c3278412080aa3db7676a02d963148e5be7522f3de3e73acb1af9bf9e0be0042e13ee0c7524155e772a252a924eb4965c430d6918dc37aede246 SHA512 46fc1889e97d2d14b72ac26ee07eb4301467dc4a0e838ba89920253484fcd443749f3afccb3d792f7e468b20021d50dbc29dda7033d9b5a8fbaee664200f1981 DIST mdadm-3.4.tar.xz 422704 BLAKE2B 0e8251fefb2db853a921215a07f1f7e70dfcd6650c20493cb487d4ce32cb609fe8191297046161e62f802c75150e6628b52192bb466d72c4cabfb1bcfae09839 SHA512 5de06f3a2b83333e5346a1e858b15e76f75a13a1d5c5f2032fecc6eb167454b282e12ee111ac2abec778e058ec9554708ac317a476778328546603618e6f70f7 DIST mdadm-4.0.tar.xz 430780 BLAKE2B f08a67452398c864d73c78e2a7258d89c5c81b83dd136d4cd7e31e46b22d75ff67ecf553dc22f55dca418409daded51a399728dfdbd36039e828cad3233774e6 SHA512 12fb26e6b9c1912698defa406e5e47a7ca8d68d4a9aa7acdc9b463ee2d4a37fc6ecef6beb5395ff619018c3f6bdb6d8c573060d027707540f645ad2265170e8b -DIST mdadm_3.3-2.debian.tar.gz 127889 BLAKE2B f7cfe5e59e16bf71561f672e3c7f7a480658919665490a0b6c32b47979050880b51e481c4f0869efdeb791c8bd34d3db5d4034b40bbf9b55f5b8bbdf73040618 SHA512 92e4c403542caba4b9afb870ba803e6bc7ade143b27efdc27e03b3407f322722a635457cce9e8c195a3ecd7cbce66fdebdd6046fc4f36836e56e27d5d838c037 +DIST mdadm-4.1-rc1.tar.xz 440336 BLAKE2B af2e4b9e9fd7f75e92d30a29b0a240e4b078e34f3906a583cf10cda1c89717a27d0044d1ba72e9d41b96becda370a423f880c09cd5f2d783715bf2519e401b3c SHA512 07d75ba511a252de95356bc63e480b3c196ad0715d719f75599d1fa2995d649ea86a63f74aee7558316d728ebaae2c87d86806089cba735532e1c39641baf727 DIST mdadm_3.3.4-1.1.debian.tar.xz 86312 BLAKE2B 367a9ed4b16b73a63b613e8029934ee8fbb056e33ca621e92964408ac9a3b3d107af03b657dbfe572f63150e5438879f6dd29a7e7cca1599b213ba135249e78d SHA512 ea9b34a9952e1ff836cb931c7eef0ae0c44e3f4d46162c7a7eca24936d6f7168e99d67749b3100bc68ebadc8f256e4833d42da48c531cf71e6e8f3100911828f DIST mdadm_3.4-4.debian.tar.xz 81200 BLAKE2B 393bac2310139788935ced77b736d60d11f58e86349990034367af5460483e97239eef5a6622405b68a7aa6f65059bc5692518172e422c3596ab879527619952 SHA512 86a9edb8f29931fdfa40037d535ca80f0bf59539fe1ef16f2639e666a5ac1bd90ec617ec1635080ae62a02f7986a6e10c97dce5389555ab7d417885f216c0f93 -EBUILD mdadm-3.3.1-r2.ebuild 2851 BLAKE2B 5a17d6fd3f3891ec539856ca51554ac06bdf1989ef89e050ed5e0808b3bbbc7560467582f8425a7547781ff4bebfb266485a64480fe582861fdca017512191de SHA512 77a8214ca8f4fab3ee26ed962e5276986c635d8606f0b72d85083cee1c93df6b9ca79eb5afa6df585e4cc5f2f1f8fd73712273ba9199b1f886434be19c97121b +DIST mdadm_4.0-2.debian.tar.xz 81844 BLAKE2B f8b33e27dacfa83292cc0632dd2d9a83b9d5a69e5360cdfb7494b489400504f20c7ab213ec455dfefc68d5a7f8a48fb2085710fe420b9791df9f8ebbe05d1a10 SHA512 a118df3edbe492e28dda054672a0adfe2c1ce276655f70509c2f24082aecd5193ade84ca3f0ee93280f646ee6a1636d703607046b7e27388086627bed911037a EBUILD mdadm-3.4.ebuild 2295 BLAKE2B d7b2d67672dcdb65085aabbce1a001cece049f3dff01f6fc089a68df2954663b19684af21d373bdd52f483b12e537f658979c27cf724000372a62a2a881c174d SHA512 e782ba420537d40ee0c25e0d7dbea42ea429374c6e8025ce10ed766d111744fe70fbced96f935ff450c914f2e79bcdf268fd7b0101458e423f4cf19ac735888a EBUILD mdadm-4.0.ebuild 2300 BLAKE2B c5c98ebefd06b717c6f4d37507c1a15c9348812d0402327d1e7d2661a209cc0c90537353261a441c896f98ee4516b54d1faca335601aba0604aeeac18e2109ba SHA512 66b5316daee8bcb7ff2a1e8e366533e45113683e2cf64b45c8ff431c8d030d6095c1a2430fcc5049401890a5dc72affb49a9735f55dddaab618bd58f04cfdeea +EBUILD mdadm-4.1_rc1.ebuild 2277 BLAKE2B 0e9b0d5fd14c146d9a1f774612fe137ca40c12ec7ff8c1c5f586f2e4b629253e5de49271c783153cac9e17937247780afcca9754579adcbab7b782555b252b0b SHA512 490386d3850a1257f6a38269b21b45e9fb3956ae1bca38ad75c65e8455dfe8b3dd2864272b303107a0ac2964a6c8eb30700a64e39c354bef5e94468f8c92132b MISC metadata.xml 253 BLAKE2B 295e9d6d93aaa12af413972e1590c67087801cc09c9aa6b59d4606c0f4106d1dacf2baa9858559083b4c6d91beeef218d0729e8593a33788958da6d2897e8ce2 SHA512 54a9069aeb4165d2dff3d473c8001bc51613aac9dff3f7f5e9971a9891a737a31511ffa11cbd523febe581ac1d9de2bdf2f40410f0c4239138f2ccca3ef15555 diff --git a/sys-fs/mdadm/files/mdadm-3.3.1-DDF-validate-metadata_update-size-before-using-it.patch b/sys-fs/mdadm/files/mdadm-3.3.1-DDF-validate-metadata_update-size-before-using-it.patch deleted file mode 100644 index befb7da91735..000000000000 --- a/sys-fs/mdadm/files/mdadm-3.3.1-DDF-validate-metadata_update-size-before-using-it.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 1f17f96b538793a0e665e471f602c6fa490ec167 Mon Sep 17 00:00:00 2001 -From: NeilBrown -Date: Thu, 10 Jul 2014 15:59:06 +1000 -Subject: [PATCH 12/14] DDF: validate metadata_update size before using it. - -process_update already checks update->len, for all but -the 'magic', prepare_update doesn't at all. - -So add tests to prepare_update that we don't exceed the buffer. -This will consequently protect process_update from looking -for a 'magic' which isn't there. - -Reported-by: Vincent Berg -Signed-off-by: NeilBrown ---- - super-ddf.c | 10 ++++++++-- - 1 file changed, 8 insertions(+), 2 deletions(-) - -diff --git a/super-ddf.c b/super-ddf.c -index 1e43ca2..8957c2e 100644 ---- a/super-ddf.c -+++ b/super-ddf.c -@@ -4914,10 +4914,16 @@ static int ddf_prepare_update(struct supertype *st, - * If a malloc is needed, do it here. - */ - struct ddf_super *ddf = st->sb; -- be32 *magic = (be32 *)update->buf; -+ be32 *magic; -+ if (update->len < 4) -+ return 0; -+ magic = (be32 *)update->buf; - if (be32_eq(*magic, DDF_VD_CONF_MAGIC)) { - struct vcl *vcl; -- struct vd_config *conf = (struct vd_config *) update->buf; -+ struct vd_config *conf; -+ if (update->len < (int)sizeof(*conf)) -+ return 0; -+ conf = (struct vd_config *) update->buf; - if (posix_memalign(&update->space, 512, - offsetof(struct vcl, conf) - + ddf->conf_rec_len * 512) != 0) { --- -2.0.0 - diff --git a/sys-fs/mdadm/files/mdadm-3.3.1-Grow-Do-not-try-to-restart-if-reshape-is-running.patch b/sys-fs/mdadm/files/mdadm-3.3.1-Grow-Do-not-try-to-restart-if-reshape-is-running.patch deleted file mode 100644 index 717317b8a2d0..000000000000 --- a/sys-fs/mdadm/files/mdadm-3.3.1-Grow-Do-not-try-to-restart-if-reshape-is-running.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 13ffbe89b6103c146c08eb1c9a70833306c8322b Mon Sep 17 00:00:00 2001 -From: Pawel Baldysiak -Date: Wed, 16 Jul 2014 12:20:34 +0200 -Subject: [PATCH 14/14] Grow: Do not try to restart if reshape is running - -Grow process did not check if reshape is already started -when deciding about restarting. -Sync_action should be checked in this case, and if -reshape is running - restart flag should not be set. -Otherwise, Grow process will fail to write data to -sysfs, and reshape will not be continued. - -Signed-off-by: Pawel Baldysiak -Signed-off-by: Artur Paszkiewicz -Signed-off-by: NeilBrown ---- - Grow.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/Grow.c b/Grow.c -index a2f4f14..ea9cc60 100644 ---- a/Grow.c -+++ b/Grow.c -@@ -2822,6 +2822,7 @@ static int reshape_array(char *container, int fd, char *devname, - unsigned long long array_size; - int done; - struct mdinfo *sra = NULL; -+ char buf[20]; - - /* when reshaping a RAID0, the component_size might be zero. - * So try to fix that up. -@@ -2869,7 +2870,9 @@ static int reshape_array(char *container, int fd, char *devname, - goto release; - } - -- if (st->ss->external && restart && (info->reshape_progress == 0)) { -+ if (st->ss->external && restart && (info->reshape_progress == 0) && -+ !((sysfs_get_str(info, NULL, "sync_action", buf, sizeof(buf)) > 0) && -+ (strncmp(buf, "reshape", 7) == 0))) { - /* When reshape is restarted from '0', very begin of array - * it is possible that for external metadata reshape and array - * configuration doesn't happen. --- -2.0.0 - diff --git a/sys-fs/mdadm/files/mdadm-3.3.1-Grow-fix-removal-of-line-in-wrong-case.patch b/sys-fs/mdadm/files/mdadm-3.3.1-Grow-fix-removal-of-line-in-wrong-case.patch deleted file mode 100644 index acc38267d160..000000000000 --- a/sys-fs/mdadm/files/mdadm-3.3.1-Grow-fix-removal-of-line-in-wrong-case.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e339dba2a1744dc6860a58e286ded39fc993c2db Mon Sep 17 00:00:00 2001 -From: Pawel Baldysiak -Date: Wed, 11 Jun 2014 15:18:44 +0000 -Subject: [PATCH 02/14] Grow: fix removal of line in wrong case - -Commit 18d9bcfa33939cee345d4d7735bc6081bcc409c8 -removed wrong line (in case RAID0->RAID4). -This patch corrects this mistake -(line should be removed in case RAID4->RAID4). - -Signed-off-by: Pawel Baldysiak -Signed-off-by: NeilBrown ---- - Grow.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Grow.c b/Grow.c -index 12730e2..a2f4f14 100644 ---- a/Grow.c -+++ b/Grow.c -@@ -1324,6 +1324,7 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re) - - switch (re->level) { - case 4: -+ re->before.layout = 0; - re->after.layout = 0; - break; - case 5: -@@ -1339,7 +1340,6 @@ char *analyse_change(char *devname, struct mdinfo *info, struct reshape *re) - - switch (re->level) { - case 4: -- re->before.layout = 0; - re->after.layout = 0; - break; - case 5: --- -2.0.0 - diff --git a/sys-fs/mdadm/files/mdadm-3.3.1-IMSM-use-strcpy-rather-than-pointless-strncpy.patch b/sys-fs/mdadm/files/mdadm-3.3.1-IMSM-use-strcpy-rather-than-pointless-strncpy.patch deleted file mode 100644 index b63b1e732d36..000000000000 --- a/sys-fs/mdadm/files/mdadm-3.3.1-IMSM-use-strcpy-rather-than-pointless-strncpy.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 6d8d290a2f09a3bfd9e44f382ae5daea128772f7 Mon Sep 17 00:00:00 2001 -From: NeilBrown -Date: Thu, 3 Jul 2014 15:04:01 +1000 -Subject: [PATCH 03/14] IMSM: use strcpy rather than pointless strncpy. - -As strncpy doesn't guarantee to nul-terminate, some static -analysers get upset that it is followed by a 'strncat'. -So just use a 'strcpy' - strlen(disk_by_path) is constant -and definitely less than PATH_MAX. - -Link: https://github.com/neilbrown/mdadm/issues/4 -Signed-off-by: NeilBrown ---- - super-intel.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/super-intel.c b/super-intel.c -index 9dd807a..0106b4f 100644 ---- a/super-intel.c -+++ b/super-intel.c -@@ -9357,7 +9357,7 @@ static const char *imsm_get_disk_controller_domain(const char *path) - char *drv=NULL; - struct stat st; - -- strncpy(disk_path, disk_by_path, PATH_MAX - 1); -+ strcpy(disk_path, disk_by_path); - strncat(disk_path, path, PATH_MAX - strlen(disk_path) - 1); - if (stat(disk_path, &st) == 0) { - struct sys_dev* hba; --- -2.0.0 - diff --git a/sys-fs/mdadm/files/mdadm-3.3.1-IMSM-validate-metadata_update-size-before-using-it.patch b/sys-fs/mdadm/files/mdadm-3.3.1-IMSM-validate-metadata_update-size-before-using-it.patch deleted file mode 100644 index b1610835753a..000000000000 --- a/sys-fs/mdadm/files/mdadm-3.3.1-IMSM-validate-metadata_update-size-before-using-it.patch +++ /dev/null @@ -1,128 +0,0 @@ -From 095b8088fa99ad1195d1aba03af2aa561b4a6379 Mon Sep 17 00:00:00 2001 -From: NeilBrown -Date: Thu, 10 Jul 2014 16:09:28 +1000 -Subject: [PATCH 13/14] IMSM: validate metadata_update size before using it. - -Every case in prepare_update check that the size message -size is sufficient, so process_update doesn't need to check anything. - -Reported-by: Vincent Berg -Signed-off-by: NeilBrown ---- - super-intel.c | 44 +++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 41 insertions(+), 3 deletions(-) - -diff --git a/super-intel.c b/super-intel.c -index 2547b4a..b4efa72 100644 ---- a/super-intel.c -+++ b/super-intel.c -@@ -8587,7 +8587,7 @@ static void imsm_process_update(struct supertype *st, - } - case update_add_remove_disk: { - /* we may be able to repair some arrays if disks are -- * being added, check teh status of add_remove_disk -+ * being added, check the status of add_remove_disk - * if discs has been added. - */ - if (add_remove_disk_update(super)) { -@@ -8617,19 +8617,28 @@ static int imsm_prepare_update(struct supertype *st, - * integrated by the monitor thread without worrying about live pointers - * in the manager thread. - */ -- enum imsm_update_type type = *(enum imsm_update_type *) update->buf; -+ enum imsm_update_type type; - struct intel_super *super = st->sb; - struct imsm_super *mpb = super->anchor; - size_t buf_len; - size_t len = 0; - -+ if (update->len < (int)sizeof(type)) -+ return 0; -+ -+ type = *(enum imsm_update_type *) update->buf; -+ - switch (type) { - case update_general_migration_checkpoint: -+ if (update->len < (int)sizeof(struct imsm_update_general_migration_checkpoint)) -+ return 0; - dprintf("imsm: prepare_update() " - "for update_general_migration_checkpoint called\n"); - break; - case update_takeover: { - struct imsm_update_takeover *u = (void *)update->buf; -+ if (update->len < (int)sizeof(*u)) -+ return 0; - if (u->direction == R0_TO_R10) { - void **tail = (void **)&update->space_list; - struct imsm_dev *dev = get_imsm_dev(super, u->subarray); -@@ -8670,6 +8679,9 @@ static int imsm_prepare_update(struct supertype *st, - struct intel_dev *dl; - void **space_tail = (void**)&update->space_list; - -+ if (update->len < (int)sizeof(*u)) -+ return 0; -+ - dprintf("imsm: imsm_prepare_update() for update_reshape\n"); - - for (dl = super->devlist; dl; dl = dl->next) { -@@ -8702,6 +8714,9 @@ static int imsm_prepare_update(struct supertype *st, - void *s; - int current_level = -1; - -+ if (update->len < (int)sizeof(*u)) -+ return 0; -+ - dprintf("imsm: imsm_prepare_update() for update_reshape\n"); - - /* add space for bigger array in update -@@ -8769,6 +8784,13 @@ static int imsm_prepare_update(struct supertype *st, - break; - } - case update_size_change: { -+ if (update->len < (int)sizeof(struct imsm_update_size_change)) -+ return 0; -+ break; -+ } -+ case update_activate_spare: { -+ if (update->len < (int)sizeof(struct imsm_update_activate_spare)) -+ return 0; - break; - } - case update_create_array: { -@@ -8781,6 +8803,9 @@ static int imsm_prepare_update(struct supertype *st, - int i; - int activate = 0; - -+ if (update->len < (int)sizeof(*u)) -+ return 0; -+ - inf = get_disk_info(u); - len = sizeof_imsm_dev(dev, 1); - /* allocate a new super->devlist entry */ -@@ -8802,9 +8827,22 @@ static int imsm_prepare_update(struct supertype *st, - } - len += activate * sizeof(struct imsm_disk); - break; -- default: -+ } -+ case update_kill_array: { -+ if (update->len < (int)sizeof(struct imsm_update_kill_array)) -+ return 0; - break; - } -+ case update_rename_array: { -+ if (update->len < (int)sizeof(struct imsm_update_rename_array)) -+ return 0; -+ break; -+ } -+ case update_add_remove_disk: -+ /* no update->len needed */ -+ break; -+ default: -+ return 0; - } - - /* check if we need a larger metadata buffer */ --- -2.0.0 - diff --git a/sys-fs/mdadm/files/mdadm-3.3.1-Makefile-install-mdadm-grow-continue-.service.patch b/sys-fs/mdadm/files/mdadm-3.3.1-Makefile-install-mdadm-grow-continue-.service.patch deleted file mode 100644 index 431bfd1abe3b..000000000000 --- a/sys-fs/mdadm/files/mdadm-3.3.1-Makefile-install-mdadm-grow-continue-.service.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 616f197f9d6d044afb9e27ddc9cd087d21d610f0 Mon Sep 17 00:00:00 2001 -From: NeilBrown -Date: Tue, 10 Jun 2014 20:34:40 +1000 -Subject: [PATCH 01/14] Makefile: install mdadm-grow-continue@.service - -Forgot to add this to install-systemd target - -Signed-off-by: NeilBrown ---- - Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index c7e7a42..1a4a5dc 100644 ---- a/Makefile -+++ b/Makefile -@@ -290,7 +290,7 @@ install-udev: udev-md-raid-arrays.rules udev-md-raid-assembly.rules - - install-systemd: systemd/mdmon@.service - @for file in mdmon@.service mdmonitor.service mdadm-last-resort@.timer \ -- mdadm-last-resort@.service ; \ -+ mdadm-last-resort@.service mdadm-grow-continue@.service; \ - do sed -e 's,BINDIR,$(BINDIR),g' systemd/$$file > .install.tmp && \ - echo $(INSTALL) -D -m 644 systemd/$$file $(DESTDIR)$(SYSTEMD_DIR)/$$file ; \ - $(INSTALL) -D -m 644 .install.tmp $(DESTDIR)$(SYSTEMD_DIR)/$$file ; \ --- -2.0.0 - diff --git a/sys-fs/mdadm/files/mdadm-3.3.1-mdmon-allow-prepare_update-to-report-failure.patch b/sys-fs/mdadm/files/mdadm-3.3.1-mdmon-allow-prepare_update-to-report-failure.patch deleted file mode 100644 index 772248b19c3d..000000000000 --- a/sys-fs/mdadm/files/mdadm-3.3.1-mdmon-allow-prepare_update-to-report-failure.patch +++ /dev/null @@ -1,119 +0,0 @@ -From 5fe6f031d9a21a935f0ef1b1fbdb314b53f2199f Mon Sep 17 00:00:00 2001 -From: NeilBrown -Date: Thu, 10 Jul 2014 15:54:02 +1000 -Subject: [PATCH 11/14] mdmon: allow prepare_update to report failure. - -If 'prepare_update' fails for some reason there is little -point continuing on to 'process_update'. -For now only malloc failures are caught, but other failures -will be considered in future. - -Signed-off-by: NeilBrown ---- - managemon.c | 3 ++- - mdadm.h | 5 ++++- - super-ddf.c | 8 +++++--- - super-intel.c | 9 +++++---- - 4 files changed, 16 insertions(+), 9 deletions(-) - -diff --git a/managemon.c b/managemon.c -index 5f7e2ce..1c9eccc 100644 ---- a/managemon.c -+++ b/managemon.c -@@ -819,7 +819,8 @@ static void handle_message(struct supertype *container, struct metadata_update * - mu->space_list = NULL; - mu->next = NULL; - if (container->ss->prepare_update) -- container->ss->prepare_update(container, mu); -+ if (!container->ss->prepare_update(container, mu)) -+ free_updates(&mu); - queue_metadata_update(mu); - } - } -diff --git a/mdadm.h b/mdadm.h -index 914d67c..02a9288 100644 ---- a/mdadm.h -+++ b/mdadm.h -@@ -929,7 +929,10 @@ extern struct superswitch { - void (*sync_metadata)(struct supertype *st); - void (*process_update)(struct supertype *st, - struct metadata_update *update); -- void (*prepare_update)(struct supertype *st, -+ /* Prepare updates allocates extra memory that might be -+ * needed. If the update cannot be understood, return 0. -+ */ -+ int (*prepare_update)(struct supertype *st, - struct metadata_update *update); - - /* activate_spare will check if the array is degraded and, if it -diff --git a/super-ddf.c b/super-ddf.c -index ab9fc46..1e43ca2 100644 ---- a/super-ddf.c -+++ b/super-ddf.c -@@ -4906,8 +4906,8 @@ static void ddf_process_update(struct supertype *st, - /* case DDF_SPARE_ASSIGN_MAGIC */ - } - --static void ddf_prepare_update(struct supertype *st, -- struct metadata_update *update) -+static int ddf_prepare_update(struct supertype *st, -+ struct metadata_update *update) - { - /* This update arrived at managemon. - * We are about to pass it to monitor. -@@ -4922,15 +4922,17 @@ static void ddf_prepare_update(struct supertype *st, - offsetof(struct vcl, conf) - + ddf->conf_rec_len * 512) != 0) { - update->space = NULL; -- return; -+ return 0; - } - vcl = update->space; - vcl->conf.sec_elmnt_count = conf->sec_elmnt_count; - if (alloc_other_bvds(ddf, vcl) != 0) { - free(update->space); - update->space = NULL; -+ return 0; - } - } -+ return 1; - } - - /* -diff --git a/super-intel.c b/super-intel.c -index 7734bde..2547b4a 100644 ---- a/super-intel.c -+++ b/super-intel.c -@@ -8607,8 +8607,8 @@ static void imsm_process_update(struct supertype *st, - - static struct mdinfo *get_spares_for_grow(struct supertype *st); - --static void imsm_prepare_update(struct supertype *st, -- struct metadata_update *update) -+static int imsm_prepare_update(struct supertype *st, -+ struct metadata_update *update) - { - /** - * Allocate space to hold new disk entries, raid-device entries or a new -@@ -8828,6 +8828,7 @@ static void imsm_prepare_update(struct supertype *st, - else - super->next_buf = NULL; - } -+ return 1; - } - - /* must be called while manager is quiesced */ -@@ -9716,8 +9717,8 @@ static void imsm_update_metadata_locally(struct supertype *st, - mu.space = NULL; - mu.space_list = NULL; - mu.next = NULL; -- imsm_prepare_update(st, &mu); -- imsm_process_update(st, &mu); -+ if (imsm_prepare_update(st, &mu)) -+ imsm_process_update(st, &mu); - - while (mu.space_list) { - void **space = mu.space_list; --- -2.0.0 - diff --git a/sys-fs/mdadm/files/mdadm-3.3.1-mdmon-ensure-Unix-domain-socket-is-created-with-safe.patch b/sys-fs/mdadm/files/mdadm-3.3.1-mdmon-ensure-Unix-domain-socket-is-created-with-safe.patch deleted file mode 100644 index 9780196e28cd..000000000000 --- a/sys-fs/mdadm/files/mdadm-3.3.1-mdmon-ensure-Unix-domain-socket-is-created-with-safe.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 120ec6f7b96455e42bdfa9131c0c9026c57eaf19 Mon Sep 17 00:00:00 2001 -From: NeilBrown -Date: Thu, 3 Jul 2014 17:06:45 +1000 -Subject: [PATCH 09/14] mdmon: ensure Unix domain socket is created with safe - permissions. - -In the unlikely case that mdmon is started with an overly -permissive umask, we don't want to risk giving away world acccess. - -All other "mkdir" and "O_CREAT" calls in mdmon and mdadm set -a suitably restrictive permission mask. 'bind' don't take an -explicit mask so it needs an implicit one. - -Reported-by: Vincent Berg -Signed-off-by: NeilBrown ---- - mdmon.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/mdmon.c b/mdmon.c -index b84d4d9..21221cd 100644 ---- a/mdmon.c -+++ b/mdmon.c -@@ -232,6 +232,7 @@ static int make_control_sock(char *devname) - - addr.sun_family = PF_LOCAL; - strcpy(addr.sun_path, path); -+ umask(077); /* ensure no world write access */ - if (bind(sfd, &addr, sizeof(addr)) < 0) { - close(sfd); - return -1; --- -2.0.0 - diff --git a/sys-fs/mdadm/mdadm-3.3.1-r2.ebuild b/sys-fs/mdadm/mdadm-3.3.1-r2.ebuild deleted file mode 100644 index c667861c6113..000000000000 --- a/sys-fs/mdadm/mdadm-3.3.1-r2.ebuild +++ /dev/null @@ -1,95 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -EAPI=4 -inherit eutils flag-o-matic multilib systemd toolchain-funcs udev - -DESCRIPTION="Tool for running RAID systems - replacement for the raidtools" -HOMEPAGE="http://neil.brown.name/blog/mdadm" -DEB_PR=2 -SRC_URI="mirror://kernel/linux/utils/raid/mdadm/${P}.tar.xz - mirror://debian/pool/main/m/mdadm/${PN}_3.3-${DEB_PR}.debian.tar.gz" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sparc x86" -IUSE="static" - -DEPEND="virtual/pkgconfig - app-arch/xz-utils" -RDEPEND=">=sys-apps/util-linux-2.16" - -# The tests edit values in /proc and run tests on software raid devices. -# Thus, they shouldn't be run on systems with active software RAID devices. -RESTRICT="test" - -mdadm_emake() { - emake \ - PKG_CONFIG="$(tc-getPKG_CONFIG)" \ - CC="$(tc-getCC)" \ - CWFLAGS="-Wall" \ - CXFLAGS="${CFLAGS}" \ - UDEVDIR="$(get_udevdir)" \ - SYSTEMD_DIR="$(systemd_get_unitdir)" \ - "$@" -} - -src_prepare() { - # These are important bugfixes from upstream git after 3.3.1 release, - # and before and including 17 Jul 2014: - epatch \ - "${FILESDIR}"/${P}-Makefile-install-mdadm-grow-continue-.service.patch \ - "${FILESDIR}"/${P}-Grow-fix-removal-of-line-in-wrong-case.patch \ - "${FILESDIR}"/${P}-IMSM-use-strcpy-rather-than-pointless-strncpy.patch \ - "${FILESDIR}"/${P}-mdmon-ensure-Unix-domain-socket-is-created-with-safe.patch \ - "${FILESDIR}"/${P}-mdmon-allow-prepare_update-to-report-failure.patch \ - "${FILESDIR}"/${P}-DDF-validate-metadata_update-size-before-using-it.patch \ - "${FILESDIR}"/${P}-IMSM-validate-metadata_update-size-before-using-it.patch \ - "${FILESDIR}"/${P}-Grow-Do-not-try-to-restart-if-reshape-is-running.patch -} - -src_compile() { - use static && append-ldflags -static - mdadm_emake all mdassemble -} - -src_test() { - mdadm_emake test - - sh ./test || die -} - -src_install() { - # Use split lines because of bug #517218 - mdadm_emake DESTDIR="${D}" install - mdadm_emake DESTDIR="${D}" install-systemd - into / - dosbin mdassemble - dodoc ChangeLog INSTALL TODO README* ANNOUNCE-${PV} - - insinto /etc - newins mdadm.conf-example mdadm.conf - newinitd "${FILESDIR}"/mdadm.rc mdadm - newconfd "${FILESDIR}"/mdadm.confd mdadm - newinitd "${FILESDIR}"/mdraid.rc mdraid - newconfd "${FILESDIR}"/mdraid.confd mdraid - - # From the Debian patchset - into /usr - dodoc "${WORKDIR}"/debian/README.checkarray - dosbin "${WORKDIR}"/debian/checkarray - - insinto /etc/cron.weekly - newins "${FILESDIR}"/mdadm.weekly mdadm -} - -pkg_postinst() { - if ! systemd_is_booted; then - if [[ -z ${REPLACING_VERSIONS} ]] ; then - # Only inform people the first time they install. - elog "If you're not relying on kernel auto-detect of your RAID" - elog "devices, you need to add 'mdraid' to your 'boot' runlevel:" - elog " rc-update add mdraid boot" - fi - fi -} diff --git a/sys-fs/mdadm/mdadm-4.1_rc1.ebuild b/sys-fs/mdadm/mdadm-4.1_rc1.ebuild new file mode 100644 index 000000000000..148f2a65bdb1 --- /dev/null +++ b/sys-fs/mdadm/mdadm-4.1_rc1.ebuild @@ -0,0 +1,87 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit flag-o-matic multilib systemd toolchain-funcs udev + +DESCRIPTION="Tool for running RAID systems - replacement for the raidtools" +HOMEPAGE="http://neil.brown.name/blog/mdadm" +DEB_PF="4.0-2" +SRC_URI="mirror://kernel/linux/utils/raid/mdadm/${P/_/-}.tar.xz + mirror://debian/pool/main/m/mdadm/${PN}_${DEB_PF}.debian.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +[[ "${PV}" = *_rc* ]] || \ +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86" +IUSE="static" + +DEPEND="virtual/pkgconfig + app-arch/xz-utils" +RDEPEND=">=sys-apps/util-linux-2.16" + +# The tests edit values in /proc and run tests on software raid devices. +# Thus, they shouldn't be run on systems with active software RAID devices. +RESTRICT="test" + +PATCHES=( + "${FILESDIR}"/${PN}-3.4-sysmacros.patch #580188 +) + +mdadm_emake() { + # We should probably make corosync & libdlm into USE flags. #573782 + emake \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ + CC="$(tc-getCC)" \ + CWFLAGS="-Wall" \ + CXFLAGS="${CFLAGS}" \ + UDEVDIR="$(get_udevdir)" \ + SYSTEMD_DIR="$(systemd_get_systemunitdir)" \ + COROSYNC="-DNO_COROSYNC" \ + DLM="-DNO_DLM" \ + "$@" +} + +src_compile() { + use static && append-ldflags -static + mdadm_emake all +} + +src_test() { + mdadm_emake test + + sh ./test || die +} + +src_install() { + mdadm_emake DESTDIR="${D}" install install-systemd + dodoc ChangeLog INSTALL TODO README* ANNOUNCE-* + + insinto /etc + newins mdadm.conf-example mdadm.conf + newinitd "${FILESDIR}"/mdadm.rc mdadm + newconfd "${FILESDIR}"/mdadm.confd mdadm + newinitd "${FILESDIR}"/mdraid.rc mdraid + newconfd "${FILESDIR}"/mdraid.confd mdraid + + # From the Debian patchset + into /usr + dodoc "${WORKDIR}"/debian/README.checkarray + dosbin "${WORKDIR}"/debian/checkarray + insinto /etc/default + newins "${FILESDIR}"/etc-default-mdadm mdadm + + exeinto /etc/cron.weekly + newexe "${FILESDIR}"/mdadm.weekly mdadm +} + +pkg_postinst() { + if ! systemd_is_booted; then + if [[ -z ${REPLACING_VERSIONS} ]] ; then + # Only inform people the first time they install. + elog "If you're not relying on kernel auto-detect of your RAID" + elog "devices, you need to add 'mdraid' to your 'boot' runlevel:" + elog " rc-update add mdraid boot" + fi + fi +} -- cgit v1.2.3