Compare commits
613 Commits
Author | SHA1 | Date | |
---|---|---|---|
6a01ea2eec | |||
![]() |
182c11afc9 | ||
![]() |
805e00bbae | ||
![]() |
e67cae1f74 | ||
![]() |
242976c8f9 | ||
cd32e018f8 | |||
![]() |
ff12fdef02 | ||
![]() |
170b33b42b | ||
![]() |
fbd6843b19 | ||
![]() |
87c107fec0 | ||
![]() |
a7aff93815 | ||
![]() |
125390a34f | ||
![]() |
0173745597 | ||
![]() |
acab7a00f1 | ||
![]() |
c461282cea | ||
![]() |
d606b89e51 | ||
![]() |
19b22dd663 | ||
![]() |
af7128da3d | ||
![]() |
b5170f87d0 | ||
![]() |
1252f79e8d | ||
![]() |
9f28598dd9 | ||
![]() |
1554c07dc3 | ||
![]() |
8ee5779ea8 | ||
![]() |
366e681a9d | ||
![]() |
f841402153 | ||
![]() |
8aca753f93 | ||
![]() |
a5e7326872 | ||
![]() |
5d6894800e | ||
![]() |
1cc6951e1d | ||
![]() |
22b6866243 | ||
![]() |
7b1c020d37 | ||
![]() |
9fc40622cd | ||
![]() |
fb9b485ccf | ||
![]() |
ddf76022e4 | ||
![]() |
18d5d66d02 | ||
![]() |
ea53bfe2df | ||
![]() |
71964cd085 | ||
![]() |
cddf334f05 | ||
![]() |
beccd92b8e | ||
![]() |
17b7186716 | ||
![]() |
24ee349714 | ||
![]() |
87ba67cee5 | ||
![]() |
9cf5108f6e | ||
![]() |
8f82b34cc9 | ||
![]() |
383118a889 | ||
![]() |
9a3ca002fe | ||
![]() |
c7cfdfe8e8 | ||
![]() |
1d50db3f47 | ||
![]() |
9aac829311 | ||
![]() |
4e4cdf6d8a | ||
![]() |
61485da630 | ||
![]() |
c270f522ae | ||
![]() |
8b2aed93d7 | ||
![]() |
d9f5315ada | ||
![]() |
150288eaa4 | ||
![]() |
9ec407116a | ||
![]() |
a40377d949 | ||
![]() |
bd26af6008 | ||
![]() |
11d6f25d1a | ||
![]() |
1574118f81 | ||
![]() |
5adbe65fee | ||
![]() |
4f870c84fa | ||
![]() |
d48c5bae9e | ||
![]() |
e3a342006f | ||
![]() |
d1ad5080b8 | ||
![]() |
7108c83c5e | ||
![]() |
c6e126517e | ||
![]() |
790685154f | ||
![]() |
ef094d559a | ||
![]() |
c4c75cb41c | ||
![]() |
98cd4d1c78 | ||
![]() |
c68ee341b2 | ||
![]() |
732780e31f | ||
![]() |
d08d1bf6b4 | ||
![]() |
598d75d857 | ||
![]() |
a48e051be2 | ||
![]() |
5a1a029434 | ||
![]() |
a5a4ae6735 | ||
![]() |
1ffeed981d | ||
![]() |
62c107b474 | ||
![]() |
b16cc10308 | ||
![]() |
f2ddd7a205 | ||
![]() |
9290c06d72 | ||
![]() |
cfc9a4c3d7 | ||
![]() |
17bbb7d2ac | ||
![]() |
1fe8359f05 | ||
![]() |
047a30a10b | ||
![]() |
50b7baa8be | ||
![]() |
fd14ac930c | ||
![]() |
1bedd1129e | ||
![]() |
0643a07e26 | ||
![]() |
b935b167f8 | ||
![]() |
924b8ab901 | ||
![]() |
fe376beae2 | ||
![]() |
80fa61ed14 | ||
![]() |
00bbcc62b2 | ||
![]() |
c2a2c69375 | ||
![]() |
61b9336d70 | ||
![]() |
a44160b1bb | ||
![]() |
e69b02bec8 | ||
![]() |
af674124d6 | ||
![]() |
c8f70c1dbf | ||
![]() |
9cfa9a92af | ||
![]() |
43235dd862 | ||
![]() |
eb4c9ed392 | ||
![]() |
c2f71093d3 | ||
![]() |
c168934b2f | ||
![]() |
8575a336cb | ||
![]() |
1d6df3590a | ||
![]() |
f1c70a59b1 | ||
![]() |
9364d55427 | ||
![]() |
d60bf26858 | ||
![]() |
0afef3372d | ||
![]() |
63a357e7ce | ||
![]() |
ed2dd02606 | ||
![]() |
66f0bc42f3 | ||
![]() |
64896e89a4 | ||
![]() |
f71aebfe7f | ||
![]() |
502e8891de | ||
![]() |
0ea1c7b71f | ||
![]() |
6abb50ab49 | ||
![]() |
1d4cdc3c6d | ||
![]() |
0b17071769 | ||
![]() |
4a49bd559e | ||
![]() |
f3ef056267 | ||
![]() |
0a7a0dff2f | ||
![]() |
3d3724b017 | ||
![]() |
750c4bdd4c | ||
![]() |
ebb6c6dd49 | ||
![]() |
39e0090145 | ||
![]() |
d029ec5c68 | ||
![]() |
853ff4cc62 | ||
![]() |
3f7383afce | ||
![]() |
d212552731 | ||
![]() |
8401f85ff1 | ||
![]() |
d382499510 | ||
![]() |
ce8314b4e1 | ||
![]() |
b315bdc036 | ||
![]() |
d27a8e5314 | ||
![]() |
06f28bd3c9 | ||
![]() |
c4b2026156 | ||
![]() |
7dd1395812 | ||
![]() |
f754a8905d | ||
![]() |
e4913200f6 | ||
![]() |
67e33e0360 | ||
![]() |
c138013c75 | ||
![]() |
b24683da20 | ||
![]() |
4700f2cff4 | ||
![]() |
8905340413 | ||
![]() |
b70202bead | ||
![]() |
5468bc3f11 | ||
![]() |
d922e28b0b | ||
![]() |
f9db313392 | ||
![]() |
96b8fba876 | ||
![]() |
870bbb45c0 | ||
![]() |
2c4bf83c10 | ||
![]() |
9248d5d924 | ||
![]() |
984ffdc07f | ||
![]() |
b984faa123 | ||
![]() |
0986e54ca5 | ||
![]() |
33931abaa6 | ||
![]() |
848eea8906 | ||
![]() |
90b55c46ad | ||
![]() |
9a50618f32 | ||
![]() |
9ba57e46ee | ||
![]() |
bbeccc01ac | ||
![]() |
c60e1c82c1 | ||
![]() |
537e0d17a8 | ||
![]() |
a00512fb97 | ||
![]() |
8532058b5b | ||
![]() |
ad64b001a0 | ||
![]() |
9491de3313 | ||
![]() |
f9e729c7af | ||
![]() |
3812053b14 | ||
![]() |
9db4cdbb32 | ||
![]() |
c2cd4052d0 | ||
![]() |
8390e28466 | ||
![]() |
0369b52dab | ||
![]() |
52da881318 | ||
![]() |
9d4ada8d75 | ||
![]() |
93de79d77d | ||
![]() |
66c0d0f191 | ||
![]() |
dd2d8d19e2 | ||
![]() |
283cd4891b | ||
![]() |
84c2883bb0 | ||
![]() |
e13d2cdb24 | ||
![]() |
ea92d403f7 | ||
![]() |
054dfdcf9f | ||
![]() |
0f976d972a | ||
![]() |
2571f3c1d4 | ||
![]() |
8857431418 | ||
![]() |
2a992f583f | ||
![]() |
da653b9c09 | ||
![]() |
e8979b9eb3 | ||
![]() |
78bcad94a3 | ||
![]() |
2a3d08c6b1 | ||
![]() |
98cd82b126 | ||
![]() |
33a7122238 | ||
![]() |
4980ea5488 | ||
![]() |
4fd408e530 | ||
![]() |
4cafaec101 | ||
![]() |
98ffaf518e | ||
![]() |
77f8e8ef6d | ||
![]() |
eb818a6b7f | ||
![]() |
70294f9a0b | ||
![]() |
e7ee521891 | ||
![]() |
268a2dd0ec | ||
![]() |
6350c4ac0e | ||
![]() |
c31394bf6f | ||
![]() |
63c7f01f3f | ||
![]() |
326e572a8c | ||
![]() |
b8cbebfa4b | ||
![]() |
8fd64bba2f | ||
![]() |
67dce0cb22 | ||
![]() |
16d2efa7a4 | ||
![]() |
87506818b0 | ||
![]() |
dcb2959536 | ||
![]() |
ead3bc9b66 | ||
![]() |
0923b4093b | ||
![]() |
17c2e78557 | ||
![]() |
7ea43a153f | ||
![]() |
93dd0f6b78 | ||
![]() |
8154e8756d | ||
![]() |
c743468eb3 | ||
![]() |
e1d289b0e5 | ||
![]() |
f37c8d3879 | ||
![]() |
a8f7518fd0 | ||
![]() |
3364558d5f | ||
![]() |
297748affc | ||
![]() |
f2c3265ef1 | ||
![]() |
7212a98324 | ||
![]() |
6004e2da8a | ||
![]() |
4d05e0b93c | ||
![]() |
2fa23495b4 | ||
![]() |
66197e850d | ||
![]() |
5a30ec4901 | ||
![]() |
8aec124e7c | ||
![]() |
e0f8e9ca81 | ||
![]() |
1ea640950e | ||
![]() |
e3ec79a09b | ||
![]() |
e74dcfef26 | ||
![]() |
f44fd8a1b1 | ||
![]() |
3f96f1533c | ||
![]() |
16068482ef | ||
![]() |
6fb198b237 | ||
![]() |
509a614919 | ||
![]() |
bcb154075c | ||
![]() |
765a2387ea | ||
![]() |
e8fffefad2 | ||
![]() |
3b275ec80a | ||
![]() |
d3c09e68ad | ||
![]() |
f536574e9a | ||
![]() |
233a2e9f94 | ||
![]() |
645d59065a | ||
![]() |
64a1f34050 | ||
![]() |
6417b7cfc3 | ||
![]() |
4c485ca762 | ||
![]() |
dfa0f900a5 | ||
![]() |
5f54d53df2 | ||
![]() |
40ed9a9f4c | ||
![]() |
d85405ec30 | ||
![]() |
e795492b99 | ||
![]() |
dfa046e641 | ||
![]() |
ec697d5db0 | ||
![]() |
55fb54a0c2 | ||
![]() |
762d41e99b | ||
![]() |
c6829b97a1 | ||
![]() |
0821e637f6 | ||
![]() |
0ae44af42d | ||
![]() |
67d6645cd8 | ||
![]() |
e5ff4c6c43 | ||
![]() |
0a61e5805b | ||
![]() |
77e136f08d | ||
![]() |
9af39fa59e | ||
![]() |
b213e9ec05 | ||
![]() |
8cefe84167 | ||
![]() |
ef39a52e0f | ||
![]() |
69126ad1cf | ||
![]() |
eaa1f57699 | ||
![]() |
d78c498a97 | ||
![]() |
e2ec0a1398 | ||
![]() |
ab5f5f3013 | ||
![]() |
8f6ab1ea26 | ||
![]() |
9e8eb99e8f | ||
![]() |
ceb3309147 | ||
![]() |
ef7c5950b5 | ||
![]() |
77d6484c99 | ||
![]() |
dab8297835 | ||
![]() |
8cf0449067 | ||
![]() |
c9318689a6 | ||
![]() |
7c016c3b86 | ||
![]() |
f4eb52befd | ||
![]() |
d41292ed74 | ||
![]() |
5b042abd39 | ||
![]() |
f43d14ef34 | ||
![]() |
7f4bcb4fdc | ||
![]() |
5913e1182b | ||
![]() |
99ff49ad41 | ||
![]() |
deb9802308 | ||
![]() |
fdbdf930ba | ||
![]() |
749f352aa0 | ||
![]() |
c109f90a92 | ||
![]() |
d224d378ab | ||
![]() |
708d7daf0d | ||
![]() |
55f83cb85e | ||
![]() |
907d420275 | ||
![]() |
13575bb29c | ||
![]() |
bd3ef3b782 | ||
![]() |
7d9d60eb69 | ||
![]() |
cf57570e61 | ||
![]() |
2afad7e9aa | ||
![]() |
cc897b77ec | ||
![]() |
2977710ede | ||
![]() |
577aef85e7 | ||
![]() |
4a01763f82 | ||
![]() |
dfdf1250eb | ||
![]() |
e161831c76 | ||
![]() |
40bb3ca977 | ||
![]() |
60a7760a8a | ||
![]() |
ae8a30a0aa | ||
![]() |
6af539d77a | ||
![]() |
3d25e69812 | ||
![]() |
0adbe73ad8 | ||
![]() |
ecacb13980 | ||
![]() |
5c4b82e16d | ||
![]() |
cec6ee8777 | ||
![]() |
ef2d6e118a | ||
![]() |
630574c036 | ||
![]() |
e934aedec6 | ||
![]() |
c637c1b8b8 | ||
![]() |
18ac9d8779 | ||
![]() |
7905b0b2ba | ||
![]() |
cb7604e53d | ||
![]() |
c67443f5f9 | ||
![]() |
f8f5cce6a6 | ||
![]() |
bb54078b2d | ||
![]() |
a784eee66f | ||
![]() |
fe3441e052 | ||
![]() |
6fe4b2ac00 | ||
![]() |
7025371279 | ||
![]() |
0f343a09eb | ||
![]() |
011aaf8c54 | ||
![]() |
a2dcf29ea2 | ||
![]() |
590e9b48b8 | ||
![]() |
2270b57f16 | ||
![]() |
295372ea9e | ||
![]() |
0fe484c606 | ||
![]() |
6febee6aaa | ||
![]() |
5adf12494f | ||
![]() |
0942a771c7 | ||
![]() |
60b0da51cb | ||
![]() |
8c7c726111 | ||
![]() |
a0f9bcf6eb | ||
![]() |
49d23df60b | ||
![]() |
87fc9fcc13 | ||
![]() |
b6415da897 | ||
![]() |
6dd4d86113 | ||
![]() |
a2465eb0e3 | ||
![]() |
927942a2c0 | ||
![]() |
32c1177e01 | ||
![]() |
b6f30a4734 | ||
![]() |
599a6f01c8 | ||
![]() |
55e12b2859 | ||
![]() |
4e9aa16f79 | ||
![]() |
3c68dfe400 | ||
![]() |
e44ecd3778 | ||
![]() |
76301e8cc5 | ||
![]() |
96d320d4e0 | ||
![]() |
bd5d0c63a3 | ||
![]() |
52b3981bf2 | ||
![]() |
c0a145a129 | ||
![]() |
7494090db2 | ||
![]() |
55e3aa12aa | ||
![]() |
afc163dbef | ||
![]() |
d509e647c5 | ||
![]() |
3d2838b750 | ||
![]() |
9d42e64ad3 | ||
![]() |
c30781e5da | ||
![]() |
a2acb741b6 | ||
![]() |
d0d5261907 | ||
![]() |
5be073ac26 | ||
![]() |
7d50af9122 | ||
![]() |
9816084ba9 | ||
![]() |
2cb25cd0cd | ||
![]() |
f6ab40c53e | ||
![]() |
b754a6b36e | ||
![]() |
62deb5a445 | ||
![]() |
a955051342 | ||
![]() |
c2dda25031 | ||
![]() |
2bfc20ed9b | ||
![]() |
cb4b5829d4 | ||
![]() |
becd0c1997 | ||
![]() |
98796f66c1 | ||
![]() |
d3ca20fb86 | ||
![]() |
a58e756d9e | ||
![]() |
4aa5df9496 | ||
![]() |
2de47ed975 | ||
![]() |
fd6b55d478 | ||
![]() |
05e659f162 | ||
![]() |
d0df204f77 | ||
![]() |
dba3f1db89 | ||
![]() |
cc0a7ad42d | ||
![]() |
a0e509ba0c | ||
![]() |
25733b422e | ||
![]() |
f9b8bd98ba | ||
![]() |
da625d767d | ||
![]() |
ed9b1d6b30 | ||
![]() |
aa33198b96 | ||
![]() |
c6a898d4f8 | ||
![]() |
bb9fd2fe33 | ||
![]() |
48d0052f66 | ||
![]() |
1871190c14 | ||
![]() |
c2a8293dca | ||
![]() |
dfb2af20bb | ||
![]() |
3e61cc6caa | ||
![]() |
ca3c8f47d4 | ||
![]() |
16520270d4 | ||
![]() |
8a1ac2f7a9 | ||
![]() |
a9b2749df5 | ||
![]() |
2d04cac5e5 | ||
![]() |
da5a960584 | ||
![]() |
f27df0e0bb | ||
![]() |
65d700f5bb | ||
![]() |
ba8e92cb88 | ||
![]() |
bc09cf4cf8 | ||
![]() |
e8d88303bf | ||
![]() |
428d080242 | ||
![]() |
9e9f2e0fbe | ||
![]() |
0e068253ac | ||
![]() |
9ceaf53181 | ||
![]() |
cd7dc1f7dd | ||
![]() |
66dc83ceb2 | ||
![]() |
4f53ec6a3c | ||
![]() |
4e13372d7e | ||
![]() |
fa53c91147 | ||
![]() |
6148e5d1da | ||
![]() |
e9b47b4c21 | ||
![]() |
3374403b13 | ||
![]() |
b3876838fb | ||
![]() |
05531a8448 | ||
![]() |
e241f60e7a | ||
![]() |
e9371ef60d | ||
![]() |
5db5dca21b | ||
![]() |
3deafdf8aa | ||
![]() |
6c09f56df4 | ||
![]() |
9e0b269cff | ||
![]() |
0f63122c15 | ||
![]() |
3b133f71c4 | ||
![]() |
2f51cb4a9b | ||
![]() |
b8f73770c3 | ||
![]() |
f2cbbfdeb9 | ||
![]() |
3cf4f5ea0e | ||
![]() |
4e68eab71a | ||
![]() |
e45b11c773 | ||
![]() |
f245556636 | ||
![]() |
0290dbe191 | ||
![]() |
e47cfefe16 | ||
![]() |
171dcf228b | ||
![]() |
3edb1f3c9d | ||
![]() |
2411f1bba2 | ||
![]() |
cc4d703135 | ||
![]() |
dd4e419e25 | ||
![]() |
394e2aaef1 | ||
![]() |
a026343945 | ||
![]() |
b5606021c9 | ||
![]() |
d3b78a4d48 | ||
![]() |
7d4f1a1f28 | ||
![]() |
d1eb185f1b | ||
![]() |
3cbbd53565 | ||
![]() |
a1eea48862 | ||
![]() |
3541d3d012 | ||
![]() |
f28d37d159 | ||
![]() |
60ec92374a | ||
![]() |
5751db78f9 | ||
![]() |
0737d28707 | ||
![]() |
550b5f7d95 | ||
![]() |
d1dac3e56d | ||
![]() |
02f451a3fc | ||
![]() |
c8d9a64026 | ||
![]() |
ceba3bd561 | ||
![]() |
5b684de6b6 | ||
![]() |
c58f7da4d1 | ||
![]() |
1aab4188cb | ||
![]() |
8c7d56da65 | ||
![]() |
0ebad7661f | ||
![]() |
4ce6980d66 | ||
![]() |
ca2b2ba12a | ||
![]() |
fd47eb680d | ||
![]() |
2b14e535ad | ||
![]() |
3c69343cca | ||
![]() |
041f871514 | ||
![]() |
69f1baf94d | ||
![]() |
dcecd5104c | ||
![]() |
81c2c73ebf | ||
![]() |
dc079b0edd | ||
![]() |
e929164e52 | ||
![]() |
da6296fbd1 | ||
![]() |
c74209a6da | ||
![]() |
770e621fae | ||
![]() |
ef0bef2c30 | ||
![]() |
db05e688bf | ||
![]() |
a3a94130eb | ||
![]() |
493024345c | ||
![]() |
af80793adf | ||
![]() |
4f527c40e3 | ||
![]() |
c06775b2dc | ||
![]() |
a64f8add24 | ||
![]() |
3726e31626 | ||
![]() |
785cbcb166 | ||
![]() |
279f977249 | ||
![]() |
c77414ccba | ||
![]() |
210cc0cf3a | ||
![]() |
33855dc817 | ||
![]() |
6a7dd9144d | ||
![]() |
5af1bf7126 | ||
![]() |
75bc52065b | ||
![]() |
937456aa45 | ||
![]() |
d18e6e2a84 | ||
![]() |
e36fb668a2 | ||
![]() |
68c2cb59dd | ||
![]() |
be4ed3415c | ||
![]() |
6b90204adc | ||
![]() |
065c7c8d5a | ||
![]() |
15c89a7969 | ||
![]() |
a24e81f8bc | ||
![]() |
b378a866c5 | ||
![]() |
b5b2720013 | ||
![]() |
6903ffff42 | ||
![]() |
d3b73aeaca | ||
![]() |
4ea73ad712 | ||
![]() |
f49edcc48a | ||
![]() |
dbd669b817 | ||
![]() |
dda56b60ca | ||
![]() |
30056467b8 | ||
![]() |
8eb750842d | ||
![]() |
79f5df1246 | ||
![]() |
ccff26a12a | ||
![]() |
f396efba92 | ||
![]() |
4f37a7705e | ||
![]() |
85db6178a8 | ||
![]() |
01faeae0f5 | ||
![]() |
a2776fee7d | ||
![]() |
90d2b31bbf | ||
![]() |
dea2375213 | ||
![]() |
6ea017a8fc | ||
![]() |
9a7b435b4f | ||
![]() |
844130705c | ||
![]() |
750b4806ba | ||
![]() |
675eeb2cca | ||
![]() |
7111a4be3f | ||
![]() |
ad08580970 | ||
![]() |
44b667d79f | ||
![]() |
05fa87eadb | ||
![]() |
6c2715b862 | ||
![]() |
9d2ada0644 | ||
![]() |
ea413eff37 | ||
![]() |
1382dccd77 | ||
![]() |
e20f891181 | ||
![]() |
1fb715d099 | ||
![]() |
9de931dff9 | ||
![]() |
22c5120d94 | ||
![]() |
8ec4b09134 | ||
![]() |
3bce01fb11 | ||
![]() |
7cea95338e | ||
![]() |
5d31a4cc98 | ||
![]() |
1321935d67 | ||
![]() |
cb6a955561 | ||
![]() |
aed9869e16 | ||
![]() |
d169f6f9f5 | ||
![]() |
48633e28cb | ||
![]() |
d3a3171c69 | ||
![]() |
6b8087443a | ||
![]() |
f6489c6a21 | ||
![]() |
4043e5cd3f | ||
![]() |
fef3ab7aff | ||
![]() |
697e50711c | ||
![]() |
5e6e4cc043 | ||
![]() |
dadf64bb25 | ||
![]() |
63e7989ff6 | ||
![]() |
b262aee7ec | ||
![]() |
c301de20f7 | ||
![]() |
58e125cc82 | ||
![]() |
d5211e3387 | ||
![]() |
c694ef7dbf | ||
![]() |
ef08570700 | ||
![]() |
fcb0db357f | ||
![]() |
e04cb8419e | ||
![]() |
8f92f25aba | ||
![]() |
9ce84ab899 | ||
![]() |
56db701299 | ||
![]() |
bf539f3407 | ||
![]() |
b5c869e976 | ||
![]() |
78cbff139e | ||
![]() |
fa63348762 | ||
![]() |
d2b84ceda0 | ||
![]() |
c18ce9117f | ||
![]() |
1493095e73 | ||
![]() |
7b8848f293 | ||
![]() |
6851144924 | ||
![]() |
eeaff8438d | ||
![]() |
677867fd09 | ||
![]() |
a509874a96 | ||
![]() |
7d09435354 | ||
![]() |
e62da971bc | ||
![]() |
4747049199 | ||
![]() |
62b13e66b6 | ||
![]() |
de7ad4f58f | ||
![]() |
c8548ae69c | ||
![]() |
d42cb56892 | ||
![]() |
d1298d1dfb | ||
![]() |
f07ec3f05e | ||
![]() |
245ab4a1c9 | ||
![]() |
4711fda6ee |
9
.gitignore
vendored
9
.gitignore
vendored
@ -1 +1,8 @@
|
||||
linux-*.tar.bz2*
|
||||
linux-*.tar.gz
|
||||
linux-*.tar.xz
|
||||
linux-*.sign
|
||||
WireGuard-*.tar.xz
|
||||
WireGuard-*.tar.asc
|
||||
kernel-*/
|
||||
config-base-*
|
||||
macbook12-spi-driver-*.tar.gz
|
||||
|
38
0001-xen-netfront-detach-crash.patch
Normal file
38
0001-xen-netfront-detach-crash.patch
Normal file
@ -0,0 +1,38 @@
|
||||
From a6b3add4337101ef875423c0888b8ac1cde47c2c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
|
||||
<marmarek@invisiblethingslab.com>
|
||||
Date: Thu, 6 Sep 2018 15:09:44 +0200
|
||||
Subject: [PATCH] xen-netfront-detach-crash
|
||||
|
||||
When it get to free_page(queue->grant_tx_page[i]), the use counter on this page
|
||||
is already 0, which cause a crash. Not sure if this is the proper fix
|
||||
(according to git log this may introduce some memory leak), but at least it
|
||||
prevent the crash.
|
||||
|
||||
Details in this thread:
|
||||
http://xen.markmail.org/thread/pw5edbtqienjx4q5
|
||||
---
|
||||
drivers/net/xen-netfront.c | 7 ++++---
|
||||
1 file changed, 4 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
|
||||
index 482c6c8b0fb7..8f0a790ec5e7 100644
|
||||
--- a/drivers/net/xen-netfront.c
|
||||
+++ b/drivers/net/xen-netfront.c
|
||||
@@ -1138,9 +1138,10 @@ static void xennet_release_tx_bufs(struct netfront_queue *queue)
|
||||
|
||||
skb = queue->tx_skbs[i].skb;
|
||||
get_page(queue->grant_tx_page[i]);
|
||||
- gnttab_end_foreign_access(queue->grant_tx_ref[i],
|
||||
- GNTMAP_readonly,
|
||||
- (unsigned long)page_address(queue->grant_tx_page[i]));
|
||||
+ gnttab_end_foreign_access_ref(
|
||||
+ queue->grant_tx_ref[i], GNTMAP_readonly);
|
||||
+ gnttab_release_grant_reference(
|
||||
+ &queue->gref_tx_head, queue->grant_tx_ref[i]);
|
||||
queue->grant_tx_page[i] = NULL;
|
||||
queue->grant_tx_ref[i] = GRANT_INVALID_REF;
|
||||
add_id_to_freelist(&queue->tx_skb_freelist, queue->tx_skbs, i);
|
||||
--
|
||||
2.21.0
|
||||
|
70
0002-mce-hide-EBUSY-initialization-error-on-Xen.patch
Normal file
70
0002-mce-hide-EBUSY-initialization-error-on-Xen.patch
Normal file
@ -0,0 +1,70 @@
|
||||
From a58197258286cf8dce45cf03b3b2b436b3cf8a99 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
|
||||
<marmarek@invisiblethingslab.com>
|
||||
Date: Tue, 5 Jan 2016 02:44:04 +0100
|
||||
Subject: [PATCH] mce: hide EBUSY initialization error on Xen
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
In case of Xen, the device is already registered by xen mcelog (in
|
||||
xen_late_init_mcelog), so fail here is expected. Note that
|
||||
mcheck_init_device call is still expected to initialize mce_device. Comment
|
||||
from threshold_init_device explaining the situation:
|
||||
|
||||
/*
|
||||
* there are 3 funcs which need to be _initcalled in a logic sequence:
|
||||
* 1. xen_late_init_mcelog
|
||||
* 2. mcheck_init_device
|
||||
* 3. threshold_init_device
|
||||
*
|
||||
* xen_late_init_mcelog must register xen_mce_chrdev_device before
|
||||
* native mce_chrdev_device registration if running under xen platform;
|
||||
*
|
||||
* mcheck_init_device should be inited before threshold_init_device to
|
||||
* initialize mce_device, otherwise a NULL ptr dereference will cause panic.
|
||||
*
|
||||
* so we use following _initcalls
|
||||
* 1. device_initcall(xen_late_init_mcelog);
|
||||
* 2. device_initcall_sync(mcheck_init_device);
|
||||
* 3. late_initcall(threshold_init_device);
|
||||
*
|
||||
* when running under xen, the initcall order is 1,2,3;
|
||||
* on baremetal, we skip 1 and we do only 2 and 3.
|
||||
*/
|
||||
|
||||
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
|
||||
---
|
||||
arch/x86/kernel/cpu/mce/core.c | 9 +++++++++
|
||||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
|
||||
index 743370ee4983..3af7521b2279 100644
|
||||
--- a/arch/x86/kernel/cpu/mce/core.c
|
||||
+++ b/arch/x86/kernel/cpu/mce/core.c
|
||||
@@ -51,6 +51,10 @@
|
||||
#include <asm/msr.h>
|
||||
#include <asm/reboot.h>
|
||||
|
||||
+#ifdef CONFIG_XEN_MCE_LOG
|
||||
+#include <xen/xen.h>
|
||||
+#endif
|
||||
+
|
||||
#include "internal.h"
|
||||
|
||||
static DEFINE_MUTEX(mce_log_mutex);
|
||||
@@ -2464,6 +2468,11 @@ static __init int mcheck_init_device(void)
|
||||
free_cpumask_var(mce_device_initialized);
|
||||
|
||||
err_out:
|
||||
+#ifdef CONFIG_XEN_MCE_LOG
|
||||
+ /* in case of Xen, the character device was already registered, so do not
|
||||
+ * treat this as an error */
|
||||
+ if (!xen_initial_domain() || err != -EBUSY)
|
||||
+#endif
|
||||
pr_err("Unable to init MCE device (rc: %d)\n", err);
|
||||
|
||||
return err;
|
||||
--
|
||||
2.21.0
|
||||
|
27
0003-Log-error-code-of-EVTCHNOP_bind_pirq-failure.patch
Normal file
27
0003-Log-error-code-of-EVTCHNOP_bind_pirq-failure.patch
Normal file
@ -0,0 +1,27 @@
|
||||
From da15c0c3af84be25fdd695dddf61524099f4322e Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
|
||||
<marmarek@invisiblethingslab.com>
|
||||
Date: Sat, 30 Jan 2016 01:53:26 +0100
|
||||
Subject: [PATCH] Log error code of EVTCHNOP_bind_pirq failure
|
||||
|
||||
Ease debugging of PCI passthrough problems.
|
||||
---
|
||||
drivers/xen/events/events_base.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
|
||||
index 6c8843968a52..54d2e30683c4 100644
|
||||
--- a/drivers/xen/events/events_base.c
|
||||
+++ b/drivers/xen/events/events_base.c
|
||||
@@ -522,7 +522,7 @@ static unsigned int __startup_pirq(unsigned int irq)
|
||||
BIND_PIRQ__WILL_SHARE : 0;
|
||||
rc = HYPERVISOR_event_channel_op(EVTCHNOP_bind_pirq, &bind_pirq);
|
||||
if (rc != 0) {
|
||||
- pr_warn("Failed to obtain physical IRQ %d\n", irq);
|
||||
+ pr_warn("Failed to obtain physical IRQ %d (error %d)\n", irq, rc);
|
||||
return 0;
|
||||
}
|
||||
evtchn = bind_pirq.port;
|
||||
--
|
||||
2.21.0
|
||||
|
@ -0,0 +1,39 @@
|
||||
From 1b9928a04716a54933dcaff9ec7e68323f58090b Mon Sep 17 00:00:00 2001
|
||||
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
|
||||
Date: Mon, 11 Jun 2012 22:49:31 +0200
|
||||
Subject: [PATCH] pvops: respect 'removable' xenstore flag for block devices
|
||||
|
||||
Especially this is needed by pmount to allow mount qvm-block attached devices
|
||||
by normal user.
|
||||
---
|
||||
drivers/block/xen-blkfront.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
|
||||
index a74d03913822..e76b999fceca 100644
|
||||
--- a/drivers/block/xen-blkfront.c
|
||||
+++ b/drivers/block/xen-blkfront.c
|
||||
@@ -2339,6 +2339,7 @@ static void blkfront_connect(struct blkfront_info *info)
|
||||
unsigned int binfo;
|
||||
char *envp[] = { "RESIZE=1", NULL };
|
||||
int err, i;
|
||||
+ int removable;
|
||||
|
||||
switch (info->connected) {
|
||||
case BLKIF_STATE_CONNECTED:
|
||||
@@ -2406,6 +2407,12 @@ static void blkfront_connect(struct blkfront_info *info)
|
||||
}
|
||||
}
|
||||
|
||||
+ err = xenbus_gather(XBT_NIL, info->xbdev->otherend,
|
||||
+ "removable", "%d", &removable,
|
||||
+ NULL);
|
||||
+ if (!err && removable)
|
||||
+ binfo |= VDISK_REMOVABLE;
|
||||
+
|
||||
err = xlvbd_alloc_gendisk(sectors, info, binfo, sector_size,
|
||||
physical_sector_size);
|
||||
if (err) {
|
||||
--
|
||||
2.21.0
|
||||
|
@ -0,0 +1,34 @@
|
||||
From 61d8059c42eaf388b857e0d5c8460ccb76c2f97c Mon Sep 17 00:00:00 2001
|
||||
From: Marek Marczykowski <marmarek@invisiblethingslab.com>
|
||||
Date: Sun, 15 Jul 2012 19:57:47 +0200
|
||||
Subject: [PATCH] pvops/xen-blkfront: handle FDEJECT as detach request (#630)
|
||||
|
||||
---
|
||||
drivers/block/xen-blkfront.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
|
||||
index e76b999fceca..db7d28ac9747 100644
|
||||
--- a/drivers/block/xen-blkfront.c
|
||||
+++ b/drivers/block/xen-blkfront.c
|
||||
@@ -47,6 +47,7 @@
|
||||
#include <linux/bitmap.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/workqueue.h>
|
||||
+#include <linux/fd.h>
|
||||
|
||||
#include <xen/xen.h>
|
||||
#include <xen/xenbus.h>
|
||||
@@ -511,6 +512,9 @@ static int blkif_ioctl(struct block_device *bdev, fmode_t mode,
|
||||
return 0;
|
||||
return -EINVAL;
|
||||
}
|
||||
+ case FDEJECT:
|
||||
+ xenbus_switch_state(info->xbdev, XenbusStateClosing);
|
||||
+ return 0;
|
||||
|
||||
default:
|
||||
/*printk(KERN_ALERT "ioctl %08x not supported by Xen blkdev\n",
|
||||
--
|
||||
2.21.0
|
||||
|
49
0006-block-add-no_part_scan-module-parameter.patch
Normal file
49
0006-block-add-no_part_scan-module-parameter.patch
Normal file
@ -0,0 +1,49 @@
|
||||
From 56ce69a0260413418c2845182aa93165c4a1ce42 Mon Sep 17 00:00:00 2001
|
||||
From: Rusty Bird <rustybird@openmailbox.org>
|
||||
Date: Mon, 11 Jul 2016 13:05:38 +0000
|
||||
Subject: [PATCH] block: add no_part_scan module parameter
|
||||
|
||||
Define a boolean module parameter named "no_part_scan" defaulting to N,
|
||||
which, if set to Y, always causes the GENHD_FL_NO_PART_SCAN flag to be
|
||||
added to subsequently created block devices, thereby disabling the
|
||||
kernel's various partition table parsers for them.
|
||||
|
||||
The parameter's current value can be changed at any time by writing to
|
||||
the /sys/module/block/parameters/no_part_scan file.
|
||||
---
|
||||
block/genhd.c | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/block/genhd.c b/block/genhd.c
|
||||
index 26b31fcae217..75993c12e123 100644
|
||||
--- a/block/genhd.c
|
||||
+++ b/block/genhd.c
|
||||
@@ -676,6 +676,15 @@ static void register_disk(struct device *parent, struct gendisk *disk,
|
||||
}
|
||||
}
|
||||
|
||||
+/* copied (not moved) from far down below, to have fewer patch hunks */
|
||||
+#undef MODULE_PARAM_PREFIX
|
||||
+#define MODULE_PARAM_PREFIX "block."
|
||||
+
|
||||
+/* partition scanning policy */
|
||||
+static bool disk_no_part_scan = 0;
|
||||
+module_param_named(no_part_scan, disk_no_part_scan, bool, S_IRUGO|S_IWUSR);
|
||||
+MODULE_PARM_DESC(no_part_scan, "When adding block devices, always mark them as not to be scanned for partitions");
|
||||
+
|
||||
/**
|
||||
* __device_add_disk - add disk information to kernel list
|
||||
* @parent: parent device for the disk
|
||||
@@ -704,6 +713,9 @@ static void __device_add_disk(struct device *parent, struct gendisk *disk,
|
||||
if (register_queue)
|
||||
elevator_init_mq(disk->queue);
|
||||
|
||||
+ if (disk_no_part_scan)
|
||||
+ disk->flags |= GENHD_FL_NO_PART_SCAN;
|
||||
+
|
||||
/* minors == 0 indicates to use ext devt from part0 and should
|
||||
* be accompanied with EXT_DEVT flag. Make sure all
|
||||
* parameters make sense.
|
||||
--
|
||||
2.21.0
|
||||
|
58
0007-xen-Add-RING_COPY_RESPONSE.patch
Normal file
58
0007-xen-Add-RING_COPY_RESPONSE.patch
Normal file
@ -0,0 +1,58 @@
|
||||
From 76c089d06f5ff8dc7a54c3e5ef7d2f1447ca8ec4 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
|
||||
<marmarek@invisiblethingslab.com>
|
||||
Date: Tue, 15 Dec 2015 21:35:14 +0100
|
||||
Subject: [PATCH] xen: Add RING_COPY_RESPONSE()
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Using RING_GET_RESPONSE() on a shared ring is easy to use incorrectly
|
||||
(i.e., by not considering that the other end may alter the data in the
|
||||
shared ring while it is being inspected). Safe usage of a response
|
||||
generally requires taking a local copy.
|
||||
|
||||
Provide a RING_COPY_RESPONSE() macro to use instead of
|
||||
RING_GET_RESPONSE() and an open-coded memcpy(). This takes care of
|
||||
ensuring that the copy is done correctly regardless of any possible
|
||||
compiler optimizations.
|
||||
|
||||
Use a volatile source to prevent the compiler from reordering or
|
||||
omitting the copy.
|
||||
|
||||
This is part of XSA155.
|
||||
|
||||
CC: stable@vger.kernel.org
|
||||
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
|
||||
---
|
||||
include/xen/interface/io/ring.h | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/include/xen/interface/io/ring.h b/include/xen/interface/io/ring.h
|
||||
index 3f40501fc60b..03702f6874df 100644
|
||||
--- a/include/xen/interface/io/ring.h
|
||||
+++ b/include/xen/interface/io/ring.h
|
||||
@@ -201,6 +201,20 @@ struct __name##_back_ring { \
|
||||
#define RING_GET_RESPONSE(_r, _idx) \
|
||||
(&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].rsp))
|
||||
|
||||
+/*
|
||||
+ * Get a local copy of a response.
|
||||
+ *
|
||||
+ * Use this in preference to RING_GET_RESPONSE() so all processing is
|
||||
+ * done on a local copy that cannot be modified by the other end.
|
||||
+ *
|
||||
+ * Note that https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 may cause this
|
||||
+ * to be ineffective where _rsp is a struct which consists of only bitfields.
|
||||
+ */
|
||||
+#define RING_COPY_RESPONSE(_r, _idx, _rsp) do { \
|
||||
+ /* Use volatile to force the copy into _rsp. */ \
|
||||
+ *(_rsp) = *(volatile typeof(_rsp))RING_GET_RESPONSE(_r, _idx); \
|
||||
+} while (0)
|
||||
+
|
||||
/* Loop termination condition: Would the specified index overflow the ring? */
|
||||
#define RING_REQUEST_CONS_OVERFLOW(_r, _cons) \
|
||||
(((_cons) - (_r)->rsp_prod_pvt) >= RING_SIZE(_r))
|
||||
--
|
||||
2.21.0
|
||||
|
177
0008-xen-netfront-copy-response-out-of-shared-buffer-befo.patch
Normal file
177
0008-xen-netfront-copy-response-out-of-shared-buffer-befo.patch
Normal file
@ -0,0 +1,177 @@
|
||||
From 688769df7c2365ae836eb755ccf5b196b45cbd56 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
|
||||
<marmarek@invisiblethingslab.com>
|
||||
Date: Wed, 16 Dec 2015 05:09:55 +0100
|
||||
Subject: [PATCH] xen-netfront: copy response out of shared buffer before
|
||||
accessing it
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Make local copy of the response, otherwise backend might modify it while
|
||||
frontend is already processing it - leading to time of check / time of
|
||||
use issue.
|
||||
|
||||
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
|
||||
---
|
||||
drivers/net/xen-netfront.c | 51 +++++++++++++++++++-------------------
|
||||
1 file changed, 25 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
|
||||
index 8f0a790ec5e7..abb9b3cd87b8 100644
|
||||
--- a/drivers/net/xen-netfront.c
|
||||
+++ b/drivers/net/xen-netfront.c
|
||||
@@ -385,13 +385,13 @@ static void xennet_tx_buf_gc(struct netfront_queue *queue)
|
||||
rmb(); /* Ensure we see responses up to 'rp'. */
|
||||
|
||||
for (cons = queue->tx.rsp_cons; cons != prod; cons++) {
|
||||
- struct xen_netif_tx_response *txrsp;
|
||||
+ struct xen_netif_tx_response txrsp;
|
||||
|
||||
- txrsp = RING_GET_RESPONSE(&queue->tx, cons);
|
||||
- if (txrsp->status == XEN_NETIF_RSP_NULL)
|
||||
+ RING_COPY_RESPONSE(&queue->tx, cons, &txrsp);
|
||||
+ if (txrsp.status == XEN_NETIF_RSP_NULL)
|
||||
continue;
|
||||
|
||||
- id = txrsp->id;
|
||||
+ id = txrsp.id;
|
||||
skb = queue->tx_skbs[id].skb;
|
||||
if (unlikely(gnttab_query_foreign_access(
|
||||
queue->grant_tx_ref[id]) != 0)) {
|
||||
@@ -739,7 +739,7 @@ static int xennet_get_extras(struct netfront_queue *queue,
|
||||
RING_IDX rp)
|
||||
|
||||
{
|
||||
- struct xen_netif_extra_info *extra;
|
||||
+ struct xen_netif_extra_info extra;
|
||||
struct device *dev = &queue->info->netdev->dev;
|
||||
RING_IDX cons = queue->rx.rsp_cons;
|
||||
int err = 0;
|
||||
@@ -755,24 +755,23 @@ static int xennet_get_extras(struct netfront_queue *queue,
|
||||
break;
|
||||
}
|
||||
|
||||
- extra = (struct xen_netif_extra_info *)
|
||||
- RING_GET_RESPONSE(&queue->rx, ++cons);
|
||||
+ RING_COPY_RESPONSE(&queue->rx, ++cons, &extra);
|
||||
|
||||
- if (unlikely(!extra->type ||
|
||||
- extra->type >= XEN_NETIF_EXTRA_TYPE_MAX)) {
|
||||
+ if (unlikely(!extra.type ||
|
||||
+ extra.type >= XEN_NETIF_EXTRA_TYPE_MAX)) {
|
||||
if (net_ratelimit())
|
||||
dev_warn(dev, "Invalid extra type: %d\n",
|
||||
- extra->type);
|
||||
+ extra.type);
|
||||
err = -EINVAL;
|
||||
} else {
|
||||
- memcpy(&extras[extra->type - 1], extra,
|
||||
- sizeof(*extra));
|
||||
+ memcpy(&extras[extra.type - 1], &extra,
|
||||
+ sizeof(extra));
|
||||
}
|
||||
|
||||
skb = xennet_get_rx_skb(queue, cons);
|
||||
ref = xennet_get_rx_ref(queue, cons);
|
||||
xennet_move_rx_slot(queue, skb, ref);
|
||||
- } while (extra->flags & XEN_NETIF_EXTRA_FLAG_MORE);
|
||||
+ } while (extra.flags & XEN_NETIF_EXTRA_FLAG_MORE);
|
||||
|
||||
queue->rx.rsp_cons = cons;
|
||||
return err;
|
||||
@@ -782,28 +781,28 @@ static int xennet_get_responses(struct netfront_queue *queue,
|
||||
struct netfront_rx_info *rinfo, RING_IDX rp,
|
||||
struct sk_buff_head *list)
|
||||
{
|
||||
- struct xen_netif_rx_response *rx = &rinfo->rx;
|
||||
+ struct xen_netif_rx_response rx = rinfo->rx;
|
||||
struct xen_netif_extra_info *extras = rinfo->extras;
|
||||
struct device *dev = &queue->info->netdev->dev;
|
||||
RING_IDX cons = queue->rx.rsp_cons;
|
||||
struct sk_buff *skb = xennet_get_rx_skb(queue, cons);
|
||||
grant_ref_t ref = xennet_get_rx_ref(queue, cons);
|
||||
- int max = XEN_NETIF_NR_SLOTS_MIN + (rx->status <= RX_COPY_THRESHOLD);
|
||||
+ int max = XEN_NETIF_NR_SLOTS_MIN + (rx.status <= RX_COPY_THRESHOLD);
|
||||
int slots = 1;
|
||||
int err = 0;
|
||||
unsigned long ret;
|
||||
|
||||
- if (rx->flags & XEN_NETRXF_extra_info) {
|
||||
+ if (rx.flags & XEN_NETRXF_extra_info) {
|
||||
err = xennet_get_extras(queue, extras, rp);
|
||||
cons = queue->rx.rsp_cons;
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
- if (unlikely(rx->status < 0 ||
|
||||
- rx->offset + rx->status > XEN_PAGE_SIZE)) {
|
||||
+ if (unlikely(rx.status < 0 ||
|
||||
+ rx.offset + rx.status > XEN_PAGE_SIZE)) {
|
||||
if (net_ratelimit())
|
||||
dev_warn(dev, "rx->offset: %u, size: %d\n",
|
||||
- rx->offset, rx->status);
|
||||
+ rx.offset, rx.status);
|
||||
xennet_move_rx_slot(queue, skb, ref);
|
||||
err = -EINVAL;
|
||||
goto next;
|
||||
@@ -817,7 +816,7 @@ static int xennet_get_responses(struct netfront_queue *queue,
|
||||
if (ref == GRANT_INVALID_REF) {
|
||||
if (net_ratelimit())
|
||||
dev_warn(dev, "Bad rx response id %d.\n",
|
||||
- rx->id);
|
||||
+ rx.id);
|
||||
err = -EINVAL;
|
||||
goto next;
|
||||
}
|
||||
@@ -830,7 +829,7 @@ static int xennet_get_responses(struct netfront_queue *queue,
|
||||
__skb_queue_tail(list, skb);
|
||||
|
||||
next:
|
||||
- if (!(rx->flags & XEN_NETRXF_more_data))
|
||||
+ if (!(rx.flags & XEN_NETRXF_more_data))
|
||||
break;
|
||||
|
||||
if (cons + slots == rp) {
|
||||
@@ -840,7 +839,7 @@ static int xennet_get_responses(struct netfront_queue *queue,
|
||||
break;
|
||||
}
|
||||
|
||||
- rx = RING_GET_RESPONSE(&queue->rx, cons + slots);
|
||||
+ RING_COPY_RESPONSE(&queue->rx, cons + slots, &rx);
|
||||
skb = xennet_get_rx_skb(queue, cons + slots);
|
||||
ref = xennet_get_rx_ref(queue, cons + slots);
|
||||
slots++;
|
||||
@@ -895,9 +894,9 @@ static int xennet_fill_frags(struct netfront_queue *queue,
|
||||
struct sk_buff *nskb;
|
||||
|
||||
while ((nskb = __skb_dequeue(list))) {
|
||||
- struct xen_netif_rx_response *rx =
|
||||
- RING_GET_RESPONSE(&queue->rx, ++cons);
|
||||
+ struct xen_netif_rx_response rx;
|
||||
skb_frag_t *nfrag = &skb_shinfo(nskb)->frags[0];
|
||||
+ RING_COPY_RESPONSE(&queue->rx, ++cons, &rx);
|
||||
|
||||
if (skb_shinfo(skb)->nr_frags == MAX_SKB_FRAGS) {
|
||||
unsigned int pull_to = NETFRONT_SKB_CB(skb)->pull_to;
|
||||
@@ -913,7 +912,7 @@ static int xennet_fill_frags(struct netfront_queue *queue,
|
||||
|
||||
skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags,
|
||||
skb_frag_page(nfrag),
|
||||
- rx->offset, rx->status, PAGE_SIZE);
|
||||
+ rx.offset, rx.status, PAGE_SIZE);
|
||||
|
||||
skb_shinfo(nskb)->nr_frags = 0;
|
||||
kfree_skb(nskb);
|
||||
@@ -1011,7 +1010,7 @@ static int xennet_poll(struct napi_struct *napi, int budget)
|
||||
i = queue->rx.rsp_cons;
|
||||
work_done = 0;
|
||||
while ((i != rp) && (work_done < budget)) {
|
||||
- memcpy(rx, RING_GET_RESPONSE(&queue->rx, i), sizeof(*rx));
|
||||
+ RING_COPY_RESPONSE(&queue->rx, i, rx);
|
||||
memset(extras, 0, sizeof(rinfo.extras));
|
||||
|
||||
err = xennet_get_responses(queue, &rinfo, rp, &tmpq);
|
||||
--
|
||||
2.21.0
|
||||
|
@ -0,0 +1,64 @@
|
||||
From f2452d28602c2de1d69d5ca2e34e6771374414a1 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
|
||||
<marmarek@invisiblethingslab.com>
|
||||
Date: Wed, 16 Dec 2015 05:19:37 +0100
|
||||
Subject: [PATCH] xen-netfront: do not use data already exposed to backend
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Backend may freely modify anything on shared page, so use data which was
|
||||
supposed to be written there, instead of reading it back from the shared
|
||||
page.
|
||||
|
||||
This is part of XSA155.
|
||||
|
||||
CC: stable@vger.kernel.org
|
||||
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
|
||||
---
|
||||
drivers/net/xen-netfront.c | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
|
||||
index abb9b3cd87b8..56c8a4a32672 100644
|
||||
--- a/drivers/net/xen-netfront.c
|
||||
+++ b/drivers/net/xen-netfront.c
|
||||
@@ -456,7 +456,7 @@ static void xennet_tx_setup_grant(unsigned long gfn, unsigned int offset,
|
||||
tx->flags = 0;
|
||||
|
||||
info->tx = tx;
|
||||
- info->size += tx->size;
|
||||
+ info->size += len;
|
||||
}
|
||||
|
||||
static struct xen_netif_tx_request *xennet_make_first_txreq(
|
||||
@@ -572,7 +572,7 @@ static netdev_tx_t xennet_start_xmit(struct sk_buff *skb, struct net_device *dev
|
||||
int slots;
|
||||
struct page *page;
|
||||
unsigned int offset;
|
||||
- unsigned int len;
|
||||
+ unsigned int len, this_len;
|
||||
unsigned long flags;
|
||||
struct netfront_queue *queue = NULL;
|
||||
unsigned int num_queues = dev->real_num_tx_queues;
|
||||
@@ -632,14 +632,15 @@ static netdev_tx_t xennet_start_xmit(struct sk_buff *skb, struct net_device *dev
|
||||
}
|
||||
|
||||
/* First request for the linear area. */
|
||||
+ this_len = min_t(unsigned int, XEN_PAGE_SIZE - offset, len);
|
||||
first_tx = tx = xennet_make_first_txreq(queue, skb,
|
||||
page, offset, len);
|
||||
- offset += tx->size;
|
||||
+ offset += this_len;
|
||||
if (offset == PAGE_SIZE) {
|
||||
page++;
|
||||
offset = 0;
|
||||
}
|
||||
- len -= tx->size;
|
||||
+ len -= this_len;
|
||||
|
||||
if (skb->ip_summed == CHECKSUM_PARTIAL)
|
||||
/* local packet? */
|
||||
--
|
||||
2.21.0
|
||||
|
35
0010-xen-netfront-add-range-check-for-Tx-response-id.patch
Normal file
35
0010-xen-netfront-add-range-check-for-Tx-response-id.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From b5bc80763b7bf0f9e32a9a4d4f930ff50d02385d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
|
||||
<marmarek@invisiblethingslab.com>
|
||||
Date: Wed, 16 Dec 2015 05:22:24 +0100
|
||||
Subject: [PATCH] xen-netfront: add range check for Tx response id
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Tx response ID is fetched from shared page, so make sure it is sane
|
||||
before using it as an array index.
|
||||
|
||||
This is part of XSA155.
|
||||
|
||||
CC: stable@vger.kernel.org
|
||||
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
|
||||
---
|
||||
drivers/net/xen-netfront.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c
|
||||
index 56c8a4a32672..e11df925c0dc 100644
|
||||
--- a/drivers/net/xen-netfront.c
|
||||
+++ b/drivers/net/xen-netfront.c
|
||||
@@ -392,6 +392,7 @@ static void xennet_tx_buf_gc(struct netfront_queue *queue)
|
||||
continue;
|
||||
|
||||
id = txrsp.id;
|
||||
+ BUG_ON(id >= NET_TX_RING_SIZE);
|
||||
skb = queue->tx_skbs[id].skb;
|
||||
if (unlikely(gnttab_query_foreign_access(
|
||||
queue->grant_tx_ref[id]) != 0)) {
|
||||
--
|
||||
2.21.0
|
||||
|
128
0011-xen-blkfront-make-local-copy-of-response-before-usin.patch
Normal file
128
0011-xen-blkfront-make-local-copy-of-response-before-usin.patch
Normal file
@ -0,0 +1,128 @@
|
||||
From def16082c5e64f97d5d138ae638a6cde7a136432 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
|
||||
<marmarek@invisiblethingslab.com>
|
||||
Date: Wed, 16 Dec 2015 05:51:10 +0100
|
||||
Subject: [PATCH] xen-blkfront: make local copy of response before using it
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Data on the shared page can be changed at any time by the backend. Make
|
||||
a local copy, which is no longer controlled by the backend. And only
|
||||
then access it.
|
||||
|
||||
This is part of XSA155.
|
||||
|
||||
CC: stable@vger.kernel.org
|
||||
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
|
||||
---
|
||||
drivers/block/xen-blkfront.c | 34 +++++++++++++++++-----------------
|
||||
1 file changed, 17 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
|
||||
index db7d28ac9747..3f6dbaf0265b 100644
|
||||
--- a/drivers/block/xen-blkfront.c
|
||||
+++ b/drivers/block/xen-blkfront.c
|
||||
@@ -1551,7 +1551,7 @@ static bool blkif_completion(unsigned long *id,
|
||||
static irqreturn_t blkif_interrupt(int irq, void *dev_id)
|
||||
{
|
||||
struct request *req;
|
||||
- struct blkif_response *bret;
|
||||
+ struct blkif_response bret;
|
||||
RING_IDX i, rp;
|
||||
unsigned long flags;
|
||||
struct blkfront_ring_info *rinfo = (struct blkfront_ring_info *)dev_id;
|
||||
@@ -1568,8 +1568,8 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
|
||||
for (i = rinfo->ring.rsp_cons; i != rp; i++) {
|
||||
unsigned long id;
|
||||
|
||||
- bret = RING_GET_RESPONSE(&rinfo->ring, i);
|
||||
- id = bret->id;
|
||||
+ RING_COPY_RESPONSE(&rinfo->ring, i, &bret);
|
||||
+ id = bret.id;
|
||||
/*
|
||||
* The backend has messed up and given us an id that we would
|
||||
* never have given to it (we stamp it up to BLK_RING_SIZE -
|
||||
@@ -1577,39 +1577,39 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
|
||||
*/
|
||||
if (id >= BLK_RING_SIZE(info)) {
|
||||
WARN(1, "%s: response to %s has incorrect id (%ld)\n",
|
||||
- info->gd->disk_name, op_name(bret->operation), id);
|
||||
+ info->gd->disk_name, op_name(bret.operation), id);
|
||||
/* We can't safely get the 'struct request' as
|
||||
* the id is busted. */
|
||||
continue;
|
||||
}
|
||||
req = rinfo->shadow[id].request;
|
||||
|
||||
- if (bret->operation != BLKIF_OP_DISCARD) {
|
||||
+ if (bret.operation != BLKIF_OP_DISCARD) {
|
||||
/*
|
||||
* We may need to wait for an extra response if the
|
||||
* I/O request is split in 2
|
||||
*/
|
||||
- if (!blkif_completion(&id, rinfo, bret))
|
||||
+ if (!blkif_completion(&id, rinfo, &bret))
|
||||
continue;
|
||||
}
|
||||
|
||||
if (add_id_to_freelist(rinfo, id)) {
|
||||
WARN(1, "%s: response to %s (id %ld) couldn't be recycled!\n",
|
||||
- info->gd->disk_name, op_name(bret->operation), id);
|
||||
+ info->gd->disk_name, op_name(bret.operation), id);
|
||||
continue;
|
||||
}
|
||||
|
||||
- if (bret->status == BLKIF_RSP_OKAY)
|
||||
+ if (bret.status == BLKIF_RSP_OKAY)
|
||||
blkif_req(req)->error = BLK_STS_OK;
|
||||
else
|
||||
blkif_req(req)->error = BLK_STS_IOERR;
|
||||
|
||||
- switch (bret->operation) {
|
||||
+ switch (bret.operation) {
|
||||
case BLKIF_OP_DISCARD:
|
||||
- if (unlikely(bret->status == BLKIF_RSP_EOPNOTSUPP)) {
|
||||
+ if (unlikely(bret.status == BLKIF_RSP_EOPNOTSUPP)) {
|
||||
struct request_queue *rq = info->rq;
|
||||
printk(KERN_WARNING "blkfront: %s: %s op failed\n",
|
||||
- info->gd->disk_name, op_name(bret->operation));
|
||||
+ info->gd->disk_name, op_name(bret.operation));
|
||||
blkif_req(req)->error = BLK_STS_NOTSUPP;
|
||||
info->feature_discard = 0;
|
||||
info->feature_secdiscard = 0;
|
||||
@@ -1619,15 +1619,15 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
|
||||
break;
|
||||
case BLKIF_OP_FLUSH_DISKCACHE:
|
||||
case BLKIF_OP_WRITE_BARRIER:
|
||||
- if (unlikely(bret->status == BLKIF_RSP_EOPNOTSUPP)) {
|
||||
+ if (unlikely(bret.status == BLKIF_RSP_EOPNOTSUPP)) {
|
||||
printk(KERN_WARNING "blkfront: %s: %s op failed\n",
|
||||
- info->gd->disk_name, op_name(bret->operation));
|
||||
+ info->gd->disk_name, op_name(bret.operation));
|
||||
blkif_req(req)->error = BLK_STS_NOTSUPP;
|
||||
}
|
||||
- if (unlikely(bret->status == BLKIF_RSP_ERROR &&
|
||||
+ if (unlikely(bret.status == BLKIF_RSP_ERROR &&
|
||||
rinfo->shadow[id].req.u.rw.nr_segments == 0)) {
|
||||
printk(KERN_WARNING "blkfront: %s: empty %s op failed\n",
|
||||
- info->gd->disk_name, op_name(bret->operation));
|
||||
+ info->gd->disk_name, op_name(bret.operation));
|
||||
blkif_req(req)->error = BLK_STS_NOTSUPP;
|
||||
}
|
||||
if (unlikely(blkif_req(req)->error)) {
|
||||
@@ -1640,9 +1640,9 @@ static irqreturn_t blkif_interrupt(int irq, void *dev_id)
|
||||
/* fall through */
|
||||
case BLKIF_OP_READ:
|
||||
case BLKIF_OP_WRITE:
|
||||
- if (unlikely(bret->status != BLKIF_RSP_OKAY))
|
||||
+ if (unlikely(bret.status != BLKIF_RSP_OKAY))
|
||||
dev_dbg(&info->xbdev->dev, "Bad return from blkdev data "
|
||||
- "request: %x\n", bret->status);
|
||||
+ "request: %x\n", bret.status);
|
||||
|
||||
break;
|
||||
default:
|
||||
--
|
||||
2.21.0
|
||||
|
191
0012-xen-blkfront-prepare-request-locally-only-then-put-i.patch
Normal file
191
0012-xen-blkfront-prepare-request-locally-only-then-put-i.patch
Normal file
@ -0,0 +1,191 @@
|
||||
From 115094605c08f2e2790f6110f7fdc002122e0788 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
|
||||
<marmarek@invisiblethingslab.com>
|
||||
Date: Wed, 16 Dec 2015 06:07:14 +0100
|
||||
Subject: [PATCH] xen-blkfront: prepare request locally, only then put it on
|
||||
the shared ring
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Do not reuse data which theoretically might be already modified by the
|
||||
backend. This is mostly about private copy of the request
|
||||
(info->shadow[id].req) - make sure the request saved there is really the
|
||||
one just filled.
|
||||
|
||||
This is part of XSA155.
|
||||
|
||||
CC: stable@vger.kernel.org
|
||||
Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
|
||||
---
|
||||
drivers/block/xen-blkfront.c | 76 +++++++++++++++++++++---------------
|
||||
1 file changed, 44 insertions(+), 32 deletions(-)
|
||||
|
||||
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
|
||||
index 3f6dbaf0265b..37235ab63ca9 100644
|
||||
--- a/drivers/block/xen-blkfront.c
|
||||
+++ b/drivers/block/xen-blkfront.c
|
||||
@@ -527,19 +527,16 @@ static int blkif_ioctl(struct block_device *bdev, fmode_t mode,
|
||||
|
||||
static unsigned long blkif_ring_get_request(struct blkfront_ring_info *rinfo,
|
||||
struct request *req,
|
||||
- struct blkif_request **ring_req)
|
||||
+ struct blkif_request *ring_req)
|
||||
{
|
||||
unsigned long id;
|
||||
|
||||
- *ring_req = RING_GET_REQUEST(&rinfo->ring, rinfo->ring.req_prod_pvt);
|
||||
- rinfo->ring.req_prod_pvt++;
|
||||
-
|
||||
id = get_id_from_freelist(rinfo);
|
||||
rinfo->shadow[id].request = req;
|
||||
rinfo->shadow[id].status = REQ_WAITING;
|
||||
rinfo->shadow[id].associated_id = NO_ASSOCIATED_ID;
|
||||
|
||||
- (*ring_req)->u.rw.id = id;
|
||||
+ ring_req->u.rw.id = id;
|
||||
|
||||
return id;
|
||||
}
|
||||
@@ -547,23 +544,28 @@ static unsigned long blkif_ring_get_request(struct blkfront_ring_info *rinfo,
|
||||
static int blkif_queue_discard_req(struct request *req, struct blkfront_ring_info *rinfo)
|
||||
{
|
||||
struct blkfront_info *info = rinfo->dev_info;
|
||||
- struct blkif_request *ring_req;
|
||||
+ struct blkif_request ring_req = { 0 };
|
||||
unsigned long id;
|
||||
|
||||
/* Fill out a communications ring structure. */
|
||||
id = blkif_ring_get_request(rinfo, req, &ring_req);
|
||||
|
||||
- ring_req->operation = BLKIF_OP_DISCARD;
|
||||
- ring_req->u.discard.nr_sectors = blk_rq_sectors(req);
|
||||
- ring_req->u.discard.id = id;
|
||||
- ring_req->u.discard.sector_number = (blkif_sector_t)blk_rq_pos(req);
|
||||
+ ring_req.operation = BLKIF_OP_DISCARD;
|
||||
+ ring_req.u.discard.nr_sectors = blk_rq_sectors(req);
|
||||
+ ring_req.u.discard.id = id;
|
||||
+ ring_req.u.discard.sector_number = (blkif_sector_t)blk_rq_pos(req);
|
||||
if (req_op(req) == REQ_OP_SECURE_ERASE && info->feature_secdiscard)
|
||||
- ring_req->u.discard.flag = BLKIF_DISCARD_SECURE;
|
||||
+ ring_req.u.discard.flag = BLKIF_DISCARD_SECURE;
|
||||
else
|
||||
- ring_req->u.discard.flag = 0;
|
||||
+ ring_req.u.discard.flag = 0;
|
||||
+
|
||||
+ /* make the request available to the backend */
|
||||
+ *RING_GET_REQUEST(&rinfo->ring, rinfo->ring.req_prod_pvt) = ring_req;
|
||||
+ wmb();
|
||||
+ rinfo->ring.req_prod_pvt++;
|
||||
|
||||
/* Keep a private copy so we can reissue requests when recovering. */
|
||||
- rinfo->shadow[id].req = *ring_req;
|
||||
+ rinfo->shadow[id].req = ring_req;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -695,7 +697,7 @@ static void blkif_setup_extra_req(struct blkif_request *first,
|
||||
static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *rinfo)
|
||||
{
|
||||
struct blkfront_info *info = rinfo->dev_info;
|
||||
- struct blkif_request *ring_req, *extra_ring_req = NULL;
|
||||
+ struct blkif_request ring_req = { 0 }, extra_ring_req = { 0 };
|
||||
unsigned long id, extra_id = NO_ASSOCIATED_ID;
|
||||
bool require_extra_req = false;
|
||||
int i;
|
||||
@@ -760,16 +762,16 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri
|
||||
* BLKIF_OP_WRITE
|
||||
*/
|
||||
BUG_ON(req_op(req) == REQ_OP_FLUSH || req->cmd_flags & REQ_FUA);
|
||||
- ring_req->operation = BLKIF_OP_INDIRECT;
|
||||
- ring_req->u.indirect.indirect_op = rq_data_dir(req) ?
|
||||
+ ring_req.operation = BLKIF_OP_INDIRECT;
|
||||
+ ring_req.u.indirect.indirect_op = rq_data_dir(req) ?
|
||||
BLKIF_OP_WRITE : BLKIF_OP_READ;
|
||||
- ring_req->u.indirect.sector_number = (blkif_sector_t)blk_rq_pos(req);
|
||||
- ring_req->u.indirect.handle = info->handle;
|
||||
- ring_req->u.indirect.nr_segments = num_grant;
|
||||
+ ring_req.u.indirect.sector_number = (blkif_sector_t)blk_rq_pos(req);
|
||||
+ ring_req.u.indirect.handle = info->handle;
|
||||
+ ring_req.u.indirect.nr_segments = num_grant;
|
||||
} else {
|
||||
- ring_req->u.rw.sector_number = (blkif_sector_t)blk_rq_pos(req);
|
||||
- ring_req->u.rw.handle = info->handle;
|
||||
- ring_req->operation = rq_data_dir(req) ?
|
||||
+ ring_req.u.rw.sector_number = (blkif_sector_t)blk_rq_pos(req);
|
||||
+ ring_req.u.rw.handle = info->handle;
|
||||
+ ring_req.operation = rq_data_dir(req) ?
|
||||
BLKIF_OP_WRITE : BLKIF_OP_READ;
|
||||
if (req_op(req) == REQ_OP_FLUSH || req->cmd_flags & REQ_FUA) {
|
||||
/*
|
||||
@@ -780,15 +782,15 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri
|
||||
* since it is guaranteed ordered WRT previous writes.)
|
||||
*/
|
||||
if (info->feature_flush && info->feature_fua)
|
||||
- ring_req->operation =
|
||||
+ ring_req.operation =
|
||||
BLKIF_OP_WRITE_BARRIER;
|
||||
else if (info->feature_flush)
|
||||
- ring_req->operation =
|
||||
+ ring_req.operation =
|
||||
BLKIF_OP_FLUSH_DISKCACHE;
|
||||
else
|
||||
- ring_req->operation = 0;
|
||||
+ ring_req.operation = 0;
|
||||
}
|
||||
- ring_req->u.rw.nr_segments = num_grant;
|
||||
+ ring_req.u.rw.nr_segments = num_grant;
|
||||
if (unlikely(require_extra_req)) {
|
||||
extra_id = blkif_ring_get_request(rinfo, req,
|
||||
&extra_ring_req);
|
||||
@@ -798,7 +800,7 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri
|
||||
*/
|
||||
rinfo->shadow[extra_id].num_sg = 0;
|
||||
|
||||
- blkif_setup_extra_req(ring_req, extra_ring_req);
|
||||
+ blkif_setup_extra_req(&ring_req, &extra_ring_req);
|
||||
|
||||
/* Link the 2 requests together */
|
||||
rinfo->shadow[extra_id].associated_id = id;
|
||||
@@ -806,12 +808,12 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri
|
||||
}
|
||||
}
|
||||
|
||||
- setup.ring_req = ring_req;
|
||||
+ setup.ring_req = &ring_req;
|
||||
setup.id = id;
|
||||
|
||||
setup.require_extra_req = require_extra_req;
|
||||
if (unlikely(require_extra_req))
|
||||
- setup.extra_ring_req = extra_ring_req;
|
||||
+ setup.extra_ring_req = &extra_ring_req;
|
||||
|
||||
for_each_sg(rinfo->shadow[id].sg, sg, num_sg, i) {
|
||||
BUG_ON(sg->offset + sg->length > PAGE_SIZE);
|
||||
@@ -833,10 +835,20 @@ static int blkif_queue_rw_req(struct request *req, struct blkfront_ring_info *ri
|
||||
if (setup.segments)
|
||||
kunmap_atomic(setup.segments);
|
||||
|
||||
+ /* make the request available to the backend */
|
||||
+ *RING_GET_REQUEST(&rinfo->ring, rinfo->ring.req_prod_pvt) = ring_req;
|
||||
+ wmb();
|
||||
+ rinfo->ring.req_prod_pvt++;
|
||||
/* Keep a private copy so we can reissue requests when recovering. */
|
||||
- rinfo->shadow[id].req = *ring_req;
|
||||
- if (unlikely(require_extra_req))
|
||||
- rinfo->shadow[extra_id].req = *extra_ring_req;
|
||||
+ rinfo->shadow[id].req = ring_req;
|
||||
+
|
||||
+ if (unlikely(require_extra_req)) {
|
||||
+ *RING_GET_REQUEST(&rinfo->ring, rinfo->ring.req_prod_pvt) = extra_ring_req;
|
||||
+ wmb();
|
||||
+ rinfo->ring.req_prod_pvt++;
|
||||
+ /* Keep a private copy so we can reissue requests when recovering. */
|
||||
+ rinfo->shadow[extra_id].req = extra_ring_req;
|
||||
+ }
|
||||
|
||||
if (new_persistent_gnts)
|
||||
gnttab_free_grant_references(setup.gref_head);
|
||||
--
|
||||
2.21.0
|
||||
|
@ -0,0 +1,75 @@
|
||||
From 6a9f5a2435d3845b41f32b3768bb1c25bba1be2d Mon Sep 17 00:00:00 2001
|
||||
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
||||
Date: Wed, 1 Apr 2015 17:01:26 -0400
|
||||
Subject: [PATCH] xen/pcifront/pciback: Update pciif.h with ->err and ->result
|
||||
values.
|
||||
|
||||
The '->err' should contain only the XEN_PCI_ERR_* type values.
|
||||
The '->result' may contain -EXX values or any other value
|
||||
that the XEN_PCI_OP_* deems appropiate.
|
||||
|
||||
As such update the header and also the implementations.
|
||||
|
||||
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
|
||||
|
||||
Details in this thread:
|
||||
https://patchwork.kernel.org/patch/8258431/
|
||||
---
|
||||
drivers/pci/xen-pcifront.c | 2 +-
|
||||
drivers/xen/xen-pciback/pciback_ops.c | 2 +-
|
||||
include/xen/interface/io/pciif.h | 6 ++++--
|
||||
3 files changed, 6 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/pci/xen-pcifront.c b/drivers/pci/xen-pcifront.c
|
||||
index d1b16cf3403f..4d6f2513b104 100644
|
||||
--- a/drivers/pci/xen-pcifront.c
|
||||
+++ b/drivers/pci/xen-pcifront.c
|
||||
@@ -297,7 +297,7 @@ static int pci_frontend_enable_msix(struct pci_dev *dev,
|
||||
} else {
|
||||
pci_err(dev, "enable msix get err %x\n", err);
|
||||
}
|
||||
- return err;
|
||||
+ return err ? -EINVAL : 0;
|
||||
}
|
||||
|
||||
static void pci_frontend_disable_msix(struct pci_dev *dev)
|
||||
diff --git a/drivers/xen/xen-pciback/pciback_ops.c b/drivers/xen/xen-pciback/pciback_ops.c
|
||||
index 787966f44589..0574c9121124 100644
|
||||
--- a/drivers/xen/xen-pciback/pciback_ops.c
|
||||
+++ b/drivers/xen/xen-pciback/pciback_ops.c
|
||||
@@ -266,7 +266,7 @@ int xen_pcibk_enable_msix(struct xen_pcibk_device *pdev,
|
||||
if (dev_data)
|
||||
dev_data->ack_intr = 0;
|
||||
|
||||
- return result > 0 ? 0 : result;
|
||||
+ return result >= 0 ? 0 : XEN_PCI_ERR_op_failed;
|
||||
}
|
||||
|
||||
static
|
||||
diff --git a/include/xen/interface/io/pciif.h b/include/xen/interface/io/pciif.h
|
||||
index d9922ae36eb5..c8b674fd2455 100644
|
||||
--- a/include/xen/interface/io/pciif.h
|
||||
+++ b/include/xen/interface/io/pciif.h
|
||||
@@ -70,7 +70,7 @@ struct xen_pci_op {
|
||||
/* IN: what action to perform: XEN_PCI_OP_* */
|
||||
uint32_t cmd;
|
||||
|
||||
- /* OUT: will contain an error number (if any) from errno.h */
|
||||
+ /* OUT: will contain an XEN_PCI_ERR_* number. */
|
||||
int32_t err;
|
||||
|
||||
/* IN: which device to touch */
|
||||
@@ -82,7 +82,9 @@ struct xen_pci_op {
|
||||
int32_t offset;
|
||||
int32_t size;
|
||||
|
||||
- /* IN/OUT: Contains the result after a READ or the value to WRITE */
|
||||
+ /* IN/OUT: Contains the result after a READ or the value to WRITE.
|
||||
+ * If the err does not have XEN_PCI_ERR_success, depending on
|
||||
+ * XEN_PCI_OP_* might have the errno value. */
|
||||
uint32_t value;
|
||||
/* IN: Contains extra infor for this operation */
|
||||
uint32_t info;
|
||||
--
|
||||
2.21.0
|
||||
|
194
0014-xen-pciback-add-attribute-to-allow-MSI-enable-flag-w.patch
Normal file
194
0014-xen-pciback-add-attribute-to-allow-MSI-enable-flag-w.patch
Normal file
@ -0,0 +1,194 @@
|
||||
From 3a7edaa90f1b3d7066ba9c227577039e4285cb3d Mon Sep 17 00:00:00 2001
|
||||
From: HW42 <hw42@ipsumj.de>
|
||||
Date: Tue, 12 Sep 2017 00:49:02 +0200
|
||||
Subject: [PATCH] xen-pciback: add attribute to allow MSI enable flag writes
|
||||
|
||||
QEMU running in a stubdom needs to be able to set the MSI enable flag in
|
||||
the PCI config space. This adds an attribute 'allow_msi_enable' which
|
||||
when set for a PCI device allows writes to this flag. The toolstack will
|
||||
need to set this for stubdoms.
|
||||
|
||||
This should not introduce any new security issues since a malicious
|
||||
guest (or stubdom) can already generate MSIs through other ways, see
|
||||
[1] page 8.
|
||||
|
||||
[1]: https://invisiblethingslab.com/resources/2011/Software%20Attacks%20on%20Intel%20VT-d.pdf
|
||||
---
|
||||
.../xen/xen-pciback/conf_space_capability.c | 39 +++++++++++
|
||||
drivers/xen/xen-pciback/pci_stub.c | 64 +++++++++++++++++++
|
||||
drivers/xen/xen-pciback/pciback.h | 1 +
|
||||
3 files changed, 104 insertions(+)
|
||||
|
||||
diff --git a/drivers/xen/xen-pciback/conf_space_capability.c b/drivers/xen/xen-pciback/conf_space_capability.c
|
||||
index e5694133ebe5..4be817f448c3 100644
|
||||
--- a/drivers/xen/xen-pciback/conf_space_capability.c
|
||||
+++ b/drivers/xen/xen-pciback/conf_space_capability.c
|
||||
@@ -189,6 +189,40 @@ static const struct config_field caplist_pm[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
+#define MSI_OK_BITS (PCI_MSI_FLAGS_ENABLE)
|
||||
+
|
||||
+static int msi_flags_write(struct pci_dev *dev, int offset, u16 new_value,
|
||||
+ void *data)
|
||||
+{
|
||||
+ int err;
|
||||
+ u16 old_value;
|
||||
+ struct xen_pcibk_dev_data *dev_data = pci_get_drvdata(dev);
|
||||
+
|
||||
+ if (xen_pcibk_permissive || dev_data->permissive)
|
||||
+ goto write;
|
||||
+
|
||||
+ err = pci_read_config_word(dev, offset, &old_value);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
+ if (!dev_data->allow_msi_enable
|
||||
+ || (new_value ^ old_value) & ~MSI_OK_BITS)
|
||||
+ return PCIBIOS_SET_FAILED;
|
||||
+
|
||||
+write:
|
||||
+ return pci_write_config_word(dev, offset, new_value);
|
||||
+}
|
||||
+
|
||||
+static const struct config_field caplist_msi[] = {
|
||||
+ {
|
||||
+ .offset = PCI_MSI_FLAGS,
|
||||
+ .size = 2,
|
||||
+ .u.w.read = xen_pcibk_read_config_word,
|
||||
+ .u.w.write = msi_flags_write,
|
||||
+ },
|
||||
+ {}
|
||||
+};
|
||||
+
|
||||
static struct xen_pcibk_config_capability xen_pcibk_config_capability_pm = {
|
||||
.capability = PCI_CAP_ID_PM,
|
||||
.fields = caplist_pm,
|
||||
@@ -197,11 +231,16 @@ static struct xen_pcibk_config_capability xen_pcibk_config_capability_vpd = {
|
||||
.capability = PCI_CAP_ID_VPD,
|
||||
.fields = caplist_vpd,
|
||||
};
|
||||
+static struct xen_pcibk_config_capability xen_pcibk_config_capability_msi = {
|
||||
+ .capability = PCI_CAP_ID_MSI,
|
||||
+ .fields = caplist_msi,
|
||||
+};
|
||||
|
||||
int xen_pcibk_config_capability_init(void)
|
||||
{
|
||||
register_capability(&xen_pcibk_config_capability_vpd);
|
||||
register_capability(&xen_pcibk_config_capability_pm);
|
||||
+ register_capability(&xen_pcibk_config_capability_msi);
|
||||
|
||||
return 0;
|
||||
}
|
||||
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
|
||||
index 097410a7cdb7..fb6a4a43c11d 100644
|
||||
--- a/drivers/xen/xen-pciback/pci_stub.c
|
||||
+++ b/drivers/xen/xen-pciback/pci_stub.c
|
||||
@@ -304,6 +304,8 @@ void pcistub_put_pci_dev(struct pci_dev *dev)
|
||||
xen_pcibk_config_reset_dev(dev);
|
||||
xen_pcibk_config_free_dyn_fields(dev);
|
||||
|
||||
+ dev_data->allow_msi_enable = 0;
|
||||
+
|
||||
xen_unregister_device_domain_owner(dev);
|
||||
|
||||
spin_lock_irqsave(&found_psdev->lock, flags);
|
||||
@@ -1431,6 +1433,63 @@ static ssize_t permissive_show(struct device_driver *drv, char *buf)
|
||||
}
|
||||
static DRIVER_ATTR_RW(permissive);
|
||||
|
||||
+static ssize_t allow_msi_enable_store(struct device_driver *drv, const char *buf,
|
||||
+ size_t count)
|
||||
+{
|
||||
+ int domain, bus, slot, func;
|
||||
+ int err;
|
||||
+ struct pcistub_device *psdev;
|
||||
+ struct xen_pcibk_dev_data *dev_data;
|
||||
+
|
||||
+ err = str_to_slot(buf, &domain, &bus, &slot, &func);
|
||||
+ if (err)
|
||||
+ goto out;
|
||||
+
|
||||
+ psdev = pcistub_device_find(domain, bus, slot, func);
|
||||
+ if (!psdev) {
|
||||
+ err = -ENODEV;
|
||||
+ goto out;
|
||||
+ }
|
||||
+
|
||||
+ dev_data = pci_get_drvdata(psdev->dev);
|
||||
+ /* the driver data for a device should never be null at this point */
|
||||
+ if (!dev_data) {
|
||||
+ err = -ENXIO;
|
||||
+ goto release;
|
||||
+ }
|
||||
+ dev_data->allow_msi_enable = 1;
|
||||
+release:
|
||||
+ pcistub_device_put(psdev);
|
||||
+out:
|
||||
+ if (!err)
|
||||
+ err = count;
|
||||
+ return err;
|
||||
+}
|
||||
+
|
||||
+static ssize_t allow_msi_enable_show(struct device_driver *drv, char *buf)
|
||||
+{
|
||||
+ struct pcistub_device *psdev;
|
||||
+ struct xen_pcibk_dev_data *dev_data;
|
||||
+ size_t count = 0;
|
||||
+ unsigned long flags;
|
||||
+ spin_lock_irqsave(&pcistub_devices_lock, flags);
|
||||
+ list_for_each_entry(psdev, &pcistub_devices, dev_list) {
|
||||
+ if (count >= PAGE_SIZE)
|
||||
+ break;
|
||||
+ if (!psdev->dev)
|
||||
+ continue;
|
||||
+ dev_data = pci_get_drvdata(psdev->dev);
|
||||
+ if (!dev_data || !dev_data->allow_msi_enable)
|
||||
+ continue;
|
||||
+ count +=
|
||||
+ scnprintf(buf + count, PAGE_SIZE - count, "%s\n",
|
||||
+ pci_name(psdev->dev));
|
||||
+ }
|
||||
+ spin_unlock_irqrestore(&pcistub_devices_lock, flags);
|
||||
+ return count;
|
||||
+}
|
||||
+static DRIVER_ATTR_RW(allow_msi_enable);
|
||||
+
|
||||
static void pcistub_exit(void)
|
||||
{
|
||||
driver_remove_file(&xen_pcibk_pci_driver.driver, &driver_attr_new_slot);
|
||||
@@ -1440,6 +1499,8 @@ static void pcistub_exit(void)
|
||||
driver_remove_file(&xen_pcibk_pci_driver.driver, &driver_attr_quirks);
|
||||
driver_remove_file(&xen_pcibk_pci_driver.driver,
|
||||
&driver_attr_permissive);
|
||||
+ driver_remove_file(&xen_pcibk_pci_driver.driver,
|
||||
+ &driver_attr_allow_msi_enable);
|
||||
driver_remove_file(&xen_pcibk_pci_driver.driver,
|
||||
&driver_attr_irq_handlers);
|
||||
driver_remove_file(&xen_pcibk_pci_driver.driver,
|
||||
@@ -1530,6 +1591,9 @@ static int __init pcistub_init(void)
|
||||
if (!err)
|
||||
err = driver_create_file(&xen_pcibk_pci_driver.driver,
|
||||
&driver_attr_permissive);
|
||||
+ if (!err)
|
||||
+ err = driver_create_file(&xen_pcibk_pci_driver.driver,
|
||||
+ &driver_attr_allow_msi_enable);
|
||||
|
||||
if (!err)
|
||||
err = driver_create_file(&xen_pcibk_pci_driver.driver,
|
||||
diff --git a/drivers/xen/xen-pciback/pciback.h b/drivers/xen/xen-pciback/pciback.h
|
||||
index 263c059bff90..796f949c92be 100644
|
||||
--- a/drivers/xen/xen-pciback/pciback.h
|
||||
+++ b/drivers/xen/xen-pciback/pciback.h
|
||||
@@ -45,6 +45,7 @@ struct xen_pcibk_dev_data {
|
||||
struct list_head config_fields;
|
||||
struct pci_saved_state *pci_saved_state;
|
||||
unsigned int permissive:1;
|
||||
+ unsigned int allow_msi_enable:1;
|
||||
unsigned int warned_on_write:1;
|
||||
unsigned int enable_intx:1;
|
||||
unsigned int isr_on:1; /* Whether the IRQ handler is installed. */
|
||||
--
|
||||
2.21.0
|
||||
|
176
Makefile
176
Makefile
@ -1,9 +1,173 @@
|
||||
#
|
||||
# Common Makefile for building RPMs
|
||||
#
|
||||
|
||||
NAME := kernel
|
||||
SPECFILE := kernel-xenlinux.spec
|
||||
SPECFILE := kernel.spec
|
||||
|
||||
|
||||
include Makefile.common
|
||||
WORKDIR := $(shell pwd)
|
||||
SPECDIR ?= $(WORKDIR)
|
||||
SRCRPMDIR ?= $(WORKDIR)/srpm
|
||||
BUILDDIR ?= $(WORKDIR)
|
||||
RPMDIR ?= $(WORKDIR)/rpm
|
||||
SOURCEDIR := $(WORKDIR)
|
||||
|
||||
NO_OF_CPUS := $(shell grep -c ^processor /proc/cpuinfo)
|
||||
|
||||
RPM_DEFINES := --define "_sourcedir $(SOURCEDIR)" \
|
||||
--define "_specdir $(SPECDIR)" \
|
||||
--define "_builddir $(BUILDDIR)" \
|
||||
--define "_srcrpmdir $(SRCRPMDIR)" \
|
||||
--define "_rpmdir $(RPMDIR)"
|
||||
|
||||
ifndef NAME
|
||||
$(error "You can not run this Makefile without having NAME defined")
|
||||
endif
|
||||
ifndef VERSION
|
||||
VERSION := $(shell cat version)
|
||||
endif
|
||||
ifndef RELEASE
|
||||
RELEASE := $(shell cat rel)
|
||||
endif
|
||||
|
||||
ifneq ($(VERSION),$(subst -rc,,$(VERSION)))
|
||||
DOWNLOAD_FROM_GIT=1
|
||||
VERIFICATION := hash
|
||||
else
|
||||
VERIFICATION := signature
|
||||
endif
|
||||
|
||||
all: help
|
||||
|
||||
MIRROR := cdn.kernel.org
|
||||
ifeq (,$(DISTFILES_MIRROR))
|
||||
SRC_BASEURL := https://${MIRROR}/pub/linux/kernel/v$(shell echo $(VERSION) | sed 's/^\(2\.[0-9]*\).*/\1/;s/^3\..*/3.x/;s/^4\..*/4.x/;s/^5\..*/5.x/')
|
||||
else
|
||||
SRC_BASEURL := $(DISTFILES_MIRROR)
|
||||
endif
|
||||
|
||||
ifeq ($(VERIFICATION),signature)
|
||||
SRC_FILE := linux-${VERSION}.tar.xz
|
||||
SIGN_FILE := linux-${VERSION}.tar.sign
|
||||
else
|
||||
SRC_FILE := linux-${VERSION}.tar.gz
|
||||
HASH_FILE := $(SRC_FILE).sha512
|
||||
endif
|
||||
|
||||
WG_BASE_URL := https://git.zx2c4.com/wireguard-linux-compat/snapshot
|
||||
WG_SRC_FILE := wireguard-linux-compat-0.0.20200121.tar.xz
|
||||
|
||||
WG_SRC_URL := $(WG_BASE_URL)/$(WG_SRC_FILE)
|
||||
WG_SIG_FILE := $(WG_SRC_FILE:%.xz=%.asc)
|
||||
WG_SIG_URL := $(WG_BASE_URL)/$(WG_SIG_FILE)
|
||||
|
||||
SPI_BASE_URL := https://github.com/roadrunner2/macbook12-spi-driver/archive
|
||||
SPI_REVISION := ddfbc7733542b8474a0e8f593aba91e06542be4f
|
||||
SPI_SRC_URL := $(SPI_BASE_URL)/$(SPI_REVISION).tar.gz
|
||||
SPI_SRC_FILE := macbook12-spi-driver-$(SPI_REVISION).tar.gz
|
||||
SPI_HASH_SHA256 := 8039f103fbb351ecbbaddd540feeb7b0b1abfa216f0689a611e43d997426470e
|
||||
|
||||
URL := $(SRC_BASEURL)/$(SRC_FILE)
|
||||
URL_SIGN := $(SRC_BASEURL)/$(SIGN_FILE)
|
||||
|
||||
ifeq ($(DOWNLOAD_FROM_GIT),1)
|
||||
URL := https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/snapshot/linux-$(VERSION).tar.gz
|
||||
endif
|
||||
|
||||
get-sources: $(SRC_FILE) $(SIGN_FILE) $(WG_SRC_FILE) $(WG_SIG_FILE) $(SPI_SRC_FILE)
|
||||
|
||||
$(SRC_FILE):
|
||||
@wget -q -N $(URL)
|
||||
|
||||
$(SIGN_FILE):
|
||||
@wget -q -N $(URL_SIGN)
|
||||
|
||||
$(WG_SRC_FILE):
|
||||
@wget -q -N $(WG_SRC_URL)
|
||||
|
||||
$(WG_SIG_FILE):
|
||||
@wget -q -N $(WG_SIG_URL)
|
||||
|
||||
$(SPI_SRC_FILE):
|
||||
@wget -q -N -O $(SPI_SRC_FILE) $(SPI_SRC_URL)
|
||||
|
||||
import-keys:
|
||||
@if [ -n "$$GNUPGHOME" ]; then rm -f "$$GNUPGHOME/linux-kernel-trustedkeys.gpg"; fi
|
||||
@gpg --no-auto-check-trustdb --no-default-keyring --keyring linux-kernel-trustedkeys.gpg -q --import kernel*-key.asc
|
||||
@if [ -n "$$GNUPGHOME" ]; then rm -f "$$GNUPGHOME/wireguard-trustedkeys.gpg"; fi
|
||||
@gpg --no-auto-check-trustdb --no-default-keyring --keyring wireguard-trustedkeys.gpg -q --import wireguard*-key.asc
|
||||
|
||||
verify-sources: import-keys
|
||||
@xzcat $(WG_SRC_FILE) | gpgv --keyring wireguard-trustedkeys.gpg $(WG_SIG_FILE) - 2>/dev/null
|
||||
ifeq ($(VERIFICATION),signature)
|
||||
@xzcat $(SRC_FILE) | gpgv --keyring linux-kernel-trustedkeys.gpg $(SIGN_FILE) - 2>/dev/null
|
||||
else
|
||||
# there are no signatures for rc tarballs
|
||||
# verify locally based on a signed git tag and commit hash file
|
||||
sha512sum --quiet -c $(HASH_FILE)
|
||||
endif
|
||||
@gunzip -c $(SPI_SRC_FILE) | sha256sum | head -c64 | grep -q "^$(SPI_HASH_SHA256)$$"
|
||||
|
||||
.PHONY: clean-sources
|
||||
clean-sources:
|
||||
ifneq ($(SRC_FILE), None)
|
||||
-rm $(SRC_FILE) $(SIGN_FILE)
|
||||
endif
|
||||
ifneq ($(WG_SRC_FILE), None)
|
||||
-rm $(WG_SRC_FILE) $(WG_SIG_FILE)
|
||||
endif
|
||||
ifneq ($(SPI_SRC_FILE), None)
|
||||
-rm $(SPI_SRC_FILE)
|
||||
endif
|
||||
|
||||
|
||||
#RPM := rpmbuild --buildroot=/dev/shm/buildroot/
|
||||
RPM := rpmbuild
|
||||
|
||||
RPM_WITH_DIRS = $(RPM) $(RPM_DEFINES)
|
||||
|
||||
rpms: rpms-dom0
|
||||
|
||||
rpms-vm:
|
||||
|
||||
rpms-dom0: get-sources $(SPECFILE)
|
||||
$(RPM_WITH_DIRS) -bb $(SPECFILE)
|
||||
rpm --addsign $(RPMDIR)/x86_64/*$(VERSION)-$(RELEASE)*.rpm
|
||||
|
||||
rpms-nobuild:
|
||||
$(RPM_WITH_DIRS) --nobuild -bb $(SPECFILE)
|
||||
|
||||
rpms-just-build:
|
||||
$(RPM_WITH_DIRS) --short-circuit -bc $(SPECFILE)
|
||||
|
||||
rpms-install:
|
||||
$(RPM_WITH_DIRS) -bi $(SPECFILE)
|
||||
|
||||
prep: get-sources $(SPECFILE)
|
||||
$(RPM_WITH_DIRS) -bp $(SPECFILE)
|
||||
|
||||
srpm: get-sources $(SPECFILE)
|
||||
$(RPM_WITH_DIRS) -bs $(SPECFILE)
|
||||
|
||||
verrel:
|
||||
@echo $(NAME)-$(VERSION)-$(RELEASE)
|
||||
|
||||
# mop up, printing out exactly what was mopped.
|
||||
|
||||
.PHONY : clean
|
||||
clean ::
|
||||
@echo "Running the %clean script of the rpmbuild..."
|
||||
$(RPM_WITH_DIRS) --clean --nodeps $(SPECFILE)
|
||||
|
||||
help:
|
||||
@echo "Usage: make <target>"
|
||||
@echo
|
||||
@echo "get-sources Download kernel sources from kernel.org"
|
||||
@echo "verify-sources"
|
||||
@echo
|
||||
@echo "prep Just do the prep"
|
||||
@echo "rpms Build rpms"
|
||||
@echo "rpms-nobuild Skip the build stage (for testing)"
|
||||
@echo "rpms-just-build Skip packaging (just test compilation)"
|
||||
@echo "srpm Create an srpm"
|
||||
@echo
|
||||
@echo "make update-repo-current -- copy newly generated rpms to qubes yum repo"
|
||||
@echo "make update-repo-current-testing -- same, but to -current-testing"
|
||||
@echo "make update-repo-unstable -- same, but to -unstable repo"
|
||||
|
4
Makefile.builder
Normal file
4
Makefile.builder
Normal file
@ -0,0 +1,4 @@
|
||||
ifeq ($(PACKAGE_SET),dom0)
|
||||
RPM_SPEC_FILES := kernel.spec
|
||||
NO_ARCHIVE := 1
|
||||
endif
|
108
Makefile.common
108
Makefile.common
@ -1,108 +0,0 @@
|
||||
#
|
||||
# Common Makefile for building RPMs
|
||||
#
|
||||
|
||||
WORKDIR := $(shell pwd)
|
||||
SPECDIR ?= $(WORKDIR)
|
||||
SRCRPMDIR ?= $(WORKDIR)/srpm
|
||||
BUILDDIR ?= $(WORKDIR)
|
||||
RPMDIR ?= $(WORKDIR)/rpm
|
||||
SOURCEDIR := $(WORKDIR)
|
||||
VERSION := $(shell cat version)
|
||||
|
||||
NO_OF_CPUS := $(shell grep -c ^processor /proc/cpuinfo)
|
||||
|
||||
RPM_DEFINES := --define "_sourcedir $(SOURCEDIR)" \
|
||||
--define "_specdir $(SPECDIR)" \
|
||||
--define "_builddir $(BUILDDIR)" \
|
||||
--define "_srcrpmdir $(SRCRPMDIR)" \
|
||||
--define "_rpmdir $(RPMDIR)" \
|
||||
--define "version $(VERSION)" \
|
||||
--define "jobs $(NO_OF_CPUS)"
|
||||
|
||||
VER_REL := $(shell rpm $(RPM_DEFINES) -q --qf "%{VERSION} %{RELEASE}\n" --specfile $(SPECFILE)| head -1)
|
||||
|
||||
ifndef NAME
|
||||
$(error "You can not run this Makefile without having NAME defined")
|
||||
endif
|
||||
ifndef VERSION
|
||||
$(error "You can not run this Makefile without having VERSION defined")
|
||||
endif
|
||||
ifndef RELEASE
|
||||
RELEASE := $(word 2, $(VER_REL))
|
||||
endif
|
||||
|
||||
all: help
|
||||
|
||||
SRC_BASEURL := http://www.kernel.org/pub/linux/kernel/v2.6/
|
||||
SRC_FILE := linux-${VERSION}.tar.bz2
|
||||
SIGN_FILE := linux-${VERSION}.tar.bz2.sign
|
||||
|
||||
URL := $(SRC_BASEURL)/$(SRC_FILE)
|
||||
URL_SIGN := $(SRC_BASEURL)/$(SIGN_FILE)
|
||||
|
||||
get-sources: $(SRC_FILE)
|
||||
|
||||
$(SRC_FILE):
|
||||
@echo -n "Downloading $(URL)... "
|
||||
@wget -q $(URL)
|
||||
@wget -q $(URL_SIGN)
|
||||
@echo "OK."
|
||||
|
||||
verify-sources:
|
||||
@gpg --verify $(SIGN_FILE) $(SRC_FILE)
|
||||
|
||||
.PHONY: clean-sources
|
||||
clean-sources:
|
||||
ifneq ($(SRC_FILE), None)
|
||||
-rm $(SRC_FILE)
|
||||
endif
|
||||
|
||||
|
||||
#RPM := rpmbuild --buildroot=/dev/shm/buildroot/
|
||||
RPM := rpmbuild
|
||||
|
||||
RPM_WITH_DIRS = $(RPM) $(RPM_DEFINES)
|
||||
|
||||
rpms: get-sources $(SPECFILE)
|
||||
$(RPM_WITH_DIRS) -bb $(SPECFILE)
|
||||
rpm --addsign $(RPMDIR)/x86_64/*.rpm
|
||||
|
||||
rpms-nobuild:
|
||||
$(RPM_WITH_DIRS) --nobuild -bb $(SPECFILE)
|
||||
|
||||
rpms-just-build:
|
||||
$(RPM_WITH_DIRS) --short-circuit -bc $(SPECFILE)
|
||||
|
||||
rpms-install:
|
||||
$(RPM_WITH_DIRS) -bi $(SPECFILE)
|
||||
|
||||
prep: get-sources $(SPECFILE)
|
||||
$(RPM_WITH_DIRS) -bp $(SPECFILE)
|
||||
|
||||
srpm: get-sources $(SPECFILE)
|
||||
$(RPM_WITH_DIRS) -bs $(SPECFILE)
|
||||
|
||||
verrel:
|
||||
@echo $(NAME)-$(VERSION)-$(RELEASE)
|
||||
|
||||
# mop up, printing out exactly what was mopped.
|
||||
|
||||
.PHONY : clean
|
||||
clean ::
|
||||
@echo "Running the %clean script of the rpmbuild..."
|
||||
$(RPM_WITH_DIRS) --clean --nodeps $(SPECFILE)
|
||||
|
||||
help:
|
||||
@echo "Usage: make <target>"
|
||||
@echo
|
||||
@echo "get-sources Download kernel sources from kernel.org"
|
||||
@echo "verify-sources"
|
||||
@echo
|
||||
@echo "prep Just do the prep"
|
||||
@echo "rpms Build rpms"
|
||||
@echo "rpms-nobuild Skip the build stage (for testing)"
|
||||
@echo "rpms-just-build Skip packaging (just test compilation)"
|
||||
@echo "srpm Create an srpm"
|
||||
@echo
|
||||
|
@ -1,9 +0,0 @@
|
||||
#
|
||||
# Common Makefile for building RPMs
|
||||
#
|
||||
|
||||
NAME := kernel
|
||||
SPECFILE := kernel-domU.spec
|
||||
|
||||
|
||||
include Makefile.common
|
9049
config-base
Normal file
9049
config-base
Normal file
File diff suppressed because it is too large
Load Diff
4607
config-domU
4607
config-domU
File diff suppressed because it is too large
Load Diff
138
config-qubes
Normal file
138
config-qubes
Normal file
@ -0,0 +1,138 @@
|
||||
## Qubes specific config settings.
|
||||
##
|
||||
## Lines starting with ## are comments.
|
||||
|
||||
|
||||
################################################################################
|
||||
## Enable expert options
|
||||
|
||||
CONFIG_EXPERT=y
|
||||
|
||||
|
||||
################################################################################
|
||||
## Use xz to save space on /boot
|
||||
|
||||
# CONFIG_KERNEL_GZIP is not set
|
||||
CONFIG_KERNEL_XZ=y
|
||||
|
||||
|
||||
################################################################################
|
||||
## Enable /proc/config.gz to help debugging etc.
|
||||
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
|
||||
|
||||
################################################################################
|
||||
## Enable some more hardening options
|
||||
|
||||
CONFIG_GCC_PLUGINS=y
|
||||
CONFIG_GCC_PLUGIN_LATENT_ENTROPY=y
|
||||
CONFIG_GCC_PLUGIN_STRUCTLEAK=y
|
||||
CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL=y
|
||||
## XXX: What's about RANDSTRUCT?
|
||||
|
||||
## Those depend on CONFIG_EXPERT
|
||||
CONFIG_ARCH_MMAP_RND_BITS=32
|
||||
CONFIG_ARCH_MMAP_RND_COMPAT_BITS=16
|
||||
|
||||
CONFIG_REFCOUNT_FULL=y
|
||||
|
||||
# CONFIG_KEXEC is not set
|
||||
|
||||
# CONFIG_LEGACY_VSYSCALL_EMULATE is not set
|
||||
CONFIG_LEGACY_VSYSCALL_NONE=y
|
||||
|
||||
# CONFIG_ACPI_CUSTOM_METHOD is not set
|
||||
|
||||
CONFIG_SECURITY_DMESG_RESTRICT=y
|
||||
|
||||
CONFIG_INTEL_IOMMU_DEFAULT_ON=y
|
||||
|
||||
# CONFIG_PROC_KCORE is not set
|
||||
|
||||
CONFIG_PAGE_POISONING=y
|
||||
# CONFIG_PAGE_POISONING_NO_SANITY is not set
|
||||
CONFIG_PAGE_POISONING_ZERO=y
|
||||
|
||||
CONFIG_PANIC_ON_OOPS=y
|
||||
CONFIG_PANIC_ON_OOPS_VALUE=1
|
||||
CONFIG_PANIC_TIMEOUT=-1
|
||||
|
||||
CONFIG_SCHED_STACK_END_CHECK=y
|
||||
CONFIG_DEBUG_TIMEKEEPING=y
|
||||
|
||||
CONFIG_IO_STRICT_DEVMEM=y
|
||||
|
||||
CONFIG_SECURITY_YAMA=y
|
||||
|
||||
# CONFIG_HIBERNATION is not set
|
||||
|
||||
|
||||
################################################################################
|
||||
## Disable PCI hotplug to prevent DMA attacks via ExpressCard or Thunderbolt
|
||||
## ports. QubesOS/qubes-issues#1673
|
||||
|
||||
# CONFIG_HOTPLUG_PCI is not set
|
||||
|
||||
|
||||
################################################################################
|
||||
## Deactivate selinux by default
|
||||
|
||||
# CONFIG_DEFAULT_SECURITY_SELINUX is not set
|
||||
CONFIG_DEFAULT_SECURITY_DAC=y
|
||||
CONFIG_LSM="yama,loadpin,safesetid,integrity"
|
||||
|
||||
|
||||
################################################################################
|
||||
## Enable paravirt spinlocks. This should be more performant.
|
||||
|
||||
CONFIG_PARAVIRT_SPINLOCKS=y
|
||||
|
||||
|
||||
################################################################################
|
||||
## Disable DEBUG_WX. Xen PV guests currently have some WX pages, so suppress
|
||||
## the useless Warning.
|
||||
|
||||
# CONFIG_DEBUG_WX is not set
|
||||
|
||||
|
||||
################################################################################
|
||||
## Set USB drivers to module to allow attaching PCI devices to pciback before
|
||||
## those get loaded.
|
||||
|
||||
CONFIG_USB_UHCI_HCD=m
|
||||
CONFIG_USB_OHCI_HCD=m
|
||||
CONFIG_USB_EHCI_HCD=m
|
||||
CONFIG_USB_XHCI_HCD=m
|
||||
|
||||
|
||||
################################################################################
|
||||
## USB gadget driver support for testing qvm-usb
|
||||
|
||||
CONFIG_USB_GADGET=m
|
||||
CONFIG_USB_CONFIGFS=m
|
||||
CONFIG_USB_CONFIGFS_MASS_STORAGE=y
|
||||
CONFIG_USB_DUMMY_HCD=m
|
||||
|
||||
|
||||
################################################################################
|
||||
## Enable AppArmor
|
||||
## It's optionally used by Whonix (https://www.whonix.org/wiki/AppArmor).
|
||||
|
||||
CONFIG_SECURITY_APPARMOR=y
|
||||
|
||||
|
||||
################################################################################
|
||||
## TODO: from diff to old config
|
||||
|
||||
## CONFIG_X86_AMD_PLATFORM_DEVICE=y
|
||||
##
|
||||
## # CONFIG_X86_MCELOG_LEGACY is not set
|
||||
## # CONFIG_X86_MCE_INJECT is not set
|
||||
##
|
||||
## CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK=y
|
||||
##
|
||||
## sensors from 0f976d972a1671a303fad30a5e690304b0b82ee0
|
||||
##
|
||||
## Intel ME driver e0f8e9ca81b80d897b190f48a4af80eff3198cb1
|
95
config-qubes-minimal
Normal file
95
config-qubes-minimal
Normal file
@ -0,0 +1,95 @@
|
||||
## Minimal config for a Qubes VM. Intended for easier testing (git bisect, etc.)
|
||||
##
|
||||
## Lines starting with ## are comments.
|
||||
##
|
||||
## Run
|
||||
##
|
||||
## .../linux-kernel/gen-config arch/x86/configs/x86_64_defconfig .../linux-kernel/config-qubes-minimal
|
||||
##
|
||||
## in a linux tree to generate a complete config file.
|
||||
|
||||
################################################################################
|
||||
## linux/kernel/configs/xen.config
|
||||
|
||||
## global stuff - these enable us to allow some
|
||||
## of the not so generic stuff below for xen
|
||||
CONFIG_PARAVIRT=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_NET_CORE=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_BLOCK=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_TARGET_CORE=y
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_MEMORY_HOTPLUG=y
|
||||
CONFIG_TTY=y
|
||||
## Technically not required but otherwise produces
|
||||
## pretty useless systems starting from allnoconfig
|
||||
## You want TCP/IP and ELF binaries right?
|
||||
CONFIG_INET=y
|
||||
CONFIG_BINFMT_ELF=y
|
||||
## generic config
|
||||
CONFIG_XEN=y
|
||||
CONFIG_XEN_DOM0=y
|
||||
## backend drivers
|
||||
CONFIG_XEN_BACKEND=y
|
||||
CONFIG_XEN_BLKDEV_BACKEND=m
|
||||
CONFIG_XEN_NETDEV_BACKEND=m
|
||||
CONFIG_HVC_XEN=y
|
||||
CONFIG_XEN_WDT=m
|
||||
CONFIG_XEN_SCSI_BACKEND=m
|
||||
## frontend drivers
|
||||
CONFIG_XEN_FBDEV_FRONTEND=m
|
||||
CONFIG_HVC_XEN_FRONTEND=y
|
||||
CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m
|
||||
## others
|
||||
CONFIG_XEN_BALLOON=y
|
||||
CONFIG_XEN_SCRUB_PAGES=y
|
||||
CONFIG_XEN_DEV_EVTCHN=m
|
||||
CONFIG_XEN_BLKDEV_FRONTEND=m
|
||||
CONFIG_XEN_NETDEV_FRONTEND=m
|
||||
CONFIG_XENFS=m
|
||||
CONFIG_XEN_COMPAT_XENFS=y
|
||||
CONFIG_XEN_SYS_HYPERVISOR=y
|
||||
CONFIG_XEN_XENBUS_FRONTEND=y
|
||||
CONFIG_XEN_GNTDEV=m
|
||||
CONFIG_XEN_GRANT_DEV_ALLOC=m
|
||||
CONFIG_SWIOTLB_XEN=y
|
||||
CONFIG_XEN_PRIVCMD=m
|
||||
|
||||
################################################################################
|
||||
## linux/arch/x86/configs/xen.config
|
||||
|
||||
## global x86 required specific stuff
|
||||
CONFIG_64BIT=y
|
||||
|
||||
## These enable us to allow some of the
|
||||
## not so generic stuff below
|
||||
CONFIG_HYPERVISOR_GUEST=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_X86_MCE=y
|
||||
CONFIG_ACPI_PROCESSOR=y
|
||||
CONFIG_CPU_FREQ=y
|
||||
|
||||
## x86 xen specific config options
|
||||
CONFIG_XEN_PVH=y
|
||||
CONFIG_XEN_SAVE_RESTORE=y
|
||||
## CONFIG_XEN_DEBUG_FS is not set
|
||||
CONFIG_XEN_MCE_LOG=y
|
||||
CONFIG_XEN_ACPI_PROCESSOR=m
|
||||
## x86 specific backend drivers
|
||||
CONFIG_XEN_PCIDEV_BACKEND=m
|
||||
## x86 specific frontend drivers
|
||||
CONFIG_XEN_PCIDEV_FRONTEND=m
|
||||
## depends on MEMORY_HOTPLUG, arm64 doesn't enable this yet,
|
||||
## move to generic config if it ever does.
|
||||
CONFIG_XEN_BALLOON_MEMORY_HOTPLUG=y
|
||||
|
||||
|
||||
################################################################################
|
||||
## Some basic stuff required in an Qubes VM
|
||||
|
||||
CONFIG_DM_SNAPSHOT=m
|
4899
config-xenlinux
4899
config-xenlinux
File diff suppressed because it is too large
Load Diff
61
gen-config
Executable file
61
gen-config
Executable file
@ -0,0 +1,61 @@
|
||||
#!/bin/bash
|
||||
|
||||
# The Qubes OS Project, https://www.qubes-os.org
|
||||
#
|
||||
# Copyright (C) 2017 Simon Gaiser <simon@invisiblethingslab.com>
|
||||
# Copyright (c) 2009-2010 Wind River Systems, Inc.
|
||||
# Copyright 2011 Linaro
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2 as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
# See the GNU General Public License for more details.
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
linux_merge_config="./scripts/kconfig/merge_config.sh"
|
||||
make_opts=""
|
||||
|
||||
if [ -n "${LINUX_UPSTREAM_VERSION:-}" ]; then
|
||||
linux_merge_config="../linux-$LINUX_UPSTREAM_VERSION/scripts/kconfig/merge_config.sh"
|
||||
make_opts="-C ../linux-$LINUX_UPSTREAM_VERSION O=$PWD"
|
||||
fi
|
||||
|
||||
if [ -z "$linux_merge_config" ]; then
|
||||
printf 'Error: Could not find merge_config.sh from the linux source tree!\n'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
sed_config_exp='s/^\(# \)\{0,1\}\(CONFIG_[a-zA-Z0-9_]*\)[= ].*/\2/p'
|
||||
|
||||
if [ $# -ne 2 ]; then
|
||||
printf 'Usage: gen-config base.config local.config\n'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
base_config="$1"
|
||||
local_config="$2"
|
||||
|
||||
grep -v '^##' "$local_config" > "$local_config.gen" || [ $? -le 1 ]
|
||||
|
||||
$linux_merge_config -m "$base_config" "$local_config.gen"
|
||||
|
||||
make $make_opts KCONFIG_ALLCONFIG=.config alldefconfig
|
||||
|
||||
rc=0
|
||||
for cfg in $(sed -n "$sed_config_exp" "$local_config.gen"); do
|
||||
requested="$(grep -w "$cfg" "$local_config.gen" || true)"
|
||||
actual="$(grep -w "$cfg" .config || true)"
|
||||
if [ "$requested" != "$actual" ]; then
|
||||
printf 'Local config setting for %s didn'\''t make it into the final config\n' "$cfg"
|
||||
rc=1
|
||||
fi
|
||||
done
|
||||
|
||||
rm "$local_config.gen"
|
||||
|
||||
exit $rc
|
96
get-fedora-latest-config
Executable file
96
get-fedora-latest-config
Executable file
@ -0,0 +1,96 @@
|
||||
#!/bin/bash
|
||||
# vim: set ts=4 sw=4 sts=4 et :
|
||||
|
||||
set -e
|
||||
if [ "${VERBOSE:-0}" -ge 2 ] || [ "${DEBUG:-0}" -eq 1 ]; then
|
||||
debug=1
|
||||
set -x
|
||||
fi
|
||||
|
||||
localdir="$(dirname "$(readlink -f "$0")")"
|
||||
releasever="$1"
|
||||
# Set to 1 to include rc srpm
|
||||
rc="$2"
|
||||
|
||||
kernelver="$(cat "$localdir/version")"
|
||||
kernelsrc="linux-$kernelver"
|
||||
|
||||
exit_clean() {
|
||||
local exit_code=$?
|
||||
rm -rf "$tmpdir"
|
||||
exit "${exit_code}"
|
||||
}
|
||||
|
||||
errecho() {
|
||||
>&2 echo "$@"
|
||||
}
|
||||
|
||||
# example of releasever: '29' or 'rawhide'
|
||||
if [ "x$releasever" != "x" ]; then
|
||||
if [[ ! "$releasever" =~ ^[1-9][0-9]$ ]] && [ "$releasever" != "rawhide" ]; then
|
||||
errecho "Invalid release format"
|
||||
exit 1
|
||||
fi
|
||||
elif [ "x$releasever" == "x" ]; then
|
||||
listver="$(curl -s -L https://dl.fedoraproject.org/pub/fedora/linux/releases 2> /dev/null)"
|
||||
releasever="$(echo "$listver" | sed -e 's/<[^>]*>//g' | awk '{print $1}' | grep -o "[1-9][0-9]" | tail -1)"
|
||||
if ! [[ "$releasever" =~ ^[1-9][0-9]$ ]]; then
|
||||
errecho "An error occurred while trying to determine latest Fedora version"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
# get the latest kernel rpm
|
||||
latestver=$(dnf -q repoquery kernel-core --disablerepo=* --enablerepo=fedora --enablerepo=updates --releasever="$releasever")
|
||||
if [ "$rc" != "1" ]; then
|
||||
latestver=$(echo "$latestver" | grep -v "rc[0-9]*")
|
||||
fi
|
||||
latestver=$(echo "$latestver" | sort -V | tail -1 | cut -d ':' -f2)
|
||||
latestrpm="kernel-core-$latestver.rpm"
|
||||
|
||||
if [ "$releasever" == 'rawhide' ]; then
|
||||
releasever="$(echo "$latestver" | grep -o "fc[1-9][0-9]" | sed 's/fc//')"
|
||||
fi
|
||||
|
||||
if [ "x$latestrpm" != "x" ] && [ "x$releasever" != "x" ]; then
|
||||
key="$localdir/../builder-rpm/keys/RPM-GPG-KEY-fedora-$releasever-primary"
|
||||
|
||||
trap 'exit_clean' 0 1 2 3 6 15
|
||||
tmpdir="$(mktemp -d -p "$localdir")"
|
||||
# download latest kernel rpm
|
||||
dnf -q download kernel-core --disablerepo=* --enablerepo=fedora --enablerepo=updates --releasever="$releasever"
|
||||
mv "$latestrpm" "$tmpdir/$latestrpm.untrusted"
|
||||
|
||||
# check signature
|
||||
mkdir -p "$tmpdir/rpmdb"
|
||||
rpmkeys --dbpath="$tmpdir/rpmdb" --import "$key"
|
||||
{ rpmkeys --dbpath="$tmpdir/rpmdb" --checksig "$tmpdir/$latestrpm.untrusted" | grep -q 'signatures OK' ; } || { errecho "Failed to check signature"; exit 1; }
|
||||
mv "$tmpdir/$latestrpm.untrusted" "$tmpdir/$latestrpm"
|
||||
|
||||
# extract kernel sources in qubes-linux-kernel
|
||||
tar xf "$localdir/$kernelsrc.tar.xz" -C "$tmpdir"
|
||||
|
||||
# get latest config and put it in extracted sources
|
||||
rpm2cpio "$tmpdir/$latestrpm" | cpio --quiet -i --to-stdout "./lib/modules/$latestver/config" > "$tmpdir/$kernelsrc/.config"
|
||||
|
||||
# generate new config with: yes '' | make oldconfig
|
||||
cd "$tmpdir/$kernelsrc/"
|
||||
## drop config settings which depend on Fedora patches and adjust for the small version difference
|
||||
if [ "$debug" == "1" ]; then
|
||||
yes '' | make oldconfig
|
||||
else
|
||||
yes '' | make oldconfig > /dev/null 2>&1
|
||||
fi
|
||||
## remove comments in header
|
||||
sed -i '1,4d' "$tmpdir/$kernelsrc/.config"
|
||||
|
||||
# create final config
|
||||
cat - "$tmpdir/$kernelsrc/.config" > "$localdir/config-base-$(echo "$latestver" | cut -d '-' -f1)" << EOF
|
||||
# Base config based on Fedora's config ($latestrpm)
|
||||
# Only modification is \`yes '' | make oldconfig\` to drop config settings which
|
||||
# depend on Fedora patches and adjust for the small version difference.
|
||||
EOF
|
||||
rm -rf "$tmpdir"
|
||||
else
|
||||
errecho "Unable to find the latest kernel rpm for Fedora $releasever"; exit 1
|
||||
fi
|
45
kernel-devel.spec
Normal file
45
kernel-devel.spec
Normal file
@ -0,0 +1,45 @@
|
||||
|
||||
%if 0%{?qubes_builder}
|
||||
%define _sourcedir %(pwd)
|
||||
%endif
|
||||
|
||||
#%define _unpackaged_files_terminate_build 0
|
||||
%define variant pvops.qubes
|
||||
%define plainrel %(cat rel)
|
||||
%define rel %{plainrel}.%{variant}
|
||||
%define version %(cat version)
|
||||
|
||||
Name: kernel-devel
|
||||
Version: %{version}
|
||||
Release: %{rel}
|
||||
Epoch: 1000
|
||||
Summary: Development files necessary for building kernel modules
|
||||
|
||||
Group: Development/Sources
|
||||
License: GPL v2 only
|
||||
Url: http://www.kernel.org/
|
||||
|
||||
%description
|
||||
This package contains files necessary for building kernel modules (and
|
||||
kernel module packages) against the pvops flavor of the kernel.
|
||||
|
||||
%prep
|
||||
echo "Dummy spec, do not try to build, use kernel.spec instead"
|
||||
exit 1
|
||||
|
||||
|
||||
%build
|
||||
echo "Dummy spec, do not try to build, use kernel.spec instead"
|
||||
exit 1
|
||||
|
||||
%install
|
||||
echo "Dummy spec, do not try to build, use kernel.spec instead"
|
||||
exit 1
|
||||
|
||||
%files
|
||||
%doc
|
||||
|
||||
|
||||
|
||||
%changelog
|
||||
|
276
kernel-domU.spec
276
kernel-domU.spec
@ -1,276 +0,0 @@
|
||||
# A spec file for building xenlinux Dom0 kernel for Qubes
|
||||
# Based on the Open SUSE kernel-spec & Fedora kernel-spec.
|
||||
#
|
||||
|
||||
#%define _unpackaged_files_terminate_build 0
|
||||
%define variant domU.qubes
|
||||
%define rel %(cat rel).%{variant}
|
||||
|
||||
%define _buildshell /bin/bash
|
||||
%define build_flavor domU
|
||||
%define build_xen 1
|
||||
|
||||
%global cpu_arch x86_64
|
||||
%define cpu_arch_flavor %cpu_arch/%build_flavor
|
||||
|
||||
%define kernelrelease %version-%rel.%cpu_arch
|
||||
%define my_builddir %_builddir/%{name}-%{version}
|
||||
|
||||
%define build_src_dir %my_builddir/linux-%version
|
||||
%define src_install_dir /usr/src/kernels/%kernelrelease
|
||||
%define kernel_build_dir %my_builddir/linux-obj
|
||||
|
||||
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes})
|
||||
|
||||
%define install_vdso 1
|
||||
|
||||
Name: kernel
|
||||
Summary: The Xen Kernel
|
||||
Version: %{version}
|
||||
Release: %{rel}
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
AutoReqProv: on
|
||||
BuildRequires: coreutils module-init-tools sparse
|
||||
Provides: multiversion(kernel)
|
||||
Provides: %name = %version-%kernelrelease
|
||||
|
||||
Requires(pre): coreutils gawk
|
||||
Requires(post): dracut
|
||||
|
||||
Conflicts: sysfsutils < 2.0
|
||||
# root-lvm only works with newer udevs
|
||||
Conflicts: udev < 118
|
||||
Conflicts: lvm2 < 2.02.33
|
||||
Provides: kernel = %version-%kernelrelease
|
||||
|
||||
Source0: linux-%version.tar.bz2
|
||||
Source14: series.conf
|
||||
Source16: guards
|
||||
Source17: apply-patches
|
||||
Source33: check-for-config-changes
|
||||
Source60: config.sh
|
||||
Source100: config-%{build_flavor}
|
||||
Source102: patches.arch.tar.bz2
|
||||
Source103: patches.drivers.tar.bz2
|
||||
Source104: patches.fixes.tar.bz2
|
||||
Source105: patches.rpmify.tar.bz2
|
||||
Source106: patches.suse.tar.bz2
|
||||
Source107: patches.xen.tar.bz2
|
||||
Source108: patches.addon.tar.bz2
|
||||
Source109: patches.kernel.org.tar.bz2
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
%description
|
||||
Qubes Dom0 kernel.
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-%version.tar.bz2 ]; then
|
||||
echo "The %name-%version.nosrc.rpm package does not contain the" \
|
||||
"complete sources. Please install kernel-source-%version.src.rpm."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SYMBOLS=domU
|
||||
|
||||
# Unpack all sources and patches
|
||||
%setup -q -c -T -a 0 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109
|
||||
|
||||
mkdir -p %kernel_build_dir
|
||||
|
||||
cd linux-%version
|
||||
|
||||
%_sourcedir/apply-patches %_sourcedir/series.conf .. $SYMBOLS
|
||||
|
||||
cd %kernel_build_dir
|
||||
|
||||
cp %_sourcedir/config-%{build_flavor} .config
|
||||
|
||||
%build_src_dir/scripts/config \
|
||||
--set-str CONFIG_LOCALVERSION -%release.%cpu_arch \
|
||||
--disable CONFIG_DEBUG_INFO
|
||||
# --enable CONFIG_DEBUG_INFO
|
||||
# Enabling CONFIG_DEBUG_INFO produces *huge* packages!
|
||||
|
||||
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
|
||||
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
|
||||
yes '' | make oldconfig $MAKE_ARGS
|
||||
else
|
||||
cp .config .config.orig
|
||||
make silentoldconfig $MAKE_ARGS < /dev/null
|
||||
%_sourcedir/check-for-config-changes .config.orig .config
|
||||
rm .config.orig
|
||||
fi
|
||||
|
||||
make prepare $MAKE_ARGS
|
||||
make scripts $MAKE_ARGS
|
||||
krel=$(make -s kernelrelease $MAKE_ARGS)
|
||||
|
||||
if [ "$krel" != "%kernelrelease" ]; then
|
||||
echo "Kernel release mismatch: $krel != %kernelrelease" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
make clean $MAKE_ARGS
|
||||
|
||||
rm -f source
|
||||
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
|
||||
|
||||
%build
|
||||
cd %kernel_build_dir
|
||||
|
||||
# If the %jobs macro is defined to a number, make will spawn that many jobs.
|
||||
# There are several ways how to define it:
|
||||
# With plain rpmbuild:
|
||||
# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
|
||||
# To spawn as many jobs as there are cpu cores:
|
||||
# rpmbuild -ba --define "jobs 0$(grep -c ^processor /proc/cpuinfo)" \
|
||||
# kernel-$flavor.spec
|
||||
make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
|
||||
|
||||
|
||||
%install
|
||||
|
||||
# get rid of /usr/lib/rpm/brp-strip-debug
|
||||
# strip removes too much from the vmlinux ELF binary
|
||||
export NO_BRP_STRIP_DEBUG=true
|
||||
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
|
||||
|
||||
cd %kernel_build_dir
|
||||
|
||||
mkdir -p %buildroot/boot
|
||||
cp -p System.map %buildroot/boot/System.map-%kernelrelease
|
||||
cp -p arch/x86/boot/bzImage %buildroot/boot/vmlinuz-%kernelrelease
|
||||
cp .config %buildroot/boot/config-%kernelrelease
|
||||
|
||||
%if %install_vdso
|
||||
# Install the unstripped vdso's that are linked in the kernel image
|
||||
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
|
||||
%endif
|
||||
|
||||
# Create a dummy initramfs with roughly the size the real one will have.
|
||||
# That way, rpm will know that this package requires some additional
|
||||
# space in /boot.
|
||||
dd if=/dev/zero of=%buildroot/boot/initramfs-%kernelrelease.img \
|
||||
bs=1M count=20
|
||||
|
||||
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease.gz
|
||||
|
||||
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
|
||||
|
||||
mkdir -p %buildroot/%src_install_dir
|
||||
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/build
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/source
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/build
|
||||
(cd %buildroot/lib/modules/%kernelrelease ; ln -s build source)
|
||||
# dirs for additional modules per module-init-tools, kbuild/modules.txt
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/extra
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/updates
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/weak-updates
|
||||
|
||||
pushd %build_src_dir
|
||||
cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` %buildroot/lib/modules/%kernelrelease/build
|
||||
cp -a scripts %buildroot/lib/modules/%kernelrelease/build
|
||||
cp -a --parents arch/x86/include/asm %buildroot/lib/modules/%kernelrelease/build/
|
||||
cp -a include %buildroot/lib/modules/%kernelrelease/build/include
|
||||
popd
|
||||
|
||||
cp Module.symvers %buildroot/lib/modules/%kernelrelease/build
|
||||
cp System.map %buildroot/lib/modules/%kernelrelease/build
|
||||
if [ -s Module.markers ]; then
|
||||
cp Module.markers %buildroot/lib/modules/%kernelrelease/build
|
||||
fi
|
||||
|
||||
rm -rf %buildroot/lib/modules/%kernelrelease/build/Documentation
|
||||
cp .config %buildroot/lib/modules/%kernelrelease/build
|
||||
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/build/scripts/*.o
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/build/scripts/*/*.o
|
||||
|
||||
cp -a scripts/* %buildroot/lib/modules/%kernelrelease/build/scripts/
|
||||
cp -a include/* %buildroot/lib/modules/%kernelrelease/build/include
|
||||
|
||||
# Make sure the Makefile and version.h have a matching timestamp so that
|
||||
# external modules can be built
|
||||
touch -r %buildroot/lib/modules/%kernelrelease/build/Makefile %buildroot/lib/modules/%kernelrelease/build/include/linux/version.h
|
||||
touch -r %buildroot/lib/modules/%kernelrelease/build/.config %buildroot/lib/modules/%kernelrelease/build/include/linux/autoconf.h
|
||||
# Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
|
||||
cp %buildroot/lib/modules/%kernelrelease/build/.config %buildroot/lib/modules/%kernelrelease/build/include/config/auto.conf
|
||||
|
||||
if test -s vmlinux.id; then
|
||||
cp vmlinux.id %buildroot/lib/modules/%kernelrelease/build/vmlinux.id
|
||||
else
|
||||
echo >&2 "*** WARNING *** no vmlinux build ID! ***"
|
||||
fi
|
||||
|
||||
#
|
||||
# save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
|
||||
#
|
||||
mkdir -p %buildroot%{debuginfodir}/lib/modules/%kernelrelease
|
||||
cp vmlinux %buildroot%{debuginfodir}/lib/modules/%kernelrelease
|
||||
|
||||
find %buildroot/lib/modules/%kernelrelease -name "*.ko" -type f >modnames
|
||||
|
||||
# Move the devel headers out of the root file system
|
||||
mkdir -p %buildroot/usr/src/kernels
|
||||
mv %buildroot/lib/modules/%kernelrelease/build/* %buildroot/%src_install_dir
|
||||
ln -sf $src_install_dir %buildroot/lib/modules/%kernelrelease/build
|
||||
|
||||
|
||||
# Abort if there are any undefined symbols
|
||||
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease \
|
||||
-b %buildroot -ae %kernelrelease 2>&1)"
|
||||
|
||||
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
%post
|
||||
|
||||
depmod -a %{kernelrelease}
|
||||
dracut /boot/initramfs-%{kernelrelease} %{kernelrelease}
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%ghost /boot/initramfs-%{kernelrelease}.img
|
||||
/boot/System.map-%{kernelrelease}
|
||||
/boot/config-%{kernelrelease}
|
||||
/boot/symvers-%kernelrelease.gz
|
||||
%attr(0644, root, root) /boot/vmlinuz-%{kernelrelease}
|
||||
/lib/firmware/%{kernelrelease}
|
||||
/lib/modules/%{kernelrelease}
|
||||
|
||||
%package devel
|
||||
Summary: Development files necessary for building kernel modules
|
||||
License: GPL v2 only
|
||||
Group: Development/Sources
|
||||
Provides: multiversion(kernel)
|
||||
Provides: %name-devel = %version-%kernelrelease
|
||||
AutoReqProv: on
|
||||
|
||||
%description devel
|
||||
This package contains files necessary for building kernel modules (and
|
||||
kernel module packages) against the %build_flavor flavor of the kernel.
|
||||
|
||||
%post devel
|
||||
if [ -f /etc/sysconfig/kernel ]
|
||||
then
|
||||
. /etc/sysconfig/kernel || exit $?
|
||||
fi
|
||||
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]
|
||||
then
|
||||
(cd /usr/src/kernels/%{kernelrelease} &&
|
||||
/usr/bin/find . -type f | while read f; do
|
||||
hardlink -c /usr/src/kernels/*.fc*.*/$f $f
|
||||
done)
|
||||
fi
|
||||
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
/usr/src/kernels/%{kernelrelease}
|
||||
|
||||
%changelog
|
@ -1,297 +0,0 @@
|
||||
# A spec file for building xenlinux Dom0 kernel for Qubes
|
||||
# Based on the Open SUSE kernel-spec & Fedora kernel-spec.
|
||||
#
|
||||
|
||||
#%define _unpackaged_files_terminate_build 0
|
||||
%define variant xenlinux.qubes
|
||||
%define rel %(cat rel).%{variant}
|
||||
|
||||
%define _buildshell /bin/bash
|
||||
%define build_flavor xenlinux
|
||||
%define build_xen 1
|
||||
|
||||
%global cpu_arch x86_64
|
||||
%define cpu_arch_flavor %cpu_arch/%build_flavor
|
||||
|
||||
%define kernelrelease %version-%rel.%cpu_arch
|
||||
%define my_builddir %_builddir/%{name}-%{version}
|
||||
|
||||
%define build_src_dir %my_builddir/linux-%version
|
||||
%define src_install_dir /usr/src/kernels/%kernelrelease
|
||||
%define kernel_build_dir %my_builddir/linux-obj
|
||||
|
||||
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes})
|
||||
|
||||
%define install_vdso 1
|
||||
|
||||
Name: kernel
|
||||
Summary: The Xen Kernel
|
||||
Version: %{version}
|
||||
Release: %{rel}
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
AutoReqProv: on
|
||||
BuildRequires: coreutils module-init-tools sparse
|
||||
Provides: multiversion(kernel)
|
||||
Provides: %name = %version-%kernelrelease
|
||||
|
||||
Provides: kernel-xen-dom0
|
||||
Provides: kernel-qubes-dom0
|
||||
Provides: kernel-drm-nouveau = 16
|
||||
|
||||
Requires: xen >= 3.4.3
|
||||
Requires(post): /sbin/new-kernel-pkg
|
||||
Requires(preun):/sbin/new-kernel-pkg
|
||||
|
||||
Requires(pre): coreutils gawk
|
||||
Requires(post): dracut
|
||||
|
||||
Conflicts: sysfsutils < 2.0
|
||||
# root-lvm only works with newer udevs
|
||||
Conflicts: udev < 118
|
||||
Conflicts: lvm2 < 2.02.33
|
||||
Provides: kernel = %version-%kernelrelease
|
||||
|
||||
Source0: linux-%version.tar.bz2
|
||||
Source14: series.conf
|
||||
Source16: guards
|
||||
Source17: apply-patches
|
||||
Source33: check-for-config-changes
|
||||
Source60: config.sh
|
||||
Source100: config-%{build_flavor}
|
||||
Source102: patches.arch.tar.bz2
|
||||
Source103: patches.drivers.tar.bz2
|
||||
Source104: patches.fixes.tar.bz2
|
||||
Source105: patches.rpmify.tar.bz2
|
||||
Source106: patches.suse.tar.bz2
|
||||
Source107: patches.xen.tar.bz2
|
||||
Source108: patches.addon.tar.bz2
|
||||
Source109: patches.kernel.org.tar.bz2
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
%description
|
||||
Qubes Dom0 kernel.
|
||||
|
||||
%prep
|
||||
if ! [ -e %_sourcedir/linux-%version.tar.bz2 ]; then
|
||||
echo "The %name-%version.nosrc.rpm package does not contain the" \
|
||||
"complete sources. Please install kernel-source-%version.src.rpm."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SYMBOLS="xen-dom0 xenlinux"
|
||||
|
||||
# Unpack all sources and patches
|
||||
%setup -q -c -T -a 0 -a 102 -a 103 -a 104 -a 105 -a 106 -a 107 -a 108 -a 109
|
||||
|
||||
mkdir -p %kernel_build_dir
|
||||
|
||||
cd linux-%version
|
||||
|
||||
%_sourcedir/apply-patches %_sourcedir/series.conf .. $SYMBOLS
|
||||
|
||||
cd %kernel_build_dir
|
||||
|
||||
cp %_sourcedir/config-%{build_flavor} .config
|
||||
|
||||
%build_src_dir/scripts/config \
|
||||
--set-str CONFIG_LOCALVERSION -%release.%cpu_arch \
|
||||
--disable CONFIG_DEBUG_INFO
|
||||
# --enable CONFIG_DEBUG_INFO
|
||||
# Enabling CONFIG_DEBUG_INFO produces *huge* packages!
|
||||
|
||||
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD"
|
||||
if test -e %_sourcedir/TOLERATE-UNKNOWN-NEW-CONFIG-OPTIONS; then
|
||||
yes '' | make oldconfig $MAKE_ARGS
|
||||
else
|
||||
cp .config .config.orig
|
||||
make silentoldconfig $MAKE_ARGS < /dev/null
|
||||
%_sourcedir/check-for-config-changes .config.orig .config
|
||||
rm .config.orig
|
||||
fi
|
||||
|
||||
make prepare $MAKE_ARGS
|
||||
make scripts $MAKE_ARGS
|
||||
krel=$(make -s kernelrelease $MAKE_ARGS)
|
||||
|
||||
if [ "$krel" != "%kernelrelease" ]; then
|
||||
echo "Kernel release mismatch: $krel != %kernelrelease" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
make clean $MAKE_ARGS
|
||||
|
||||
rm -f source
|
||||
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
|
||||
|
||||
%build
|
||||
cd %kernel_build_dir
|
||||
|
||||
# If the %jobs macro is defined to a number, make will spawn that many jobs.
|
||||
# There are several ways how to define it:
|
||||
# With plain rpmbuild:
|
||||
# rpmbuild -ba --define 'jobs N' kernel-$flavor.spec
|
||||
# To spawn as many jobs as there are cpu cores:
|
||||
# rpmbuild -ba --define "jobs 0$(grep -c ^processor /proc/cpuinfo)" \
|
||||
# kernel-$flavor.spec
|
||||
make %{?jobs:-j%jobs} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
|
||||
|
||||
|
||||
%install
|
||||
|
||||
# get rid of /usr/lib/rpm/brp-strip-debug
|
||||
# strip removes too much from the vmlinux ELF binary
|
||||
export NO_BRP_STRIP_DEBUG=true
|
||||
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
|
||||
|
||||
cd %kernel_build_dir
|
||||
|
||||
mkdir -p %buildroot/boot
|
||||
cp -p System.map %buildroot/boot/System.map-%kernelrelease
|
||||
cp -p arch/x86/boot/vmlinuz %buildroot/boot/vmlinuz-%kernelrelease
|
||||
cp .config %buildroot/boot/config-%kernelrelease
|
||||
|
||||
%if %install_vdso
|
||||
# Install the unstripped vdso's that are linked in the kernel image
|
||||
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
|
||||
%endif
|
||||
|
||||
# Create a dummy initramfs with roughly the size the real one will have.
|
||||
# That way, rpm will know that this package requires some additional
|
||||
# space in /boot.
|
||||
dd if=/dev/zero of=%buildroot/boot/initramfs-%kernelrelease.img \
|
||||
bs=1M count=20
|
||||
|
||||
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease.gz
|
||||
|
||||
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
|
||||
|
||||
mkdir -p %buildroot/%src_install_dir
|
||||
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/build
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/source
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/build
|
||||
(cd %buildroot/lib/modules/%kernelrelease ; ln -s build source)
|
||||
# dirs for additional modules per module-init-tools, kbuild/modules.txt
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/extra
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/updates
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/weak-updates
|
||||
|
||||
pushd %build_src_dir
|
||||
cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` %buildroot/lib/modules/%kernelrelease/build
|
||||
cp -a scripts %buildroot/lib/modules/%kernelrelease/build
|
||||
cp -a --parents arch/x86/include/asm %buildroot/lib/modules/%kernelrelease/build/
|
||||
cp -a include %buildroot/lib/modules/%kernelrelease/build/include
|
||||
popd
|
||||
|
||||
cp Module.symvers %buildroot/lib/modules/%kernelrelease/build
|
||||
cp System.map %buildroot/lib/modules/%kernelrelease/build
|
||||
if [ -s Module.markers ]; then
|
||||
cp Module.markers %buildroot/lib/modules/%kernelrelease/build
|
||||
fi
|
||||
|
||||
rm -rf %buildroot/lib/modules/%kernelrelease/build/Documentation
|
||||
cp .config %buildroot/lib/modules/%kernelrelease/build
|
||||
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/build/scripts/*.o
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/build/scripts/*/*.o
|
||||
|
||||
cp -a scripts/* %buildroot/lib/modules/%kernelrelease/build/scripts/
|
||||
cp -a include/* %buildroot/lib/modules/%kernelrelease/build/include
|
||||
|
||||
# Make sure the Makefile and version.h have a matching timestamp so that
|
||||
# external modules can be built
|
||||
touch -r %buildroot/lib/modules/%kernelrelease/build/Makefile %buildroot/lib/modules/%kernelrelease/build/include/linux/version.h
|
||||
touch -r %buildroot/lib/modules/%kernelrelease/build/.config %buildroot/lib/modules/%kernelrelease/build/include/linux/autoconf.h
|
||||
# Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
|
||||
cp %buildroot/lib/modules/%kernelrelease/build/.config %buildroot/lib/modules/%kernelrelease/build/include/config/auto.conf
|
||||
|
||||
if test -s vmlinux.id; then
|
||||
cp vmlinux.id %buildroot/lib/modules/%kernelrelease/build/vmlinux.id
|
||||
else
|
||||
echo >&2 "*** WARNING *** no vmlinux build ID! ***"
|
||||
fi
|
||||
|
||||
#
|
||||
# save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
|
||||
#
|
||||
mkdir -p %buildroot%{debuginfodir}/lib/modules/%kernelrelease
|
||||
cp vmlinux %buildroot%{debuginfodir}/lib/modules/%kernelrelease
|
||||
|
||||
find %buildroot/lib/modules/%kernelrelease -name "*.ko" -type f >modnames
|
||||
|
||||
# Move the devel headers out of the root file system
|
||||
mkdir -p %buildroot/usr/src/kernels
|
||||
mv %buildroot/lib/modules/%kernelrelease/build/* %buildroot/%src_install_dir
|
||||
ln -sf $src_install_dir %buildroot/lib/modules/%kernelrelease/build
|
||||
|
||||
|
||||
# Abort if there are any undefined symbols
|
||||
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease \
|
||||
-b %buildroot -ae %kernelrelease 2>&1)"
|
||||
|
||||
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
%post
|
||||
/sbin/new-kernel-pkg --package %{name}-%{kernelrelease}\
|
||||
--mkinitrd --depmod --dracut\
|
||||
--kernel-args="max_loop=255"\
|
||||
--multiboot=/boot/xen.gz --banner="Qubes"\
|
||||
--make-default --install %{kernelrelease}
|
||||
|
||||
if [ -e /boot/grub/grub.conf ]; then
|
||||
# Make it possible to enter GRUB menu if something goes wrong...
|
||||
sed -i "s/^timeout *=.*/timeout=3/" /boot/grub/grub.conf
|
||||
fi
|
||||
|
||||
%posttrans
|
||||
/sbin/new-kernel-pkg --package %{name}-%{kernelrelease} --rpmposttrans %{kernelrelease}
|
||||
|
||||
%preun
|
||||
/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{kernelrelease}
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%ghost /boot/initramfs-%{kernelrelease}.img
|
||||
/boot/System.map-%{kernelrelease}
|
||||
/boot/config-%{kernelrelease}
|
||||
/boot/symvers-%kernelrelease.gz
|
||||
%attr(0644, root, root) /boot/vmlinuz-%{kernelrelease}
|
||||
/lib/firmware/%{kernelrelease}
|
||||
/lib/modules/%{kernelrelease}
|
||||
|
||||
%package devel
|
||||
Summary: Development files necessary for building kernel modules
|
||||
License: GPL v2 only
|
||||
Group: Development/Sources
|
||||
Provides: multiversion(kernel)
|
||||
Provides: %name-devel = %version-%kernelrelease
|
||||
AutoReqProv: on
|
||||
|
||||
%description devel
|
||||
This package contains files necessary for building kernel modules (and
|
||||
kernel module packages) against the %build_flavor flavor of the kernel.
|
||||
|
||||
%post devel
|
||||
if [ -f /etc/sysconfig/kernel ]
|
||||
then
|
||||
. /etc/sysconfig/kernel || exit $?
|
||||
fi
|
||||
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]
|
||||
then
|
||||
(cd /usr/src/kernels/%{kernelrelease} &&
|
||||
/usr/bin/find . -type f | while read f; do
|
||||
hardlink -c /usr/src/kernels/*.fc*.*/$f $f
|
||||
done)
|
||||
fi
|
||||
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
/usr/src/kernels/%{kernelrelease}
|
||||
|
||||
%changelog
|
37
kernel.org-1-key.asc
Normal file
37
kernel.org-1-key.asc
Normal file
@ -0,0 +1,37 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQENBE55CJIBCACkn+aOLmsaq1ejUcXCAOXkO3w7eiLqjR/ziTL2KZ30p7bxP8cT
|
||||
UXvfM7fwE7EnqCCkji25x2xsoKXB8AlUswIEYUFCOupj2BOsVmJ/rKZW7fCvKTOK
|
||||
+BguKjebDxNbgmif39bfSnHDWrW832f5HrYmZn7a/VySDQFdul8Gl/R6gs6PHJbg
|
||||
jjt+K7Px6cQVMVNvY/VBWdvA1zckO/4h6gf3kWWZN+Wlq8wv/pxft8QzNFgweH9o
|
||||
5bj4tnQ+wMCLCLiDsgEuVawoOAkg3dRMugIUoiKoBKw7b21q9Vjp4jezRvciC6Ys
|
||||
4kGUSFG1ZjIn3MpY3f3xZ3yuYwrxQ8JcA7KTABEBAAG0JExpbnVzIFRvcnZhbGRz
|
||||
IDx0b3J2YWxkc0BrZXJuZWwub3JnPokBTgQTAQgAOBYhBKuvEcZaKXCxMKvjxHm+
|
||||
PkMAQRiGBQJaHxkTAhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEHm+PkMA
|
||||
QRiGzMcH/ieyxrsHR0ng3pi+qy1/sLiTT4WEBN53+1FsGWdP6/DCD3sprFdWDkkB
|
||||
Dfh9vPCVzPqX7siZMJxw3+wOfjNnGBRiGj7mTE/1XeXJHDwFRyBEVa/bY8ExLKbv
|
||||
Bf+xpiWOg2Myj5RYaOUBFbOEtfTPob0FtvfZvK3PXkjODTHhDH7QJT2zNPivHG+E
|
||||
R5VyF1yJEpl10rDTM91NhEeV0n4wpfZkgL8a3JSzo9H2AJX3y35+Dk9wtNge440Z
|
||||
SVWAnjwxhBLX2R0LUszRhU925c0vP2l20eFncBmAT0NKpn7v9a670WHv45PluG+S
|
||||
KKktf6b5/BtfqpC3eV58I6FEtSVpM1u0LkxpbnVzIFRvcnZhbGRzIDx0b3J2YWxk
|
||||
c0BsaW51eC1mb3VuZGF0aW9uLm9yZz6JATgEEwECACIFAk55CJICGwMGCwkIBwMC
|
||||
BhUIAgkKCwQWAgMBAh4BAheAAAoJEHm+PkMAQRiGbpwH/2jMNyBq6SjFrltEwt6c
|
||||
wOJak1lkjpP5IfFMemfKPH03jBv98Yb7nnVE/VofRQi0erPvzU9HPitzmq9Hdaz8
|
||||
pTVD1nNiejn6MBHREY5T10U8J9Holn9S1G3CUvEUaBg+YEhHwWA8hhxFCIRcfz6N
|
||||
PRkZH5zi9xdXBnjLrE3CpoZwVguwCT/25DuSqqJnviKiH+BOvJi/BnHSnjV1J71M
|
||||
OpVabaTZKxQ1Qkwiyo7KRa/MrBV4Cw87MjF1jmja91wWNOuAwv1ST+aSaI038zcl
|
||||
VqbFrc9gHkTeP3o5p8DG3Q7A1pE/yVLRUW+3jucKtiojylWaqxX7FD0RZtIuhNsU
|
||||
ig+5AQ0ETnkIkgEIAN+ybgD0IlgKRPJ3eksafd+KORseBWwxUy3GH0yAg/4jZCsf
|
||||
HZ7jpbRKzxNTKW1kE6ClSqehUsuXT5Vc1eh6079erN3y+JNxl6zZPC9v+5GNyc28
|
||||
qSfNejt4wmwa/y86T7oQfgo77o8Gu/aO/xzOjw7jSDDR3u9p/hFVtsqzptxZzvs3
|
||||
hVaiLS+0mar9qYZheaCUqOXOKVo38Vg5gkOhMEwKvZs9x3fINU/t8ckxOHq6KiLa
|
||||
p5Bq87XP0ZJsCaMBwdLYhOFxAiEVtlzwyo3DvMplIahqqNELb71YDhpMq/Hu+42o
|
||||
R3pqASCPLfO/0GUSdAGXJVhv7L7ng02ETSBmVOUAEQEAAYkBHwQYAQIACQUCTnkI
|
||||
kgIbDAAKCRB5vj5DAEEYhuobB/9Fi1GVG5qnPq14S0WKYEW3N891L37LaXmDh977
|
||||
r/j2dyZOoYIiV4rx6a6urhq9UbcgNw/ke01TNM4y7EhW/lFnxJQXSMjdsXGcb9Hw
|
||||
UevDk2FMV1h9gkHLlqRUlTpjVdQwTB9wMd4bWhZsxybTnGh6o8dCwBEaGNsHsSBY
|
||||
O81OXrTE/fcZEgKCeKW2xdKRiazu6Mu5WLU6gBy2nOc6oL2zKJZjACfllQzBx5+6
|
||||
z2N4Sj0JBOobz4RR2JLElMEckMbdqbIS+c+n02ItMmCORgakf74k+TEbaZx3ZTVH
|
||||
nhvqQqanZz1i4I5IwHJxkUsYLddgYrylZH+MwNDlB5u3I138
|
||||
=d8eq
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
863
kernel.org-2-key.asc
Normal file
863
kernel.org-2-key.asc
Normal file
@ -0,0 +1,863 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v1.4.12 (GNU/Linux)
|
||||
|
||||
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
|
||||
kBETLNKF3RynOcOebKM4gpZU
|
||||
=wjnZ
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
@ -1,817 +0,0 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
Version: GnuPG v2.0.14 (GNU/Linux)
|
||||
|
||||
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
|
||||
=wkDV
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
679
kernel.spec.in
Normal file
679
kernel.spec.in
Normal file
@ -0,0 +1,679 @@
|
||||
# A spec file for building xenlinux Dom0 kernel for Qubes
|
||||
# Based on the Open SUSE kernel-spec & Fedora kernel-spec.
|
||||
#
|
||||
|
||||
%define variant qubes
|
||||
%define plainrel @REL@
|
||||
%define rel %{plainrel}.%{variant}
|
||||
%define version %(echo '@VERSION@' | sed 's/~rc.*/.0/')
|
||||
%define upstream_version %(echo '@VERSION@' | sed 's/~rc/-rc/')
|
||||
%if "%{version}" != "%{upstream_version}"
|
||||
%define prerelease 1
|
||||
%define rel 0.%(echo '@VERSION@' | sed 's/.*~rc/rc/').%{plainrel}.%{variant}
|
||||
%else
|
||||
%define prerelease 0
|
||||
%define rel %{plainrel}.%{variant}
|
||||
%endif
|
||||
|
||||
%define name_suffix -latest
|
||||
|
||||
%define _buildshell /bin/bash
|
||||
%define build_xen 1
|
||||
|
||||
%global cpu_arch x86_64
|
||||
%define cpu_arch_flavor %cpu_arch
|
||||
|
||||
%define kernelrelease %(echo %{upstream_version} | sed 's/^[0-9]\\.[0-9]\\+$/\\0.0/;s/-rc.*/.0/')-%rel.%cpu_arch
|
||||
%define my_builddir %_builddir/%{name}-%{version}
|
||||
|
||||
%define build_src_dir %my_builddir/linux-%upstream_version
|
||||
%define src_install_dir /usr/src/kernels/%kernelrelease
|
||||
%define kernel_build_dir %my_builddir/linux-obj
|
||||
%define vm_install_dir /var/lib/qubes/vm-kernels/%upstream_version-%{plainrel}
|
||||
|
||||
%define install_vdso 1
|
||||
%define debuginfodir /usr/lib/debug
|
||||
|
||||
# debuginfo build is disabled by default to save disk space (it needs 2-3GB build time)
|
||||
%define with_debuginfo 0
|
||||
|
||||
# Sign all modules
|
||||
%global signmodules 1
|
||||
|
||||
%if !%{with_debuginfo}
|
||||
%global debug_package %{nil}
|
||||
%define setup_config --disable CONFIG_DEBUG_INFO
|
||||
%else
|
||||
%define setup_config --enable CONFIG_DEBUG_INFO --disable CONFIG_DEBUG_INFO_REDUCED
|
||||
%endif
|
||||
|
||||
Name: kernel%{?name_suffix}
|
||||
Summary: The Xen Kernel
|
||||
Version: %{version}
|
||||
Epoch: 1000
|
||||
Release: %{rel}
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
AutoReqProv: on
|
||||
BuildRequires: coreutils module-init-tools sparse
|
||||
BuildRequires: qubes-kernel-vm-support
|
||||
BuildRequires: dracut
|
||||
BuildRequires: busybox
|
||||
BuildRequires: bc
|
||||
BuildRequires: openssl
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: python3-devel
|
||||
BuildRequires: gcc-plugin-devel
|
||||
BuildRequires: elfutils-libelf-devel
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
BuildRequires: e2fsprogs
|
||||
|
||||
# gcc with support for BTI mitigation
|
||||
%if 0%{?fedora} == 23
|
||||
BuildRequires: gcc >= 5.3.1-6.qubes1
|
||||
%else
|
||||
%if 0%{?fedora} == 25
|
||||
BuildRequires: gcc >= 6.4.1-1.qubes1
|
||||
%else
|
||||
BuildRequires: gcc
|
||||
%endif
|
||||
%endif
|
||||
|
||||
# Needed for building GCC hardened plugins
|
||||
BuildRequires: gcc-c++
|
||||
|
||||
Provides: multiversion(kernel)
|
||||
Provides: %name = %kernelrelease
|
||||
|
||||
Provides: kernel-xen-dom0
|
||||
Provides: kernel-qubes-dom0
|
||||
Provides: kernel-qubes-dom0-pvops
|
||||
Provides: kernel-drm = 4.3.0
|
||||
Provides: kernel-drm-nouveau = 16
|
||||
Provides: kernel-modules-extra = %kernelrelease
|
||||
Provides: kernel-modeset = 1
|
||||
|
||||
Requires(pre): coreutils gawk
|
||||
Requires(post): dracut binutils
|
||||
Requires: qubes-core-dom0-linux-kernel-install
|
||||
|
||||
Conflicts: sysfsutils < 2.0
|
||||
# root-lvm only works with newer udevs
|
||||
Conflicts: udev < 118
|
||||
Conflicts: lvm2 < 2.02.33
|
||||
Provides: kernel = %kernelrelease
|
||||
Provides: kernel-uname-r = %kernelrelease
|
||||
|
||||
ExclusiveArch: x86_64
|
||||
|
||||
%if !%{prerelease}
|
||||
Source0: linux-%{upstream_version}.tar.xz
|
||||
%else
|
||||
Source0: linux-%{upstream_version}.tar.gz
|
||||
%endif
|
||||
Source5: wireguard-linux-compat-0.0.20200121.tar.xz
|
||||
Source6: macbook12-spi-driver-ddfbc7733542b8474a0e8f593aba91e06542be4f.tar.gz
|
||||
Source16: guards
|
||||
Source17: apply-patches
|
||||
Source18: mod-sign.sh
|
||||
Source33: check-for-config-changes
|
||||
Source34: gen-config
|
||||
Source100: config-base
|
||||
Source101: config-qubes
|
||||
%define modsign_cmd %{SOURCE18}
|
||||
|
||||
Patch0: 0001-xen-netfront-detach-crash.patch
|
||||
Patch1: 0002-mce-hide-EBUSY-initialization-error-on-Xen.patch
|
||||
Patch2: 0003-Log-error-code-of-EVTCHNOP_bind_pirq-failure.patch
|
||||
Patch3: 0004-pvops-respect-removable-xenstore-flag-for-block-devi.patch
|
||||
Patch4: 0005-pvops-xen-blkfront-handle-FDEJECT-as-detach-request-.patch
|
||||
Patch5: 0006-block-add-no_part_scan-module-parameter.patch
|
||||
Patch6: 0007-xen-Add-RING_COPY_RESPONSE.patch
|
||||
Patch7: 0008-xen-netfront-copy-response-out-of-shared-buffer-befo.patch
|
||||
Patch8: 0009-xen-netfront-do-not-use-data-already-exposed-to-back.patch
|
||||
Patch9: 0010-xen-netfront-add-range-check-for-Tx-response-id.patch
|
||||
Patch10: 0011-xen-blkfront-make-local-copy-of-response-before-usin.patch
|
||||
Patch11: 0012-xen-blkfront-prepare-request-locally-only-then-put-i.patch
|
||||
Patch12: 0013-xen-pcifront-pciback-Update-pciif.h-with-err-and-res.patch
|
||||
Patch13: 0014-xen-pciback-add-attribute-to-allow-MSI-enable-flag-w.patch
|
||||
|
||||
%description
|
||||
Qubes Dom0 kernel.
|
||||
|
||||
%prep
|
||||
SYMBOLS="xen-dom0 pvops"
|
||||
|
||||
# Unpack all sources and patches
|
||||
%autosetup -N -c -T -a 0
|
||||
|
||||
export LINUX_UPSTREAM_VERSION=%{upstream_version}
|
||||
|
||||
mkdir -p %kernel_build_dir
|
||||
|
||||
cd linux-%upstream_version
|
||||
%autopatch -p1
|
||||
|
||||
# drop EXTRAVERSION - possible -rc suffix already included in %release
|
||||
sed -i -e 's/^EXTRAVERSION = -rc.*/EXTRAVERSION =/' Makefile
|
||||
|
||||
%if 0%{?fedora} >= 31
|
||||
# Mangle /usr/bin/python shebangs to /usr/bin/python3
|
||||
# Mangle all Python shebangs to be Python 3 explicitly
|
||||
# -p preserves timestamps
|
||||
# -n prevents creating ~backup files
|
||||
# -i specifies the interpreter for the shebang
|
||||
# This fixes errors such as
|
||||
# *** ERROR: ambiguous python shebang in /usr/bin/kvm_stat: #!/usr/bin/python. Change it to python3 (or python2) explicitly.
|
||||
# We patch all sources below for which we got a report/error.
|
||||
pathfix.py -i "%{__python3} %{py3_shbang_opts}" -p -n \
|
||||
tools/kvm/kvm_stat/kvm_stat \
|
||||
scripts/show_delta \
|
||||
scripts/diffconfig \
|
||||
scripts/bloat-o-meter \
|
||||
tools/perf/tests/attr.py \
|
||||
tools/perf/scripts/python/stat-cpi.py \
|
||||
tools/perf/scripts/python/sched-migration.py \
|
||||
Documentation \
|
||||
scripts/gen_compile_commands.py
|
||||
%endif
|
||||
|
||||
cd %kernel_build_dir
|
||||
|
||||
# Create QubesOS config kernel
|
||||
%{SOURCE34} %{SOURCE100} %{SOURCE101}
|
||||
|
||||
%build_src_dir/scripts/config \
|
||||
--set-str CONFIG_LOCALVERSION -%release.%cpu_arch %{setup_config}
|
||||
|
||||
MAKE_ARGS="$MAKE_ARGS -C %build_src_dir O=$PWD KERNELRELEASE=%{kernelrelease}"
|
||||
|
||||
make prepare $MAKE_ARGS
|
||||
make scripts $MAKE_ARGS
|
||||
make scripts_basic $MAKE_ARGS
|
||||
krel=$(make -s kernelrelease $MAKE_ARGS)
|
||||
|
||||
if [ "$krel" != "%kernelrelease" ]; then
|
||||
echo "Kernel release mismatch: $krel != %kernelrelease" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
make clean $MAKE_ARGS
|
||||
|
||||
rm -f source
|
||||
find . ! -type d -printf '%%P\n' > %my_builddir/obj-files
|
||||
rm -rf %_builddir/u2mfn
|
||||
u2mfn_ver=`dkms status u2mfn|tail -n 1|cut -f 2 -d ' '|tr -d ':,:'`
|
||||
if [ -n "$u2mfn_ver" ]; then
|
||||
cp -r /usr/src/u2mfn-$u2mfn_ver %_builddir/u2mfn
|
||||
fi
|
||||
|
||||
rm -rf %_builddir/wireguard
|
||||
tar x -C %_builddir -Jpf %{SOURCE5}
|
||||
mv %_builddir/$(basename %{SOURCE5} .tar.xz) %_builddir/wireguard
|
||||
|
||||
rm -rf %_builddir/macbook12-spi-driver
|
||||
tar -x -C %_builddir -zf %{SOURCE6}
|
||||
mv %_builddir/$(basename %{SOURCE6} .tar.gz) %_builddir/macbook12-spi-driver
|
||||
|
||||
%build
|
||||
|
||||
cd %kernel_build_dir
|
||||
|
||||
make %{?_smp_mflags} all $MAKE_ARGS CONFIG_DEBUG_SECTION_MISMATCH=y
|
||||
|
||||
# Build u2mfn module
|
||||
if [ -d "%_builddir/u2mfn" ]; then
|
||||
make -C %kernel_build_dir M=%_builddir/u2mfn modules
|
||||
fi
|
||||
|
||||
if [ -d "%_builddir/wireguard" ]; then
|
||||
make -C %kernel_build_dir M=%_builddir/wireguard/src modules
|
||||
fi
|
||||
|
||||
# Build applespi, apple-ibridge, apple-ib-tb, apple-ib-als modules
|
||||
if [ -d "%_builddir/macbook12-spi-driver" ]; then
|
||||
make -C %kernel_build_dir M=%_builddir/macbook12-spi-driver modules
|
||||
fi
|
||||
|
||||
%define __modsign_install_post \
|
||||
if [ "%{signmodules}" -eq "1" ]; then \
|
||||
%{modsign_cmd} certs/signing_key.pem certs/signing_key.x509 $RPM_BUILD_ROOT/lib/modules/%kernelrelease/ \
|
||||
fi \
|
||||
%{nil}
|
||||
|
||||
#
|
||||
# Disgusting hack alert! We need to ensure we sign modules *after* all
|
||||
# invocations of strip occur, which is in __debug_install_post if
|
||||
# find-debuginfo.sh runs, and __os_install_post if not.
|
||||
#
|
||||
|
||||
%define __spec_install_post \
|
||||
%{?__debug_package:%{__debug_install_post}}\
|
||||
%{__arch_install_post}\
|
||||
%{__os_install_post}\
|
||||
%{?__remove_unwanted_dbginfo_install_post}\
|
||||
%{__modsign_install_post}
|
||||
|
||||
|
||||
%install
|
||||
|
||||
# get rid of /usr/lib/rpm/brp-strip-debug
|
||||
# strip removes too much from the vmlinux ELF binary
|
||||
export NO_BRP_STRIP_DEBUG=true
|
||||
export STRIP_KEEP_SYMTAB='*/vmlinux-*'
|
||||
|
||||
# /lib/modules/%kernelrelease-%build_flavor/build will be a stale symlink until the
|
||||
# kernel-devel package is installed. Don't check for stale symlinks
|
||||
# in the brp-symlink check:
|
||||
export NO_BRP_STALE_LINK_ERROR=yes
|
||||
|
||||
cd %kernel_build_dir
|
||||
|
||||
mkdir -p %buildroot/boot
|
||||
cp -p System.map %buildroot/boot/System.map-%kernelrelease
|
||||
cp -p arch/x86/boot/bzImage %buildroot/boot/vmlinuz-%kernelrelease
|
||||
cp .config %buildroot/boot/config-%kernelrelease
|
||||
|
||||
%if %install_vdso
|
||||
# Install the unstripped vdso's that are linked in the kernel image
|
||||
make vdso_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
|
||||
%endif
|
||||
|
||||
# Create a dummy initramfs with roughly the size the real one will have.
|
||||
# That way, rpm will know that this package requires some additional
|
||||
# space in /boot.
|
||||
dd if=/dev/zero of=%buildroot/boot/initramfs-%kernelrelease.img \
|
||||
bs=1M count=20
|
||||
|
||||
gzip -c9 < Module.symvers > %buildroot/boot/symvers-%kernelrelease.gz
|
||||
|
||||
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot
|
||||
if [ -d "%_builddir/u2mfn" ]; then
|
||||
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot M=%_builddir/u2mfn
|
||||
fi
|
||||
if [ -d "%_builddir/wireguard" ]; then
|
||||
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot M=%_builddir/wireguard/src
|
||||
fi
|
||||
if [ -d "%_builddir/macbook12-spi-driver" ]; then
|
||||
make modules_install $MAKE_ARGS INSTALL_MOD_PATH=%buildroot M=%_builddir/macbook12-spi-driver
|
||||
fi
|
||||
|
||||
mkdir -p %buildroot/%src_install_dir
|
||||
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/build
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/source
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/build
|
||||
(cd %buildroot/lib/modules/%kernelrelease ; ln -s build source)
|
||||
# dirs for additional modules per module-init-tools, kbuild/modules.txt
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/extra
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/updates
|
||||
mkdir -p %buildroot/lib/modules/%kernelrelease/weak-updates
|
||||
|
||||
pushd %build_src_dir
|
||||
cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` %buildroot/lib/modules/%kernelrelease/build
|
||||
cp -a scripts %buildroot/lib/modules/%kernelrelease/build
|
||||
cp -a --parents arch/x86/include %buildroot/lib/modules/%kernelrelease/build/
|
||||
cp -a include %buildroot/lib/modules/%kernelrelease/build/include
|
||||
popd
|
||||
|
||||
cp Module.symvers %buildroot/lib/modules/%kernelrelease/build
|
||||
cp System.map %buildroot/lib/modules/%kernelrelease/build
|
||||
if [ -s Module.markers ]; then
|
||||
cp Module.markers %buildroot/lib/modules/%kernelrelease/build
|
||||
fi
|
||||
|
||||
rm -rf %buildroot/lib/modules/%kernelrelease/build/Documentation
|
||||
|
||||
# Remove useless scripts that creates ERROR with ambiguous shebang
|
||||
# that are removed too in Fedora
|
||||
rm -rf %buildroot/lib/modules/%kernelrelease/build/scripts/tracing
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/build/scripts/spdxcheck.py
|
||||
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/build/scripts/*.o
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/build/scripts/*/*.o
|
||||
|
||||
cp -a scripts/* %buildroot/lib/modules/%kernelrelease/build/scripts/
|
||||
cp -a include/* %buildroot/lib/modules/%kernelrelease/build/include/
|
||||
cp -a --parents arch/x86/include/* %buildroot/lib/modules/%kernelrelease/build/
|
||||
if [ -f tools/objtool/objtool ]; then
|
||||
cp -a --parents tools/objtool %buildroot/lib/modules/%kernelrelease/build/
|
||||
pushd %build_src_dir
|
||||
cp -a --parents tools/objtool %buildroot/lib/modules/%kernelrelease/build/
|
||||
cp -a --parents tools/build/Build.include %buildroot/lib/modules/%kernelrelease/build/
|
||||
cp -a --parents tools/build/Build %buildroot/lib/modules/%kernelrelease/build/
|
||||
cp -a --parents tools/build/fixdep.c %buildroot/lib/modules/%kernelrelease/build/
|
||||
cp -a --parents tools/scripts/utilities.mak %buildroot/lib/modules/%kernelrelease/build/
|
||||
cp -a --parents tools/lib/str_error_r.c %buildroot/lib/modules/%kernelrelease/build/
|
||||
cp -a --parents tools/lib/string.c %buildroot/lib/modules/%kernelrelease/build/
|
||||
cp -a --parents tools/lib/subcmd/* %buildroot/lib/modules/%kernelrelease/build/
|
||||
popd
|
||||
fi
|
||||
|
||||
# disable GCC plugins for external modules build, to not fail if different gcc
|
||||
# version is used
|
||||
sed -e 's/^\(CONFIG_GCC_PLUGIN.*\)=y/# \1 is not set/' .config > \
|
||||
%buildroot/lib/modules/%kernelrelease/build/.config
|
||||
sed -e '/^#define CONFIG_GCC_PLUGIN/d' include/generated/autoconf.h > \
|
||||
%buildroot/lib/modules/%kernelrelease/build/include/generated/autoconf.h
|
||||
|
||||
# Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
|
||||
cp %buildroot/lib/modules/%kernelrelease/build/.config %buildroot/lib/modules/%kernelrelease/build/include/config/auto.conf
|
||||
|
||||
# Make sure the Makefile and version.h have a matching timestamp so that
|
||||
# external modules can be built
|
||||
touch -r %buildroot/lib/modules/%kernelrelease/build/Makefile %buildroot/lib/modules/%kernelrelease/build/include/generated/uapi/linux/version.h
|
||||
touch -r %buildroot/lib/modules/%kernelrelease/build/.config %buildroot/lib/modules/%kernelrelease/build/include/config/auto.conf
|
||||
touch -r %buildroot/lib/modules/%kernelrelease/build/.config %buildroot/lib/modules/%kernelrelease/build/include/generated/autoconf.h
|
||||
|
||||
if test -s vmlinux.id; then
|
||||
cp vmlinux.id %buildroot/lib/modules/%kernelrelease/build/vmlinux.id
|
||||
else
|
||||
echo >&2 "*** WARNING *** no vmlinux build ID! ***"
|
||||
fi
|
||||
|
||||
#
|
||||
# save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
|
||||
#
|
||||
%if %{with_debuginfo}
|
||||
mkdir -p %buildroot%{debuginfodir}/lib/modules/%kernelrelease
|
||||
cp vmlinux %buildroot%{debuginfodir}/lib/modules/%kernelrelease
|
||||
%endif
|
||||
|
||||
find %buildroot/lib/modules/%kernelrelease -name "*.ko" -type f >modnames
|
||||
|
||||
# mark modules executable so that strip-to-file can strip them
|
||||
xargs --no-run-if-empty chmod u+x < modnames
|
||||
|
||||
# Generate a list of modules for block and networking.
|
||||
|
||||
fgrep /drivers/ modnames | xargs --no-run-if-empty nm -upA |
|
||||
sed -n 's,^.*/\([^/]*\.ko\): *U \(.*\)$,\1 \2,p' > drivers.undef
|
||||
|
||||
collect_modules_list()
|
||||
{
|
||||
sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
|
||||
LC_ALL=C sort -u > %buildroot/lib/modules/%kernelrelease/modules.$1
|
||||
}
|
||||
|
||||
collect_modules_list networking \
|
||||
'register_netdev|ieee80211_register_hw|usbnet_probe'
|
||||
collect_modules_list block \
|
||||
'ata_scsi_ioctl|scsi_add_host|scsi_add_host_with_dma|blk_init_queue|register_mtd_blktrans|scsi_esp_register|scsi_register_device_handler'
|
||||
collect_modules_list drm \
|
||||
'drm_open|drm_init'
|
||||
collect_modules_list modesetting \
|
||||
'drm_crtc_init'
|
||||
|
||||
# detect missing or incorrect license tags
|
||||
rm -f modinfo
|
||||
while read i
|
||||
do
|
||||
echo -n "${i#%buildroot/lib/modules/%kernelrelease/} " >> modinfo
|
||||
/sbin/modinfo -l $i >> modinfo
|
||||
done < modnames
|
||||
|
||||
egrep -v \
|
||||
'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' \
|
||||
modinfo && exit 1
|
||||
|
||||
rm -f modinfo modnames
|
||||
|
||||
# Move the devel headers out of the root file system
|
||||
mkdir -p %buildroot/usr/src/kernels
|
||||
mv %buildroot/lib/modules/%kernelrelease/build/* %buildroot/%src_install_dir/
|
||||
mv %buildroot/lib/modules/%kernelrelease/build/.config %buildroot/%src_install_dir
|
||||
rmdir %buildroot/lib/modules/%kernelrelease/build
|
||||
ln -sf %src_install_dir %buildroot/lib/modules/%kernelrelease/build
|
||||
|
||||
# Abort if there are any undefined symbols
|
||||
msg="$(/sbin/depmod -F %buildroot/boot/System.map-%kernelrelease \
|
||||
-b %buildroot -ae %kernelrelease 2>&1)"
|
||||
|
||||
if [ $? -ne 0 ] || echo "$msg" | grep 'needs unknown symbol'; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# in case of no firmware built - place empty dir
|
||||
mkdir -p %buildroot/lib/firmware
|
||||
mv %buildroot/lib/firmware %buildroot/lib/firmware-all
|
||||
mkdir -p %buildroot/lib/firmware
|
||||
mv %buildroot/lib/firmware-all %buildroot/lib/firmware/%kernelrelease
|
||||
|
||||
# Prepare initramfs for Qubes VM
|
||||
mkdir -p %buildroot/%vm_install_dir
|
||||
PATH="/sbin:$PATH" dracut --nomdadmconf --nolvmconf \
|
||||
--kmoddir %buildroot/lib/modules/%kernelrelease \
|
||||
--modules "kernel-modules qubes-vm-simple" \
|
||||
--conf /dev/null --confdir /var/empty \
|
||||
-d "xenblk xen-blkfront cdrom ext4 jbd2 crc16 dm_snapshot" \
|
||||
%buildroot/%vm_install_dir/initramfs %kernelrelease || exit 1
|
||||
|
||||
# workaround for buggy dracut-044 in Fedora 25
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1431317
|
||||
# https://github.com/dracutdevs/dracut/issues/194
|
||||
modules_dep=$(lsinitrd "%buildroot/%vm_install_dir/initramfs" \
|
||||
"usr/lib/modules/%kernelrelease/modules.dep")
|
||||
if [ -z "$modules_dep" ]; then
|
||||
tmpdir=$(mktemp -d)
|
||||
zcat "%buildroot/%vm_install_dir/initramfs" | cpio -imd -D "$tmpdir" || exit 1
|
||||
mv "$tmpdir"/%buildroot/lib/modules/%kernelrelease/kernel \
|
||||
"$tmpdir"/lib/modules/%kernelrelease/ || exit 1
|
||||
depmod -F %buildroot/boot/System.map-%kernelrelease \
|
||||
-b "$tmpdir" -a %kernelrelease || exit 1
|
||||
pushd "$tmpdir"
|
||||
if [ -n "$SOURCE_DATE_EPOCH" ]; then
|
||||
find . -exec touch --no-dereference --date="@${SOURCE_DATE_EPOCH}" {} +
|
||||
fi
|
||||
find . -print0 | sort -z \
|
||||
| cpio --null -R 0:0 -H newc -o --reproducible --quiet \
|
||||
| gzip -n > %buildroot/%vm_install_dir/initramfs || exit 1
|
||||
popd
|
||||
fi
|
||||
|
||||
cp -p arch/x86/boot/bzImage %buildroot/%vm_install_dir/vmlinuz
|
||||
|
||||
# default kernel options for this kernel
|
||||
def_kernelopts="root=/dev/mapper/dmroot ro nomodeset console=hvc0"
|
||||
def_kernelopts="$def_kernelopts rd_NO_PLYMOUTH rd.plymouth.enable=0 plymouth.enable=0"
|
||||
if [ -e /usr/lib/dracut/modules.d/90qubes-vm-simple/xen-scrub-pages-supported ]; then
|
||||
# set xen_scrub_pages=0 _only_ when included initramfs does support
|
||||
# re-enabling it
|
||||
def_kernelopts="$def_kernelopts xen_scrub_pages=0"
|
||||
fi
|
||||
echo "$def_kernelopts " > %buildroot/%vm_install_dir/default-kernelopts-common.txt
|
||||
|
||||
# Modules for Qubes VM
|
||||
mkdir -p %buildroot%vm_install_dir/modules
|
||||
cp -a %buildroot/lib/modules/%kernelrelease %buildroot%vm_install_dir/modules/
|
||||
mkdir -p %buildroot%vm_install_dir/modules/firmware
|
||||
cp -a %buildroot/lib/firmware/%kernelrelease %buildroot%vm_install_dir/modules/firmware/
|
||||
|
||||
# Include kernel headers for Qubes VM in "/lib/modules" - so kernel-devel
|
||||
# package will be unnecessary there, regardless of distribution
|
||||
rm -f %buildroot%vm_install_dir/modules/%kernelrelease/build
|
||||
cp -a %buildroot/%src_install_dir %buildroot%vm_install_dir/modules/%kernelrelease/build
|
||||
|
||||
%if 0%{?fedora} >= 25
|
||||
# include kernel+initramfs also inside modules.img, for direct kernel boot with
|
||||
# stubdomain
|
||||
cp %buildroot%vm_install_dir/vmlinuz %buildroot%vm_install_dir/modules/
|
||||
cp %buildroot%vm_install_dir/initramfs %buildroot%vm_install_dir/modules/
|
||||
if [ -n "$SOURCE_DATE_EPOCH" ]; then
|
||||
find %buildroot%vm_install_dir/modules \
|
||||
-exec touch --no-dereference --date="@${SOURCE_DATE_EPOCH}" {} +
|
||||
fi
|
||||
PATH="/sbin:$PATH" mkfs.ext3 -d %buildroot%vm_install_dir/modules \
|
||||
-U dcee2318-92bd-47a5-a15d-e79d1412cdce \
|
||||
%buildroot%vm_install_dir/modules.img 1024M
|
||||
rm -rf %buildroot%vm_install_dir/modules
|
||||
%endif
|
||||
|
||||
# remove files that will be auto generated by depmod at rpm -i time
|
||||
for i in alias alias.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
|
||||
do
|
||||
rm -f %buildroot/lib/modules/%kernelrelease/modules.$i
|
||||
done
|
||||
|
||||
%post
|
||||
/sbin/depmod -a %{kernelrelease}
|
||||
|
||||
%posttrans
|
||||
# with kernel-4.14+ plymouth detects hvc0 serial console and forces text boot
|
||||
# we simply make plymouth ignore it to recover the splash screen
|
||||
if [ -f /etc/default/grub ]; then
|
||||
if ! grep -q plymouth.ignore-serial-consoles /etc/default/grub; then
|
||||
echo 'GRUB_CMDLINE_LINUX="$GRUB_CMDLINE_LINUX plymouth.ignore-serial-consoles"' >> /etc/default/grub
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f /boot/efi/EFI/qubes/xen.cfg ]; then
|
||||
if ! grep -q plymouth.ignore-serial-consoles /boot/efi/EFI/qubes/xen.cfg; then
|
||||
sed -i 's/kernel=.*/& plymouth.ignore-serial-consoles/g' /boot/efi/EFI/qubes/xen.cfg
|
||||
fi
|
||||
fi
|
||||
|
||||
/bin/kernel-install add %{kernelrelease} /boot/vmlinuz-%{kernelrelease} || exit $?
|
||||
|
||||
# grubby (used by new-kernel-pkg) do not understand xen entries in grub2 config
|
||||
if [ -x /sbin/new-kernel-pkg -a -e /boot/grub2/grub.cfg ]; then
|
||||
grub2-mkconfig > /boot/grub2/grub.cfg
|
||||
fi
|
||||
|
||||
%preun
|
||||
/bin/kernel-install remove %{kernelrelease} /boot/vmlinuz-%{kernelrelease} || exit $?
|
||||
|
||||
%files
|
||||
%defattr(-, root, root)
|
||||
%ghost /boot/initramfs-%{kernelrelease}.img
|
||||
/boot/System.map-%{kernelrelease}
|
||||
/boot/config-%{kernelrelease}
|
||||
/boot/symvers-%kernelrelease.gz
|
||||
%attr(0644, root, root) /boot/vmlinuz-%{kernelrelease}
|
||||
/lib/firmware/%{kernelrelease}
|
||||
/lib/modules/%{kernelrelease}
|
||||
|
||||
%package devel
|
||||
Summary: Development files necessary for building kernel modules
|
||||
License: GPL v2 only
|
||||
Group: Development/Sources
|
||||
Provides: multiversion(kernel)
|
||||
Provides: %name-devel = %kernelrelease
|
||||
%if "%{?name_suffix}" != ""
|
||||
Provides: kernel-devel = %kernelrelease
|
||||
%endif
|
||||
Provides: kernel-devel-uname-r = %kernelrelease
|
||||
Requires: elfutils-libelf-devel
|
||||
AutoReqProv: on
|
||||
|
||||
%description devel
|
||||
This package contains files necessary for building kernel modules (and
|
||||
kernel module packages) against the kernel.
|
||||
|
||||
%post devel
|
||||
if [ -f /etc/sysconfig/kernel ]
|
||||
then
|
||||
. /etc/sysconfig/kernel || exit $?
|
||||
fi
|
||||
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]
|
||||
then
|
||||
(cd /usr/src/kernels/%{kernelrelease} &&
|
||||
/usr/bin/find . -type f | while read f; do
|
||||
hardlink -c /usr/src/kernels/*.fc*.*/$f $f
|
||||
done)
|
||||
fi
|
||||
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
/usr/src/kernels/%{kernelrelease}
|
||||
|
||||
|
||||
%package qubes-vm
|
||||
Summary: The Xen Kernel
|
||||
Version: %{version}
|
||||
Release: %{rel}
|
||||
License: GPL v2 only
|
||||
Group: System/Kernel
|
||||
Url: http://www.kernel.org/
|
||||
AutoReqProv: on
|
||||
BuildRequires: coreutils module-init-tools sparse
|
||||
Provides: multiversion(kernel-qubes-vm)
|
||||
|
||||
Provides: kernel-xen-domU
|
||||
Provides: kernel-qubes-domU
|
||||
|
||||
Requires(pre): coreutils gawk
|
||||
Requires(post): dracut
|
||||
Requires(post): qubes-core-dom0
|
||||
|
||||
Conflicts: sysfsutils < 2.0
|
||||
# root-lvm only works with newer udevs
|
||||
Conflicts: udev < 118
|
||||
Conflicts: lvm2 < 2.02.33
|
||||
Provides: kernel-qubes-vm = %kernelrelease
|
||||
|
||||
%description qubes-vm
|
||||
Qubes domU kernel.
|
||||
|
||||
%post qubes-vm
|
||||
|
||||
%if 0%{?fedora} < 25
|
||||
mkdir /tmp/qubes-modules-%kernelrelease
|
||||
truncate -s 500M /tmp/qubes-modules-%kernelrelease.img
|
||||
mkfs -t ext3 -F /tmp/qubes-modules-%kernelrelease.img > /dev/null
|
||||
mount /tmp/qubes-modules-%kernelrelease.img /tmp/qubes-modules-%kernelrelease -o loop
|
||||
cp -a -t /tmp/qubes-modules-%kernelrelease %vm_install_dir/modules/%kernelrelease
|
||||
mkdir /tmp/qubes-modules-%kernelrelease/firmware
|
||||
cp -a -t /tmp/qubes-modules-%kernelrelease/firmware %vm_install_dir/modules/firmware/%kernelrelease
|
||||
cp %vm_install_dir/vmlinuz /tmp/qubes-modules-%kernelrelease/
|
||||
cp %vm_install_dir/initramfs /tmp/qubes-modules-%kernelrelease/
|
||||
umount /tmp/qubes-modules-%kernelrelease
|
||||
rmdir /tmp/qubes-modules-%kernelrelease
|
||||
mv /tmp/qubes-modules-%kernelrelease.img %vm_install_dir/modules.img
|
||||
%endif
|
||||
|
||||
current_default="$(qubes-prefs default-kernel)"
|
||||
current_default_path="/var/lib/qubes/vm-kernels/$current_default"
|
||||
current_default_package="$(rpm --qf '%{NAME}' -qf "$current_default_path")"
|
||||
if [ "$current_default_package" = "%{name}-qubes-vm" ]; then
|
||||
# Set kernel as default VM kernel if we are the default package.
|
||||
|
||||
# If qubes-prefs isn't installed yet, the default kernel will be set by %post
|
||||
# of qubes-core-dom0
|
||||
type qubes-prefs &>/dev/null && qubes-prefs --set default-kernel %upstream_version-%plainrel
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
%preun qubes-vm
|
||||
|
||||
if [ "`qubes-prefs -g default-kernel`" == "%upstream_version-%plainrel" ]; then
|
||||
echo "This kernel version is set as default VM kernel, cannot remove"
|
||||
exit 1
|
||||
fi
|
||||
if qvm-ls --kernel | grep -qw "%upstream_version-%plainrel"; then
|
||||
echo "This kernel version is used by at least one VM, cannot remove"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
%files qubes-vm
|
||||
%defattr(-, root, root)
|
||||
%dir %vm_install_dir
|
||||
%if 0%{?fedora} < 25
|
||||
%ghost %attr(0644, root, root) %vm_install_dir/modules.img
|
||||
%else
|
||||
%attr(0644, root, root) %vm_install_dir/modules.img
|
||||
%endif
|
||||
%attr(0644, root, root) %vm_install_dir/initramfs
|
||||
%attr(0644, root, root) %vm_install_dir/vmlinuz
|
||||
%if 0%{?fedora} < 25
|
||||
%vm_install_dir/modules
|
||||
%endif
|
||||
%attr(0644, root, root) %vm_install_dir/default-kernelopts-common.txt
|
||||
|
||||
%changelog
|
||||
@CHANGELOG@
|
37
mod-sign.sh
Executable file
37
mod-sign.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#! /bin/bash
|
||||
|
||||
# The modules_sign target checks for corresponding .o files for every .ko that
|
||||
# is signed. This doesn't work for package builds which re-use the same build
|
||||
# directory for every flavour, and the .config may change between flavours.
|
||||
# So instead of using this script to just sign lib/modules/$KernelVer/extra,
|
||||
# sign all .ko in the buildroot.
|
||||
|
||||
# This essentially duplicates the 'modules_sign' Kbuild target and runs the
|
||||
# same commands for those modules.
|
||||
|
||||
MODSECKEY=$1
|
||||
MODPUBKEY=$2
|
||||
moddir=$3
|
||||
|
||||
modules=`find $moddir -type f -name '*.ko'`
|
||||
|
||||
NPROC=`nproc`
|
||||
[ -z "$NPROC" ] && NPROC=1
|
||||
|
||||
# NB: this loop runs 2000+ iterations. Try to be fast.
|
||||
echo "$modules" | xargs -r -n16 -P $NPROC sh -c "
|
||||
for mod; do
|
||||
./scripts/sign-file sha256 $MODSECKEY $MODPUBKEY \$mod
|
||||
rm -f \$mod.sig \$mod.dig
|
||||
done
|
||||
" DUMMYARG0 # xargs appends ARG1 ARG2..., which go into $mod in for loop.
|
||||
|
||||
RANDOMMOD=$(echo "$modules" | sort -R | head -n 1)
|
||||
if [ "~Module signature appended~" != "$(tail -c 28 $RANDOMMOD)" ]; then
|
||||
echo "*****************************"
|
||||
echo "*** Modules are unsigned! ***"
|
||||
echo "*****************************"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2
pkgs/.gitignore
vendored
Normal file
2
pkgs/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
dom0-*/
|
||||
fc*
|
856
series.conf
856
series.conf
@ -1,833 +1,23 @@
|
||||
# Kernel patches configuration file
|
||||
# vim: set ts=8 sw=8 noet:
|
||||
#
|
||||
# There are three kinds of rules (see guards.1 for details):
|
||||
# +symbol include this patch if symbol is defined; otherwise exclude.
|
||||
# -symbol exclude this patch if symbol is defined; otherwise include.
|
||||
# - exclude this patch.
|
||||
#
|
||||
# Using symbols means that an entirely different source tree will be
|
||||
# generated depending on which symbols are defined. This used to be
|
||||
# a good thing when arch-specific patches contained conflicts with other
|
||||
# patches, but we now have a policy that patches must build everywhere.
|
||||
# The result is a unified source tree that allows us to do neat things
|
||||
# like ship kernel module packages. Creating a divergent tree breaks
|
||||
# these # so you'd better have an extraordinary reason for using them.
|
||||
# For example, the openSUSE 10.3 kernel uses them for segregating the
|
||||
# -rt patches until they can be integrated completely, and these are
|
||||
# only applied at the very end of the series.
|
||||
#
|
||||
# The most common use in recent kernels is to disable a patch with a
|
||||
# username as the symbol to indicate responsbility. Another use is
|
||||
# to check in a patch for testing, but have it disabled in all but your
|
||||
# own build environment.
|
||||
|
||||
########################################################
|
||||
# latest standard kernel patches
|
||||
# DO NOT MODIFY THEM!
|
||||
# Send separate patches upstream if you find a problem...
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# Build fixes that apply to the vanilla kernel too.
|
||||
# Patches in patches.rpmify are applied to both -vanilla
|
||||
# and patched flavors.
|
||||
########################################################
|
||||
patches.rpmify/tioca-fix-assignment-from-incompatible-pointer-warnings
|
||||
patches.rpmify/ia64-mca-fix-cast-from-integer-to-pointer-warning
|
||||
|
||||
patches.rpmify/dmar-fix-section-mismatch
|
||||
patches.rpmify/ppc-crashdump-typefix
|
||||
patches.rpmify/powerpc-kvm-build-failure-workaround
|
||||
|
||||
########################################################
|
||||
# kABI consistency patches
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
#
|
||||
# packaging-specific patches (tweaks for autobuild,
|
||||
# CONFIG_SUSE_KERNEL, config/version tracking and other
|
||||
# build stuff like that ...).
|
||||
#
|
||||
# Note that every patch in the patches.rpmify directory
|
||||
# will be included in the vanilla package.
|
||||
########################################################
|
||||
patches.rpmify/firmware-path
|
||||
|
||||
patches.rpmify/rpm-kernel-config
|
||||
patches.rpmify/split-package
|
||||
patches.rpmify/buildhost
|
||||
patches.rpmify/cloneconfig.diff
|
||||
|
||||
########################################################
|
||||
# kbuild/module infrastructure fixes
|
||||
########################################################
|
||||
patches.suse/supported-flag
|
||||
patches.suse/supported-flag-sysfs
|
||||
patches.suse/supported-flag-enterprise
|
||||
patches.fixes/kbuild-fix-generating-of-.symtypes-files
|
||||
patches.suse/genksyms-add-override-flag.diff
|
||||
patches.suse/kconfig-automate-kernel-desktop
|
||||
|
||||
########################################################
|
||||
# Simple export additions/removals
|
||||
########################################################
|
||||
patches.suse/reiser4-exports
|
||||
patches.suse/export-release_open_intent
|
||||
patches.suse/export-security_inode_permission
|
||||
+still_needed-33? patches.suse/export-sync_page_range
|
||||
|
||||
########################################################
|
||||
# Bug workarounds for binutils
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# Scheduler / Core
|
||||
########################################################
|
||||
patches.suse/setuid-dumpable-wrongdir
|
||||
patches.fixes/seccomp-disable-tsc-option
|
||||
patches.suse/hung_task_timeout-configurable-default
|
||||
+needs_update-33 patches.suse/sched-revert-latency-defaults
|
||||
|
||||
# writable limits
|
||||
patches.suse/rlim-0015-SECURITY-add-task_struct-to-setrlimit.patch
|
||||
patches.suse/rlim-0016-core-add-task_struct-to-update_rlimit_cpu.patch
|
||||
patches.suse/rlim-0017-sys_setrlimit-make-sure-rlim_max-never-grows.patch
|
||||
patches.suse/rlim-0018-core-split-sys_setrlimit.patch
|
||||
patches.suse/rlim-0019-core-allow-setrlimit-to-non-current-tasks.patch
|
||||
patches.suse/rlim-0020-core-optimize-setrlimit-for-current-task.patch
|
||||
patches.suse/rlim-0021-FS-proc-switch-limits-reading-to-fops.patch
|
||||
patches.suse/rlim-0022-FS-proc-make-limits-writable.patch
|
||||
patches.suse/rlim-0023-core-do-security-check-under-task_lock.patch
|
||||
|
||||
patches.fixes/make-note_interrupt-fast.diff
|
||||
patches.fixes/twl6030-fix-note_interrupt-call
|
||||
|
||||
########################################################
|
||||
# Architecture-specific patches. These used to be all
|
||||
# at the end of series.conf, but since we don't do
|
||||
# conditional builds anymore, there's no point.
|
||||
########################################################
|
||||
|
||||
|
||||
########################################################
|
||||
# ia64
|
||||
########################################################
|
||||
patches.fixes/ia64-sparse-fixes.diff
|
||||
patches.arch/mm-avoid-bad-page-on-lru
|
||||
patches.arch/ia64-page-migration
|
||||
patches.arch/ia64-page-migration.fix
|
||||
patches.fixes/taskstats-alignment
|
||||
|
||||
########################################################
|
||||
# i386
|
||||
########################################################
|
||||
|
||||
|
||||
# amd64 | x86-64 | x86_64
|
||||
# 'Intel(r) Extended Memory 64 Technology' | 'Intel(r) EM64T'
|
||||
# x64
|
||||
# Intel 64
|
||||
# "the architecture with too many names"
|
||||
# TAWTMN
|
||||
|
||||
########################################################
|
||||
# x86_64/i386 biarch
|
||||
########################################################
|
||||
patches.arch/x86-hpet-pre-read
|
||||
+needs_update-33 patches.arch/x86_64-hpet-64bit-timer.patch
|
||||
|
||||
patches.arch/x86-mcp51-no-dac
|
||||
|
||||
patches.arch/kvm-split-paravirt-ops-by-functionality
|
||||
patches.arch/kvm-only-export-selected-pv-ops-feature-structs
|
||||
patches.arch/kvm-split-the-KVM-pv-ops-support-by-feature
|
||||
patches.arch/kvm-replace-kvm-io-delay-pv-ops-with-linux-magic
|
||||
|
||||
patches.suse/x86-mark_rodata_rw.patch
|
||||
patches.fixes/dmar-fix-oops-with-no-dmar-table
|
||||
|
||||
########################################################
|
||||
# x86 MCE/MCA (Machine Check Error/Architecture) extensions
|
||||
########################################################
|
||||
|
||||
# Needed on Boxboro/Westmere-EX to correctly decode the physical
|
||||
# address of correctable errors
|
||||
patches.arch/x86_mce_intel_decode_physical_address.patch
|
||||
patches.arch/x86_mce_intel_decode_physical_address_rename_fix.patch
|
||||
patches.arch/x86_mce_intel_decode_physical_address_compile_fix.patch
|
||||
|
||||
########################################################
|
||||
# x86_64/4096CPUS - from SGI
|
||||
########################################################
|
||||
patches.arch/x86-apic-force-bigsmp-apic-on-IBM-EXA3-4.patch
|
||||
|
||||
########################################################
|
||||
# x86 UV patches from SGI
|
||||
########################################################
|
||||
# bug 566745
|
||||
patches.arch/UV-Expose-irq_desc-node-in-proc.patch
|
||||
|
||||
########################################################
|
||||
# x86_64/i386 depending on the UV patchset
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# powerpc/generic
|
||||
########################################################
|
||||
patches.suse/of_platform_driver.module-owner.patch
|
||||
patches.suse/led_classdev.sysfs-name.patch
|
||||
patches.suse/radeon-monitor-jsxx-quirk.patch
|
||||
|
||||
patches.suse/8250-sysrq-ctrl_o.patch
|
||||
patches.suse/ppc-no-LDFLAGS_MODULE.patch
|
||||
patches.arch/ppc-vio-modalias.patch
|
||||
patches.arch/ppc-pegasos-console-autodetection.patch
|
||||
patches.suse/ppc-powerbook-usb-fn-key-default.patch
|
||||
patches.drivers/ppc64-adb
|
||||
patches.suse/suse-ppc64-branding
|
||||
patches.arch/ppc64-xmon-dmesg-printing.patch
|
||||
patches.arch/ppc-prom-nodisplay.patch
|
||||
patches.fixes/ptrace-getsiginfo
|
||||
patches.arch/ppc-ipic-suspend-without-83xx-fix
|
||||
patches.arch/ppc-vmcoreinfo.diff
|
||||
patches.fixes/powerpc-fix-handling-of-strnlen-with-zero-len
|
||||
|
||||
########################################################
|
||||
# PS3
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# S/390
|
||||
########################################################
|
||||
patches.arch/s390-add-FREE_PTE_NR
|
||||
|
||||
patches.suse/s390-System.map.diff
|
||||
patches.arch/s390-message-catalog.diff
|
||||
patches.arch/kmsg-fix-parameter-limitations
|
||||
|
||||
patches.suse/s390-Kerntypes.diff
|
||||
|
||||
########################################################
|
||||
# VM/FS patches
|
||||
########################################################
|
||||
patches.suse/unmap_vmas-lat
|
||||
patches.suse/silent-stack-overflow-2.patch
|
||||
patches.fixes/oom-warning
|
||||
patches.suse/shmall-bigger
|
||||
patches.fixes/grab-swap-token-oops
|
||||
|
||||
+needs_update-32 patches.suse/osync-error
|
||||
patches.fixes/remount-no-shrink-dcache
|
||||
patches.suse/reiser4-set_page_dirty_notag
|
||||
patches.suse/file-capabilities-disable-by-default.diff
|
||||
|
||||
+npiggin patches.suse/files-slab-rcu.patch
|
||||
patches.suse/mm-tune-dirty-limits.patch
|
||||
|
||||
patches.suse/mm-devzero-optimisation.patch
|
||||
|
||||
patches.fixes/aggressive-zone-reclaim.patch
|
||||
patches.suse/readahead-request-tunables.patch
|
||||
|
||||
########################################################
|
||||
# IPC patches
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# nfsacl protocol (agruen)
|
||||
########################################################
|
||||
+agruen patches.suse/nfsacl-client-cache-CHECK.diff
|
||||
+agruen patches.fixes/nfs-acl-caching.diff
|
||||
|
||||
########################################################
|
||||
# misc small fixes
|
||||
########################################################
|
||||
patches.suse/connector-read-mostly
|
||||
patches.suse/kbd-ignore-gfx.patch
|
||||
|
||||
########################################################
|
||||
#
|
||||
# ACPI patches
|
||||
#
|
||||
########################################################
|
||||
# Check resource conflicts between hwmon and ACPI OpRegs
|
||||
patches.arch/acpi_thinkpad_introduce_acpi_root_table_boot_param.patch
|
||||
|
||||
+trenn patches.suse/acpi-dsdt-initrd-v0.9a-2.6.25.patch
|
||||
patches.suse/add-initramfs-file_read_write
|
||||
patches.suse/init-move-populate_rootfs-back-to-start_kernel
|
||||
patches.suse/acpi-generic-initramfs-table-override-support
|
||||
patches.suse/acpi-don-t-preempt-until-the-system-is-up
|
||||
|
||||
patches.arch/acpi_thermal_passive_blacklist.patch
|
||||
patches.arch/acpi-export-hotplug_execute
|
||||
|
||||
+needs_update-32 patches.arch/acpi_ec_provide_non_interrupt_mode_boot_param.patch
|
||||
|
||||
# Adjust this patch for every new product (at least Enterprise
|
||||
# level) to provide OEMs a safety break so that they can add
|
||||
# for example SLE11 specific BIOS updates (if there is no other
|
||||
# way to safely solve an ACPI issue).
|
||||
+trenn patches.suse/acpi_osi_sle11_ident.patch
|
||||
patches.arch/acpi_srat-pxm-rev-store.patch
|
||||
patches.arch/acpi_srat-pxm-rev-ia64.patch
|
||||
patches.arch/acpi_srat-pxm-rev-x86-64.patch
|
||||
|
||||
# HP WMI patches
|
||||
patches.fixes/hp-wmi_detect_keys.patch
|
||||
patches.fixes/hp_wmi_catch_unkown_event_key_codes.patch
|
||||
patches.fixes/hp_wmi_use_prefix_string.patch
|
||||
patches.fixes/hp_wmi_add_media_key.patch
|
||||
|
||||
patches.fixes/acpi_processor_check_maxcpus.patch
|
||||
|
||||
########################################################
|
||||
# CPUFREQ
|
||||
########################################################
|
||||
|
||||
## cpuidle feature patch set still not consistent.
|
||||
# patches.suse/cpuidle-cleanup
|
||||
# patches.suse/cpuidle-implement-list
|
||||
# patches.suse/cpuidle-cleanup-x86
|
||||
# patches.suse/cpuidle-enable-pseries
|
||||
# patches.suse/cpuidle-cleanup-pseries
|
||||
# patches.suse/cpuidle-add-default-idle-ppc
|
||||
# patches.suse/cpuidle-pseries-proc-idle
|
||||
# patches.suse/cpuidle-eliminate-ppcmdpowersave1
|
||||
# patches.suse/cpuidle-documentation
|
||||
patches.fixes/cpufreq_ondemand_performance_optimise_default_settings.patch
|
||||
|
||||
patches.fixes/acpi-cpufreq_fix_cpu_any_notification.patch
|
||||
patches.arch/x86-cpu-add-amd-core-boosting-feature-flag-to-proc-cpuinfo
|
||||
patches.arch/powernow-k8-add-core-performance-boost-support
|
||||
patches.arch/x86-cpufreq-add-aperf-mperf-support-for-amd-processors
|
||||
|
||||
########################################################
|
||||
# AGP, graphics related stuff
|
||||
########################################################
|
||||
patches.arch/x86_agpgart-g33-stoeln-fix-2.patch
|
||||
|
||||
########################################################
|
||||
# Suse specific stuff
|
||||
########################################################
|
||||
# TIOCGDEV - suse special
|
||||
patches.fixes/tiocgdev
|
||||
+still_needed? patches.suse/mm-increase-dirty-limits.patch
|
||||
+needs_to_die-33 patches.suse/panic-on-io-nmi-SLE11-user-space-api.patch
|
||||
|
||||
########################################################
|
||||
# Networking, IPv6
|
||||
########################################################
|
||||
patches.fixes/bridge-module-get-put.patch
|
||||
|
||||
########################################################
|
||||
# NFS
|
||||
########################################################
|
||||
patches.fixes/nfs-slot-table-alloc
|
||||
|
||||
patches.fixes/nfsd-05-sunrpc-cache-allow-thread-to-block-while-waiting-for.patch
|
||||
patches.fixes/nfsd-06-sunrpc-cache-retry-cache-lookups-that-return-ETIMEDO.patch
|
||||
patches.fixes/nfsd-07-nfsd-idmap-drop-special-request-deferal-in-favour-of.patch
|
||||
patches.fixes/sunrpc-monotonic-expiry
|
||||
|
||||
########################################################
|
||||
# lockd + statd
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# cifs patches
|
||||
########################################################
|
||||
patches.fixes/cifs-fix-oops-due-to-null-nameidata
|
||||
|
||||
########################################################
|
||||
# ext2/ext3
|
||||
########################################################
|
||||
patches.suse/ext3-barrier-default
|
||||
# patches.suse/ext2-fsync-err
|
||||
patches.fixes/ext3-mark-super-uptodate
|
||||
|
||||
########################################################
|
||||
# ext4
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# Reiserfs Patches
|
||||
########################################################
|
||||
patches.suse/reiserfs-barrier-default
|
||||
patches.fixes/reiserfs-remove-2-tb-file-size-limit
|
||||
|
||||
########################################################
|
||||
# dlm
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# ocfs2
|
||||
########################################################
|
||||
|
||||
patches.suse/ocfs2-allocation-resrvations.patch
|
||||
|
||||
########################################################
|
||||
# gfs2 read-only support for migration
|
||||
########################################################
|
||||
patches.suse/gfs2-ro-mounts-only.patch
|
||||
|
||||
########################################################
|
||||
# xfs
|
||||
########################################################
|
||||
patches.suse/xfs-dmapi-src
|
||||
patches.suse/xfs-dmapi-enable
|
||||
patches.suse/xfs-dmapi-xfs-enable
|
||||
patches.suse/xfs-dmapi-re-add-flags-for-xfs_free_eofblocks
|
||||
patches.suse/xfs-nfsd-dmapi-aware
|
||||
patches.fixes/xfs-dmapi-fixes
|
||||
patches.fixes/xfs-export-debug
|
||||
patches.suse/xfs-dmapi-2-6-34-api-changes
|
||||
patches.suse/xfs-dmapi-fix-incompatible-pointer-type-warning
|
||||
|
||||
########################################################
|
||||
# novfs
|
||||
########################################################
|
||||
patches.suse/novfs-client-module
|
||||
patches.suse/novfs-fix-debug-message.patch
|
||||
patches.fixes/novfs-err_ptr-fix.diff
|
||||
patches.fixes/novfs-fix-inode-uid
|
||||
patches.fixes/novfs-incorrect-filesize-fix
|
||||
patches.fixes/novfs-truncate-fix
|
||||
patches.fixes/novfs-fix-oops-in-scope-finding
|
||||
patches.fixes/novfs-dentry-cache-limit.patch
|
||||
patches.fixes/novfs-return-ENOTEMPTY-when-deleting-nonempty-dir
|
||||
patches.fixes/novfs-LFS-initialization
|
||||
|
||||
########################################################
|
||||
# other filesystem stuff
|
||||
########################################################
|
||||
patches.suse/parser-match_string.diff
|
||||
patches.suse/fs-may_iops.diff
|
||||
patches.suse/fs-knows-MAY_APPEND.diff
|
||||
patches.suse/nfs4acl-common.diff
|
||||
patches.suse/nfs4acl-ext3.diff
|
||||
patches.suse/nfs4acl-ai.diff
|
||||
|
||||
|
||||
########################################################
|
||||
# Swap-over-NFS
|
||||
########################################################
|
||||
patches.suse/SoN-01-mm-setup_per_zone_wmarks.patch
|
||||
patches.suse/SoN-02-doc.patch
|
||||
patches.suse/SoN-03-mm-gfp-to-alloc_flags-expose.patch
|
||||
patches.suse/SoN-04-page_alloc-reserve.patch
|
||||
patches.suse/SoN-05-reserve-slub.patch
|
||||
patches.suse/SoN-06-mm-kmem_estimate_pages.patch
|
||||
patches.suse/SoN-07-mm-PF_MEMALLOC-softirq.patch
|
||||
patches.suse/SoN-08-mm-page_alloc-emerg.patch
|
||||
patches.suse/SoN-09-global-ALLOC_NO_WATERMARKS.patch
|
||||
patches.suse/SoN-10-mm-page_alloc-GFP_EMERGENCY.patch
|
||||
patches.suse/SoN-11-mm-reserve.patch
|
||||
patches.suse/SoN-12-mm-selinux-emergency.patch
|
||||
patches.suse/SoN-13-net-ps_rx.patch
|
||||
patches.suse/SoN-14-net-sk_allocation.patch
|
||||
patches.suse/SoN-15-netvm-reserve.patch
|
||||
patches.suse/SoN-16-netvm-reserve-inet.patch
|
||||
patches.suse/SoN-17-netvm-reserve-inet.patch-fix
|
||||
patches.suse/SoN-18-netvm-skbuff-reserve.patch
|
||||
patches.suse/SoN-19-netvm-sk_filter.patch
|
||||
patches.suse/SoN-20-netvm-tcp-deadlock.patch
|
||||
patches.suse/SoN-21-emergency-nf_queue.patch
|
||||
patches.suse/SoN-22-netvm.patch
|
||||
patches.suse/SoN-23-mm-swapfile.patch
|
||||
patches.suse/SoN-24-mm-page_file_methods.patch
|
||||
patches.suse/SoN-25-nfs-swapcache.patch
|
||||
patches.suse/SoN-26-nfs-swapper.patch
|
||||
patches.suse/SoN-27-nfs-swap_ops.patch
|
||||
patches.suse/SoN-28-nfs-alloc-recursions.patch
|
||||
patches.suse/SoN-29-fix-swap_sync_page-race
|
||||
patches.suse/SoN-30-fix-uninitialized-var.patch
|
||||
|
||||
# don't want to rediff SoN until this gets more testing
|
||||
patches.suse/slab-handle-memoryless-nodes-v2a.patch
|
||||
|
||||
########################################################
|
||||
# Netfilter
|
||||
########################################################
|
||||
|
||||
patches.suse/netfilter-ipt_LOG-mac
|
||||
|
||||
patches.suse/netfilter-ip_conntrack_slp.patch
|
||||
patches.fixes/fix-nf_conntrack_slp
|
||||
patches.fixes/netfilter-remove-pointless-config_nf_ct_acct-warning
|
||||
|
||||
########################################################
|
||||
#
|
||||
# Device drivers
|
||||
#
|
||||
########################################################
|
||||
|
||||
patches.drivers/disable-catas_reset-by-default-to-avoid-problems-with-eeh.patch
|
||||
|
||||
########################################################
|
||||
# Storage
|
||||
########################################################
|
||||
|
||||
# libata
|
||||
patches.drivers/libata-add-waits-for-govault
|
||||
patches.drivers/libata-unlock-hpa-by-default
|
||||
|
||||
# Block layer fixes
|
||||
patches.fixes/scsi-inquiry-too-short-ratelimit
|
||||
patches.suse/scsi-netlink-ml
|
||||
|
||||
+needs_update patches.drivers/mpt-fusion-4.22.00.00-update
|
||||
patches.fixes/scsi-dh-queuedata-accessors
|
||||
patches.fixes/scsi-dh-alua-retry-UA
|
||||
patches.fixes/scsi-add-tgps-setting
|
||||
patches.fixes/scsi-dh-alua-send-stpg
|
||||
patches.fixes/scsi-dh-rdac-add-stk
|
||||
patches.fixes/scsi-retry-alua-transition-in-progress
|
||||
|
||||
patches.fixes/scsi-check-host-lookup-failure
|
||||
patches.drivers/megaraid-mbox-fix-SG_IO
|
||||
patches.drivers/qla4xxx-5.01.00-k9-5.01.00.00.11.01-k10.patch
|
||||
|
||||
# Remaining SCSI patches (garloff)
|
||||
patches.suse/scsi-error-test-unit-ready-timeout
|
||||
patches.fixes/scsi-scan-blist-update
|
||||
|
||||
patches.fixes/proc-scsi-scsi-fix.diff
|
||||
|
||||
patches.fixes/scsi-ibmvscsi-show-config.patch
|
||||
# bnc#362850
|
||||
patches.fixes/sd_liberal_28_sense_invalid.diff
|
||||
|
||||
patches.fixes/scsi-ibmvscsi-module_alias.patch
|
||||
|
||||
########################################################
|
||||
# DRM/Video
|
||||
########################################################
|
||||
|
||||
patches.drivers/drm-nouveau-allow-cursor-image-and-position-to-survi.patch
|
||||
patches.drivers/drm-nouveau-Don-t-clear-AGPCMD-completely-on-INIT_RE.patch
|
||||
|
||||
########################################################
|
||||
# Network
|
||||
########################################################
|
||||
patches.fixes/tulip-quad-NIC-ifdown
|
||||
patches.suse/nameif-track-rename.patch
|
||||
patches.fixes/tg3-fix-default-wol.patch
|
||||
patches.drivers/ehea-modinfo.patch
|
||||
patches.fixes/tehuti-firmware-name
|
||||
|
||||
# entropy FATE##307517
|
||||
patches.drivers/bnx2-entropy-source.patch
|
||||
patches.drivers/e1000-entropy-source.patch
|
||||
patches.drivers/e1000e-entropy-source.patch
|
||||
patches.drivers/igb-entropy-source.patch
|
||||
patches.drivers/ixgbe-entropy-source.patch
|
||||
patches.drivers/tg3-entropy-source.patch
|
||||
|
||||
patches.drivers/tg3-5785-and-57780-asic-revs-not-working.patch
|
||||
|
||||
+needs_update patches.drivers/e1000-enhance-frame-fragment-detection.patch
|
||||
+needs_update patches.drivers/e1000e-enhance-frame-fragment-detection.patch
|
||||
|
||||
########################################################
|
||||
# Wireless Networking
|
||||
########################################################
|
||||
patches.suse/wireless-no-aes-select
|
||||
patches.suse/b43-missing-firmware-info.patch
|
||||
|
||||
########################################################
|
||||
# iSCSI
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# PCI and PCI hotplug
|
||||
########################################################
|
||||
patches.drivers/pci-disable-msi-on-K8M800
|
||||
|
||||
########################################################
|
||||
# sysfs / driver core
|
||||
########################################################
|
||||
patches.drivers/driver-core-add-devname-module-aliases-to-allow-module-on-demand-auto-loading.patch
|
||||
|
||||
########################################################
|
||||
# USB
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# I2C
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# Input & Console
|
||||
########################################################
|
||||
patches.suse/bootsplash
|
||||
patches.suse/Cleanup-and-make-boot-splash-work-with-KMS.patch
|
||||
patches.suse/bootsplash-keep-multiple-data
|
||||
patches.suse/bootsplash-scaler
|
||||
patches.suse/bootsplash-console-fix
|
||||
patches.drivers/elousb.patch
|
||||
patches.fixes/input-add-acer-aspire-5710-to-nomux.patch
|
||||
patches.drivers/input-Add-LED-support-to-Synaptics-device
|
||||
|
||||
##########################################################
|
||||
# Sound
|
||||
##########################################################
|
||||
|
||||
########################################################
|
||||
# Other driver fixes
|
||||
########################################################
|
||||
patches.fixes/ieee1394-sbp2_long_sysfs_ieee1394_id.patch
|
||||
|
||||
patches.fixes/parport-mutex
|
||||
|
||||
# suse-2.4 compatible crypto loop driver
|
||||
patches.suse/twofish-2.6
|
||||
# Allow setting maximum number of raw devices
|
||||
patches.suse/raw_device_max_minors_param.diff
|
||||
patches.suse/no-partition-scan
|
||||
|
||||
########################################################
|
||||
# Other drivers we have added to the tree
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# Suspend/Resume stuff
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# device-mapper
|
||||
########################################################
|
||||
patches.suse/dm-emulate-blkrrpart-ioctl
|
||||
patches.suse/dm-raid45_2.6.27_20081027.patch
|
||||
patches.suse/dmraid45-dm_dirty_log_create-api-fix
|
||||
patches.suse/dmraid45-dm_get_device-takes-fewer-arguments
|
||||
patches.fixes/dm-mpath-reattach-dh
|
||||
patches.suse/dm-mpath-leastpending-path-update
|
||||
patches.suse/dm-mpath-accept-failed-paths
|
||||
patches.suse/dm-mpath-detach-existing-hardware-handler
|
||||
patches.suse/dm-mpath-null-pgs
|
||||
patches.fixes/dm-table-switch-to-readonly
|
||||
patches.suse/dm-mpath-evaluate-request-result-and-sense
|
||||
patches.fixes/dm-release-map_lock-before-set_disk_ro
|
||||
patches.suse/dm-mpath-no-activate-for-offlined-paths
|
||||
patches.suse/dm-mpath-no-partitions-feature
|
||||
|
||||
########################################################
|
||||
# md
|
||||
########################################################
|
||||
|
||||
##########################################################
|
||||
#
|
||||
# Security stuff
|
||||
#
|
||||
##########################################################
|
||||
|
||||
##########################################################
|
||||
# Audit
|
||||
##########################################################
|
||||
|
||||
########################################################
|
||||
# Address space layout randomization
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# KDB v4.4
|
||||
########################################################
|
||||
|
||||
patches.suse/kdb-common
|
||||
patches.suse/kdb-x86
|
||||
patches.suse/kdb-ia64
|
||||
patches.suse/kdb-build-fixes
|
||||
patches.suse/kdb-x86-build-fixes
|
||||
patches.suse/kdb-usb-rework
|
||||
patches.suse/kdb_fix_ia64_build.patch
|
||||
patches.suse/kdb_dont_touch_i8042_early.patch
|
||||
patches.suse/kdb-fix-assignment-from-incompatible-pointer-warnings
|
||||
patches.suse/kdb-handle-nonexistance-keyboard-controller
|
||||
patches.suse/kdb-fix-kdb_cmds-to-include-the-arch-common-macro
|
||||
patches.suse/kdb-vm-api-changes-for-2-6-34
|
||||
|
||||
########################################################
|
||||
# Other patches for debugging
|
||||
########################################################
|
||||
patches.suse/crasher-26.diff
|
||||
patches.suse/stack-unwind
|
||||
patches.suse/no-frame-pointer-select
|
||||
patches.arch/x86_64-unwind-annotations
|
||||
|
||||
########################################################
|
||||
# Kdump
|
||||
########################################################
|
||||
+needs_update-33 patches.suse/kdump-dump_after_notifier.patch
|
||||
|
||||
########################################################
|
||||
# cgroups
|
||||
########################################################
|
||||
patches.suse/cgroup-disable-memory.patch
|
||||
|
||||
########################################################
|
||||
# audit subsystem
|
||||
########################################################
|
||||
patches.suse/audit-export-logging.patch
|
||||
|
||||
########################################################
|
||||
# Performance Monitoring, Tracing etc
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# KVM patches
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# Staging tree patches
|
||||
# new drivers that are going upstream
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# "fastboot" patches
|
||||
# These should all be upstream, we took them from
|
||||
# moblin to try to speed up the boot process
|
||||
########################################################
|
||||
patches.suse/linux-2.6.29-dont-wait-for-mouse.patch
|
||||
patches.suse/linux-2.6.29-enable-async-by-default.patch
|
||||
- patches.suse/linux-2.6.29-even-faster-kms.patch
|
||||
patches.suse/linux-2.6.29-silence-acer-message.patch
|
||||
patches.suse/linux-2.6.29-kms-after-sata.patch
|
||||
patches.suse/linux-2.6.29-jbd-longer-commit-interval.patch
|
||||
|
||||
# some driver patches, should move up in the series...
|
||||
patches.suse/linux-2.6.29-touchkit.patch
|
||||
patches.suse/uvcvideo-ignore-hue-control-for-5986-0241.patch
|
||||
|
||||
########################################################
|
||||
# You'd better have a good reason for adding a patch
|
||||
# below here.
|
||||
########################################################
|
||||
|
||||
########################################################
|
||||
# XEN architecture, version 3
|
||||
########################################################
|
||||
|
||||
# xen patches, from xenbits mercurial repository.
|
||||
# http://xenbits.xensource.com/ext/linux-2.6-merge.hg
|
||||
#
|
||||
# everything named "xen3-auto-*" is auto-generated.
|
||||
# PLEASE DON'T EDIT THESE PATCHES. Create fixup patches
|
||||
# on top of them instead. This reduces workload when
|
||||
# re-basing to a newer xen tree.
|
||||
#
|
||||
### both uml framebuffer and xen need this one.
|
||||
patches.xen/add-console-use-vt
|
||||
|
||||
# split out patches
|
||||
patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-i386.patch
|
||||
patches.xen/linux-2.6.19-rc1-kexec-move_segment_code-x86_64.patch
|
||||
patches.xen/ipv6-no-autoconf
|
||||
patches.xen/pci-guestdev
|
||||
patches.xen/pci-reserve
|
||||
+needs_update-33 patches.xen/sfc-driverlink
|
||||
+needs_update-33 patches.xen/sfc-resource-driver
|
||||
+needs_update-33 patches.xen/sfc-driverlink-conditional
|
||||
+needs_update-33 patches.xen/sfc-external-sram
|
||||
patches.xen/tmem
|
||||
|
||||
# bulk stuff, new files for xen
|
||||
patches.xen/xen3-auto-xen-arch.diff
|
||||
patches.xen/xen3-auto-xen-drivers.diff
|
||||
patches.xen/xen3-auto-include-xen-interface.diff
|
||||
|
||||
# kconfig bits for xen
|
||||
patches.xen/xen3-auto-xen-kconfig.diff
|
||||
|
||||
# common code changes
|
||||
patches.xen/xen3-auto-common.diff
|
||||
patches.xen/xen3-auto-arch-x86.diff
|
||||
patches.xen/xen3-auto-arch-i386.diff
|
||||
patches.xen/xen3-auto-arch-x86_64.diff
|
||||
|
||||
# fixups due to upstream Xen parts
|
||||
patches.xen/xen3-fixup-xen
|
||||
|
||||
+needs_update-33 patches.xen/sfc-set-arch
|
||||
+needs_update-33 patches.xen/sfc-endianness
|
||||
|
||||
# newer changeset backports
|
||||
|
||||
# changes outside arch/{i386,x86_64}/xen
|
||||
patches.xen/xen3-fixup-kconfig
|
||||
patches.xen/xen3-fixup-common
|
||||
patches.xen/xen3-fixup-arch-x86
|
||||
|
||||
# ports of other patches
|
||||
patches.xen/xen3-patch-2.6.18
|
||||
patches.xen/xen3-patch-2.6.19
|
||||
patches.xen/xen3-patch-2.6.20
|
||||
patches.xen/xen3-patch-2.6.21
|
||||
patches.xen/xen3-patch-2.6.22
|
||||
patches.xen/xen3-patch-2.6.23
|
||||
patches.xen/xen3-patch-2.6.24
|
||||
patches.xen/xen3-patch-2.6.25
|
||||
patches.xen/xen3-patch-2.6.26
|
||||
patches.xen/xen3-patch-2.6.27
|
||||
patches.xen/xen3-patch-2.6.28
|
||||
patches.xen/xen3-patch-2.6.29
|
||||
patches.xen/xen3-patch-2.6.30
|
||||
patches.xen/xen3-patch-2.6.31
|
||||
patches.xen/xen3-patch-2.6.32
|
||||
patches.xen/xen3-patch-2.6.33
|
||||
patches.xen/xen3-patch-2.6.34
|
||||
patches.xen/xen3-seccomp-disable-tsc-option
|
||||
patches.xen/xen3-x86-mcp51-no-dac
|
||||
patches.xen/xen3-x86-mark_rodata_rw.patch
|
||||
patches.xen/xen3-acpi_processor_check_maxcpus.patch
|
||||
patches.xen/xen3-kdb-x86
|
||||
patches.xen/xen3-stack-unwind
|
||||
patches.xen/xen3-x86_64-unwind-annotations
|
||||
# patches.xen/xen3-x86_cpufreq_make_trace_power_frequency_cpufreq_driver_independent.patch
|
||||
|
||||
# bugfixes and enhancements
|
||||
patches.xen/xen-balloon-max-target
|
||||
patches.xen/xen-modular-blktap
|
||||
patches.xen/xen-blkback-bimodal-suse
|
||||
patches.xen/xen-blkif-protocol-fallback-hack
|
||||
patches.xen/xen-blkback-cdrom
|
||||
patches.xen/xen-blktap-write-barriers
|
||||
patches.xen/xen-op-packet
|
||||
patches.xen/xen-blkfront-cdrom
|
||||
patches.xen/xen-sections
|
||||
patches.xen/xen-swiotlb-heuristics
|
||||
patches.xen/xen-kconfig-compat
|
||||
patches.xen/xen-cpufreq-report
|
||||
patches.xen/xen-staging-build
|
||||
patches.xen/xen-sysdev-suspend
|
||||
patches.xen/xen-ipi-per-cpu-irq
|
||||
patches.xen/xen-virq-per-cpu-irq
|
||||
patches.xen/xen-clockevents
|
||||
patches.xen/xen-no-reboot-vector
|
||||
patches.xen/xen-spinlock-poll-early
|
||||
patches.xen/xen-configurable-guest-devices
|
||||
patches.xen/xen-netback-nr-irqs
|
||||
patches.xen/xen-netback-notify-multi
|
||||
patches.xen/xen-netback-generalize
|
||||
patches.xen/xen-netback-multiple-tasklets
|
||||
patches.xen/xen-netback-kernel-threads
|
||||
patches.xen/xen-netfront-ethtool
|
||||
patches.xen/xen-dcdbas
|
||||
patches.xen/xen-floppy
|
||||
patches.xen/xen-kzalloc
|
||||
patches.xen/xen-unpriv-build
|
||||
patches.xen/xen-x86-panic-no-reboot
|
||||
patches.xen/xen-x86-dcr-fallback
|
||||
patches.xen/xen-x86-consistent-nmi
|
||||
patches.xen/xen-x86-no-lapic
|
||||
patches.xen/xen-x86-pmd-handling
|
||||
patches.xen/xen-x86-bigmem
|
||||
patches.xen/xen-x86-machphys-prediction
|
||||
patches.xen/xen-x86-exit-mmap
|
||||
patches.xen/xen-x86-per-cpu-vcpu-info
|
||||
patches.xen/xen-x86_64-pgd-pin
|
||||
patches.xen/xen-x86_64-pgd-alloc-order
|
||||
patches.xen/xen-x86_64-dump-user-pgt
|
||||
patches.xen/xen-x86_64-note-init-p2m
|
||||
0001-kbuild-AFTER_LINK.patch
|
||||
0002-xen-netfront-detach-crash.patch
|
||||
0003-mce-hide-EBUSY-initialization-error-on-Xen.patch
|
||||
0004-Log-error-code-of-EVTCHNOP_bind_pirq-failure.patch
|
||||
|
||||
# Additional features
|
||||
0005-pvops-respect-removable-xenstore-flag-for-block-devi.patch
|
||||
0006-pvops-xen-blkfront-handle-FDEJECT-as-detach-request-.patch
|
||||
0007-block-add-no_part_scan-module-parameter.patch
|
||||
|
||||
# Security fixes
|
||||
0008-xen-Add-RING_COPY_RESPONSE.patch
|
||||
0009-xen-netfront-copy-response-out-of-shared-buffer-befo.patch
|
||||
0010-xen-netfront-do-not-use-data-already-exposed-to-back.patch
|
||||
0011-xen-netfront-add-range-check-for-Tx-response-id.patch
|
||||
0012-xen-blkfront-make-local-copy-of-response-before-usin.patch
|
||||
0013-xen-blkfront-prepare-request-locally-only-then-put-i.patch
|
||||
|
||||
# MSI-X enabled device passthrough fix (#1734)
|
||||
0014-xen-pcifront-pciback-Update-pciif.h-with-err-and-res.patch
|
||||
|
||||
# Fix for MSI support with stubdoms
|
||||
0015-xen-pciback-add-attribute-to-allow-MSI-enable-flag-w.patch
|
||||
|
446
wireguard-key.asc
Normal file
446
wireguard-key.asc
Normal file
@ -0,0 +1,446 @@
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
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
|
||||
P1KnZADhMyvGjSc88Ko=
|
||||
=Njos
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
Loading…
Reference in New Issue
Block a user