find missing bug fixes in a stable kernel
We have several long-term and extended stable kernels, and it's possible that a bug fix is in some stable versions but is missing in some other versions, so I've written a script to find out those fixes.
Take 3.4.xx and 3.2.xx for example. If a bug fix was merged into upstream kernel after 3.4, and then it was backported to 3.2.xx, then it probably needs to be backported to 3.4.xx.
The result is, there're ~430 bug fixes in 3.2.xx that probably need to be backported to 3.4.xx. Given there're about 4500 commits in 3.2.xx, that is ~10%, which is quite a big number for stable kernels.
We (our team in Huawei) are going to go through the whole list to filter out fixes that're applicable for 3.4.xx.
I've attached the lists for 3.4 and 3.10.
If a commit ID appears more than once in changelogs, it's possible that's because the commit was reverted later, so I tagged this kind of commits in the lists.
[upstream commit] [stable commit] [occurrences]8c4f3c3fa968 874d3954a35c 2 18821f5dc187b 0b568069764bb963a22e6d1a 245d4b4480c23806b45ba465 cf3f5a3dbf78ff88b4724fde 325aa5f2c582503cf95c061a 4fe644c42cb5230c83afdd9c 8bd981aa4b608b3b005d6757 612e9718fa798704211f65a2 75a4cfafc73743659222e7a0 cb80debe951589f4d45b2752 47c55eb0a98d9dda2769af4f 8ccf25d7c629ba4c4d0a9021 b7536448ffe42fea6cd303c0 6f48471861751b672224d128 e06c3387425346a51c80216c dccfb68c26308e7ee6f5dfb5 56f1f4bb57702435dcb98cfe 6b7cfe5a757a84b073868b9d 36d04a55f34a4a82fd7c4e78 a687a58fd0fa365da4adebb1 bca06620c941b1d93356427b baf48b7f96f56408eac26659 ad308321f9f94e9b45a19241 f2414ee66a29ad5066d4c2b1 fa01206912e50c5d63f0ab67 8e1028cb190c603e7729920e 434700a29d1e522e66464467 d8c3245c9749778d226a1462 2a4c85e77b4b8f42d7698751 9712d74ae81859c8e66378fb d81980f44bbcf262f0f5cad0 898c8e6f438627ef63c7e97d da4eda14795e9f961a5f6efc 17318fb39430954a73d5d307 75b23979f42ef74b75e7f920 4a6c6bb2be9c7b6bc07ab554 d83ceadbcef3e92aee330837 40c8b4ee658bdcc01c086482 7e6337b69496b5e2f339865f 840834b5788058932e96e438 5874fd1d23edbc5bd37ce48c 2afe1a102cd33edc8376c061 640c4ad6d7593f0116c3238a 8b7a25d8eb783f3f8d2f48ac c1255871600761875f30daf6 ee698d67a4af638298dc66ea 21f58875dda7455f58925247 3585a755cec3f217c980ca98 dc77997de6b325f2bd7f5add 83e92c513be408a5dd3842f2 a6f20aa6d2d120ecf9fd3beb 24d009c5a58b6329b8d917ad f9ec1e9afbfebf378d341e48 d08b0a5594dd75c7caf5a052 498a727b33ee5676005acf26 8f0ce108f5e1d1211af3049f 28cfcc851d5c8f21bd009005 0b2d10f8f2e67f42ec394156 ccebcc74c81d85601f8cf67c 798761949ee8b62cd96de316 47bd9ac912fef875fdbf344b c9e34fa1d28f19b85cfb190e 4f31ab80a2bffc0919c68cb2 73449fe73fa338a172bef8c9 f1f1e271a2360a3658cccdf5 50a0ff96891f855f5f1d882a b8f651365224cc6b54aa54bf 32eed83c07cccac6a5ae0118 fbeecda256baefeb9e60d48f b5f9e35335842e923a0527ac 9eb9bfa030d8280847b53243 559a2e36f04706a7c3c27814 94178151575518e391862cce c68d59cb0bd69d8924297cd9 bc96269f722269820e01aa75 60d3bfb16dc673d9f7eef3d9 be47dfad8e39212a871a3934 384a27453c74df0cfd699034 c3ffb34128a32b29a9fdcb92 13380d46225641aacc1eea64 ac8905cf6be3b22ce2785d97 fbbd6511ab0df5f6cbb61610 c349bf07d6c0d74c6d514fe3 efd99ef3a97b4704fe4f03a5 5e72fdb8d827ff8a43c10f14 8ab959a23faee877dd2f2581 c372ce3c31bfd482b9d55860 735143e248074c2aee0032b7 81b043782e785ece263f1d93 ea8e224015476fab3febf6d9 d03160d52da8757c4f6260fe eb4a22ba43d9ddb6b5a96437 4f440a7abb7c9186a1fd9ed1 14d747003cb7d8a083cc7466 6380025aff79acfdd4b1f759 2c8efb72eb191d5b569ef85d b395e4661bfa1ebd0b21ab14 39a53ec969b55b77a1f3d7b7 ba1251e87fc484eb2ae1807d fb2e4631a7e2178c059e7640 ff98736cbbbe0fc110f4e4f5 64bb65c2cc9ba1923f1d4723 5e61ced05ec8707aee401d24 c971eae7d1ca0439f31c35d1 70bea7f2c038bd5fe738e388 0aaf4c42a31361ac51301e6c d546eadecc195dae5fd24071 2ca3bc2ba1435f8a2e68b679 3c574b0665d54b18f08be01a 1f8adde06e86e4daf1ffbe6c 6fa3efc24bdb96f15f29038e 6af864ccfe6df7929f34fa0e b8aea41ad64ad52392b1a804 8dd6177dc6b57ae48b56f8d9 a35561fe3af286f0b5b86d14 4bcfe68e7e4d61be2b9a18ec 8ac7e3f3ac4046f6c1aaf790 272f254b27195be1efb4c2ed e93a7f00a3db9538aa46c242 a4d0e7c132a95b9ab3f7324a 28518ed66242cc7282b8d5ab 53fcffc423f460478295d687 c0a05a14a4e7016fcab8ff46 95d909e867108e3f8755545c 9371cadbbcc78d9256906a97 79c4d036e08cc378f70adbc1 b5f8e9877fee8246aca7058f 1aa33199c59614611e51a57d 2235df8b82f67e6d72c15ff4 809feb1735e56241f22ca12a e4498ad1ef9cb0df96a0068d 93cfcb8c998e3f6fa3d489e1 a1b0505ef3db1cfc7df3de10 d23288a5a9fb414abbd2cd4c 2af951daef6835848f68b07d e4af376d04b0bddee96b5d0d 28009d3918aa696df78509d1 df8c1e2ba1f277d848372875 9990a882ec3c30d5b709da23 041aacd868cd693026ef2e75 51f2a0a803cd5863e10b441e e1c3e37d2c1d12a7ad3b810e 624d1705fa1d39a9b8ac9333 29c303b89a1b57ab048532c0 9e443904906c 2 26030ea9b3597 fd162a76f160b996ac90f595 4e9169bee6bcdbda92d16f86 ff766b8d26c7698b82236314 21544884d7d5b8cb62f82103 b35b16d2be61f8b8404337de 134c3faa909cd1603990ea62 ea3d15ac86cbbf593907f723 e4f37de094d8df465abfe06f 08647d0f99db2d8f4447b58b 0f9613bfc25a5e4211f1c475 9e5adb3632baf000cfdde5de 4d839b14d209cb3b3152b2f5 90647b580ec2 2 1da94a829305f 5b9ca6b68cfa92bdd3f5eba2 17db9f4f88588a2f132a01c2 7d578af04dda4ef366c583d6 36466ac6c36c771d09b3c4c4 c58c2d2597e05bf8fae33d14 5b9ce8be32239ecd1a75d977 23005ee8bad9376414945d15 a1db4d774b1d59ccb4ebbc35 9b372fb74740ac69c26e7acc 83a5c25c27aa03393fd5cc2b 276d632e34fc2810e5b9a773 bccc108d67249eaee8beeeb3 4ea6949b9f6e9bc297ea0622 c818d4b8f41d091f0ea30074 638030fe4b54 2 1a87783699b23 d9403f4bd2dec815797663b7 71eac9d144be8c58bf3eec3b 2a068400fcef7791c8423f1f b12bcd7b3fe03668011d4ad5 c5ba30a73ebca6e4d5a03e9e 649aeb46c8fffd9b86d37a60 ac93bc6a8ab8201c373e8e48 077c9f651e2d10b3a32d292c c1bfba08b9141ccc819da6fd 1619f441963e 2 2c8f6d8351ba8 2114b0ee3840a3c3cac5d318 f7b72b71fe00506026c3ec27 a27e05b0cf326407d75afd08 0cbb6f3def0c44f3b503c164 f5dd62805f10502624bdad3d 4725f1715429f16fdc9d2dc1 dc9c65a5bdf4e12a2d53ae45 53e587aa5ca8 1 2c481420248c6 4221c304a05e0259d9eb30d0 17ae25f05e6871d9a2b95fc9 ae04c6d22a95dcb852905772 6b68bff8941063b77bf48988 cf09126f9652 2 1dc652f90e088 19c42ce9869f25ff1195f8a0 0bdb6ae5a64466ff0fe9e7bd abfcdd7ef364888b65b4bc5e 20c4ec0f41d90cd9cb76ae26 4b8fefaee7a91539d4f82ad5 40de8047654dd76a3a77113d 164ed4383ca6b022032e195f 7e6c247f30c6411678288d61 9ba240246fdb51c94491c82c b2fd07f1a7d25559ecadad5a 85bea48d42a701e3a8feb40e 55dbc154cfc11ffff6032087 cd7dcf3412bc5f85f176c2f1 bd2f21ebab93fc98ab873aa3 3668b9c1776543a66b4c417a a8d646529547dbcea7615d8d d1baabc8006f40509ca982c0 664e1221e7828edfdab37157 5db2cb168b89a14430db686b 82159cdc841ee670c6af1251 928ab2854c08cf1d24443677 4f8adbff06ab7b2459690584 24d369d8ad2a333576255d4c 0c384c6e92e071ccb9b01981 31b9905f62ed356050d8b1e5 2d5a267e3678fa1e11d5231c d14eeaffa77b5018860321dc 923ab36b14cbeba0e3c3a0ba a796ce4827fce5b33dc9d160 da07f45965107e51cde276ca 905de42d865356d08fef2369 1bf2642f4cb2f01fc1a82c2e 8ebfe28181b09ba5c80b1aea 4eedfd4758cd165b1b8bbc17 96c2c850f708a073dbff359f 9ca2044f9041570637dc8eeb 1f276d988f8e620ae90ed8ca 606eea67679094a32d10f47b 293665035a703f63c340a72f def389b91124f4d6f7dce71a 624e808fcb1f2582d529c44d ead759f154133a61eda81ebc 2647584823842c262b2a5235 5e35e9063b10eed307e290b9 32d938cda6d0b6e51600f4e9 0f260fd5c5b7132c803f7b70 e52ca26060bba93bc0c6e07e adddb4096d7bca0ba26fbbd2 f9c0efa2e87fec0971ba5372 a1e16e8184d4ed9dc8ce7a1c c3dc62cc3a32f046f89a99cc 5a8c68b488f880902822658a ae02f16fd87c24261fc23db9 53bd21b8177308dff7b7d629 1bdb24f5ab52d3b9d7a9051d 0eb97065d4a9a24a6078754f 52cbf32ab4202d4fa940f996 5bd7c59c93400fe51aa5eee5 541f862ec524d13402a4a944 7b2f4ae43091e06c93cacb82 3aed32554e8a68d929862e29 7feecf3f2b5881fa4e581d92 3b048fc19613d80a361d779a 316d0bb70f66 2 164325a3be08d 689901ce9ced151743fd8dfb fea5417579fa99d249021abd 76610d6dfbe4a464918419f9 3207e0076af28a964f44e01a 81745233d8df23cb21092eb9 e0179c31e081838f427955dc deca5de87684e70ab9779919 7c4bf08d3fa298c350cda2c1 55a058d4a89ccfd757010691 6f06c8d13890e387ef5c47dd fdf60a1cce3e80da2e0df5af f94c6107b49a389cd784969e d3493114eccc22056e2b4624 56546c8c2a084c4bc25d0fa6 8e53d294a77b3a2d63f87989 4189aa4ceebb326cf0f0f308 a2a9af6cffebfdfa175d0a9c 59bebf6c060b085b7a45c63d 3c5add9c302afa5ce5f94c0f ee0a25ab1c31d953e0e837e6 77327a71f98403a7ffe4e542 24625640fe27513b032c98b4 7063a9950d10db3985e5ca8f 8f8dc63d1c493399cfb5df95 7366b52c44b4957f4aca5fa0 581e58916c908afd500cb52a 2ff3ae3932b9edac894389f9 bc32ef0a6d6a7e5a5104c6af 41247561dc21091e26dfc156 3e411534ea3b860d21e2c585 99d930c0ffe56a040ce72598 066f289835f0 2 255ee64b30a38 5a82145cb978317efce99162 754aed1b98d1320cde19a4e8 ef5936a9b69795cf00fa5d5e 667958738244848e8f5f0ad3 6d0d3f3aca8f98fd485795db fd61506bd23ffd7b9270120c 31317e96c36a36f318bb124b 8d675985b73de7e034e18a0a 6ec37f667282 2 12bd3bc4e8472 61869db60d568a7d7cbf7b5f c0e2ce8b690fab3cd8670e0b 91c90db1aa92c489ee290bdb 78e3ae2d57c09ddf1aeb2134 d027778a1cf81da80cfa8727 8474b1ab89e44518f611ba21 f3825cc9679a 2 1f05bb0c7b624 393143615d9f 2 21c8c38c588ea a2d2dcd9e1aa24171dd92096 959f049dfb6242c364ace52a 08a43c1831436f8c2e793367 24d64ff793d82291dff02e5f 36a2828e0446d3286144c92e 1a14c25a0b52ebebd49a8eab 6521d6734943 2 16f16f4998f98 3bba3a68cc9ef652e7d2916f 0d36c06afe8abc009eca8d53 3e4ba2bf729b81d0a6ae7bef e8d9897ff0647ed4165e2d01 5b7d898a190418a9df42d53f b60dc9751a36bc3b7756b5ff 31980f8fa9e593be8788e648 87ae8984bd9cf4953fe6c4ae 63dddb4936faab9d6e4ffe19 c31f484c903a5b632fe85ec8 23bc781f1103eda85d6ad490 55fa88bba337cafa59b9011a 8b003924dec6a796a1dd5da9 7c6c7b3f34d131efee60f489 f6f82cba2ccb0fde901f1ddd 29abfe4ddc74fe0c9610bb68 fa1dd81ceffe
479696840239 850722ddad9dbcdee04ea7ae 499f98ab5a0b7c34158231b2 efd6621c748e8d238027b87e 4efbbb6ce0d16169b673618b 7f778c1b063bbd25f0783dc3 61252278ee2863a077e27648 d59c4a70d30725a172655f83 a4616d110b0d8f5718a6d9a2 1c96fb0c7ebda02dc74b317d a0d3e01dadd6e7d841ca03b7 28c4566d30b8 2 240ff2c3b3da3 1506cb20191c54f7be5b8312 51e8eac1d513d0c2ce16bec0 449a2eba6930084940d5b101 bd38add8120c4c9287c6009b 56bd27c70e511ee3ff6110c1 9ca39c6da78c0c1abbd1aa04 ea321ea69e564f29ef050848 fc5884d265e7e66fc1fba248 bf78d71280f12656a9abcf1e b9678188b8f51c5c12c666fd 9ef928b0104a1680260226a8 247a0b330ef3b9cdc88df8e6 30d395b124c5 2 1f0263d2d222e 8bc528cece6b5edee61edeaa bd8320996b1587cac8f879a5 511c73bcf8e71102dcab8493 a393ace58e4741e58a1f2b90 7fc829044c785592906f8b01 1676fff2a360fcc14ac1a869 9ce8ea33f11c60cefed485a0 39d18dc4b8b0 2 2893d290f1d74 32eb44e290d187f4d7c1d36f deb4856fc4352843b673d034 4e0ba0daed15d0ddfbd3d134 8a3a3f4a507d201e72acb2d3 c5ee58688baa 2 2d60e7ec18c3f 5b4478f5dabb695ddeb45758 e423cb5f6c73e412e95a268f 9a8dc834132f9430738d8022 9b945af86d3684e28a307e37 8b627487f0cae4db0952e542 7737238648b5b3c5dce81584 d2f11b9e8718b32f4c7ed85c 14b557c19dbe824efd374159 0c53cadfdcd9adf00b26d18e c948a535b39a 2 1ee66401bb94b 3a5a8c3f4009193819cf2e6e 04ed02cc7d43329e56780e51 0afc4d3b3b13b4338e1efc33 93ed2b137b9710c6c383e435 ba3fd3d6cf4ac01af4fec2c8 6e9b3851b52fbc21fde2d549 748e7f2af9362096ae6ca647 db50e323d9c76c4ae5c2e7bf 65c5e411f7836eda541d1211 e9fb4c8ec3964fe9f8e203fd 163aec38df49 2 1bcb4a75bde38 3084fc2f2e8c4c7b417ecb75 3313aa9015c72f1f4d9b6039 2cd21e82629180b4812407c6 4e19de3be14cdeb09ddaff14 b39bfb4cc09a8a55ade76551 b457f46761dbd8dc3494f77a 01d35d12e9a7bd49940a35ec 0a193b148d6d985f61f7ee64 8654636ef742 2 1f39c1bfb5a03 7b8b925af13a 2 17be0670f7b91 da75c41ed3cfe6391a182865 7672832a4ebee2f2886a824f 06335856d22efc108d24d3a6 3a0ae8e18c18d821a4c4d11a 78e96c1461246f33814bd4d9 307937c6743d 2 1a46d2619d718 a3aaee9f1070c1c52848cef5 3fd4e8f0ecd94fc79db178f0 22d4436ddd8594543a8d4fb3 cfc41fe5118958569aee5a1a f7532f73105d483001c765af 95964784565a02e2b1249436 88963fd6c66bb79d866c8b70 e5000b33460e 2 1f65ca1dc6a8c 788c8de383e33dd4765fce04 c52f6cc5d3e4ca57df79d4f6 3927df7e5035955c1cd74015 27c4b68bb5e93715c5309f6d 1b772a147a182c95a3290919 e551857183b5c0394506e69b 2028a493b8ff380e99fc44d7 1b5b48b8974d5aaa0b7a2ed5 c812fe636b6eb939c2acf1dc 80aa998e82605752cdb805ff d6f34925144b5baefd6d8416 7b9a23129399196951e91262 d6a2a0400e36f55a6faa3843 3c910e7e4681f2ebd422f71c 0f3cbc35d2099f846a16d213 be2c05493abca4dff3043c23 2492cd118dc5 2 1
[upstream commit] [3.8] [3.5] [3.2]813e8e3d6aaa ad78bf26dcd6 72594a9654c5 b268daffdcb9 431aab3ee0da ccf3e90b8c47 fdeadb43fdf1 ee2966b0890d912e663127c5 832f8486e8081a3e5173f5e7 699f24ad323484b073868b9d ff3e34f6f0b9 3a794f008cd2 36d04a55f34a 365da4adebb1 38a9449db1a4 73402fc4efcf bca06620c941 bd80c8ba995c 88056cc7a119 8ae87a279145 fae009d15a44 9e06f75bc7e93522bf7bfa24 bb9f53faee23 d34b5bdf1dbe 6408eac26659 b52cf4ed98bb e41d8f1e4199 ad308321f9f9 29f4c090079f 32a728b043c3 db390b3932f0 ea029c28dead f6181359e805f123d74abf91 22ff2304c037d07ba8422f1e f3ae133df108 2c4dcebb12f6 99b6697a50c2 9a6a141cae6f65d7dd2f3479 f9f1cee88bf9522e66464467 c70ddaa61326 d8c3245c974917405453f4ad 04989392279e778d226a1462 7ca32f44e870 51e2746bcdea 2a4c85e77b4b 0a5a5499ad88 0b5afeb981bb33499a15c2f7 9d6d98de6154f74b75e7f920 2774911a3bf9 0bcf0b161636 4a6c6bb2be9c 7b6bc07ab554 4312473110f9 416abe5cc494 d83ceadbcef3 af73623f5f10 625c3ecc6590dcc01c086482 7a4f2714d366 c8bd3ac46959 7e6337b69496 c5340bd14336 85a5e64fa5addcf6d294830d 24498530d1a0279f438e36c0 7fa787c95dac(2 1)95bd09eb2750 6228c4edf909638298dc66ea c14cc99bb0b2 7426bb0a6fa0 21f58875dda7 455f58925247 672d3ddaa414 b32bbeac32ba 3585a755cec3 2f6c94796337 1faec133b47c61875f30daf6 b4349786da19 6b41287ba4df ee698d67a4af f3fc4884ebe6 018e31d2bd17f2f5f771c5fc f6c0873963a9cc173961a680 0be01fc195fd300cf9b93f74 fdc51f4bf544 c70d86b0536e d8cacd3a259b 35109ecd4891cac6a5ae0118 342c71ef2217 65db46174f91 fbeecda256ba 27c505ca84e1 3a0953af525e d0f7efed5ef7 59e998561103 4ebd8871358290e775b71ac4 55c943e0a09a2ba85e7af4c6 8428ae31628e63b66e5ba54b d280fd3cae52d482b9d55860 8b0bb1238c6c e846e88cfcbb 735143e24807 3f577573cd54 736e38a13011 605d7815de0a 961246b4ed8d e5bb683b0c24 650e61355b81 d28828aae0b1 10a0b6176b9f 6e838363519d
84235de394d9 4e0c7c422e59(2 2) f217c980ca98 2eadc1f3fdab dc77997de6b3 6d0bb818041a 4621647c72a1 3396b096c54a e0d87718b18c e5903d399a7b 5bfaf762b60b d9f966357b14 c8ba9c3025b5 1b672224d128 e06c33874253 46a51c80216c dccfb68c2630 2435dcb98cfe 6b7cfe5a757a 603e7729920e 434700a29d1e
Quoted 12 lines · Li Zefan
We have several long-term and extended stable kernels, and it's possible that a bug fix is in some stable versions but is missing in some other versions, so I've written a script to find out those fixes.
Take 3.4.xx and 3.2.xx for example. If a bug fix was merged into upstream kernel after 3.4, and then it was backported to 3.2.xx, then it probably needs to be backported to 3.4.xx.
The result is, there're ~430 bug fixes in 3.2.xx that probably need to be backported to 3.4.xx. Given there're about 4500 commits in 3.2.xx, that is ~10%, which is quite a big number for stable kernels.
Quoted 9 lines
We (our team in Huawei) are going to go through the whole list to filter out fixes that're applicable for 3.4.xx.
I've attached the lists for 3.4 and 3.10.
If a commit ID appears more than once in changelogs, it's possible that's because the commit was reverted later, so I tagged this kind of commits in the lists.
Hello Zefan,
Thanks for share, great job, it's very useful info for other companies who build their kernel base on long term kernel like here in ProfitBricks.
I'm a little confused about the column occurrences, what do the 2 numbers mean, eg :8c4f3c3fa968 874d3954a35c 2 1
the first is the occurrences in upstream and second for the occurrence in 3.2.xx right?
Regards,
Jack
Quoted 18 lines · Jack Wang
Quoted 17 lines · Li Zefan
We have several long-term and extended stable kernels, and it's possible that a bug fix is in some stable versions but is missing in some other versions, so I've written a script to find out those fixes.
Take 3.4.xx and 3.2.xx for example. If a bug fix was merged into upstream kernel after 3.4, and then it was backported to 3.2.xx, then it probably needs to be backported to 3.4.xx.
The result is, there're ~430 bug fixes in 3.2.xx that probably need to be backported to 3.4.xx. Given there're about 4500 commits in 3.2.xx, that is ~10%, which is quite a big number for stable kernels.
We (our team in Huawei) are going to go through the whole list to filter out fixes that're applicable for 3.4.xx.
I've attached the lists for 3.4 and 3.10.
Quoted 9 lines
Quoted 4 lines
If a commit ID appears more than once in changelogs, it's possible that's because the commit was reverted later, so I tagged this kind of commits in the lists.
Hello Zefan,
Thanks for share, great job, it's very useful info for other companies who build their kernel base on long term kernel like here in ProfitBricks.
This can also be used to find bug fixes for 2.6.34 stable. As 2.6.34.xx isn't maintained anymore while 2.6.32.xx is still being taken care of.
Quoted 6 lines
I'm a little confused about the column occurrences, what do the 2 numbers mean, eg :
8c4f3c3fa968874d3954a35c2 1
the first is the occurrences in upstream and second for the occurrence in 3.2.xx right?
Yeah. As I replied to Greg, you can think of this as
# git log v3.2..v3.2.61 | grep -c 8c4f3c3fa968 # git log v3.2..v3.2.61 | grep -c 874d3954a35c
Greg Kroah-Hartman
maintainerQuoted 7 lines · Li Zefan
We have several long-term and extended stable kernels, and it's possible that a bug fix is in some stable versions but is missing in some other versions, so I've written a script to find out those fixes.
Take 3.4.xx and 3.2.xx for example. If a bug fix was merged into upstream kernel after 3.4, and then it was backported to 3.2.xx, then it probably needs to be backported to 3.4.xx.
I agree.
Quoted 3 lines
The result is, there're ~430 bug fixes in 3.2.xx that probably need to be backported to 3.4.xx. Given there're about 4500 commits in 3.2.xx, that is ~10%, which is quite a big number for stable kernels.
That's a really big number, how am I missing so many patches for the 3.4 kernel? Is it because people are doing backports to 3.2 for patches that didn't apply to 3.4? Or are these patches being applied that do not have -stable markings on them? Or something else?
Quoted 4 lines
We (our team in Huawei) are going to go through the whole list to filter out fixes that're applicable for 3.4.xx.
I've attached the lists for 3.4 and 3.10.
The list format doesn't seem to make much sense, care to explain it a bit better?
Quoted 7 lines
If a commit ID appears more than once in changelogs, it's possible that's because the commit was reverted later, so I tagged this kind of commits in the lists.
[upstream commit] [stable commit] [occurrences]
8c4f3c3fa968874d3954a35c2 1
I'll use this as an example, this patch was not marked for -stable backporting, yet it showed up in the 3.2-stable tree. Why?
And what does the [occurrences] column mean?
confused,
greg k-h
Quoted 11 lines · Greg Kroah-Hartman
Quoted 7 lines · Li Zefan
We have several long-term and extended stable kernels, and it's possible that a bug fix is in some stable versions but is missing in some other versions, so I've written a script to find out those fixes.
Take 3.4.xx and 3.2.xx for example. If a bug fix was merged into upstream kernel after 3.4, and then it was backported to 3.2.xx, then it probably needs to be backported to 3.4.xx.
I agree.
Quoted 9 lines
Quoted 3 lines
The result is, there're ~430 bug fixes in 3.2.xx that probably need to be backported to 3.4.xx. Given there're about 4500 commits in 3.2.xx, that is ~10%, which is quite a big number for stable kernels.
That's a really big number, how am I missing so many patches for the 3.4 kernel? Is it because people are doing backports to 3.2 for patches that didn't apply to 3.4? Or are these patches being applied that do not have -stable markings on them? Or something else?
I guess the biggest reason is, most people tag a patch with stable without specifying kernel versions, and if this patch can't be applied to 3.4, it will be dropped silently. I guess Ben has been checking this kind of patches manually.
Quoted 8 lines
Quoted 4 lines
We (our team in Huawei) are going to go through the whole list to filter out fixes that're applicable for 3.4.xx.
I've attached the lists for 3.4 and 3.10.
The list format doesn't seem to make much sense, care to explain it a bit better?
Sure.
[upstream commit] [3.8] [3.5] [3.2]961246b4ed8d e5bb683b0c24 650e61355b81 d28828aae0b1
...84235de394d9 4e0c7c422e59(2 2)
The last lines means upstream commit 84235de394d9 were backported to 3.5 only, and both upstream commit and stable commit appeared twice in 3.5.xx changelog.
We can find this if we look into git-log:
Revert "fs: buffer: move allocation failure loop into the allocator"
This reverts commit 4e0c7c422e59801cab17bb567e91df725d797645 which is commit 84235de394d9775bfaa7fa9762a59d91fef0c1fc upstream.
Quoted 11 lines
Quoted 7 lines
If a commit ID appears more than once in changelogs, it's possible that's because the commit was reverted later, so I tagged this kind of commits in the lists.
[upstream commit] [stable commit] [occurrences]
8c4f3c3fa968874d3954a35c2 1I'll use this as an example, this patch was not marked for -stable backporting, yet it showed up in the 3.2-stable tree. Why?
Don't know. I can't trigger the bug using the repproducer in the changelog. Checking this list may also find out some patches that needn't/shouldn't be backported, which is also a good thing.
Most of other commits in the list were marked for stable.
Quoted 2 lines
And what does the [occurrences] column mean?
You can think of it as:
# git log v3.2..v3.2.61 | grep -c 8c4f3c3fa968 # git log v3.2..v3.2.61 | grep -c 874d3954a35c
This is used to help check if a fix has been reverted.
Greg Kroah-Hartman
maintainerQuoted 22 lines · Li Zefan
Quoted 11 lines · Greg Kroah-Hartman
Quoted 7 lines · Li Zefan
We have several long-term and extended stable kernels, and it's possible that a bug fix is in some stable versions but is missing in some other versions, so I've written a script to find out those fixes.
Take 3.4.xx and 3.2.xx for example. If a bug fix was merged into upstream kernel after 3.4, and then it was backported to 3.2.xx, then it probably needs to be backported to 3.4.xx.
I agree.
Quoted 9 lines
Quoted 3 lines
The result is, there're ~430 bug fixes in 3.2.xx that probably need to be backported to 3.4.xx. Given there're about 4500 commits in 3.2.xx, that is ~10%, which is quite a big number for stable kernels.
That's a really big number, how am I missing so many patches for the 3.4 kernel? Is it because people are doing backports to 3.2 for patches that didn't apply to 3.4? Or are these patches being applied that do not have -stable markings on them? Or something else?
Quoted 7 lines
I guess the biggest reason is, most people tag a patch with stable without specifying kernel versions, and if this patch can't be applied to 3.4, it will be dropped silently. I guess Ben has been checking this kind of patches manually.
Quoted 2 lines
Quoted 2 lines
We (our team in Huawei) are going to go through the whole list to filter out fixes that're applicable for 3.4.xx.
Please do this, I don't have the resources at the moment to be able to go through all of these git ids to see if they really are relevant or not right now. Any help that you can provide with this for 3.4 or 3.10 would be most appreciated.
thanks,
greg k-h