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
|
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-----
|
||||||
|
|
||||||
|
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
|
||||||
|
=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
|
0001-kbuild-AFTER_LINK.patch
|
||||||
# vim: set ts=8 sw=8 noet:
|
0002-xen-netfront-detach-crash.patch
|
||||||
#
|
0003-mce-hide-EBUSY-initialization-error-on-Xen.patch
|
||||||
# There are three kinds of rules (see guards.1 for details):
|
0004-Log-error-code-of-EVTCHNOP_bind_pirq-failure.patch
|
||||||
# +symbol include this patch if symbol is defined; otherwise exclude.
|
|
||||||
# -symbol exclude this patch if symbol is defined; otherwise include.
|
# Additional features
|
||||||
# - exclude this patch.
|
0005-pvops-respect-removable-xenstore-flag-for-block-devi.patch
|
||||||
#
|
0006-pvops-xen-blkfront-handle-FDEJECT-as-detach-request-.patch
|
||||||
# Using symbols means that an entirely different source tree will be
|
0007-block-add-no_part_scan-module-parameter.patch
|
||||||
# generated depending on which symbols are defined. This used to be
|
|
||||||
# a good thing when arch-specific patches contained conflicts with other
|
# Security fixes
|
||||||
# patches, but we now have a policy that patches must build everywhere.
|
0008-xen-Add-RING_COPY_RESPONSE.patch
|
||||||
# The result is a unified source tree that allows us to do neat things
|
0009-xen-netfront-copy-response-out-of-shared-buffer-befo.patch
|
||||||
# like ship kernel module packages. Creating a divergent tree breaks
|
0010-xen-netfront-do-not-use-data-already-exposed-to-back.patch
|
||||||
# these # so you'd better have an extraordinary reason for using them.
|
0011-xen-netfront-add-range-check-for-Tx-response-id.patch
|
||||||
# For example, the openSUSE 10.3 kernel uses them for segregating the
|
0012-xen-blkfront-make-local-copy-of-response-before-usin.patch
|
||||||
# -rt patches until they can be integrated completely, and these are
|
0013-xen-blkfront-prepare-request-locally-only-then-put-i.patch
|
||||||
# only applied at the very end of the series.
|
|
||||||
#
|
# MSI-X enabled device passthrough fix (#1734)
|
||||||
# The most common use in recent kernels is to disable a patch with a
|
0014-xen-pcifront-pciback-Update-pciif.h-with-err-and-res.patch
|
||||||
# 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
|
# Fix for MSI support with stubdoms
|
||||||
# own build environment.
|
0015-xen-pciback-add-attribute-to-allow-MSI-enable-flag-w.patch
|
||||||
|
|
||||||
########################################################
|
|
||||||
# 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
|
|
||||||
|
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