summaryrefslogtreecommitdiffstats
path: root/kernel-s390x-zfcpdump-rhel.config
blob: f74b6b96e676a3c2f9538cf5547e79a3bfc1d2d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
/*
   SSSD

   PAM Responder

   Copyright (C) Simo Sorce <ssorce@redhat.com>	2009
   Copyright (C) Sumit Bose <sbose@redhat.com>	2009

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3 of the License, or
   (at your option) any later version.

   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.

   You should have received a copy of the GNU General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#include <time.h>
#include "util/util.h"
#include "util/auth_utils.h"
#include "db/sysdb.h"
#include "confdb/confdb.h"
#include "responder/common/responder_packet.h"
#include "responder/common/responder.h"
#include "responder/common/negcache.h"
#include "providers/data_provider.h"
#include "responder/pam/pamsrv.h"
#include "responder/pam/pam_helpers.h"
#include "responder/common/cache_req/cache_req.h"
#include "db/sysdb.h"

enum pam_verbosity {
    PAM_VERBOSITY_NO_MESSAGES = 0,
    PAM_VERBOSITY_IMPORTANT,
    PAM_VERBOSITY_INFO,
    PAM_VERBOSITY_DEBUG
};

#define DEFAULT_PAM_VERBOSITY PAM_VERBOSITY_IMPORTANT

static errno_t
pam_null_last_online_auth_with_curr_token(struct sss_domain_info *domain,
                                          const char *username);
static errno_t
pam_get_last_online_auth_with_curr_token(struct sss_domain_info *domain,
                                         const char *name,
                                         uint64_t *_value);

static void pam_reply(struct pam_auth_req *preq);

static errno_t check_cert(TALLOC_CTX *mctx,
                          struct tevent_context *ev,
                          struct pam_ctx *pctx,
                          struct pam_auth_req *preq,
                          struct pam_data *pd);

static int pam_check_user_done(struct pam_auth_req *preq, int ret);

static errno_t pack_user_info_msg(TALLOC_CTX *mem_ctx,
                                  const char *user_error_message,
                                  size_t *resp_len,
                                  uint8_t **_resp)
{
    uint32_t resp_type = SSS_PAM_USER_INFO_ACCOUNT_EXPIRED;
    size_t err_len;
    uint8_t *resp;
    size_t p;

    err_len = strlen(user_error_message);
    *resp_len = 2 * sizeof(uint32_t) + err_len;
    resp = talloc_size(mem_ctx, *resp_len);
    if (resp == NULL) {
        DEBUG(SSSDBG_CRIT_FAILURE, "talloc_size failed.\n");
        return ENOMEM;
    }

    p = 0;
    SAFEALIGN_SET_UINT32(&resp[p], resp_type, &p);
    SAFEALIGN_SET_UINT32(&resp[p], err_len, &p);
    safealign_memcpy(&resp[p], user_error_message, err_len, &p);
    if (p != *resp_len) {
        DEBUG(SSSDBG_FATAL_FAILURE, "Size mismatch\n");
    }

    *_resp = resp;
    return EOK;
}

static void inform_user(struct pam_data* pd, const char *pam_message)
{
    size_t msg_len;
    uint8_t *msg;
    errno_t ret;

    ret = pack_user_info_msg(pd, pam_message, &msg_len, &msg);
    if (ret != EOK) {
        DEBUG(SSSDBG_CRIT_FAILURE,
              "pack_user_info_account_expired failed.\n");
    } else {
        ret = pam_add_response(pd, SSS_PAM_USER_INFO, msg_len, msg);
        if (ret != EOK) {
            DEBUG(SSSDBG_CRIT_FAILURE, "pam_add_response failed.\n");
        }
    }
}

static bool is_domain_requested(struct pam_data *pd, const char *domain_name)
{
    int i;

    /* If none specific domains got requested via pam, all domains are allowed.
     * Which mimics the default/original behaviour.
     */
    if (!pd->requested_domains) {
        return true;
    }

    for (i = 0; pd->requested_domains[i]; i++) {
        if (strcasecmp(domain_name, pd->requested_domains[i])) {
            continue;
        }

        return true;
    }

    return false;
}

static int extract_authtok_v2(struct sss_auth_token *tok,
                              size_t data_size, uint8_t *body, size_t blen,
                              size_t *c)
{
    uint32_t auth_token_type;
    uint32_t auth_token_length;
    uint8_t *auth_token_data;
    int ret = EOK;

    if (data_size < sizeof(uint32_t) || *c+data_size > blen ||
        SIZE_T_OVERFLOW(*c, data_size)) return EINVAL;

    SAFEALIGN_COPY_UINT32_CHECK(&auth_token_type, &body[*c], blen, c);
    auth_token_length = data_size - sizeof(uint32_t);
    auth_token_data = body+(*c);

    switch (auth_token_type) {
    case SSS_AUTHTOK_TYPE_EMPTY:
        sss_authtok_set_empty(tok);
        break;
    case SSS_AUTHTOK_TYPE_PASSWORD:
        if (auth_token_length == 0) {
            sss_authtok_set_empty(tok);
        } else {
            ret = sss_authtok_set_password(tok, (const char *)auth_token_data,
                                           auth_token_length);
        }
        break;
    case SSS_AUTHTOK_TYPE_2FA:
    case SSS_AUTHTOK_TYPE_SC_PIN:
    case SSS_AUTHTOK_TYPE_SC_KEYPAD:
        ret = sss_authtok_set(tok, auth_token_type,
                              auth_token_data, auth_token_length);
        break;
    default:
        return EINVAL;
    }

    *c += auth_token_length;

    return ret;
}

static int extract_string(char **var, size_t size, uint8_t *body, size_t blen,
                          size_t *c) {
    uint8_t *str;

    if (*c+size > blen || SIZE_T_OVERFLOW(*c, size)) return EINVAL;

    str = body+(*c);

    if (str[size-1]!='\0') return EINVAL;

    /* If the string isn't valid UTF-8, fail */
    if (!sss_utf8_check(str, size-1)) {
        return EINVAL;
    }

    *c += size;

    *var = (char *) str;

    return EOK;
}

static int extract_uint32_t(uint32_t *var, size_t size, uint8_t *body,
                            size_t blen, size_t *c) {

    if (size != sizeof(uint32_t) || *c+size > blen || SIZE_T_OVERFLOW(*c, size))
        return EINVAL;

    SAFEALIGN_COPY_UINT32_CHECK(var, &body[*c], blen, c);

    return EOK;
}

static int pd_set_primary_name(const struct ldb_message *msg,struct pam_data *pd)
{
    const char *name;

    name = ldb_msg_find_attr_as_string(msg, SYSDB_NAME, NULL);
    if (!name) {
        DEBUG(SSSDBG_CRIT_FAILURE, "A user with no name?\n");
        return EIO;
    }

    if (strcmp(pd->user, name)) {
        DEBUG(SSSDBG_TRACE_FUNC, "User's primary name is %s\n", name);
        talloc_free(pd->user);
        pd->user = talloc_strdup(pd, name);
        if (!pd->user) return ENOMEM;
    }

    return EOK;
}

static int pam_parse_in_data_v2(struct pam_data *pd,
                                uint8_t *body, size_t blen)
{
    size_t c;
    uint32_t type;
    uint32_t size;
    int ret;
    uint32_t start;
    uint32_t terminator;
    char *requested_domains;

    if (blen < 4*sizeof(uint32_t)+2) {
        DEBUG(SSSDBG_CRIT_FAILURE, "Received data is invalid.\n");
        return EINVAL;
    }

    SAFEALIGN_COPY_UINT32(&start, body, NULL);
    SAFEALIGN_COPY_UINT32(&terminator, body + blen - sizeof(uint32_t), NULL);

    if (start != SSS_START_OF_PAM_REQUEST
        || terminator != SSS_END_OF_PAM_REQUEST) {
        DEBUG(SSSDBG_CRIT_FAILURE, "Received data is invalid.\n");
        return EINVAL;
    }

    c = sizeof(uint32_t);
    do {
        SAFEALIGN_COPY_UINT32_CHECK(&type, &body[c], blen, &c);

        if (type == SSS_END_OF_PAM_REQUEST) {
            if (c != blen) return EINVAL;
        } else {
            SAFEALIGN_COPY_UINT32_CHECK(&size, &body[c], blen, &c);
            /* the uint32_t end maker SSS_END_OF_PAM_REQUEST does not count to
             * the remaining buffer */
            if (size > (blen - c - sizeof(uint32_t))) {
                DEBUG(SSSDBG_CRIT_FAILURE, "Invalid data size.\n");
                return EINVAL;
            }

            switch(type) {
                case SSS_PAM_ITEM_USER:
                    ret = extract_string(&pd->logon_name, size, body, blen, &c);
                    if (ret != EOK) return ret;
                    break;
                case SSS_PAM_ITEM_SERVICE:
                    ret = extract_string(&pd->service, size, body, blen, &c);
                    if (ret != EOK) return ret;
                    break;
                case SSS_PAM_ITEM_TTY:
                    ret = extract_string(&pd->tty, size, body, blen, &c);
                    if (ret != EOK) return ret;
                    break;
                case SSS_PAM_ITEM_RUSER:
                    ret = extract_string(&pd->ruser, size, body, blen, &c);
                    if (ret != EOK) return ret;
                    break;
                case SSS_PAM_ITEM_RHOST:
                    ret = extract_string(&pd->rhost, size, body, blen, &c);
                    if (ret != EOK) return ret;
                    break;
                case SSS_PAM_ITEM_REQUESTED_DOMAINS:
                    ret = extract_string(&requested_domains, size, body, blen,
                                         &c);
                    if (ret != EOK) return ret;

                    ret = split_on_separator(pd, requested_domains, ',', true,
                                             true, &pd->requested_domains,
                                             NULL);
                    if (ret != EOK) {
                        DEBUG(SSSDBG_CRIT_FAILURE,
                              "Failed to parse requested_domains list!\n");
                        return ret;
                    }
                    break;
                case SSS_PAM_ITEM_CLI_PID:
                    ret = extract_uint32_t(&pd->cli_pid, size,
                                           body, blen, &c);
                    if (ret != EOK) return ret;
                    break;
                case SSS_PAM_ITEM_AUTHTOK:
                    ret = extract_authtok_v2(pd->authtok,
                                             size, body, blen, &c);
                    if (ret != EOK) return ret;
                    break;
                case SSS_PAM_ITEM_NEWAUTHTOK:
                    ret = extract_authtok_v2(pd->newauthtok,
                                             size, body, blen, &c);
                    if (ret != EOK) return ret;
                    break;
                default:
                    DEBUG(SSSDBG_CRIT_FAILURE,
                          "Ignoring unknown data type [%d].\n", type);
                    c += size;
            }
        }

    } while(c < blen);

    return EOK;

}

static int pam_parse_in_data_v3(struct pam_data *pd,
                                uint8_t *body, size_t blen)
{
    int ret;

    ret = pam_parse_in_data_v2(pd, body, blen);
    if (ret != EOK) {
        DEBUG(SSSDBG_CRIT_FAILURE, "pam_parse_in_data_v2 failed.\n");
        return ret;
    }

    if (pd->cli_pid == 0) {
        DEBUG(SSSDBG_CRIT_FAILURE, "Missing client PID.\n");
        return EINVAL;
    }

    return EOK;
}

static int extract_authtok_v1(struct sss_auth_token *tok,
                              uint8_t *body, size_t blen, size_t *c)
{
    uint32_t auth_token_type;
    uint32_t auth_token_length;
    uint8_t *auth_token_data;
    int ret = EOK;

    SAFEALIGN_COPY_UINT32_CHECK(&auth_token_type, &body[*c], blen, c);
    SAFEALIGN_COPY_UINT32_CHECK(&auth_token_length, &body[*c], blen, c);
    auth_token_data = body+(*c);

    switch (auth_token_type) {
    case SSS_AUTHTOK_TYPE_EMPTY:
        sss_authtok_set_empty(tok);
        break;
    case SSS_AUTHTOK_TYPE_PASSWORD:
        ret = sss_authtok_set_password(tok, (const char *)auth_token_data,
                                       auth_token_length);
        break;
    default:
        return EINVAL;
    }

    *c += auth_token_length;

    return ret;
}

static int pam_parse_in_data(struct pam_data *pd,
                             uint8_t *body, size_t blen)
{
    size_t start;
    size_t end;
    size_t last;
    int ret;

    last = blen - 1;
    end = 0;

    /* user name */
    for (start = end; end < last; end++) if (body[end] == '\0') break;
    if (body[end++] != '\0') return EINVAL;
    pd->logon_name = (char *) &body[start];

    for (start = end; end < last; end++) if (body[end] == '\0') break;
    if (body[end++] != '\0') return EINVAL;
    pd->service = (char *) &body[start];

    for (start = end; end < last; end++) if (body[end] == '\0') break;
    if (body[end++] != '\0') return EINVAL;
    pd->tty = (char *) &body[start];

    for (start = end; end < last; end++) if (body[end] == '\0') break;
    if (body[end++] != '\0') return EINVAL;
    pd->ruser = (char *) &body[start];

    for (start = end; end < last; end++) if (body[end] == '\0') break;
    if (body[end++] != '\0') return EINVAL;
    pd->rhost = (char *) &body[start];

    ret = extract_authtok_v1(pd->authtok, body, blen, &end);
    if (ret) {
        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid auth token\n");
        return ret;
    }
    ret = extract_authtok_v1(pd->newauthtok, body, blen, &end);
    if (ret) {
        DEBUG(SSSDBG_CRIT_FAILURE, "Invalid new auth token\n");
        return ret;
    }

    DEBUG_PAM_DATA(SSSDBG_CONF_SETTINGS, pd);

    return EOK;
}

/*=Save-Last-Login-State===================================================*/

static errno_t set_last_login(struct pam_auth_req *preq)
{
    struct sysdb_attrs *attrs;
    errno_t ret;

    attrs = sysdb_new_attrs(preq);
    if (!attrs) {
        ret = ENOMEM;
        goto fail;
    }

    ret = sysdb_attrs_add_time_t(attrs, SYSDB_LAST_ONLINE_AUTH, time(NULL));
    if (ret != EOK) {
        goto fail;
    }

    ret = sysdb_attrs_add_time_t(attrs,
                                 SYSDB_LAST_ONLINE_AUTH_WITH_CURR_TOKEN,
                                 time(NULL));
    if (ret != EOK) {
        goto fail;
    }

    ret = sysdb_attrs_add_time_t(attrs, SYSDB_LAST_LOGIN, time(NULL));
    if (ret != EOK) {
        goto fail;
    }

    ret = sysdb_set_user_attr(preq->domain, preq->pd->user, attrs,
                              SYSDB_MOD_REP);
    if (ret != EOK) {
        DEBUG(SSSDBG_OP_FAILURE, "set_last_login failed.\n");
        preq->pd->pam_status = PAM_SYSTEM_ERR;
        goto fail;
    } else {
        preq->pd->last_auth_saved = true;
    }
    preq->callback(preq);

    return EOK;

fail:
    return ret;
}

static errno_t filter_responses_env(struct response_data *resp,
                                    struct pam_data *pd,
                                    char * const *pam_filter_opts)
{
    size_t c;
    const char *var_name;
    size_t var_name_len;
    const char *service;

    if (pam_filter_opts == NULL) {
        return EOK;
    }

    for (c = 0; pam_filter_opts[c] != NULL; c++) {
        if (strncmp(pam_filter_opts[c], "ENV", 3) != 0) {
            continue;
        }

        var_name = NULL;
        var_name_len = 0;
        service = NULL;
        if (pam_filter_opts[c][3] != '\0') {
            if (pam_filter_opts[c][3] != ':') {
                /* Neither plain ENV nor ENV:, ignored */
                continue;
            }

            var_name = pam_filter_opts[c] + 4;
            /* check if there is a second ':' in the option and use the following
             * data, if any, as service name. */
            service = strchr(var_name, ':');
            if (service == NULL) {
                var_name_len = strlen(var_name);
            } else {
                var_name_len = service - var_name;

                service++;
                /* handle empty service name "ENV:var:" */
                if (*service == '\0') {
                    service = NULL;
                }
            }
        }
        /* handle empty var name "ENV:" or "ENV::service" */
        if (var_name_len == 0) {
            var_name = NULL;
        }

        DEBUG(SSSDBG_TRACE_ALL,
              "Found PAM ENV filter for variable [%.*s] and service [%s].\n",
              (int) var_name_len, var_name, service);

        if (service != NULL && pd->service != NULL
                    && strcmp(service, pd->service) != 0) {
            /* current service does not match the filter */
            continue;
        }

        if (var_name == NULL) {
            /* All environment variables should be filtered */
            resp->do_not_send_to_client = true;
            continue;
        }

        if (resp->len > var_name_len && resp->data[var_name_len] == '='
                    && memcmp(resp->data, var_name, var_name_len) == 0) {
            resp->do_not_send_to_client = true;
        }
    }

    return EOK;
}

errno_t filter_responses(struct confdb_ctx *cdb,
                         struct response_data *resp_list,
                         struct pam_data *pd)
{
    int ret;
    struct response_data *resp;
    uint32_t user_info_type;
    int64_t expire_date = 0;
    int pam_verbosity = DEFAULT_PAM_VERBOSITY;
    char **pam_filter_opts = NULL;

    ret = confdb_get_int(cdb, CONFDB_PAM_CONF_ENTRY,
                         CONFDB_PAM_VERBOSITY, DEFAULT_PAM_VERBOSITY,
                         &pam_verbosity);
    if (ret != EOK) {
        DEBUG(SSSDBG_CRIT_FAILURE,
              "Failed to read PAM verbosity, not fatal.\n");
        pam_verbosity = DEFAULT_PAM_VERBOSITY;
    }

    ret = confdb_get_string_as_list(cdb, pd, CONFDB_PAM_CONF_ENTRY,
                                    CONFDB_PAM_RESPONSE_FILTER,
                                    &pam_filter_opts);
    if (ret != EOK) {
        DEBUG(SSSDBG_CONF_SETTINGS, "[%s] not available, not fatal.\n",
                                    CONFDB_PAM_RESPONSE_FILTER);
        pam_filter_opts = NULL;
    }

    resp = resp_list;
    while(resp != NULL) {
        if (resp->type == SSS_PAM_USER_INFO) {
            if (resp->len < sizeof(uint32_t)) {
                DEBUG(SSSDBG_CRIT_FAILURE, "User info entry is too short.\n");
                ret = EINVAL;
                goto done;
            }

            if (pam_verbosity == PAM_VERBOSITY_NO_MESSAGES) {
                resp->do_not_send_to_client = true;
                resp = resp->next;
                continue;
            }

            memcpy(&user_info_type, resp->data, sizeof(uint32_t));

            resp->do_not_send_to_client = false;
            switch (user_info_type) {
                case SSS_PAM_USER_INFO_OFFLINE_AUTH:
                    if (resp->len != sizeof(uint32_t) + sizeof(int64_t)) {
                        DEBUG(SSSDBG_CRIT_FAILURE,
                              "User info offline auth entry is "
                                  "too short.\n");
                        ret = EINVAL;
                        goto done;
                    }
                    memcpy(&expire_date, resp->data + sizeof(uint32_t),
                           sizeof(int64_t));
                    if ((expire_date == 0 &&
                         pam_verbosity < PAM_VERBOSITY_INFO) ||
                        (expire_date > 0 &&
                         pam_verbosity < PAM_VERBOSITY_IMPORTANT)) {
                        resp->do_not_send_to_client = true;
                    }

                    break;
                default:
                    DEBUG(SSSDBG_TRACE_LIBS,
                          "User info type [%d] not filtered.\n",
                           user_info_type);
            }
        } else if (resp->type == SSS_PAM_ENV_ITEM) {
            resp->do_not_send_to_client = false;
            ret = filter_responses_env(resp, pd, pam_filter_opts);
            if (ret != EOK) {
                DEBUG(SSSDBG_OP_FAILURE, "filter_responses_env failed.\n");
                goto done;
            }
        } else if (resp->type & SSS_SERVER_INFO) {
            resp->do_not_send_to_client = true;
        }

        resp = resp->next;
    }

    ret = EOK;
done:
    talloc_free(pam_filter_opts);

    return ret;
}

static void pam_reply_delay(struct tevent_context *ev, struct tevent_timer *te,
                            struct timeval tv, void *pvt)
{
    struct pam_auth_req *preq;

    DEBUG(SSSDBG_CONF_SETTINGS, "pam_reply_delay get called.\n");

    preq = talloc_get_type(pvt, struct pam_auth_req);

    pam_reply(preq);
}

static errno_t get_password_for_cache_auth(struct sss_auth_token *authtok,
                                           const char **password)
{
    int ret;
    size_t pw_len;
    const char *fa2;
    size_t fa2_len;

    switch (sss_authtok_get_type(authtok)) {
    case SSS_AUTHTOK_TYPE_PASSWORD:
        ret = sss_authtok_get_password(authtok, password, NULL);
        break;
    case SSS_AUTHTOK_TYPE_2FA:
        ret = sss_authtok_get_2fa(authtok, password, &pw_len, &fa2, &fa2_len);
        break;
    default:
        DEBUG(SSSDBG_FATAL_FAILURE, "Unsupported auth token type [%d].\n",
              sss_authtok_get_type(authtok));
        ret = EINVAL;
    }
    if (ret != EOK) {
        DEBUG(SSSDBG_FATAL_FAILURE, "Failed to get password.\n");
        return ret;
    }

    return EOK;
}

static int pam_forwarder(struct cli_ctx *cctx, int pam_cmd);
static void pam_handle_cached_login(struct pam_auth_req *preq, int ret,
                                    time_t expire_date, time_t delayed_until, bool cached_auth);

/*
 * Add a request to add a variable to the PAM user environment, containing the
 * actual (not overridden) user shell, in case session recording is enabled.
 */
static int pam_reply_sr_export_shell(struct pam_auth_req *preq,
                                     const char *var_name)
{
    int ret;
    TALLOC_CTX *ctx = NULL;
    bool enabled;
    const char *enabled_str;
    const char *shell;
    char *buf;

    /* Create temporary talloc context */
    ctx = talloc_new(NULL);
    if (ctx == NULL) {
        DEBUG(SSSDBG_CRIT_FAILURE, "talloc_new failed.\n");
        ret = ENOMEM;
        goto done;
    }

    /* Check if session recording is enabled */
    if (preq->cctx->rctx->sr_conf.scope ==
            SESSION_RECORDING_SCOPE_NONE) {
        enabled = false;
    } else if (preq->cctx->rctx->sr_conf.scope ==
            SESSION_RECORDING_SCOPE_ALL) {
        enabled = true;
    } else {
        enabled_str = ldb_msg_find_attr_as_string(preq->user_obj,
                                                  SYSDB_SESSION_RECORDING, NULL);
        if (enabled_str == NULL) {
            DEBUG(SSSDBG_CRIT_FAILURE,
                  "%s attribute not found\n", SYSDB_SESSION_RECORDING);
            ret = ENOENT;
            goto done;
        } else if (strcmp(enabled_str, "TRUE") == 0) {
            enabled = true;
        } else if (strcmp(enabled_str, "FALSE") == 0) {
            enabled = false;
        } else {
            DEBUG(SSSDBG_CRIT_FAILURE, "invalid value of %s attribute: %s\n",
                  SYSDB_SESSION_RECORDING, enabled_str);
            ret = ENOENT;
            goto done;
        }
    }

    /* Export original shell if recording is enabled and so it's overridden */
    if (enabled) {
        /* Extract the shell */
        shell = sss_resp_get_shell_override(preq->user_obj,
                                            preq->cctx->rctx, preq->domain);
        if (shell == NULL) {
            DEBUG(SSSDBG_CRIT_FAILURE, "user has no shell\n");
            ret = ENOENT;
            goto done;
        }

        /* Format environment entry */
        buf = talloc_asprintf(ctx, "%s=%s", var_name, shell);
        if (buf == NULL) {
            DEBUG(SSSDBG_CRIT_FAILURE, "talloc_asprintf failed.\n");
            ret = ENOMEM;
            goto done;
        }

        /* Add request to add the entry to user environment */
        ret = pam_add_response(preq->pd, SSS_PAM_ENV_ITEM,
                               strlen(buf) + 1, (uint8_t *)buf);
        if (ret != EOK) {
            DEBUG(SSSDBG_CRIT_FAILURE, "pam_add_response failed.\n");
            goto done;
        }
    }

    ret = EOK;

done:
    talloc_free(ctx);
    return ret;
}

static void pam_reply(struct pam_auth_req *preq)
{
    struct cli_ctx *cctx;
    struct cli_protocol *prctx;
    uint8_t *body;
    size_t blen;
    int ret;
    int32_t resp_c;
    int32_t resp_size;
    struct response_data *resp;
    int p;
    struct timeval tv;
    struct tevent_timer *te;
    struct pam_data *pd;
    struct pam_ctx *pctx;
    uint32_t user_info_type;
    time_t exp_date = -1;
    time_t delay_until = -1;
    char* pam_account_expired_message;
    char* pam_account_locked_message;
    int pam_verbosity;

    pd = preq->pd;
    cctx = preq->cctx;
    pctx = talloc_get_type(preq->cctx->rctx->pvt_ctx, struct pam_ctx);
    prctx = talloc_get_type(cctx->protocol_ctx, struct cli_protocol);

    ret = confdb_get_int(pctx->rctx->cdb, CONFDB_PAM_CONF_ENTRY,
                         CONFDB_PAM_VERBOSITY, DEFAULT_PAM_VERBOSITY,
                         &pam_verbosity);
    if (ret != EOK) {
        DEBUG(SSSDBG_CRIT_FAILURE,
              "Failed to read PAM verbosity, not fatal.\n");
        pam_verbosity = DEFAULT_PAM_VERBOSITY;
    }

    DEBUG(SSSDBG_FUNC_DATA,
          "pam_reply called with result [%d]: %s.\n",
          pd->pam_status, pam_strerror(NULL, pd->pam_status));

    if (pd->cmd == SSS_PAM_AUTHENTICATE
            && (pd->pam_status == PAM_AUTHINFO_UNAVAIL
                || pd->pam_status == PAM_NO_MODULE_DATA
                || pd->pam_status == PAM_BAD_ITEM)
            && may_do_cert_auth(pctx, pd)) {
        /* We have Smartcard credentials and the backend indicates that it is
         * offline (PAM_AUTHINFO_UNAVAIL) or cannot handle the credentials
         * (PAM_BAD_ITEM), so let's try authentication against the Smartcard
         * PAM_NO_MODULE_DATA is returned by the krb5 backend if no
         * authentication method was found at all, this might happen if the
         * user has a Smartcard assigned but the pkint plugin is not available
         * on the client. */
        DEBUG(SSSDBG_IMPORTANT_INFO,
              "Backend cannot handle Smartcard authentication, "
              "trying local Smartcard authentication.\n");
        preq->cert_auth_local = true;
        ret = check_cert(cctx, cctx->ev, pctx, preq, pd);
        pam_check_user_done(preq, ret);
        return;
    }

    if (pd->pam_status == PAM_AUTHINFO_UNAVAIL || preq->use_cached_auth) {

        switch(pd->cmd) {
        case SSS_PAM_AUTHENTICATE:
            if ((preq->domain != NULL) &&
                (preq->domain->cache_credentials == true) &&
                (pd->offline_auth == false)) {
                const char *password = NULL;
                bool use_cached_auth;

                /* backup value of preq->use_cached_auth*/
                use_cached_auth = preq->use_cached_auth;
                /* set to false to avoid entering this branch when pam_reply()
                 * is recursively called from pam_handle_cached_login() */
                preq->use_cached_auth = false;

                /* do auth with offline credentials */
                pd->offline_auth = true;

                if (preq->domain->sysdb == NULL) {
                    DEBUG(SSSDBG_FATAL_FAILURE,
                          "Fatal: Sysdb CTX not found for domain"
                              " [%s]!\n", preq->domain->name);
                    goto done;
                }

                ret = get_password_for_cache_auth(pd->authtok, &password);
                if (ret != EOK) {
                    DEBUG(SSSDBG_FATAL_FAILURE,
                          "get_password_and_type_for_cache_auth failed.\n");
                    goto done;
                }

                ret = sysdb_cache_auth(preq->domain,
                                       pd->user, password,
                                       pctx->rctx->cdb, false,
                                       &exp_date, &delay_until);

                pam_handle_cached_login(preq, ret, exp_date, delay_until,
                                        use_cached_auth);
                return;
            }
            break;
        case SSS_PAM_CHAUTHTOK_PRELIM:
        case SSS_PAM_CHAUTHTOK:
            DEBUG(SSSDBG_FUNC_DATA,
                  "Password change not possible while offline.\n");
            pd->pam_status = PAM_AUTHTOK_ERR;
            user_info_type = SSS_PAM_USER_INFO_OFFLINE_CHPASS;
            ret = pam_add_response(pd, SSS_PAM_USER_INFO, sizeof(uint32_t),
                                   (const uint8_t *) &user_info_type);
            if (ret != EOK) {
                DEBUG(SSSDBG_CRIT_FAILURE, "pam_add_response failed.\n");
                goto done;
            }
            break;
/* TODO: we need the pam session cookie here to make sure that cached
 * authentication was successful */
        case SSS_PAM_SETCRED:
        case SSS_PAM_ACCT_MGMT:
        case SSS_PAM_OPEN_SESSION:
        case SSS_PAM_CLOSE_SESSION:
            DEBUG(SSSDBG_OP_FAILURE,
                  "Assuming offline authentication setting status for "
                      "pam call %d to PAM_SUCCESS.\n", pd->cmd);
            pd->pam_status = PAM_SUCCESS;
            break;
        default:
            DEBUG(SSSDBG_CRIT_FAILURE, "Unknown PAM call [%d].\n", pd->cmd);
            pd->pam_status = PAM_MODULE_UNKNOWN;
        }
    }

    if (pd->pam_status == PAM_SUCCESS && pd->cmd == SSS_PAM_CHAUTHTOK) {
        ret = pam_null_last_online_auth_with_curr_token(preq->domain,
                                                        pd->user);
        if (ret != EOK) {
            DEBUG(SSSDBG_CRIT_FAILURE,
                  "sysdb_null_last_online_auth_with_curr_token failed: "
                  "%s [%d].\n", sss_strerror(ret), ret);
            goto done;
        }
    }

    if (pd->response_delay > 0) {
        ret = gettimeofday(&tv, NULL);
        if (ret != EOK) {
            DEBUG(SSSDBG_CRIT_FAILURE, "gettimeofday failed [%d][%s].\n",
                  errno, strerror(errno));
            goto done;
        }
        tv.tv_sec += pd->response_delay;
        tv.tv_usec = 0;
        pd->response_delay = 0;

        te = tevent_add_timer(cctx->ev, cctx, tv, pam_reply_delay, preq);
        if (te == NULL) {
            DEBUG(SSSDBG_CRIT_FAILURE,
                  "Failed to add event pam_reply_delay.\n");
            goto done;
        }

        return;
    }

    /* If this was a successful login, save the lastLogin time */
    if (pd->cmd == SSS_PAM_AUTHENTICATE &&
        pd->pam_status == PAM_SUCCESS &&
        preq->domain->cache_credentials &&
        !pd->offline_auth &&
        !pd->last_auth_saved &&
        NEED_CHECK_PROVIDER(preq->domain->provider)) {
        ret = set_last_login(preq);
        if (ret != EOK) {
            goto done;
        }
        return;
    }

    ret = sss_packet_new(prctx->creq, 0, sss_packet_get_cmd(prctx->creq->in),
                         &prctx->creq->out);
    if (ret != EOK) {
        goto done;
    }

    /* Account expiration warning is printed for sshd. If pam_verbosity
     * is equal or above PAM_VERBOSITY_INFO then all services are informed
     * about account expiration.
     */
    if (pd->pam_status == PAM_ACCT_EXPIRED &&
        ((pd->service != NULL && strcasecmp(pd->service, "sshd") == 0) ||
         pam_verbosity >= PAM_VERBOSITY_INFO)) {

        ret = confdb_get_string(pctx->rctx->cdb, pd, CONFDB_PAM_CONF_ENTRY,
                                CONFDB_PAM_ACCOUNT_EXPIRED_MESSAGE, "",
                                &pam_account_expired_message);
        if (ret != EOK) {
            DEBUG(SSSDBG_MINOR_FAILURE,
                  "Failed to get expiration message: %d:[%s].\n",
                  ret, sss_strerror(ret));
            goto done;
        }

        inform_user(pd, pam_account_expired_message);
    }

    if (pd->account_locked) {

        ret = confdb_get_string(pctx->rctx->cdb, pd, CONFDB_PAM_CONF_ENTRY,
                                CONFDB_PAM_ACCOUNT_LOCKED_MESSAGE, "",
                                &pam_account_locked_message);
        if (ret != EOK) {
            DEBUG(SSSDBG_MINOR_FAILURE,
                  "Failed to get expiration message: %d:[%s].\n",
                  ret, sss_strerror(ret));
            goto done;
        }

        inform_user(pd, pam_account_locked_message);
    }

    ret = filter_responses(pctx->rctx->cdb, pd->resp_list, pd);
    if (ret != EOK) {
        DEBUG(SSSDBG_CRIT_FAILURE, "filter_responses failed, not fatal.\n");
    }

    if (pd->domain != NULL) {
        ret = pam_add_response(pd, SSS_PAM_DOMAIN_NAME, strlen(pd->domain)+1,
                               (uint8_t *) pd->domain);
        if (ret != EOK) {
            DEBUG(SSSDBG_CRIT_FAILURE, "pam_add_response failed.\n");
            goto done;
        }
    }

    /*
     * Export non-overridden shell to tlog-rec-session when opening the session
     */
    if (pd->cmd == SSS_PAM_OPEN_SESSION && pd->pam_status == PAM_SUCCESS) {
        ret = pam_reply_sr_export_shell(preq, "TLOG_REC_SESSION_SHELL");
        if (ret != EOK) {
            DEBUG(SSSDBG_CRIT_FAILURE,
                  "failed to export the shell to tlog-rec-session.\n");
            goto done;
        }
    }

    resp_c = 0;
    resp_size = 0;
    resp = pd->resp_list;
    while(resp != NULL) {
        if (!resp->do_not_send_to_client) {
            resp_c++;
            resp_size += resp->len;
        }
        resp = resp->next;
    }

    ret = sss_packet_grow(prctx->creq->out, sizeof(int32_t) +
                                           sizeof(int32_t) +
                                           resp_c * 2* sizeof(int32_t) +
                                           resp_size);
    if (ret != EOK) {
        goto done;
    }

    sss_packet_get_body(prctx->creq->out, &body, &blen);
    DEBUG(SSSDBG_FUNC_DATA, "blen: %zu\n", blen);
    p = 0;

    memcpy(&body[p], &pd->pam_status, sizeof(int32_t));
    p += sizeof(int32_t);

    memcpy(&body[p], &resp_c, sizeof(int32_t));
    p += sizeof(int32_t);

    resp = pd->resp_list;
    while(resp != NULL) {
        if (!resp->do_not_send_to_client) {
            memcpy(&body[p], &resp->type, sizeof(int32_t));
            p += sizeof(int32_t);
            memcpy(&body[p], &resp->len, sizeof(int32_t));
            p += sizeof(int32_t);
            memcpy(&body[p], resp->data, resp->len);
            p += resp->len;
        }

        resp = resp->next;
    }

done:
    sss_cmd_done(cctx, preq);
}

static void pam_dom_forwarder(struct pam_auth_req *preq);

static void pam_handle_cached_login(struct pam_auth_req *preq, int ret,
                                    time_t expire_date, time_t delayed_until,
                                    bool use_cached_auth)
{
    uint32_t resp_type;
    size_t resp_len;
    uint8_t *resp;
    int64_t dummy;

    preq->pd->pam_status = cached_login_pam_status(ret);

    switch (preq->pd->pam_status) {
        case PAM_SUCCESS:
            resp_type = SSS_PAM_USER_INFO_OFFLINE_AUTH;
            resp_len = sizeof(uint32_t) + sizeof(int64_t);
            resp = talloc_size(preq->pd, resp_len);
            if (resp == NULL) {
                DEBUG(SSSDBG_CRIT_FAILURE,
                      "talloc_size failed, cannot prepare user info.\n");
            } else {
                memcpy(resp, &resp_type, sizeof(uint32_t));
                dummy = (int64_t) expire_date;
                memcpy(resp+sizeof(uint32_t), &dummy, sizeof(int64_t));
                ret = pam_add_response(preq->pd, SSS_PAM_USER_INFO, resp_len,
                                       (const uint8_t *) resp);
                if (ret != EOK) {
                    DEBUG(SSSDBG_CRIT_FAILURE, "pam_add_response failed.\n");
                }
            }
            break;
        case PAM_PERM_DENIED:
            if (delayed_until >= 0) {
                resp_type = SSS_PAM_USER_INFO_OFFLINE_AUTH_DELAYED;
                resp_len = sizeof(uint32_t) + sizeof(int64_t);
                resp = talloc_size(preq->pd, resp_len);
                if (resp == NULL) {
                    DEBUG(SSSDBG_CRIT_FAILURE,
                          "talloc_size failed, cannot prepare user info.\n");
                } else {
                    memcpy(resp, &resp_type, sizeof(uint32_t));
                    dummy = (int64_t) delayed_until;
                    memcpy(resp+sizeof(uint32_t), &dummy, sizeof(int64_t));
                    ret = pam_add_response(preq->pd, SSS_PAM_USER_INFO, resp_len,
                                           (const uint8_t *) resp);
                    if (ret != EOK) {
                        DEBUG(SSSDBG_CRIT_FAILURE,
                              "pam_add_response failed.\n");
                    }
                }
            }
            break;
        case PAM_AUTH_ERR:
            /* Was this attempt to authenticate from cache? */
            if (use_cached_auth) {
                /* Don't try cached authentication again, try online check. */
                DEBUG(SSSDBG_FUNC_DATA,
                      "Cached authentication failed for: %s\n",
                      preq->pd->user);
                preq->cached_auth_failed = true;
                pam_dom_forwarder(preq);
                return;
            }
            break;
        default:
            DEBUG(SSSDBG_TRACE_LIBS,
                  "cached login returned: %d\n", preq->pd->pam_status);
    }

    pam_reply(preq);
    return;
}

static void pam_forwarder_cb(struct tevent_req *req);
static void pam_forwarder_cert_cb(struct tevent_req *req);
static int pam_check_user_search(struct pam_auth_req *preq);


/* TODO: we should probably return some sort of cookie that is set in the
 * PAM_ENVIRONMENT, so that we can save performing some calls and cache
 * data. */

static errno_t pam_forwarder_parse_data(struct cli_ctx *cctx, struct pam_data *pd)
{
    struct cli_protocol *prctx;
    uint8_t *body;
    size_t blen;
    errno_t ret;
    uint32_t terminator;

    prctx = talloc_get_type(cctx->protocol_ctx, struct cli_protocol);

    sss_packet_get_body(prctx->creq->in, &body, &blen);
    if (blen >= sizeof(uint32_t)) {
        SAFEALIGN_COPY_UINT32(&terminator,
                              body + blen - sizeof(uint32_t),
                              NULL);
        if (terminator != SSS_END_OF_PAM_REQUEST) {
            DEBUG(SSSDBG_CRIT_FAILURE, "Received data not terminated.\n");
            ret = EINVAL;
            goto done;
        }
    }

    switch (prctx->cli_protocol_version->version) {
        case 1:
            ret = pam_parse_in_data(pd, body, blen);
            break;
        case 2:
            ret = pam_parse_in_data_v2(pd, body, blen);
            break;
        case 3:
            ret = pam_parse_in_data_v3(pd, body, blen);
            break;
        default:
            DEBUG(SSSDBG_CRIT_FAILURE, "Illegal protocol version [%d].\n",
                      prctx->cli_protocol_version->version);
            ret = EINVAL;
    }
    if (ret != EOK) {
        goto done;
    }

    if (pd->logon_name != NULL) {
        ret = sss_parse_name_for_domains(pd, cctx->rctx->domains,
                                         cctx->rctx->default_domain,
                                         pd->logon_name,
                                         &pd->domain, &pd->user);
    } else {
        /* Only SSS_PAM_PREAUTH request may have a missing name, e.g. if the
         * name is determined with the help of a certificate */
        if (pd->cmd == SSS_PAM_PREAUTH
                && may_do_cert_auth(talloc_get_type(cctx->rctx->pvt_ctx,
                                                    struct pam_ctx), pd)) {
            ret = EOK;
        } else {
            DEBUG(SSSDBG_CRIT_FAILURE, "Missing logon name in PAM request.\n");
            ret = ERR_NO_CREDS;
            goto done;
        }
    }

    DEBUG_PAM_DATA(SSSDBG_CONF_SETTINGS, pd);

done:
    return ret;
}

static int pam_auth_req_destructor(struct pam_auth_req *preq)
{
    if (preq && preq->dpreq_spy) {
        /* If there is still a request pending, tell the spy
         * the client is going away
         */
        preq->dpreq_spy->preq = NULL;
    }
    return 0;
}

static bool is_uid_trusted(struct cli_creds *creds,
                           size_t trusted_uids_count,
                           uid_t *trusted_uids)
{
    errno_t ret;

    /* root is always trusted */
    if (client_euid(creds) == 0) {
        return true;
    }

    /* All uids are allowed */
    if (trusted_uids_count == 0) {
        return true;
    }

    ret = check_allowed_uids(client_euid(creds), trusted_uids_count, trusted_uids);
    if (ret == EOK) return true;

    return false;
}

static bool is_domain_public(char *name,
                             char **public_dom_names,
                             size_t public_dom_names_count)
{
    size_t i;

    for(i=0; i < public_dom_names_count; i++) {
        if (strcasecmp(name, public_dom_names[i]) == 0) {
            return true;
        }
    }
    return false;
}

static enum cache_req_dom_type
get_domain_request_type(struct pam_auth_req *preq,
                        struct pam_ctx *pctx)
{
    enum cache_req_dom_type req_dom_type;

    /* By default, only POSIX domains are to be contacted */
    req_dom_type = CACHE_REQ_POSIX_DOM;

    for (int i = 0; pctx->app_services[i]; i++) {
        if (strcmp(pctx->app_services[i], preq->pd->service) == 0) {
            req_dom_type = CACHE_REQ_APPLICATION_DOM;
            break;
        }
    }

    return req_dom_type;
}

static errno_t check_cert(TALLOC_CTX *mctx,
                          struct tevent_context *ev,
                          struct pam_ctx *pctx,
                          struct pam_auth_req *preq,
                          struct pam_data *pd)
{
    int p11_child_timeout;
    const int P11_CHILD_TIMEOUT_DEFAULT = 10;
    char *cert_verification_opts;
    errno_t ret;
    struct tevent_req *req;

    ret = confdb_get_int(pctx->rctx->cdb, CONFDB_PAM_CONF_ENTRY,
                         CONFDB_PAM_P11_CHILD_TIMEOUT,
                         P11_CHILD_TIMEOUT_DEFAULT,
                         &p11_child_timeout);
    if (ret != EOK) {
        DEBUG(SSSDBG_CRIT_FAILURE,
              "Failed to read p11_child_timeout from confdb: [%d]: %s\n",
              ret, sss_strerror(ret));
        return ret;
    }

    ret = confdb_get_string(pctx->rctx->cdb, mctx, CONFDB_MONITOR_CONF_ENTRY,
                            CONFDB_MONITOR_CERT_VERIFICATION, NULL,
                            &cert_verification_opts);
    if (ret != EOK) {
        DEBUG(SSSDBG_CRIT_FAILURE,
              "Failed to read certificate_verification from confdb: [%d]: %s\n",
              ret, sss_strerror(ret));
        return ret;
    }

    req = pam_check_cert_send(mctx, ev, pctx->p11_child_debug_fd,
                              pctx->nss_db, p11_child_timeout,
                              cert_verification_opts, pd);
    if (req == NULL) {
        DEBUG(SSSDBG_OP_FAILURE, "pam_check_cert_send failed.\n");
        return ENOMEM;
    }

    tevent_req_set_callback(req, pam_forwarder_cert_cb, preq);
    return EAGAIN;
}

static int pam_forwarder(struct cli_ctx *cctx, int pam_cmd)
{
    struct pam_auth_req *preq;
    struct pam_data *pd;
    int ret;
    struct pam_ctx *pctx =
            talloc_get_type(cctx->rctx->pvt_ctx, struct pam_ctx);
    struct tevent_req *req;

    preq = talloc_zero(cctx, struct pam_auth_req);
    if (!preq) {
        return ENOMEM;
    }
    talloc_set_destructor(preq, pam_auth_req_destructor);
    preq->cctx = cctx;
    preq->cert_auth_local = false;

    preq->pd = create_pam_data(preq);
    if (!preq->pd) {
        talloc_free(preq);
        return ENOMEM;
    }
    pd = preq->pd;

    preq->is_uid_trusted = is_uid_trusted(cctx->creds,
                                          pctx->trusted_uids_count,
                                          pctx->trusted_uids);

    if (!preq->is_uid_trusted) {
        DEBUG(SSSDBG_MINOR_FAILURE, "uid %"SPRIuid" is not trusted.\n",
              client_euid(cctx->creds));
    }


    pd->cmd = pam_cmd;
    pd->priv = cctx->priv;

    ret = pam_forwarder_parse_data(cctx, pd);
    if (ret == EAGAIN) {
        req = sss_dp_get_domains_send(cctx->rctx, cctx->rctx, true, pd->domain);
        if (req == NULL) {
            ret = ENOMEM;
        } else {
            tevent_req_set_callback(req, pam_forwarder_cb, preq);
            ret = EAGAIN;
        }
        goto done;
    } else if (ret != EOK) {
        goto done;
    }

    /* Determine what domain type to contact */
    preq->req_dom_type = get_domain_request_type(preq, pctx);

    /* try backend first for authentication before doing local Smartcard
     * authentication */
    if (pd->cmd != SSS_PAM_AUTHENTICATE && may_do_cert_auth(pctx, pd)) {
        ret = check_cert(cctx, cctx->ev, pctx, preq, pd);
        /* Finish here */
        goto done;
    }

    ret = pam_check_user_search(preq);

done:
    return pam_check_user_done(preq, ret);
}

static void pam_forwarder_lookup_by_cert_done(struct tevent_req *req);
static void pam_forwarder_cert_cb(struct tevent_req *req)
{
    struct pam_auth_req *preq = tevent_req_callback_data(req,
                                                         struct pam_auth_req);
    struct cli_ctx *cctx = preq->cctx;
    struct pam_data *pd;
    errno_t ret = EOK;
    char *cert;
    struct pam_ctx *pctx =
            talloc_get_type(preq->cctx->rctx->pvt_ctx, struct pam_ctx);

    ret = pam_check_cert_recv(req, preq, &cert, &preq->token_name,
                                                &preq->module_name,
                                                &preq->key_id);
    talloc_free(req);
    if (ret != EOK) {
        DEBUG(SSSDBG_OP_FAILURE, "get_cert request failed.\n");
        goto done;
    }

    pd = preq->pd;

    if (cert == NULL) {
        if (pd->logon_name == NULL) {
            DEBUG(SSSDBG_CRIT_FAILURE,
                  "No certificate found and no logon name given, " \
                  "authentication not possible.\n");
            ret = ENOENT;
        } else {
            if (pd->cmd == SSS_PAM_AUTHENTICATE) {
                DEBUG(SSSDBG_CRIT_FAILURE,
                      "No certificate returned, authentication failed.\n");
                ret = ENOENT;
            } else {
                ret = pam_check_user_search(preq);
            }

        }
        goto done;
    }


    req = cache_req_user_by_cert_send(preq, cctx->ev, cctx->rctx,
                                      pctx->rctx->ncache, 0,
                                      preq->req_dom_type, NULL,
                                      cert);
    if (req == NULL) {
        DEBUG(SSSDBG_OP_FAILURE, "cache_req_user_by_cert_send failed.\n");
        ret = ENOMEM;
        goto done;
    }
    tevent_req_set_callback(req, pam_forwarder_lookup_by_cert_done, preq);
    return;

done:
    pam_check_user_done(preq, ret);
}

static errno_t get_results_from_all_domains(TALLOC_CTX *mem_ctx,
                                            struct cache_req_result **results,
                                            struct ldb_result **ldb_results)
{
    int ret;
    size_t count = 0;
    size_t c;
    size_t d;
    size_t r = 0;
    struct ldb_result *res;

    for (d = 0; results != NULL && results[d] != NULL; d++) {
        count += results[d]->count;
    }

    res = talloc_zero(mem_ctx, struct ldb_result);
    if (res == NULL) {
        DEBUG(SSSDBG_OP_FAILURE, "talloc_zero failed.\n");
        return ENOMEM;
    }

    if (count == 0) {
        *ldb_results = res;
        return EOK;
    }

    res->msgs = talloc_zero_array(res, struct ldb_message *, count);
    if (res->msgs == NULL) {
        DEBUG(SSSDBG_OP_FAILURE, "talloc_zero_array failed.\n");
        return ENOMEM;
    }
    res->count = count;

    for (d = 0; results != NULL && results[d] != NULL; d++) {
        for (c = 0; c < results[d]->count; c++) {
            if (r >= count) {
                DEBUG(SSSDBG_CRIT_FAILURE,
                      "More results found then counted before.\n");
                ret = EINVAL;
                goto done;
            }
            res->msgs[r++] = talloc_steal(res->msgs, results[d]->msgs[c]);
        }
    }

    *ldb_results = res;
    ret = EOK;

done:
    if (ret != EOK) {
        talloc_free(res);
    }

    return ret;
}

static void pam_forwarder_lookup_by_cert_done(struct tevent_req *req)
{
    int ret;
    struct cache_req_result **results;
    struct pam_auth_req *preq = tevent_req_callback_data(req,
                                                         struct pam_auth_req);
    const char *cert_user = NULL;

    ret = cache_req_recv(preq, req, &results);
    talloc_zfree(req);
    if (ret != EOK && ret != ENOENT) {
        DEBUG(SSSDBG_OP_FAILURE, "cache_req_user_by_cert request failed.\n");
        goto done;
    }

    if (ret == EOK) {
        ret = get_results_from_all_domains(preq, results,
                                           &preq->cert_user_objs);
        if (ret != EOK) {
            DEBUG(SSSDBG_OP_FAILURE, "get_results_from_all_domains failed.\n");
            goto done;
        }

        if (preq->pd->logon_name == NULL) {
            if (preq->pd->cmd != SSS_PAM_PREAUTH) {
                DEBUG(SSSDBG_CRIT_FAILURE,
                      "Missing logon name only allowed during pre-auth.\n");
                ret = ENOENT;
                goto done;
            }

            if (preq->cert_user_objs->count == 1) {
                cert_user = ldb_msg_find_attr_as_string(
                                                  preq->cert_user_objs->msgs[0],
                                                  SYSDB_NAME, NULL);
                if (cert_user == NULL) {
                    DEBUG(SSSDBG_CRIT_FAILURE,
                          "Certificate user object has not name.\n");
                    ret = ENOENT;
                    goto done;
                }

                DEBUG(SSSDBG_FUNC_DATA,
                      "Found certificate user [%s].\n", cert_user);

                ret = sss_parse_name_for_domains(preq->pd,
                                               preq->cctx->rctx->domains,
                                               preq->cctx->rctx->default_domain,
                                               cert_user,
                                               &preq->pd->domain,
                                               &preq->pd->user);
                if (ret != EOK) {
                    DEBUG(SSSDBG_OP_FAILURE,
                          "sss_parse_name_for_domains failed.\n");
                    goto done;
                }
            }

            if (preq->cctx->rctx->domains->user_name_hint) {
                ret = add_pam_cert_response(preq->pd, cert_user,
                                            preq->token_name,
                                            preq->module_name,
                                            preq->key_id,
                                            SSS_PAM_CERT_INFO_WITH_HINT);
                if (ret != EOK) {
                    DEBUG(SSSDBG_OP_FAILURE, "add_pam_cert_response failed.\n");
                    preq->pd->pam_status = PAM_AUTHINFO_UNAVAIL;
                }
                ret = EOK;
                preq->pd->pam_status = PAM_SUCCESS;
                pam_reply(preq);
                goto done;
            }

            /* Without user name hints the certificate must map to single user
             * if no login name was given */
            if (cert_user == NULL) {
                DEBUG(SSSDBG_CRIT_FAILURE,
                      "More than one user mapped to certificate.\n");
                ret = ERR_NO_CREDS;
                goto done;
            }

            /* cert_user will be returned to the PAM client as user name, so
             * we can use it here already e.g. to set in initgroups timeout */
            preq->pd->logon_name = talloc_strdup(preq->pd, cert_user);
            if (preq->pd->logon_name == NULL) {
                DEBUG(SSSDBG_OP_FAILURE, "talloc_strdup failed.\n");
                ret = ENOMEM;
                goto done;
            }
        }
    } else {
        if (preq->pd->logon_name == NULL) {
            DEBUG(SSSDBG_CRIT_FAILURE,
                  "Missing logon name and no certificate user found.\n");
            ret = ENOENT;
            goto done;
        }
    }

    if (preq->user_obj == NULL) {
        ret = pam_check_user_search(preq);
    } else {
        ret = EOK;
    }

    if (ret == EOK) {
        pam_dom_forwarder(preq);
    }

done:
    pam_check_user_done(preq, ret);
}

static void pam_forwarder_cb(struct tevent_req *req)
{
    struct pam_auth_req *preq = tevent_req_callback_data(req,
                                                         struct pam_auth_req);
    struct cli_ctx *cctx = preq->cctx;
    struct pam_data *pd;
    errno_t ret = EOK;
    struct pam_ctx *pctx =
            talloc_get_type(preq->cctx->rctx->pvt_ctx, struct pam_ctx);

    ret = sss_dp_get_domains_recv(req);
    talloc_free(req);
    if (ret != EOK) {
        goto done;
    }

    pd = preq->pd;

    ret = pam_forwarder_parse_data(cctx, pd);
    if (ret == EAGAIN) {
        DEBUG(SSSDBG_TRACE_FUNC, "Assuming %s is a UPN\n", pd->logon_name);
        /* If not, cache_req will error out later */
        pd->user = talloc_strdup(pd, pd->logon_name);
        if (pd->user == NULL) {
            ret = ENOMEM;
            goto done;
        }
        pd->domain = NULL;
    } else if (ret != EOK) {
        ret = EINVAL;
        goto done;
    }

    /* try backend first for authentication before doing local Smartcard
     * authentication */
    if (pd->cmd != SSS_PAM_AUTHENTICATE && may_do_cert_auth(pctx, pd)) {
        ret = check_cert(cctx, cctx->ev, pctx, preq, pd);
        /* Finish here */
        goto done;
    }

    ret = pam_check_user_search(preq);

done:
    pam_check_user_done(preq, ret);
}

static void pam_dp_send_acct_req_done(struct tevent_req *req);
static int pam_check_user_search(struct pam_auth_req *preq)
{
    int ret;
    struct tevent_req *dpreq;
    struct pam_ctx *pctx;
    struct cache_req_data *data;

    data = cache_req_data_name(preq,
                               CACHE_REQ_INITGROUPS,
                               preq->pd->logon_name);
    if (data == NULL) {
        return ENOMEM;
    }

    pctx = talloc_get_type(preq->cctx->rctx->pvt_ctx, struct pam_ctx);

    /* The initgr cache is used to make sure that during a single PAM session
     * (auth, acct_mgtm, ....) the backend is contacted only once. logon_name
     * is the name provided by the PAM client and will not be modified during
     * the request, so it makes sense to use it here instead od the pd->user. */
    ret = pam_initgr_check_timeout(pctx->id_table, preq->pd->logon_name);
    if (ret == EOK) {
        /* Entry is still valid, force to lookup in the cache first */
        cache_req_data_set_bypass_cache(data, false);
    } else if (ret == ENOENT) {
        /* Call the data provider first */
        cache_req_data_set_bypass_cache(data, true);
    } else {
        DEBUG(SSSDBG_OP_FAILURE, "Could not look up initgroup timeout\n");
        return EIO;
    }

    dpreq = cache_req_send(preq,
                           preq->cctx->rctx->ev,
                           preq->cctx->rctx,
                           preq->cctx->rctx->ncache,
                           0,
                           preq->req_dom_type,
                           NULL,
                           data);
    if (!dpreq) {
        DEBUG(SSSDBG_CRIT_FAILURE,
              "Out of memory sending data provider request\n");
        return ENOMEM;
    }

    tevent_req_set_callback(dpreq, pam_dp_send_acct_req_done, preq);

    /* tell caller we are in an async call */
    return EAGAIN;
}

static void pam_dp_send_acct_req_done(struct tevent_req *req)
{
    struct cache_req_result *result;
    struct pam_auth_req *preq;
    struct pam_ctx *pctx;
    int ret;

    preq = tevent_req_callback_data(req, struct pam_auth_req);
    pctx = talloc_get_type(preq->cctx->rctx->pvt_ctx, struct pam_ctx);

    ret = cache_req_single_domain_recv(preq, req, &result);
    talloc_zfree(req);
    if (ret != EOK && ret != ENOENT) {
        DEBUG(SSSDBG_CRIT_FAILURE,
              "Fatal error, killing connection!\n");
        talloc_zfree(preq->cctx);
        return;
    }

    if (ret == EOK) {
        preq->user_obj = result->msgs[0];
        pd_set_primary_name(preq->user_obj, preq->pd);
        preq->domain = result->domain;

        ret = pam_initgr_cache_set(pctx->rctx->ev,
                                   pctx->id_table,
                                   preq->pd->logon_name,
                                   pctx->id_timeout);
        if (ret != EOK) {
            DEBUG(SSSDBG_OP_FAILURE,
                  "Could not save initgr timestamp."
                  "Proceeding with PAM actions\n");
        }

        pam_dom_forwarder(preq);
    }

    ret = pam_check_user_done(preq, ret);
    if (ret != EOK) {
        preq->pd->pam_status = PAM_SYSTEM_ERR;
        pam_reply(preq);
    }
}

static int pam_check_user_done(struct pam_auth_req *preq, int ret)
{
    switch (ret) {
    case EOK:
        break;

    case EAGAIN:
        /* performing async request, just return */
        break;

    case ENOENT:
        preq->pd->pam_status = PAM_USER_UNKNOWN;
        pam_reply(preq);
        break;

    case ERR_NO_CREDS:
        preq->pd->pam_status = PAM_CRED_INSUFFICIENT;
        pam_reply(preq);
        break;

    default:
        preq->pd->pam_status = PAM_SYSTEM_ERR;
        pam_reply(preq);
        break;
    }

    return EOK;
}

static errno_t pam_is_last_online_login_fresh(struct sss_domain_info *domain,
                                              const char* user,
                                              int cached_auth_timeout,
                                              bool *_result)
{
    errno_t ret;
    bool result;
    uint64_t last_login;

    ret = pam_get_last_online_auth_with_curr_token(domain, user, &last_login);
    if (ret != EOK) {
        DEBUG(SSSDBG_MINOR_FAILURE,
              "sysdb_get_last_online_auth_with_curr_token failed: %s:[%d]\n",
              sss_strerror(ret), ret);
        goto done;
    }

    result = time(NULL) < (last_login + cached_auth_timeout);
    ret = EOK;

done:
    if (ret == EOK) {
        *_result = result;
    }
    return ret;
}

static bool pam_is_cmd_cachable(int cmd)
{
    bool is_cachable;

    switch(cmd) {
    case SSS_PAM_AUTHENTICATE:
        is_cachable = true;
        break;
    default:
        is_cachable = false;
    }

    return is_cachable;
}

static bool pam_is_authtok_cachable(struct sss_auth_token *authtok)
{
    enum sss_authtok_type type;
    bool cachable = false;

    type = sss_authtok_get_type(authtok);
    if (type == SSS_AUTHTOK_TYPE_PASSWORD) {
        cachable = true;
    } else {
        DEBUG(SSSDBG_TRACE_LIBS, "Authentication token can't be cached\n");
    }

    return cachable;
}

static bool pam_can_user_cache_auth(struct sss_domain_info *domain,
                                    int pam_cmd,
                                    struct sss_auth_token *authtok,
                                    const char* user,
                                    bool cached_auth_failed)
{
    errno_t ret;
    bool result = false;

    if (!cached_auth_failed /* don't try cached auth again */
            && domain->cache_credentials
            && domain->cached_auth_timeout > 0
            && pam_is_authtok_cachable(authtok)
            && pam_is_cmd_cachable(pam_cmd)) {

        ret = pam_is_last_online_login_fresh(domain, user,
                                             domain->cached_auth_timeout,
                                             &result);
        if (ret != EOK) {
            /* non-critical, consider fail as 'non-fresh value' */
            DEBUG(SSSDBG_MINOR_FAILURE,
                  "pam_is_last_online_login_fresh failed: %s:[%d]\n",
                  sss_strerror(ret), ret);
        }
    }

    return result;
}

static void pam_dom_forwarder(struct pam_auth_req *preq)
{
    int ret;
    struct pam_ctx *pctx =
            talloc_get_type(preq->cctx->rctx->pvt_ctx, struct pam_ctx);
    const char *cert_user;
    size_t c;

    if (!preq->pd->domain) {
        preq->pd->domain = preq->domain->name;
    }

    /* Untrusted users can access only public domains. */
    if (!preq->is_uid_trusted &&
            !is_domain_public(preq->pd->domain, pctx->public_domains,
                            pctx->public_domains_count)) {
        DEBUG(SSSDBG_MINOR_FAILURE,
              "Untrusted user %"SPRIuid" cannot access non-public domain %s.\n",
              client_euid(preq->cctx->creds), preq->pd->domain);
        preq->pd->pam_status = PAM_PERM_DENIED;
        pam_reply(preq);
        return;
    }

    /* skip this domain if not requested and the user is trusted
     * as untrusted users can't request a domain */
    if (preq->is_uid_trusted &&
            !is_domain_requested(preq->pd, preq->pd->domain)) {
        preq->pd->pam_status = PAM_USER_UNKNOWN;
        pam_reply(preq);
        return;
    }

    if (pam_can_user_cache_auth(preq->domain,
                                preq->pd->cmd,
                                preq->pd->authtok,
                                preq->pd->user,
                                preq->cached_auth_failed)) {
        preq->use_cached_auth = true;
        pam_reply(preq);
        return;
    }

    if (may_do_cert_auth(pctx, preq->pd) && preq->cert_user_objs != NULL) {
        /* Check if user matches certificate user */
        for (c = 0; c < preq->cert_user_objs->count; c++) {
            cert_user = ldb_msg_find_attr_as_string(
                                                  preq->cert_user_objs->msgs[c],
                                                  SYSDB_NAME,
                                                  NULL);
            if (cert_user == NULL) {
                /* Even if there might be other users mapped to the
                 * certificate a missing SYSDB_NAME indicates some critical
                 * condition which justifies that the whole request is aborted
                 * */
                DEBUG(SSSDBG_CRIT_FAILURE,
                      "Certificate user object has no name.\n");
                preq->pd->pam_status = PAM_USER_UNKNOWN;
                pam_reply(preq);
                return;
            }

            /* pam_check_user_search() calls pd_set_primary_name() is the search
             * was successful, so pd->user contains the canonical sysdb name
             * as well */
            if (ldb_dn_compare(preq->cert_user_objs->msgs[c]->dn,
                               preq->user_obj->dn) == 0) {

                if (preq->pd->cmd == SSS_PAM_PREAUTH) {
                    ret = sss_authtok_set_sc(preq->pd->authtok,
                                             SSS_AUTHTOK_TYPE_SC_PIN, NULL, 0,
                                             preq->token_name, 0,
                                             preq->module_name, 0,
                                             preq->key_id, 0);
                    if (ret != EOK) {
                        DEBUG(SSSDBG_OP_FAILURE, "sss_authtok_set_sc failed, "
                                                 "Smartcard authentication "
                                                 "detection might fail in the "
                                                 "backend.\n");
                    }

                    ret = add_pam_cert_response(preq->pd, cert_user,
                                                preq->token_name,
                                                preq->module_name,
                                                preq->key_id,
                                                SSS_PAM_CERT_INFO);
                    if (ret != EOK) {
                        DEBUG(SSSDBG_OP_FAILURE, "add_pam_cert_response failed.\n");
                        preq->pd->pam_status = PAM_AUTHINFO_UNAVAIL;
                    }
                }

                /* We are done if we do not have to call the backend */
                if (preq->pd->cmd == SSS_PAM_AUTHENTICATE
                        && preq->cert_auth_local) {
                    preq->pd->pam_status = PAM_SUCCESS;
                    preq->callback = pam_reply;
                    pam_reply(preq);
                    return;
                }
            }
        }

        if (preq->pd->cmd == SSS_PAM_PREAUTH) {
            DEBUG(SSSDBG_TRACE_FUNC,
                  "User and certificate user do not match, "
                  "continue with other authentication methods.\n");
        } else {
            DEBUG(SSSDBG_CRIT_FAILURE,
                  "User and certificate user do not match.\n");
            preq->pd->pam_status = PAM_AUTH_ERR;
            pam_reply(preq);
            return;
        }
    }

    if (!NEED_CHECK_AUTH_PROVIDER(preq->domain->provider) ) {
        preq->callback = pam_reply;
        ret = LOCAL_pam_handler(preq);
    } else {
        preq->callback = pam_reply;
        ret = pam_dp_send_req(preq, SSS_CLI_SOCKET_TIMEOUT/2);
        DEBUG(SSSDBG_CONF_SETTINGS, "pam_dp_send_req returned %d\n", ret);
    }

    if (ret != EOK) {
        preq->pd->pam_status = PAM_SYSTEM_ERR;
        pam_reply(preq);
    }
}

static int pam_cmd_authenticate(struct cli_ctx *cctx) {
    DEBUG(SSSDBG_CONF_SETTINGS, "entering pam_cmd_authenticate\n");
    return pam_forwarder(cctx, SSS_PAM_AUTHENTICATE);
}

static int pam_cmd_setcred(struct cli_ctx *cctx) {
    DEBUG(SSSDBG_CONF_SETTINGS, "entering pam_cmd_setcred\n");
    return pam_forwarder(cctx, SSS_PAM_SETCRED);
}

static int pam_cmd_acct_mgmt(struct cli_ctx *cctx) {
    DEBUG(SSSDBG_CONF_SETTINGS, "entering pam_cmd_acct_mgmt\n");
    return pam_forwarder(cctx, SSS_PAM_ACCT_MGMT);
}

static int pam_cmd_open_session(struct cli_ctx *cctx) {
    DEBUG(SSSDBG_CONF_SETTINGS, "entering pam_cmd_open_session\n");
    return pam_forwarder(cctx, SSS_PAM_OPEN_SESSION);
}

static int pam_cmd_close_session(struct cli_ctx *cctx) {
    DEBUG(SSSDBG_CONF_SETTINGS, "entering pam_cmd_close_session\n");
    return pam_forwarder(cctx, SSS_PAM_CLOSE_SESSION);
}

static int pam_cmd_chauthtok(struct cli_ctx *cctx) {
    DEBUG(SSSDBG_CONF_SETTINGS, "entering pam_cmd_chauthtok\n");
    return pam_forwarder(cctx, SSS_PAM_CHAUTHTOK);
}

static int pam_cmd_chauthtok_prelim(struct cli_ctx *cctx) {
    DEBUG(SSSDBG_CONF_SETTINGS, "entering pam_cmd_chauthtok_prelim\n");
    return pam_forwarder(cctx, SSS_PAM_CHAUTHTOK_PRELIM);
}

static int pam_cmd_preauth(struct cli_ctx *cctx)
{
    DEBUG(SSSDBG_CONF_SETTINGS, "entering pam_cmd_preauth\n");
    return pam_forwarder(cctx, SSS_PAM_PREAUTH);
}

struct cli_protocol_version *register_cli_protocol_version(void)
{
    static struct cli_protocol_version pam_cli_protocol_version[] = {
        {3, "2009-09-14", "make cli_pid mandatory"},
        {2, "2009-05-12", "new format <type><size><data>"},
        {1, "2008-09-05", "initial version, \\0 terminated strings"},
        {0, NULL, NULL}
    };

    return pam_cli_protocol_version;
}

struct sss_cmd_table *get_pam_cmds(void)
{
    static struct sss_cmd_table sss_cmds[] = {
        {SSS_GET_VERSION, sss_cmd_get_version},
        {SSS_PAM_AUTHENTICATE, pam_cmd_authenticate},
        {SSS_PAM_SETCRED, pam_cmd_setcred},
        {SSS_PAM_ACCT_MGMT, pam_cmd_acct_mgmt},
        {SSS_PAM_OPEN_SESSION, pam_cmd_open_session},
        {SSS_PAM_CLOSE_SESSION, pam_cmd_close_session},
        {SSS_PAM_CHAUTHTOK, pam_cmd_chauthtok},
        {SSS_PAM_CHAUTHTOK_PRELIM, pam_cmd_chauthtok_prelim},
        {SSS_PAM_PREAUTH, pam_cmd_preauth},
        {SSS_CLI_NULL, NULL}
    };

    return sss_cmds;
}

errno_t
pam_set_last_online_auth_with_curr_token(struct sss_domain_info *domain,
                                         const char *username,
                                         uint64_t value)
{
    TALLOC_CTX *tmp_ctx;
    struct sysdb_attrs *attrs;
    int ret;

    tmp_ctx = talloc_new(NULL);
    if (tmp_ctx == NULL) {
        ret = ENOMEM;
        goto done;
    }

    attrs = sysdb_new_attrs(tmp_ctx);
    if (attrs == NULL) {
        ret = ENOMEM;
        goto done;
    }

    ret = sysdb_attrs_add_time_t(attrs,
                                 SYSDB_LAST_ONLINE_AUTH_WITH_CURR_TOKEN,
                                 value);
    if (ret != EOK) { goto done; }

    ret = sysdb_set_user_attr(domain, username, attrs, SYSDB_MOD_REP);
    if (ret != EOK) { goto done; }

done:
    if (ret != EOK) {
        DEBUG(SSSDBG_TRACE_FUNC, "Error: %d (%s)\n", ret, sss_strerror(ret));
    }

    talloc_zfree(tmp_ctx);
    return ret;
}

static errno_t
pam_null_last_online_auth_with_curr_token(struct sss_domain_info *domain,
                                          const char *username)
{
    return pam_set_last_online_auth_with_curr_token(domain, username, 0);
}

static errno_t
pam_get_last_online_auth_with_curr_token(struct sss_domain_info *domain,
                                         const char *name,
                                         uint64_t *_value)
{
    TALLOC_CTX *tmp_ctx = NULL;
    const char *attrs[] = { SYSDB_LAST_ONLINE_AUTH_WITH_CURR_TOKEN, NULL };
    struct ldb_message *ldb_msg;
    uint64_t value;
    errno_t ret;

    if (name == NULL || *name == '\0') {
        DEBUG(SSSDBG_CRIT_FAILURE, "Missing user name.\n");
        ret = EINVAL;
        goto done;
    }

    if (domain->sysdb == NULL) {
        DEBUG(SSSDBG_CRIT_FAILURE, "Missing sysdb db context.\n");
        ret = EINVAL;
        goto done;
    }

    tmp_ctx = talloc_new(NULL);
    if (tmp_ctx == NULL) {
        ret = ENOMEM;
        goto done;
    }

    ret = sysdb_search_user_by_name(tmp_ctx, domain, name, attrs, &ldb_msg);
    if (ret != EOK) {
        DEBUG(SSSDBG_CRIT_FAILURE,
              "sysdb_search_user_by_name failed [%d][%s].\n",
              ret, strerror(ret));
        goto done;
    }

    /* Check offline_auth_cache_timeout */
    value = ldb_msg_find_attr_as_uint64(ldb_msg,
                                        SYSDB_LAST_ONLINE_AUTH_WITH_CURR_TOKEN,
                                        0);
    ret = EOK;

done:
    if (ret == EOK) {
        *_value = value;
    }

    talloc_free(tmp_ctx);
    return ret;
}
s not set # CONFIG_KERNEL_ZSTD is not set CONFIG_KEXEC_FILE=y CONFIG_KEXEC_IMAGE_VERIFY_SIG=y # CONFIG_KEXEC_SIG_FORCE is not set # CONFIG_KEXEC_SIG is not set CONFIG_KEXEC=y # CONFIG_KEYBOARD_ADC is not set # CONFIG_KEYBOARD_ADP5588 is not set # CONFIG_KEYBOARD_ADP5589 is not set # CONFIG_KEYBOARD_APPLESPI is not set # CONFIG_KEYBOARD_ATKBD is not set # CONFIG_KEYBOARD_BCM is not set # CONFIG_KEYBOARD_CAP11XX is not set # CONFIG_KEYBOARD_CYPRESS_SF is not set # CONFIG_KEYBOARD_DLINK_DIR685 is not set # CONFIG_KEYBOARD_GPIO is not set # CONFIG_KEYBOARD_GPIO_POLLED is not set # CONFIG_KEYBOARD_LKKBD is not set # CONFIG_KEYBOARD_LM8323 is not set # CONFIG_KEYBOARD_LM8333 is not set # CONFIG_KEYBOARD_MATRIX is not set # CONFIG_KEYBOARD_MAX7359 is not set # CONFIG_KEYBOARD_MCS is not set # CONFIG_KEYBOARD_MPR121 is not set # CONFIG_KEYBOARD_NEWTON is not set # CONFIG_KEYBOARD_OMAP4 is not set # CONFIG_KEYBOARD_OPENCORES is not set # CONFIG_KEYBOARD_QT1050 is not set # CONFIG_KEYBOARD_QT1070 is not set # CONFIG_KEYBOARD_QT2160 is not set # CONFIG_KEYBOARD_SAMSUNG is not set # CONFIG_KEYBOARD_STOWAWAY is not set # CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_TCA6416 is not set # CONFIG_KEYBOARD_TCA8418 is not set # CONFIG_KEYBOARD_TM2_TOUCHKEY is not set # CONFIG_KEYBOARD_XTKBD is not set CONFIG_KEY_DH_OPERATIONS=y CONFIG_KEY_NOTIFICATIONS=y # CONFIG_KEYS is not set # CONFIG_KEYS_REQUEST_CACHE is not set # CONFIG_KFENCE_DEFERRABLE is not set CONFIG_KFENCE_KUNIT_TEST=m CONFIG_KFENCE_NUM_OBJECTS=255 CONFIG_KFENCE_SAMPLE_INTERVAL=100 CONFIG_KFENCE_STATIC_KEYS=n CONFIG_KFENCE=y CONFIG_KGDB_HONOUR_BLOCKLIST=y CONFIG_KGDB_KDB=y CONFIG_KGDB_LOW_LEVEL_TRAP=y CONFIG_KGDB_SERIAL_CONSOLE=y # CONFIG_KGDB_TESTS_ON_BOOT is not set CONFIG_KGDB_TESTS=y CONFIG_KGDB=y # CONFIG_KMX61 is not set # CONFIG_KPROBE_EVENT_GEN_TEST is not set # CONFIG_KPROBE_EVENTS_ON_NOTRACE is not set CONFIG_KPROBE_EVENTS=y # CONFIG_KPROBES_SANITY_TEST is not set CONFIG_KPROBES=y # CONFIG_KS7010 is not set # CONFIG_KSM is not set # CONFIG_KUNIT_ALL_TESTS is not set CONFIG_KUNIT_DEBUGFS=y CONFIG_KUNIT_EXAMPLE_TEST=m # CONFIG_KUNIT is not set CONFIG_KUNIT_TEST=m CONFIG_KVM_AMD_SEV=y # CONFIG_KVM_BOOK3S_HV_P8_TIMING is not set # CONFIG_KVM_BOOK3S_HV_P9_TIMING is not set # CONFIG_KVM is not set # CONFIG_KVM_S390_UCONTROL is not set # CONFIG_KVM_XEN is not set # CONFIG_KXCJK1013 is not set # CONFIG_KXSD9 is not set CONFIG_L2TP_DEBUGFS=m CONFIG_L2TP_ETH=m CONFIG_L2TP_IP=m CONFIG_L2TP=m CONFIG_L2TP_V3=y # CONFIG_LAPB is not set # CONFIG_LATENCYTOP is not set # CONFIG_LATTICE_ECP3_CONFIG is not set # CONFIG_LCD_AMS369FG06 is not set # CONFIG_LCD_CLASS_DEVICE is not set # CONFIG_LCD_HX8357 is not set # CONFIG_LCD_ILI922X is not set # CONFIG_LCD_ILI9320 is not set # CONFIG_LCD_L4F00242T03 is not set # CONFIG_LCD_LMS283GF05 is not set # CONFIG_LCD_LMS501KF03 is not set # CONFIG_LCD_LTV350QV is not set # CONFIG_LCD_OTM3225A is not set # CONFIG_LCD_PLATFORM is not set # CONFIG_LCD_TDO24M is not set # CONFIG_LCD_VGG2432A4 is not set CONFIG_LCS=m CONFIG_LDISC_AUTOLOAD=y # CONFIG_LDM_PARTITION is not set # CONFIG_LEDS_AN30259A is not set # CONFIG_LEDS_APU is not set # CONFIG_LEDS_AS3645A is not set # CONFIG_LEDS_AW2013 is not set # CONFIG_LEDS_BCM6328 is not set # CONFIG_LEDS_BCM6358 is not set # CONFIG_LEDS_BD2802 is not set CONFIG_LEDS_BLINKM=m CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y # CONFIG_LEDS_CLASS_FLASH is not set # CONFIG_LEDS_CLASS_MULTICOLOR is not set CONFIG_LEDS_CLASS=y CONFIG_LEDS_CLEVO_MAIL=m # CONFIG_LEDS_CR0014114 is not set # CONFIG_LEDS_DAC124S085 is not set # CONFIG_LEDS_EL15203000 is not set # CONFIG_LEDS_GPIO is not set CONFIG_LEDS_INTEL_SS4200=m # CONFIG_LEDS_IS31FL319X is not set # CONFIG_LEDS_IS31FL32XX is not set # CONFIG_LEDS_KTD2692 is not set CONFIG_LEDS_LM3530=m # CONFIG_LEDS_LM3532 is not set # CONFIG_LEDS_LM355x is not set # CONFIG_LEDS_LM3601X is not set # CONFIG_LEDS_LM3642 is not set # CONFIG_LEDS_LM3692X is not set CONFIG_LEDS_LP3944=m # CONFIG_LEDS_LP3952 is not set # CONFIG_LEDS_LP50XX is not set # CONFIG_LEDS_LP55XX_COMMON is not set # CONFIG_LEDS_LP8860 is not set CONFIG_LEDS_LT3593=m CONFIG_LEDS_MLXCPLD=m # CONFIG_LEDS_MLXREG is not set # CONFIG_LEDS_NIC78BX is not set # CONFIG_LEDS_PCA9532 is not set # CONFIG_LEDS_PCA955X is not set # CONFIG_LEDS_PCA963X is not set # CONFIG_LEDS_PWM is not set # CONFIG_LEDS_REGULATOR is not set # CONFIG_LEDS_RT4505 is not set # CONFIG_LEDS_RT8515 is not set # CONFIG_LEDS_SGM3140 is not set # CONFIG_LEDS_SPI_BYTE is not set # CONFIG_LEDS_SYSCON is not set # CONFIG_LEDS_TCA6507 is not set # CONFIG_LEDS_TI_LMU_COMMON is not set # CONFIG_LEDS_TLC591XX is not set # CONFIG_LEDS_TRIGGER_ACTIVITY is not set CONFIG_LEDS_TRIGGER_AUDIO=m CONFIG_LEDS_TRIGGER_BACKLIGHT=m CONFIG_LEDS_TRIGGER_CAMERA=m # CONFIG_LEDS_TRIGGER_CPU is not set CONFIG_LEDS_TRIGGER_DEFAULT_ON=m CONFIG_LEDS_TRIGGER_DISK=y CONFIG_LEDS_TRIGGER_GPIO=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m # CONFIG_LEDS_TRIGGER_MTD is not set # CONFIG_LEDS_TRIGGER_NETDEV is not set CONFIG_LEDS_TRIGGER_ONESHOT=m # CONFIG_LEDS_TRIGGER_PANIC is not set # CONFIG_LEDS_TRIGGER_PATTERN is not set CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_TRANSIENT=m # CONFIG_LEDS_TRIGGER_TTY is not set # CONFIG_LEDS_USER is not set CONFIG_LED_TRIGGER_PHY=y # CONFIG_LEGACY_PTYS is not set # CONFIG_LG_LAPTOP is not set # CONFIG_LIBCRC32C is not set # CONFIG_LIBERTAS is not set # CONFIG_LIBERTAS_THINFIRM is not set CONFIG_LIBFCOE=y CONFIG_LIBFC=y CONFIG_LIBNVDIMM=m # CONFIG_LIDAR_LITE_V2 is not set CONFIG_LINEAR_RANGES_TEST=m CONFIG_LIRC=y CONFIG_LIST_KUNIT_TEST=m # CONFIG_LITEX_LITEETH is not set # CONFIG_LITEX_SOC_CONTROLLER is not set CONFIG_LIVEPATCH=y # CONFIG_LKDTM is not set # CONFIG_LLC2 is not set CONFIG_LLC=m # CONFIG_LMK04832 is not set # CONFIG_LMP91000 is not set # CONFIG_LOAD_IPL_KEYS is not set CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_LOCKDEP_BITS=16 CONFIG_LOCKDEP_CHAINS_BITS=18 CONFIG_LOCKDEP_CIRCULAR_QUEUE_BITS=12 # CONFIG_LOCKDEP is not set CONFIG_LOCKDEP_STACK_TRACE_BITS=19 CONFIG_LOCKDEP_STACK_TRACE_HASH_BITS=14 CONFIG_LOCKD=m # CONFIG_LOCK_DOWN_IN_EFI_SECURE_BOOT is not set # CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set # CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y CONFIG_LOCKD_V4=y # CONFIG_LOCK_EVENT_COUNTS is not set # CONFIG_LOCK_STAT is not set # CONFIG_LOCK_TORTURE_TEST is not set CONFIG_LOCKUP_DETECTOR=y CONFIG_LOG_BUF_SHIFT=16 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 # CONFIG_LOGIG940_FF is not set # CONFIG_LOGIRUMBLEPAD2_FF is not set CONFIG_LOGITECH_FF=y # CONFIG_LOGIWHEELS_FF is not set # CONFIG_LOGO is not set CONFIG_LOGO_LINUX_CLUT224=y # CONFIG_LOGO_LINUX_MONO is not set # CONFIG_LOGO_LINUX_VGA16 is not set CONFIG_LOOPBACK_TARGET=y # CONFIG_LPC_ICH is not set # CONFIG_LP_CONSOLE is not set # CONFIG_LPC_SCH is not set # CONFIG_LSI_ET1011C_PHY is not set CONFIG_LSM="lockdown,yama,integrity,selinux,bpf" CONFIG_LSM_MMAP_MIN_ADDR=65535 # CONFIG_LTC1660 is not set # CONFIG_LTC2471 is not set # CONFIG_LTC2485 is not set # CONFIG_LTC2496 is not set # CONFIG_LTC2497 is not set # CONFIG_LTC2632 is not set # CONFIG_LTC2688 is not set # CONFIG_LTC2983 is not set # CONFIG_LTE_GDM724X is not set # CONFIG_LTO_CLANG_FULL is not set # CONFIG_LTO_CLANG_THIN is not set CONFIG_LTO_NONE=y # CONFIG_LTR501 is not set # CONFIG_LV0104CS is not set CONFIG_LWTUNNEL_BPF=y CONFIG_LWTUNNEL=y # CONFIG_LXT_PHY is not set CONFIG_LZ4_COMPRESS=m # CONFIG_M62332 is not set # CONFIG_MAC80211_DEBUGFS is not set # CONFIG_MAC80211_DEBUG_MENU is not set CONFIG_MAC80211_HWSIM=m # CONFIG_MAC80211 is not set CONFIG_MAC80211_LEDS=y # CONFIG_MAC80211_MESH is not set # CONFIG_MAC80211_MESSAGE_TRACING is not set CONFIG_MAC80211_RC_DEFAULT="minstrel" CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y CONFIG_MAC80211_RC_MINSTREL=y CONFIG_MAC802154=m # CONFIG_MACB is not set # CONFIG_MACHZ_WDT is not set # CONFIG_MACINTOSH_DRIVERS is not set # CONFIG_MAC_PARTITION is not set CONFIG_MACSEC=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m # CONFIG_MAG3110 is not set CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 # CONFIG_MAGIC_SYSRQ is not set CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" CONFIG_MAGIC_SYSRQ_SERIAL=y # CONFIG_MAILBOX is not set # CONFIG_MAILBOX_TEST is not set # CONFIG_MANAGER_SBS is not set CONFIG_MANTIS_CORE=m # CONFIG_MARCH_Z10 is not set # CONFIG_MARCH_Z13 is not set CONFIG_MARCH_Z14=y # CONFIG_MARCH_Z15 is not set # CONFIG_MARCH_Z16 is not set # CONFIG_MARCH_Z196 is not set # CONFIG_MARCH_Z900 is not set # CONFIG_MARCH_Z9_109 is not set # CONFIG_MARCH_Z990 is not set # CONFIG_MARCH_ZEC12 is not set CONFIG_MARVELL_10G_PHY=m # CONFIG_MARVELL_88X2222_PHY is not set # CONFIG_MARVELL_CN10K_DDR_PMU is not set # CONFIG_MARVELL_CN10K_TAD_PMU is not set # CONFIG_MARVELL_PHY is not set # CONFIG_MATOM is not set # CONFIG_MAX1027 is not set # CONFIG_MAX11100 is not set # CONFIG_MAX1118 is not set # CONFIG_MAX1241 is not set # CONFIG_MAX1363 is not set # CONFIG_MAX30100 is not set # CONFIG_MAX30102 is not set # CONFIG_MAX31856 is not set # CONFIG_MAX31865 is not set # CONFIG_MAX44000 is not set # CONFIG_MAX44009 is not set # CONFIG_MAX517 is not set # CONFIG_MAX5432 is not set # CONFIG_MAX5481 is not set # CONFIG_MAX5487 is not set # CONFIG_MAX5821 is not set # CONFIG_MAX63XX_WATCHDOG is not set # CONFIG_MAXIM_THERMOCOUPLE is not set # CONFIG_MAXLINEAR_GPHY is not set CONFIG_MAX_PHYSMEM_BITS=46 # CONFIG_MB1232 is not set # CONFIG_MC3230 is not set # CONFIG_MCB is not set # CONFIG_MCORE2 is not set # CONFIG_MCP320X is not set # CONFIG_MCP3422 is not set # CONFIG_MCP3911 is not set # CONFIG_MCP4018 is not set # CONFIG_MCP41010 is not set # CONFIG_MCP4131 is not set # CONFIG_MCP4531 is not set # CONFIG_MCP4725 is not set # CONFIG_MCP4922 is not set # CONFIG_MCTP is not set CONFIG_MD_AUTODETECT=y # CONFIG_MD_CLUSTER is not set CONFIG_MD_FAULTY=m CONFIG_MDIO_BCM_UNIMAC=m # CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set CONFIG_MDIO_DEVICE=y # CONFIG_MDIO_GPIO is not set CONFIG_MDIO_HISI_FEMAC=m # CONFIG_MDIO_IPQ4019 is not set # CONFIG_MDIO_IPQ8064 is not set CONFIG_MDIO_MSCC_MIIM=m # CONFIG_MDIO_MVUSB is not set CONFIG_MDIO_OCTEON=m CONFIG_MDIO_THUNDER=m # CONFIG_MD is not set CONFIG_MD_LINEAR=m # CONFIG_MD_MULTIPATH is not set CONFIG_MD_RAID0=m CONFIG_MD_RAID10=m CONFIG_MD_RAID1=m CONFIG_MD_RAID456=m CONFIG_MEDIA_ALTERA_CI=m # CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set CONFIG_MEDIA_ATTACH=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CEC_RC=y CONFIG_MEDIA_CEC_SUPPORT=y # CONFIG_MEDIA_CONTROLLER is not set # CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set CONFIG_MEDIA_PCI_SUPPORT=y # CONFIG_MEDIA_PLATFORM_SUPPORT is not set # CONFIG_MEDIA_RADIO_SUPPORT is not set # CONFIG_MEDIA_SDR_SUPPORT is not set CONFIG_MEDIA_SUBDRV_AUTOSELECT=y CONFIG_MEDIA_SUPPORT_FILTER=y # CONFIG_MEDIA_SUPPORT is not set # CONFIG_MEDIATEK_GE_PHY is not set # CONFIG_MEDIA_TEST_SUPPORT is not set CONFIG_MEDIA_TUNER_M88RS6000T=m CONFIG_MEDIA_TUNER_QM1D1C0042=m CONFIG_MEDIA_TUNER_SI2157=m CONFIG_MEDIA_USB_SUPPORT=y # CONFIG_MEGARAID_LEGACY is not set # CONFIG_MEGARAID_NEWGEN is not set # CONFIG_MEGARAID_SAS is not set CONFIG_MELLANOX_PLATFORM=y CONFIG_MEMBARRIER=y CONFIG_MEMCG_SWAP=y CONFIG_MEMCG=y CONFIG_MEMCPY_KUNIT_TEST=m CONFIG_MEMORY_FAILURE=y # CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE is not set # CONFIG_MEMORY_HOTPLUG is not set CONFIG_MEMORY_HOTREMOVE=y # CONFIG_MEMORY is not set CONFIG_MEM_SOFT_DIRTY=y # CONFIG_MEMSTICK_DEBUG is not set # CONFIG_MEMSTICK is not set CONFIG_MEMSTICK_JMICRON_38X=m CONFIG_MEMSTICK_R592=m CONFIG_MEMSTICK_REALTEK_PCI=m # CONFIG_MEMSTICK_REALTEK_USB is not set CONFIG_MEMSTICK_TIFM_MS=m # CONFIG_MEMSTICK_UNSAFE_RESUME is not set # CONFIG_MEMTEST is not set # CONFIG_MEN_A21_WDT is not set # CONFIG_MERAKI_MX100 is not set CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 # CONFIG_MFD_88PM800 is not set # CONFIG_MFD_88PM805 is not set # CONFIG_MFD_88PM860X is not set # CONFIG_MFD_AAT2870_CORE is not set # CONFIG_MFD_ACT8945A is not set # CONFIG_MFD_ARIZONA_I2C is not set # CONFIG_MFD_ARIZONA_SPI is not set # CONFIG_MFD_AS3711 is not set # CONFIG_MFD_AS3722 is not set # CONFIG_MFD_ATC260X_I2C is not set # CONFIG_MFD_ATMEL_FLEXCOM is not set # CONFIG_MFD_ATMEL_HLCDC is not set # CONFIG_MFD_AXP20X_I2C is not set # CONFIG_MFD_BCM590XX is not set # CONFIG_MFD_BD9571MWV is not set # CONFIG_MFD_CPCAP is not set # CONFIG_MFD_DA9052_I2C is not set # CONFIG_MFD_DA9052_SPI is not set # CONFIG_MFD_DA9055 is not set # CONFIG_MFD_DA9062 is not set # CONFIG_MFD_DA9063 is not set # CONFIG_MFD_DA9150 is not set # CONFIG_MFD_DLN2 is not set # CONFIG_MFD_GATEWORKS_GSC is not set # CONFIG_MFD_HI6421_PMIC is not set # CONFIG_MFD_HI655X_PMIC is not set # CONFIG_MFD_INTEL_M10_BMC is not set # CONFIG_MFD_INTEL_PMC_BXT is not set # CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set # CONFIG_MFD_IQS62X is not set # CONFIG_MFD_JANZ_CMODIO is not set # CONFIG_MFD_KEMPLD is not set # CONFIG_MFD_LM3533 is not set # CONFIG_MFD_LOCHNAGAR is not set # CONFIG_MFD_LP3943 is not set # CONFIG_MFD_LP8788 is not set # CONFIG_MFD_MADERA is not set # CONFIG_MFD_MAX14577 is not set # CONFIG_MFD_MAX77620 is not set # CONFIG_MFD_MAX77650 is not set # CONFIG_MFD_MAX77686 is not set # CONFIG_MFD_MAX77693 is not set # CONFIG_MFD_MAX77714 is not set # CONFIG_MFD_MAX77843 is not set # CONFIG_MFD_MAX8907 is not set # CONFIG_MFD_MAX8925 is not set # CONFIG_MFD_MAX8997 is not set # CONFIG_MFD_MAX8998 is not set # CONFIG_MFD_MC13XXX_I2C is not set # CONFIG_MFD_MC13XXX_SPI is not set # CONFIG_MFD_MENF21BMC is not set # CONFIG_MFD_MP2629 is not set # CONFIG_MFD_MT6360 is not set # CONFIG_MFD_MT6397 is not set # CONFIG_MFD_NTXEC is not set # CONFIG_MFD_PALMAS is not set # CONFIG_MFD_PCF50633 is not set # CONFIG_MFD_QCOM_PM8008 is not set # CONFIG_MFD_RC5T583 is not set # CONFIG_MFD_RDC321X is not set # CONFIG_MFD_RETU is not set # CONFIG_MFD_RK808 is not set # CONFIG_MFD_RN5T618 is not set # CONFIG_MFD_ROHM_BD71828 is not set # CONFIG_MFD_ROHM_BD718XX is not set # CONFIG_MFD_ROHM_BD957XMUF is not set # CONFIG_MFD_RSMU_I2C is not set # CONFIG_MFD_RSMU_SPI is not set # CONFIG_MFD_RT4831 is not set # CONFIG_MFD_RT5033 is not set # CONFIG_MFD_SEC_CORE is not set # CONFIG_MFD_SI476X_CORE is not set # CONFIG_MFD_SIMPLE_MFD_I2C is not set # CONFIG_MFD_SKY81452 is not set # CONFIG_MFD_SL28CPLD is not set CONFIG_MFD_SM501_GPIO=y # CONFIG_MFD_SM501 is not set # CONFIG_MFD_STMFX is not set # CONFIG_MFD_STMPE is not set # CONFIG_MFD_STPMIC1 is not set # CONFIG_MFD_SYSCON is not set # CONFIG_MFD_TC3589X is not set # CONFIG_MFD_TI_AM335X_TSCADC is not set # CONFIG_MFD_TI_LMU is not set # CONFIG_MFD_TI_LP873X is not set # CONFIG_MFD_TI_LP87565 is not set # CONFIG_MFD_TPS65086 is not set # CONFIG_MFD_TPS65090 is not set # CONFIG_MFD_TPS65217 is not set # CONFIG_MFD_TPS65218 is not set # CONFIG_MFD_TPS6586X is not set # CONFIG_MFD_TPS65910 is not set # CONFIG_MFD_TPS65912_I2C is not set # CONFIG_MFD_TPS65912_SPI is not set # CONFIG_MFD_TQMX86 is not set # CONFIG_MFD_VIPERBOARD is not set CONFIG_MFD_VX855=m # CONFIG_MFD_WL1273_CORE is not set # CONFIG_MFD_WM831X_I2C is not set # CONFIG_MFD_WM831X_SPI is not set # CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM8994 is not set # CONFIG_MHI_BUS_DEBUG is not set # CONFIG_MHI_BUS_EP is not set # CONFIG_MHI_BUS is not set CONFIG_MHI_BUS_PCI_GENERIC=m CONFIG_MHI_NET=m CONFIG_MHI_WWAN_CTRL=m # CONFIG_MHI_WWAN_MBIM is not set CONFIG_MICREL_KS8995MA=m # CONFIG_MICREL_PHY is not set CONFIG_MICROCHIP_PHY=m # CONFIG_MICROCHIP_PIT64B is not set CONFIG_MICROCHIP_T1_PHY=m # CONFIG_MICROCODE_LATE_LOADING is not set # CONFIG_MICROCODE_OLD_INTERFACE is not set CONFIG_MICROSEMI_PHY=m CONFIG_MIGRATION=y # CONFIG_MII is not set # CONFIG_MINIX_FS is not set # CONFIG_MINIX_SUBPARTITION is not set # CONFIG_MISC_ALCOR_PCI is not set # CONFIG_MISC_FILESYSTEMS is not set # CONFIG_MISC_RTSX_PCI is not set CONFIG_MISC_RTSX_USB=m # CONFIG_MLX4_CORE_GEN2 is not set CONFIG_MLX4_EN_DCB=y CONFIG_MLX4_EN=m CONFIG_MLX4_INFINIBAND=m CONFIG_MLX5_ACCEL=y CONFIG_MLX5_CLS_ACT=y CONFIG_MLX5_CORE_EN_DCB=y CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_IPOIB=y CONFIG_MLX5_CORE=m CONFIG_MLX5_EN_ARFS=y CONFIG_MLX5_EN_IPSEC=y CONFIG_MLX5_EN_RXNFC=y CONFIG_MLX5_EN_TLS=y CONFIG_MLX5_ESWITCH=y # CONFIG_MLX5_FPGA_IPSEC is not set # CONFIG_MLX5_FPGA_TLS is not set CONFIG_MLX5_FPGA=y CONFIG_MLX5_INFINIBAND=m CONFIG_MLX5_IPSEC=y CONFIG_MLX5_MPFS=y CONFIG_MLX5_SF=y CONFIG_MLX5_SW_STEERING=y CONFIG_MLX5_TC_CT=y CONFIG_MLX5_TC_SAMPLE=y CONFIG_MLX5_TLS=y CONFIG_MLX5_VDPA_NET=m CONFIG_MLX5_VFIO_PCI=m # CONFIG_MLX90614 is not set # CONFIG_MLX90632 is not set # CONFIG_MLXBF_BOOTCTL is not set # CONFIG_MLXBF_GIGE is not set # CONFIG_MLXBF_PMC is not set # CONFIG_MLXBF_TMFIFO is not set CONFIG_MLXFW=m CONFIG_MLX_PLATFORM=m CONFIG_MLXREG_HOTPLUG=m CONFIG_MLXREG_IO=m # CONFIG_MLXREG_LC is not set CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_THERMAL=y # CONFIG_MLXSW_I2C is not set CONFIG_MLXSW_MINIMAL=m CONFIG_MLXSW_PCI=m CONFIG_MLXSW_SPECTRUM_DCB=y CONFIG_MLXSW_SPECTRUM=m # CONFIG_MLX_WDT is not set # CONFIG_MMA7455_I2C is not set # CONFIG_MMA7455_SPI is not set # CONFIG_MMA7660 is not set # CONFIG_MMA8452 is not set # CONFIG_MMA9551 is not set # CONFIG_MMA9553 is not set # CONFIG_MMC35240 is not set # CONFIG_MMC_BLOCK is not set CONFIG_MMC_BLOCK_MINORS=8 CONFIG_MMC_CB710=m # CONFIG_MMC_DEBUG is not set CONFIG_MMC_DW_BLUEFIELD=m # CONFIG_MMC_DW_EXYNOS is not set # CONFIG_MMC_DW_HI3798CV200 is not set # CONFIG_MMC_DW_K3 is not set # CONFIG_MMC_DW_PCI is not set # CONFIG_MMC_HSQ is not set # CONFIG_MMC is not set # CONFIG_MMC_MTK is not set CONFIG_MMC_REALTEK_PCI=m CONFIG_MMC_REALTEK_USB=m # CONFIG_MMC_RICOH_MMC is not set CONFIG_MMC_SDHCI_ACPI=m # CONFIG_MMC_SDHCI_AM654 is not set # CONFIG_MMC_SDHCI_CADENCE is not set # CONFIG_MMC_SDHCI_F_SDH30 is not set # CONFIG_MMC_SDHCI is not set # CONFIG_MMC_SDHCI_MILBEAUT is not set # CONFIG_MMC_SDHCI_OF_ARASAN is not set # CONFIG_MMC_SDHCI_OF_ASPEED is not set # CONFIG_MMC_SDHCI_OF_AT91 is not set # CONFIG_MMC_SDHCI_OF_DWCMSHC is not set # CONFIG_MMC_SDHCI_OMAP is not set # CONFIG_MMC_SDHCI_PCI is not set # CONFIG_MMC_SDHCI_PLTFM is not set # CONFIG_MMC_SDHCI_XENON is not set # CONFIG_MMC_SPI is not set # CONFIG_MMC_STM32_SDMMC is not set # CONFIG_MMC_TEST is not set # CONFIG_MMC_TIFM_SD is not set # CONFIG_MMC_TOSHIBA_PCI is not set # CONFIG_MMC_USDHI6ROL0 is not set CONFIG_MMC_USHC=m # CONFIG_MMC_VIA_SDMMC is not set CONFIG_MMC_VUB300=m # CONFIG_MMC_WBSD is not set # CONFIG_MMIOTRACE is not set CONFIG_MMU=y CONFIG_MODPROBE_PATH="/usr/sbin/modprobe" # CONFIG_MODULE_ALLOW_BTF_MISMATCH is not set # CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set # CONFIG_MODULE_COMPRESS_GZIP is not set CONFIG_MODULE_COMPRESS_NONE=y # CONFIG_MODULE_COMPRESS_XZ is not set # CONFIG_MODULE_COMPRESS_ZSTD is not set CONFIG_MODULE_FORCE_LOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set CONFIG_MODULE_SIG_ALL=y # CONFIG_MODULE_SIG_FORCE is not set CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" # CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set CONFIG_MODULE_SIG_KEY_TYPE_RSA=y # CONFIG_MODULE_SIG_SHA1 is not set # CONFIG_MODULE_SIG_SHA224 is not set # CONFIG_MODULE_SIG_SHA256 is not set # CONFIG_MODULE_SIG_SHA384 is not set CONFIG_MODULE_SIG_SHA512=y CONFIG_MODULE_SIG=y # CONFIG_MODULES is not set CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_MODULE_UNLOAD_TAINT_TRACKING=y CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MONREADER=m CONFIG_MONWRITER=y # CONFIG_MOST is not set # CONFIG_MOTORCOMM_PHY is not set CONFIG_MOUSE_APPLETOUCH=m CONFIG_MOUSE_BCM5974=m CONFIG_MOUSE_CYAPA=m # CONFIG_MOUSE_ELAN_I2C_I2C is not set # CONFIG_MOUSE_ELAN_I2C is not set CONFIG_MOUSE_ELAN_I2C_SMBUS=y # CONFIG_MOUSE_GPIO is not set # CONFIG_MOUSE_PS2_ELANTECH is not set # CONFIG_MOUSE_PS2 is not set # CONFIG_MOUSE_PS2_SENTELIC is not set # CONFIG_MOUSE_PS2_TOUCHKIT is not set # CONFIG_MOUSE_SERIAL is not set CONFIG_MOUSE_SYNAPTICS_I2C=m CONFIG_MOUSE_SYNAPTICS_USB=m CONFIG_MOUSE_VSXXXAA=m # CONFIG_MOXA_INTELLIO is not set # CONFIG_MOXA_SMARTIO is not set # CONFIG_MOXTET is not set # CONFIG_MPL115_I2C is not set # CONFIG_MPL115_SPI is not set # CONFIG_MPL3115 is not set CONFIG_MPLS_IPTUNNEL=m # CONFIG_MPLS is not set CONFIG_MPLS_ROUTING=m CONFIG_MPTCP_IPV6=y CONFIG_MPTCP_KUNIT_TEST=m CONFIG_MPTCP=y # CONFIG_MPU3050_I2C is not set CONFIG_MQ_IOSCHED_DEADLINE=y CONFIG_MQ_IOSCHED_KYBER=y # CONFIG_MS5611 is not set # CONFIG_MS5637 is not set # CONFIG_MS_BLOCK is not set # CONFIG_MSDOS_FS is not set CONFIG_MSDOS_PARTITION=y # CONFIG_MSPRO_BLOCK is not set CONFIG_MT7601U=m # CONFIG_MT7603E is not set # CONFIG_MT7615E is not set # CONFIG_MT7663S is not set # CONFIG_MT7663U is not set CONFIG_MT76x0E=m CONFIG_MT76x0U=m CONFIG_MT76x2E=m CONFIG_MT76x2U=m # CONFIG_MT7915E is not set CONFIG_MT7921E=m # CONFIG_MT7921S is not set # CONFIG_MT7921U is not set # CONFIG_MTD_ABSENT is not set # CONFIG_MTD_AFS_PARTS is not set # CONFIG_MTD_AR7_PARTS is not set # CONFIG_MTD_BLOCK2MTD is not set # CONFIG_MTD_BLOCK is not set # CONFIG_MTD_BLOCK_RO is not set # CONFIG_MTD_CFI_ADV_OPTIONS is not set CONFIG_MTD_CFI_I1=y CONFIG_MTD_CFI_I2=y # CONFIG_MTD_CFI is not set # CONFIG_MTD_CMDLINE_PARTS is not set # CONFIG_MTD_COMPLEX_MAPPINGS is not set # CONFIG_MTD_DATAFLASH is not set # CONFIG_MTD_DOCG3 is not set # CONFIG_MTD_HYPERBUS is not set # CONFIG_MTD_INTEL_VR_NOR is not set # CONFIG_MTD is not set # CONFIG_MTD_JEDECPROBE is not set # CONFIG_MTD_LPDDR is not set CONFIG_MTD_MAP_BANK_WIDTH_1=y CONFIG_MTD_MAP_BANK_WIDTH_2=y CONFIG_MTD_MAP_BANK_WIDTH_4=y # CONFIG_MTD_MCHP23K256 is not set # CONFIG_MTD_MCHP48L640 is not set # CONFIG_MTD_MTDRAM is not set # CONFIG_MTD_NAND_ECC_MXIC is not set # CONFIG_MTD_NAND_ECC_SW_BCH is not set # CONFIG_MTD_NAND_ECC_SW_HAMMING is not set CONFIG_MTD_OF_PARTS=m # CONFIG_MTD_ONENAND is not set # CONFIG_MTD_OOPS is not set # CONFIG_MTD_PARTITIONED_MASTER is not set # CONFIG_MTD_PHRAM is not set # CONFIG_MTD_PHYSMAP_COMPAT is not set # CONFIG_MTD_PLATRAM is not set # CONFIG_MTD_PMC551 is not set # CONFIG_MTD_RAM is not set # CONFIG_MTD_RAW_NAND is not set # CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_ROM is not set # CONFIG_MTD_SLRAM is not set # CONFIG_MTD_SPI_NOR is not set # CONFIG_MTD_SST25L is not set # CONFIG_MTD_SWAP is not set # CONFIG_MTD_TESTS is not set CONFIG_MTD_UBI_BEB_LIMIT=20 # CONFIG_MTD_UBI_BLOCK is not set # CONFIG_MTD_UBI_FASTMAP is not set # CONFIG_MTD_UBI_GLUEBI is not set CONFIG_MTD_UBI=m CONFIG_MTD_UBI_WL_THRESHOLD=4096 # CONFIG_MTK_T7XX is not set CONFIG_MULTIUSER=y # CONFIG_MVMDIO is not set # CONFIG_MV_XOR_V2 is not set # CONFIG_MWAVE is not set CONFIG_MWIFIEX=m CONFIG_MWIFIEX_PCIE=m CONFIG_MWIFIEX_SDIO=m CONFIG_MWIFIEX_USB=m # CONFIG_MWL8K is not set # CONFIG_MXC4005 is not set # CONFIG_MXC6255 is not set CONFIG_MYRI10GE_DCA=y CONFIG_MYRI10GE=m CONFIG_NAMESPACES=y # CONFIG_NATIONAL_PHY is not set # CONFIG_NAU7802 is not set CONFIG_ND_BLK=m CONFIG_ND_BTT=m CONFIG_ND_CLAIM=y CONFIG_ND_PFN=m # CONFIG_NET_9P is not set CONFIG_NET_ACT_BPF=m # CONFIG_NET_ACT_CONNMARK is not set CONFIG_NET_ACT_CSUM=m CONFIG_NET_ACT_CTINFO=m CONFIG_NET_ACT_CT=m CONFIG_NET_ACT_GACT=m # CONFIG_NET_ACT_GATE is not set # CONFIG_NET_ACT_IFE is not set # CONFIG_NET_ACT_IPT is not set CONFIG_NET_ACT_MIRRED=m CONFIG_NET_ACT_MPLS=m # CONFIG_NET_ACT_NAT is not set CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_POLICE=m CONFIG_NET_ACT_SAMPLE=m # CONFIG_NET_ACT_SIMP is not set CONFIG_NET_ACT_SKBEDIT=m # CONFIG_NET_ACT_SKBMOD is not set CONFIG_NET_ACT_TUNNEL_KEY=m CONFIG_NET_ACT_VLAN=m CONFIG_NET_CLS_ACT=y # CONFIG_NET_CLS_BASIC is not set CONFIG_NET_CLS_BPF=m CONFIG_NET_CLS_CGROUP=y CONFIG_NET_CLS_FLOWER=m CONFIG_NET_CLS_FLOW=m CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_MATCHALL=m # CONFIG_NET_CLS_ROUTE4 is not set # CONFIG_NET_CLS_RSVP6 is not set # CONFIG_NET_CLS_RSVP is not set # CONFIG_NET_CLS_TCINDEX is not set CONFIG_NET_CLS_U32=m CONFIG_NET_CLS=y CONFIG_NETCONSOLE_DYNAMIC=y CONFIG_NETCONSOLE=m CONFIG_NET_CORE=y CONFIG_NETDEV_ADDR_LIST_TEST=m # CONFIG_NETDEVICES is not set CONFIG_NET_DEVLINK=y # CONFIG_NET_DEV_REFCNT_TRACKER is not set CONFIG_NETDEVSIM=m CONFIG_NET_DROP_MONITOR=y # CONFIG_NET_DSA is not set # CONFIG_NET_DSA_MV88E6XXX_PTP is not set # CONFIG_NET_EMATCH_CMP is not set # CONFIG_NET_EMATCH_IPSET is not set # CONFIG_NET_EMATCH is not set # CONFIG_NET_EMATCH_META is not set # CONFIG_NET_EMATCH_NBYTE is not set # CONFIG_NET_EMATCH_STACK is not set # CONFIG_NET_EMATCH_TEXT is not set # CONFIG_NET_EMATCH_U32 is not set CONFIG_NET_FAILOVER=m # CONFIG_NET_FC is not set CONFIG_NETFILTER_ADVANCED=y CONFIG_NETFILTER_EGRESS=y CONFIG_NETFILTER_INGRESS=y # CONFIG_NETFILTER is not set # CONFIG_NETFILTER_NETLINK_ACCT is not set CONFIG_NETFILTER_NETLINK_GLUE_CT=y CONFIG_NETFILTER_NETLINK_HOOK=m CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NETFILTER_NETLINK=m CONFIG_NETFILTER_NETLINK_OSF=m CONFIG_NETFILTER_NETLINK_QUEUE=m # CONFIG_NETFILTER_XTABLES_COMPAT is not set # CONFIG_NETFILTER_XTABLES is not set CONFIG_NETFILTER_XT_CONNMARK=m CONFIG_NETFILTER_XT_MARK=m CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m CONFIG_NETFILTER_XT_MATCH_BPF=m CONFIG_NETFILTER_XT_MATCH_CGROUP=m CONFIG_NETFILTER_XT_MATCH_CLUSTER=m CONFIG_NETFILTER_XT_MATCH_COMMENT=m CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m CONFIG_NETFILTER_XT_MATCH_CONNMARK=m CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m CONFIG_NETFILTER_XT_MATCH_CPU=m CONFIG_NETFILTER_XT_MATCH_DCCP=m CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m CONFIG_NETFILTER_XT_MATCH_DSCP=m CONFIG_NETFILTER_XT_MATCH_ECN=m CONFIG_NETFILTER_XT_MATCH_ESP=m CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m CONFIG_NETFILTER_XT_MATCH_HELPER=m CONFIG_NETFILTER_XT_MATCH_HL=m # CONFIG_NETFILTER_XT_MATCH_IPCOMP is not set CONFIG_NETFILTER_XT_MATCH_IPRANGE=m CONFIG_NETFILTER_XT_MATCH_IPVS=m # CONFIG_NETFILTER_XT_MATCH_L2TP is not set CONFIG_NETFILTER_XT_MATCH_LENGTH=m CONFIG_NETFILTER_XT_MATCH_LIMIT=m CONFIG_NETFILTER_XT_MATCH_MAC=m CONFIG_NETFILTER_XT_MATCH_MARK=m CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m # CONFIG_NETFILTER_XT_MATCH_NFACCT is not set CONFIG_NETFILTER_XT_MATCH_OSF=m CONFIG_NETFILTER_XT_MATCH_OWNER=m CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m CONFIG_NETFILTER_XT_MATCH_POLICY=m CONFIG_NETFILTER_XT_MATCH_QUOTA=m CONFIG_NETFILTER_XT_MATCH_RATEEST=m CONFIG_NETFILTER_XT_MATCH_REALM=m CONFIG_NETFILTER_XT_MATCH_RECENT=m CONFIG_NETFILTER_XT_MATCH_SCTP=m CONFIG_NETFILTER_XT_MATCH_SOCKET=m CONFIG_NETFILTER_XT_MATCH_STATE=m CONFIG_NETFILTER_XT_MATCH_STATISTIC=m CONFIG_NETFILTER_XT_MATCH_STRING=m CONFIG_NETFILTER_XT_MATCH_TCPMSS=m # CONFIG_NETFILTER_XT_MATCH_TIME is not set # CONFIG_NETFILTER_XT_MATCH_U32 is not set CONFIG_NETFILTER_XT_SET=m CONFIG_NETFILTER_XT_TARGET_AUDIT=m CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m CONFIG_NETFILTER_XT_TARGET_CONNMARK=m CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m CONFIG_NETFILTER_XT_TARGET_CT=m CONFIG_NETFILTER_XT_TARGET_DSCP=m CONFIG_NETFILTER_XT_TARGET_HMARK=m CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m # CONFIG_NETFILTER_XT_TARGET_LED is not set CONFIG_NETFILTER_XT_TARGET_LOG=m CONFIG_NETFILTER_XT_TARGET_MARK=m CONFIG_NETFILTER_XT_TARGET_NFLOG=m CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m CONFIG_NETFILTER_XT_TARGET_NOTRACK=m CONFIG_NETFILTER_XT_TARGET_RATEEST=m CONFIG_NETFILTER_XT_TARGET_SECMARK=m CONFIG_NETFILTER_XT_TARGET_TCPMSS=m CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m CONFIG_NETFILTER_XT_TARGET_TEE=m CONFIG_NETFILTER_XT_TARGET_TPROXY=m CONFIG_NETFILTER_XT_TARGET_TRACE=m # CONFIG_NET_FOU_IP_TUNNELS is not set # CONFIG_NET_FOU is not set CONFIG_NETFS_STATS=y # CONFIG_NETFS_SUPPORT is not set # CONFIG_NET_IFE is not set CONFIG_NET_IPGRE_BROADCAST=y CONFIG_NET_IPGRE_DEMUX=m CONFIG_NET_IPGRE=m CONFIG_NET_IPIP=m CONFIG_NET_IPVTI=m # CONFIG_NETIUCV is not set # CONFIG_NET_KEY is not set CONFIG_NET_KEY_MIGRATE=y CONFIG_NET_L3_MASTER_DEV=y CONFIG_NETLABEL=y CONFIG_NETLINK_DIAG=y CONFIG_NET_MPLS_GSO=y # CONFIG_NET_NCSI is not set # CONFIG_NET_NSH is not set # CONFIG_NET_NS_REFCNT_TRACKER is not set CONFIG_NET_NS=y # CONFIG_NET_PKTGEN is not set # CONFIG_NET_POLL_CONTROLLER is not set # CONFIG_NETPOLL is not set CONFIG_NET_RX_BUSY_POLL=y # CONFIG_NET_SB1000 is not set # CONFIG_NET_SCH_ATM is not set CONFIG_NET_SCH_CAKE=m # CONFIG_NET_SCH_CBQ is not set CONFIG_NET_SCH_CBS=m # CONFIG_NET_SCH_CHOKE is not set # CONFIG_NET_SCH_CODEL is not set CONFIG_NET_SCH_DEFAULT=y # CONFIG_NET_SCH_DRR is not set # CONFIG_NET_SCH_DSMARK is not set # CONFIG_NET_SCHED is not set CONFIG_NET_SCH_ETF=m CONFIG_NET_SCH_ETS=m CONFIG_NET_SCH_FQ_CODEL=y CONFIG_NET_SCH_FQ=m # CONFIG_NET_SCH_FQ_PIE is not set CONFIG_NET_SCH_GRED=m CONFIG_NET_SCH_HFSC=m # CONFIG_NET_SCH_HHF is not set CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_INGRESS=m CONFIG_NET_SCH_MQPRIO=m CONFIG_NET_SCH_MULTIQ=m CONFIG_NET_SCH_NETEM=m # CONFIG_NET_SCH_PIE is not set # CONFIG_NET_SCH_PLUG is not set CONFIG_NET_SCH_PRIO=m # CONFIG_NET_SCH_QFQ is not set CONFIG_NET_SCH_RED=m # CONFIG_NET_SCH_SFB is not set CONFIG_NET_SCH_SFQ=m # CONFIG_NET_SCH_SKBPRIO is not set CONFIG_NET_SCH_TAPRIO=m CONFIG_NET_SCH_TBF=m # CONFIG_NET_SCH_TEQL is not set CONFIG_NET_SWITCHDEV=y CONFIG_NET_TC_SKB_EXT=y # CONFIG_NET_TEAM is not set # CONFIG_NET_TULIP is not set CONFIG_NET_UDP_TUNNEL=m # CONFIG_NET_VENDOR_3COM is not set # CONFIG_NET_VENDOR_ADAPTEC is not set # CONFIG_NET_VENDOR_AGERE is not set # CONFIG_NET_VENDOR_ALACRITECH is not set # CONFIG_NET_VENDOR_ALTEON is not set CONFIG_NET_VENDOR_AMAZON=y # CONFIG_NET_VENDOR_AMD is not set CONFIG_NET_VENDOR_AQUANTIA=y # CONFIG_NET_VENDOR_ARC is not set CONFIG_NET_VENDOR_ASIX=y # CONFIG_NET_VENDOR_ATHEROS is not set # CONFIG_NET_VENDOR_BROADCOM is not set # CONFIG_NET_VENDOR_BROCADE is not set # CONFIG_NET_VENDOR_CADENCE is not set # CONFIG_NET_VENDOR_CAVIUM is not set # CONFIG_NET_VENDOR_CHELSIO is not set # CONFIG_NET_VENDOR_CISCO is not set # CONFIG_NET_VENDOR_CORTINA is not set # CONFIG_NET_VENDOR_DAVICOM is not set # CONFIG_NET_VENDOR_DEC is not set # CONFIG_NET_VENDOR_DLINK is not set # CONFIG_NET_VENDOR_EMULEX is not set # CONFIG_NET_VENDOR_ENGLEDER is not set # CONFIG_NET_VENDOR_EZCHIP is not set # CONFIG_NET_VENDOR_FUNGIBLE is not set CONFIG_NET_VENDOR_GOOGLE=y # CONFIG_NET_VENDOR_HUAWEI is not set # CONFIG_NET_VENDOR_I825XX is not set # CONFIG_NET_VENDOR_INTEL is not set # CONFIG_NET_VENDOR_LITEX is not set # CONFIG_NET_VENDOR_MARVELL is not set # CONFIG_NET_VENDOR_MICREL is not set # CONFIG_NET_VENDOR_MICROCHIP is not set # CONFIG_NET_VENDOR_MICROSEMI is not set CONFIG_NET_VENDOR_MICROSOFT=y # CONFIG_NET_VENDOR_MYRI is not set # CONFIG_NET_VENDOR_NATSEMI is not set # CONFIG_NET_VENDOR_NETERION is not set CONFIG_NET_VENDOR_NETRONOME=y # CONFIG_NET_VENDOR_NI is not set # CONFIG_NET_VENDOR_NVIDIA is not set # CONFIG_NET_VENDOR_OKI is not set # CONFIG_NET_VENDOR_PACKET_ENGINES is not set CONFIG_NET_VENDOR_PENSANDO=y # CONFIG_NET_VENDOR_QLOGIC is not set # CONFIG_NET_VENDOR_QUALCOMM is not set # CONFIG_NET_VENDOR_RDC is not set # CONFIG_NET_VENDOR_REALTEK is not set # CONFIG_NET_VENDOR_RENESAS is not set CONFIG_NET_VENDOR_ROCKER=y # CONFIG_NET_VENDOR_SAMSUNG is not set # CONFIG_NET_VENDOR_SEEQ is not set # CONFIG_NET_VENDOR_SILAN is not set # CONFIG_NET_VENDOR_SIS is not set # CONFIG_NET_VENDOR_SMSC is not set # CONFIG_NET_VENDOR_SOCIONEXT is not set CONFIG_NET_VENDOR_SOLARFLARE=y # CONFIG_NET_VENDOR_STMICRO is not set # CONFIG_NET_VENDOR_SUN is not set # CONFIG_NET_VENDOR_SYNOPSYS is not set # CONFIG_NET_VENDOR_TEHUTI is not set # CONFIG_NET_VENDOR_TI is not set # CONFIG_NET_VENDOR_VERTEXCOM is not set # CONFIG_NET_VENDOR_VIA is not set # CONFIG_NET_VENDOR_WANGXUN is not set # CONFIG_NET_VENDOR_WIZNET is not set # CONFIG_NET_VENDOR_XILINX is not set CONFIG_NET_VRF=m # CONFIG_NETWORK_FILESYSTEMS is not set CONFIG_NETWORK_PHY_TIMESTAMPING=y # CONFIG_NETWORK_SECMARK is not set CONFIG_NETXEN_NIC=m CONFIG_NET=y # CONFIG_NEW_LEDS is not set # CONFIG_NFC is not set CONFIG_NF_CONNTRACK_AMANDA=m CONFIG_NF_CONNTRACK_BRIDGE=m CONFIG_NF_CONNTRACK_EVENTS=y CONFIG_NF_CONNTRACK_FTP=m CONFIG_NF_CONNTRACK_H323=m CONFIG_NF_CONNTRACK_IRC=m CONFIG_NF_CONNTRACK_LABELS=y CONFIG_NF_CONNTRACK=m CONFIG_NF_CONNTRACK_MARK=y CONFIG_NF_CONNTRACK_NETBIOS_NS=m CONFIG_NF_CONNTRACK_PPTP=m CONFIG_NF_CONNTRACK_PROCFS=y CONFIG_NF_CONNTRACK_SANE=m CONFIG_NF_CONNTRACK_SECMARK=y CONFIG_NF_CONNTRACK_SIP=m CONFIG_NF_CONNTRACK_SNMP=m CONFIG_NF_CONNTRACK_TFTP=m CONFIG_NF_CONNTRACK_TIMEOUT=y CONFIG_NF_CONNTRACK_TIMESTAMP=y CONFIG_NF_CONNTRACK_ZONES=y CONFIG_NF_CT_NETLINK_HELPER=m CONFIG_NF_CT_NETLINK=m CONFIG_NF_CT_NETLINK_TIMEOUT=m CONFIG_NF_CT_PROTO_DCCP=y CONFIG_NF_CT_PROTO_SCTP=y CONFIG_NF_CT_PROTO_UDPLITE=y CONFIG_NF_DUP_NETDEV=m CONFIG_NF_FLOW_TABLE_INET=m CONFIG_NF_FLOW_TABLE_IPV4=m CONFIG_NF_FLOW_TABLE_IPV6=m CONFIG_NF_FLOW_TABLE=m CONFIG_NF_FLOW_TABLE_PROCFS=y # CONFIG_NFIT_SECURITY_DEBUG is not set CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_IPV4=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_LOG_SYSLOG=m CONFIG_NF_NAT=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NFP_APP_ABM_NIC=y CONFIG_NFP_APP_FLOWER=y # CONFIG_NFP_DEBUG is not set CONFIG_NFP=m CONFIG_NF_REJECT_IPV4=m CONFIG_NF_REJECT_IPV6=m # CONFIG_NFSD_BLOCKLAYOUT is not set # CONFIG_NFSD_FLEXFILELAYOUT is not set CONFIG_NFS_DISABLE_UDP_SUPPORT=y CONFIG_NFSD=m CONFIG_NFSD_PNFS=y CONFIG_NFSD_SCSILAYOUT=y CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V3=y # CONFIG_NFSD_V4_2_INTER_SSC is not set CONFIG_NFSD_V4_SECURITY_LABEL=y CONFIG_NFSD_V4=y CONFIG_NFS_FSCACHE=y CONFIG_NFS_FS=m CONFIG_NF_SOCKET_IPV4=m CONFIG_NF_SOCKET_IPV6=m # CONFIG_NFS_SWAP is not set # CONFIG_NFS_USE_LEGACY_DNS is not set # CONFIG_NFS_V2 is not set CONFIG_NFS_V3_ACL=y CONFIG_NFS_V3=m CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" # CONFIG_NFS_V4_1_MIGRATION is not set CONFIG_NFS_V4_1=y # CONFIG_NFS_V4_2_READ_PLUS is not set CONFIG_NFS_V4_2=y CONFIG_NFS_V4=m CONFIG_NF_TABLES_ARP=y CONFIG_NF_TABLES_BRIDGE=m CONFIG_NF_TABLES_INET=y CONFIG_NF_TABLES_IPV4=y CONFIG_NF_TABLES_IPV6=y CONFIG_NF_TABLES=m CONFIG_NF_TABLES_NETDEV=y CONFIG_NFT_BRIDGE_META=m CONFIG_NFT_BRIDGE_REJECT=m # CONFIG_NFT_COMPAT is not set CONFIG_NFT_CONNLIMIT=m CONFIG_NFT_COUNTER=m CONFIG_NFT_CT=m CONFIG_NFT_DUP_IPV4=m CONFIG_NFT_DUP_IPV6=m CONFIG_NFT_DUP_NETDEV=m CONFIG_NFT_FIB_INET=m CONFIG_NFT_FIB_IPV4=m CONFIG_NFT_FIB_IPV6=m CONFIG_NFT_FIB_NETDEV=m CONFIG_NFT_FLOW_OFFLOAD=m CONFIG_NFT_FWD_NETDEV=m CONFIG_NFT_HASH=m CONFIG_NFT_LIMIT=m # CONFIG_NFTL is not set CONFIG_NFT_LOG=m CONFIG_NFT_MASQ=m CONFIG_NFT_NAT=m CONFIG_NFT_NUMGEN=m CONFIG_NFT_OBJREF=m CONFIG_NFT_OSF=m CONFIG_NF_TPROXY_IPV4=m CONFIG_NF_TPROXY_IPV6=m CONFIG_NFT_QUEUE=m CONFIG_NFT_QUOTA=m CONFIG_NFT_REDIR=m CONFIG_NFT_REJECT_INET=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NFT_REJECT_IPV6=m CONFIG_NFT_REJECT=m CONFIG_NFT_REJECT_NETDEV=m CONFIG_NFT_SOCKET=m CONFIG_NFT_SYNPROXY=m CONFIG_NFT_TPROXY=m CONFIG_NFT_TUNNEL=m CONFIG_NFT_XFRM=m CONFIG_N_GSM=y # CONFIG_N_HDLC is not set # CONFIG_NI903X_WDT is not set # CONFIG_NIC7018_WDT is not set # CONFIG_NILFS2_FS is not set CONFIG_NITRO_ENCLAVES=m # CONFIG_NITRO_ENCLAVES_MISC_DEV_TEST is not set # CONFIG_NL80211_TESTMODE is not set CONFIG_NLMON=m CONFIG_NLS_ASCII=y CONFIG_NLS_CODEPAGE_1250=m CONFIG_NLS_CODEPAGE_1251=m CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_CODEPAGE_855=m CONFIG_NLS_CODEPAGE_857=m CONFIG_NLS_CODEPAGE_860=m CONFIG_NLS_CODEPAGE_861=m CONFIG_NLS_CODEPAGE_862=m CONFIG_NLS_CODEPAGE_863=m CONFIG_NLS_CODEPAGE_864=m CONFIG_NLS_CODEPAGE_865=m CONFIG_NLS_CODEPAGE_866=m CONFIG_NLS_CODEPAGE_869=m CONFIG_NLS_CODEPAGE_874=m CONFIG_NLS_CODEPAGE_932=m CONFIG_NLS_CODEPAGE_936=m CONFIG_NLS_CODEPAGE_949=m CONFIG_NLS_CODEPAGE_950=m CONFIG_NLS_DEFAULT="utf8" # CONFIG_NLS is not set CONFIG_NLS_ISO8859_13=m CONFIG_NLS_ISO8859_14=m CONFIG_NLS_ISO8859_15=m CONFIG_NLS_ISO8859_1=m CONFIG_NLS_ISO8859_2=m CONFIG_NLS_ISO8859_3=m CONFIG_NLS_ISO8859_4=m CONFIG_NLS_ISO8859_5=m CONFIG_NLS_ISO8859_6=m CONFIG_NLS_ISO8859_7=m CONFIG_NLS_ISO8859_8=m CONFIG_NLS_ISO8859_9=m CONFIG_NLS_KOI8_R=m CONFIG_NLS_KOI8_U=m CONFIG_NLS_MAC_CELTIC=m CONFIG_NLS_MAC_CENTEURO=m CONFIG_NLS_MAC_CROATIAN=m CONFIG_NLS_MAC_CYRILLIC=m CONFIG_NLS_MAC_GAELIC=m CONFIG_NLS_MAC_GREEK=m CONFIG_NLS_MAC_ICELAND=m CONFIG_NLS_MAC_INUIT=m CONFIG_NLS_MAC_ROMANIAN=m CONFIG_NLS_MAC_ROMAN=m CONFIG_NLS_MAC_TURKISH=m CONFIG_NLS_UTF8=m # CONFIG_NOA1305 is not set CONFIG_NODES_SHIFT=1 # CONFIG_NO_HZ_FULL is not set CONFIG_NO_HZ_IDLE=y CONFIG_NO_HZ=y # CONFIG_NOP_USB_XCEIV is not set # CONFIG_NOTIFIER_ERROR_INJECTION is not set CONFIG_NOUVEAU_DEBUG=5 CONFIG_NOUVEAU_DEBUG_DEFAULT=3 # CONFIG_NOUVEAU_DEBUG_MMU is not set # CONFIG_NOUVEAU_DEBUG_PUSH is not set # CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT is not set # CONFIG_NOZOMI is not set CONFIG_NR_CPUS=32 # CONFIG_NTB_AMD is not set # CONFIG_NTB_EPF is not set # CONFIG_NTB_IDT is not set # CONFIG_NTB_INTEL is not set # CONFIG_NTB is not set # CONFIG_NTB_PERF is not set # CONFIG_NTB_PINGPONG is not set # CONFIG_NTB_SWITCHTEC is not set # CONFIG_NTB_TOOL is not set # CONFIG_NTB_TRANSPORT is not set # CONFIG_NTFS3_FS is not set # CONFIG_NTFS_FS is not set # CONFIG_NULL_TTY is not set CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y # CONFIG_NUMA_BALANCING is not set # CONFIG_NUMA_EMU is not set # CONFIG_NUMA is not set CONFIG_NVDIMM_DAX=y CONFIG_NVDIMM_PFN=y # CONFIG_NVHE_EL2_DEBUG is not set # CONFIG_NVIDIA_WMI_EC_BACKLIGHT is not set # CONFIG_NVME_AUTH is not set # CONFIG_NVME_FC is not set # CONFIG_NVME_HWMON is not set # CONFIG_NVMEM_REBOOT_MODE is not set # CONFIG_NVMEM_RMEM is not set CONFIG_NVMEM_SYSFS=y CONFIG_NVME_MULTIPATH=y CONFIG_NVMEM=y CONFIG_NVME_RDMA=m # CONFIG_NVME_TARGET_AUTH is not set CONFIG_NVME_TARGET_FCLOOP=m CONFIG_NVME_TARGET_FC=m # CONFIG_NVME_TARGET is not set CONFIG_NVME_TARGET_LOOP=m # CONFIG_NVME_TARGET_PASSTHRU is not set CONFIG_NVME_TARGET_RDMA=m CONFIG_NVME_TARGET_TCP=m CONFIG_NVME_TCP=m # CONFIG_NVME_VERBOSE_ERRORS is not set # CONFIG_NVRAM is not set # CONFIG_NVSW_SN2201 is not set # CONFIG_NXP_C45_TJA11XX_PHY is not set # CONFIG_NXP_TJA11XX_PHY is not set # CONFIG_OCFS2_FS is not set # CONFIG_OCTEON_EP is not set CONFIG_OCXL=m # CONFIG_OF is not set # CONFIG_OF_OVERLAY is not set CONFIG_OF_PMEM=m # CONFIG_OF_UNITTEST is not set # CONFIG_OMFS_FS is not set # CONFIG_OPAL_CORE is not set # CONFIG_OPEN_DICE is not set CONFIG_OPENVSWITCH_GENEVE=m # CONFIG_OPENVSWITCH_GRE is not set # CONFIG_OPENVSWITCH is not set # CONFIG_OPENVSWITCH_VXLAN is not set # CONFIG_OPT3001 is not set # CONFIG_OPTEE is not set # CONFIG_ORANGEFS_FS is not set # CONFIG_OSF_PARTITION is not set CONFIG_OSNOISE_TRACER=y CONFIG_OVERFLOW_KUNIT_TEST=m # CONFIG_OVERLAY_FS_INDEX is not set # CONFIG_OVERLAY_FS is not set # CONFIG_OVERLAY_FS_METACOPY is not set # CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW is not set # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set # CONFIG_OVERLAY_FS_XINO_AUTO is not set # CONFIG_PA12203001 is not set CONFIG_PACKET_DIAG=y # CONFIG_PACKET is not set # CONFIG_PACKING is not set CONFIG_PACK_STACK=y # CONFIG_PAGE_EXTENSION is not set # CONFIG_PAGE_OWNER is not set CONFIG_PAGE_POISONING=y # CONFIG_PAGE_POOL_STATS is not set CONFIG_PAGE_REPORTING=y # CONFIG_PAGE_TABLE_CHECK is not set # CONFIG_PANEL is not set CONFIG_PANIC_ON_OOPS=y CONFIG_PANIC_TIMEOUT=0 # CONFIG_PANTHERLORD_FF is not set # CONFIG_PARIDE is not set # CONFIG_PARPORT is not set # CONFIG_PARPORT_PC is not set CONFIG_PARTITION_ADVANCED=y # CONFIG_PATA_ACPI is not set # CONFIG_PATA_ALI is not set # CONFIG_PATA_AMD is not set # CONFIG_PATA_ARTOP is not set # CONFIG_PATA_ATIIXP is not set # CONFIG_PATA_ATP867X is not set # CONFIG_PATA_CMD640_PCI is not set # CONFIG_PATA_CMD64X is not set # CONFIG_PATA_CYPRESS is not set # CONFIG_PATA_EFAR is not set # CONFIG_PATA_HPT366 is not set # CONFIG_PATA_HPT37X is not set # CONFIG_PATA_HPT3X2N is not set # CONFIG_PATA_HPT3X3 is not set # CONFIG_PATA_IT8213 is not set # CONFIG_PATA_IT821X is not set # CONFIG_PATA_JMICRON is not set # CONFIG_PATA_LEGACY is not set # CONFIG_PATA_MARVELL is not set # CONFIG_PATA_MPIIX is not set # CONFIG_PATA_NETCELL is not set # CONFIG_PATA_NINJA32 is not set # CONFIG_PATA_NS87410 is not set # CONFIG_PATA_NS87415 is not set # CONFIG_PATA_OLDPIIX is not set # CONFIG_PATA_OPTIDMA is not set # CONFIG_PATA_OPTI is not set # CONFIG_PATA_PDC2027X is not set # CONFIG_PATA_PDC_OLD is not set # CONFIG_PATA_RADISYS is not set # CONFIG_PATA_RDC is not set # CONFIG_PATA_RZ1000 is not set # CONFIG_PATA_SCH is not set # CONFIG_PATA_SERVERWORKS is not set # CONFIG_PATA_SIL680 is not set # CONFIG_PATA_SIS is not set # CONFIG_PATA_TOSHIBA is not set # CONFIG_PATA_TRIFLEX is not set # CONFIG_PATA_VIA is not set # CONFIG_PATA_WINBOND is not set # CONFIG_PC300TOO is not set # CONFIG_PC87413_WDT is not set CONFIG_PCCARD=y # CONFIG_PCENGINES_APU2 is not set # CONFIG_PCI200SYN is not set # CONFIG_PCI_DEBUG is not set CONFIG_PCIEAER_INJECT=m CONFIG_PCIEAER=y # CONFIG_PCIE_ALTERA is not set CONFIG_PCIEASPM_DEFAULT=y # CONFIG_PCIEASPM_PERFORMANCE is not set # CONFIG_PCIEASPM_POWERSAVE is not set # CONFIG_PCIEASPM_POWER_SUPERSAVE is not set CONFIG_PCIEASPM=y # CONFIG_PCIE_CADENCE_HOST is not set # CONFIG_PCIE_CADENCE_PLAT_HOST is not set CONFIG_PCIE_DPC=y # CONFIG_PCIE_DW_PLAT_HOST is not set # CONFIG_PCIE_DW_PLAT is not set CONFIG_PCIE_ECRC=y CONFIG_PCIE_EDR=y # CONFIG_PCIE_HISI_STB is not set # CONFIG_PCIE_KIRIN is not set # CONFIG_PCIE_LAYERSCAPE_GEN4 is not set # CONFIG_PCIE_MICROCHIP_HOST is not set # CONFIG_PCI_ENDPOINT is not set # CONFIG_PCI_ENDPOINT_TEST is not set # CONFIG_PCIEPORTBUS is not set # CONFIG_PCIE_PTM is not set # CONFIG_PCIE_XILINX is not set # CONFIG_PCI_FTPCI100 is not set # CONFIG_PCI_HOST_GENERIC is not set CONFIG_PCI_HYPERV=m CONFIG_PCI_IOV=y # CONFIG_PCI is not set # CONFIG_PCI_J721E_HOST is not set # CONFIG_PCI_MESON is not set CONFIG_PCI_MSI=y CONFIG_PCI_NR_FUNCTIONS=512 CONFIG_PCI_P2PDMA=y # CONFIG_PCI_PASID is not set # CONFIG_PCIPCWATCHDOG is not set CONFIG_PCI_PF_STUB=m # CONFIG_PCI_PRI is not set # CONFIG_PCI_REALLOC_ENABLE_AUTO is not set # CONFIG_PCI_STUB is not set # CONFIG_PCI_SW_SWITCHTEC is not set # CONFIG_PCMCIA is not set # CONFIG_PCNET32 is not set CONFIG_PCPU_DEV_REFCNT=y # CONFIG_PCS_XPCS is not set # CONFIG_PDA_POWER is not set # CONFIG_PDC_ADMA is not set # CONFIG_PEAQ_WMI is not set # CONFIG_PECI is not set # CONFIG_PERCPU_STATS is not set # CONFIG_PERCPU_TEST is not set CONFIG_PERF_EVENTS_AMD_UNCORE=y # CONFIG_PERF_EVENTS is not set CONFIG_PERSISTENT_KEYRINGS=y # CONFIG_PFAULT is not set # CONFIG_PHANTOM is not set # CONFIG_PHONET is not set CONFIG_PHY_BCM_SR_USB=m # CONFIG_PHY_CADENCE_DPHY is not set # CONFIG_PHY_CADENCE_DPHY_RX is not set # CONFIG_PHY_CADENCE_SALVO is not set # CONFIG_PHY_CADENCE_SIERRA is not set # CONFIG_PHY_CADENCE_TORRENT is not set # CONFIG_PHY_CAN_TRANSCEIVER is not set # CONFIG_PHY_CPCAP_USB is not set # CONFIG_PHY_FSL_IMX8M_PCIE is not set # CONFIG_PHY_FSL_IMX8MQ_USB is not set # CONFIG_PHY_FSL_LYNX_28G is not set # CONFIG_PHY_HI3660_USB is not set # CONFIG_PHY_HI3670_PCIE is not set # CONFIG_PHY_HI3670_USB is not set # CONFIG_PHY_HISI_INNO_USB2 is not set # CONFIG_PHY_HISTB_COMBPHY is not set # CONFIG_PHY_LAN966X_SERDES is not set # CONFIG_PHYLIB is not set # CONFIG_PHY_MAPPHONE_MDM6600 is not set # CONFIG_PHY_MIXEL_MIPI_DPHY is not set # CONFIG_PHY_OCELOT_SERDES is not set # CONFIG_PHY_PXA_28NM_HSIC is not set # CONFIG_PHY_PXA_28NM_USB2 is not set # CONFIG_PHY_QCOM_EDP is not set # CONFIG_PHY_QCOM_IPQ4019_USB is not set # CONFIG_PHY_QCOM_IPQ806X_USB is not set # CONFIG_PHY_QCOM_QMP is not set # CONFIG_PHY_QCOM_QUSB2 is not set # CONFIG_PHY_QCOM_USB_HS_28NM is not set # CONFIG_PHY_QCOM_USB_HSIC is not set # CONFIG_PHY_QCOM_USB_HS is not set # CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set # CONFIG_PHY_QCOM_USB_SS is not set # CONFIG_PHY_TUSB1210 is not set # CONFIG_PI433 is not set CONFIG_PID_NS=y CONFIG_PINCTRL_ALDERLAKE=m # CONFIG_PINCTRL_BROXTON is not set # CONFIG_PINCTRL_CHERRYVIEW is not set CONFIG_PINCTRL_ELKHARTLAKE=m CONFIG_PINCTRL_EMMITSBURG=m # CONFIG_PINCTRL_EQUILIBRIUM is not set CONFIG_PINCTRL_ICELAKE=m # CONFIG_PINCTRL_IPQ4019 is not set # CONFIG_PINCTRL_IPQ6018 is not set # CONFIG_PINCTRL_IPQ8074 is not set # CONFIG_PINCTRL is not set # CONFIG_PINCTRL_JASPERLAKE is not set CONFIG_PINCTRL_LAKEFIELD=m # CONFIG_PINCTRL_LPASS_LPI is not set # CONFIG_PINCTRL_LYNXPOINT is not set # CONFIG_PINCTRL_MCP23S08 is not set # CONFIG_PINCTRL_MDM9615 is not set # CONFIG_PINCTRL_METEORLAKE is not set # CONFIG_PINCTRL_MICROCHIP_SGPIO is not set # CONFIG_PINCTRL_MSM8226 is not set # CONFIG_PINCTRL_MSM8976 is not set # CONFIG_PINCTRL_MSM8994 is not set # CONFIG_PINCTRL_MSM8998 is not set # CONFIG_PINCTRL_MSM is not set # CONFIG_PINCTRL_OCELOT is not set # CONFIG_PINCTRL_QCS404 is not set # CONFIG_PINCTRL_SC7180 is not set # CONFIG_PINCTRL_SC8180X is not set # CONFIG_PINCTRL_SDM660 is not set # CONFIG_PINCTRL_SDM845 is not set # CONFIG_PINCTRL_SM8150 is not set # CONFIG_PINCTRL_SM8250 is not set # CONFIG_PINCTRL_SM8350 is not set # CONFIG_PINCTRL_SM8450 is not set # CONFIG_PINCTRL_STMFX is not set # CONFIG_PINCTRL_SX150X is not set # CONFIG_PING is not set # CONFIG_PKCS7_TEST_KEY is not set CONFIG_PKCS8_PRIVATE_KEY_PARSER=m CONFIG_PKEY=m # CONFIG_PL320_MBOX is not set # CONFIG_PLATFORM_MHU is not set CONFIG_PLAYSTATION_FF=y # CONFIG_PLFXLC is not set # CONFIG_PLIP is not set # CONFIG_PLX_DMA is not set # CONFIG_PM_ADVANCED_DEBUG is not set # CONFIG_PM_AUTOSLEEP is not set CONFIG_PMBUS=m CONFIG_PM_DEBUG=y # CONFIG_PM_DEVFREQ is not set # CONFIG_PMIC_ADP5520 is not set # CONFIG_PMIC_DA903X is not set # CONFIG_PM is not set CONFIG_PM_STD_PARTITION="/dev/jokes" # CONFIG_PM_TEST_SUSPEND is not set # CONFIG_PM_TRACE_RTC is not set # CONFIG_PM_USERSPACE_AUTOSLEEP is not set # CONFIG_PMU_SYSFS is not set # CONFIG_PM_WAKELOCKS is not set CONFIG_PNFS_BLOCK=m CONFIG_PNFS_FILE_LAYOUT=m # CONFIG_POSIX_MQUEUE is not set # CONFIG_POWERCAP is not set # CONFIG_POWER_MLXBF is not set CONFIG_POWERNV_CPUFREQ=y CONFIG_POWERNV_OP_PANEL=m # CONFIG_POWER_RESET_BRCMSTB is not set # CONFIG_POWER_RESET_GPIO_RESTART is not set # CONFIG_POWER_RESET_LTC2952 is not set # CONFIG_POWER_RESET_RESTART is not set # CONFIG_POWER_RESET_SYSCON is not set # CONFIG_POWER_RESET_SYSCON_POWEROFF is not set # CONFIG_POWER_RESET_VEXPRESS is not set CONFIG_POWER_RESET=y # CONFIG_POWER_SUPPLY_DEBUG is not set CONFIG_POWER_SUPPLY_HWMON=y CONFIG_POWER_SUPPLY=y # CONFIG_PPC_PROT_SAO_LPAR is not set CONFIG_PPC_QUEUED_SPINLOCKS=y CONFIG_PPC_RTAS_FILTER=y CONFIG_PPDEV=m CONFIG_PPP_ASYNC=m CONFIG_PPP_BSDCOMP=m CONFIG_PPP_DEFLATE=m CONFIG_PPP_FILTER=y # CONFIG_PPP is not set CONFIG_PPP_MPPE=m CONFIG_PPP_MULTILINK=y CONFIG_PPPOATM=m CONFIG_PPPOE=m CONFIG_PPPOL2TP=m CONFIG_PPP_SYNC_TTY=m CONFIG_PPS_CLIENT_GPIO=y # CONFIG_PPS_CLIENT_KTIMER is not set CONFIG_PPS_CLIENT_LDISC=y # CONFIG_PPS_DEBUG is not set CONFIG_PPS=y CONFIG_PPTP=m # CONFIG_PREEMPT_DYNAMIC is not set # CONFIG_PREEMPTIRQ_DELAY_TEST is not set # CONFIG_PREEMPT is not set CONFIG_PREEMPT_NONE=y CONFIG_PREEMPT_NOTIFIERS=y # CONFIG_PREEMPT_TRACER is not set # CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PRESTERA is not set CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_PRIME_NUMBERS is not set CONFIG_PRINTER=m # CONFIG_PRINTK_CALLER is not set CONFIG_PRINTK_INDEX=y CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 CONFIG_PRINTK_TIME=y CONFIG_PRINTK=y CONFIG_PRINT_QUOTA_WARNING=y # CONFIG_PRISM2_USB is not set CONFIG_PROC_CHILDREN=y CONFIG_PROC_EVENTS=y CONFIG_PROC_FS=y # CONFIG_PROC_KCORE is not set CONFIG_PROC_PID_CPUSET=y CONFIG_PROC_VMCORE_DEVICE_DUMP=y CONFIG_PROC_VMCORE=y # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set # CONFIG_PROFILING is not set # CONFIG_PROTECTED_VIRTUALIZATION_GUEST is not set # CONFIG_PROVE_CXL_LOCKING is not set # CONFIG_PROVE_LOCKING is not set CONFIG_PROVE_NVDIMM_LOCKING=y # CONFIG_PROVE_RAW_LOCK_NESTING is not set # CONFIG_PSAMPLE is not set CONFIG_PSI_DEFAULT_DISABLED=y CONFIG_PSI=y # CONFIG_PSTORE_842_COMPRESS is not set # CONFIG_PSTORE_BLK is not set # CONFIG_PSTORE_CONSOLE is not set CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y CONFIG_PSTORE_DEFLATE_COMPRESS=y # CONFIG_PSTORE_FTRACE is not set # CONFIG_PSTORE_LZ4_COMPRESS is not set # CONFIG_PSTORE_LZ4HC_COMPRESS is not set # CONFIG_PSTORE_LZO_COMPRESS is not set # CONFIG_PSTORE_PMSG is not set # CONFIG_PSTORE_RAM is not set CONFIG_PSTORE=y # CONFIG_PSTORE_ZSTD_COMPRESS is not set # CONFIG_PTDUMP_DEBUGFS is not set CONFIG_PTE_MARKER_UFFD_WP=y # CONFIG_PTP_1588_CLOCK_IDT82P33 is not set # CONFIG_PTP_1588_CLOCK_IDTCM is not set # CONFIG_PTP_1588_CLOCK_INES is not set CONFIG_PTP_1588_CLOCK_KVM=m # CONFIG_PTP_1588_CLOCK_OCP is not set CONFIG_PTP_1588_CLOCK=y # CONFIG_PUNIT_ATOM_DEBUG is not set # CONFIG_PVPANIC is not set # CONFIG_PVPANIC_MMIO is not set # CONFIG_PVPANIC_PCI is not set # CONFIG_PWM_ATMEL_TCB is not set # CONFIG_PWM_CLK is not set # CONFIG_PWM_DEBUG is not set # CONFIG_PWM_DWC is not set # CONFIG_PWM_FSL_FTM is not set # CONFIG_PWM_HIBVT is not set # CONFIG_PWM is not set # CONFIG_PWM_PCA9685 is not set # CONFIG_PWM_XILINX is not set # CONFIG_PWRSEQ_EMMC is not set # CONFIG_PWRSEQ_SD8787 is not set # CONFIG_PWRSEQ_SIMPLE is not set # CONFIG_QCA7000_SPI is not set # CONFIG_QCOM_AOSS_QMP is not set # CONFIG_QCOM_APCS_IPC is not set # CONFIG_QCOM_COMMAND_DB is not set # CONFIG_QCOM_CPR is not set # CONFIG_QCOM_EBI2 is not set CONFIG_QCOM_FALKOR_ERRATUM_1003=y CONFIG_QCOM_FALKOR_ERRATUM_1009=y # CONFIG_QCOM_GENI_SE is not set # CONFIG_QCOM_GPI_DMA is not set # CONFIG_QCOM_HIDMA is not set # CONFIG_QCOM_HIDMA_MGMT is not set # CONFIG_QCOM_ICC_BWMON is not set # CONFIG_QCOM_IOMMU is not set # CONFIG_QCOM_IPCC is not set # CONFIG_QCOM_LMH is not set # CONFIG_QCOM_MPM is not set # CONFIG_QCOM_OCMEM is not set # CONFIG_QCOM_PDC is not set CONFIG_QCOM_QDF2400_ERRATUM_0065=y # CONFIG_QCOM_QFPROM is not set # CONFIG_QCOM_RMTFS_MEM is not set # CONFIG_QCOM_SCM is not set # CONFIG_QCOM_SMEM is not set # CONFIG_QCOM_SPMI_IADC is not set # CONFIG_QCOM_SPM is not set # CONFIG_QCOM_SPMI_VADC is not set # CONFIG_QCOM_SSC_BLOCK_BUS is not set CONFIG_QDIO=y CONFIG_QEDE=m CONFIG_QED_FCOE=y CONFIG_QEDF=m CONFIG_QEDI=m CONFIG_QED_ISCSI=y CONFIG_QED_LL2=y CONFIG_QED=m CONFIG_QED_SRIOV=y CONFIG_QETH_L2=m CONFIG_QETH_L3=m CONFIG_QETH=m # CONFIG_QETH_OSX is not set # CONFIG_QFMT_V1 is not set CONFIG_QFMT_V2=y CONFIG_QLA3XXX=m # CONFIG_QLCNIC is not set # CONFIG_QLGE is not set # CONFIG_QNX4FS_FS is not set # CONFIG_QNX6FS_FS is not set # CONFIG_QORIQ_CPUFREQ is not set # CONFIG_QORIQ_THERMAL is not set # CONFIG_QRTR is not set CONFIG_QRTR_MHI=m # CONFIG_QRTR_SMD is not set # CONFIG_QRTR_TUN is not set # CONFIG_QSEMI_PHY is not set # CONFIG_QTNFMAC_PCIE is not set # CONFIG_QUICC_ENGINE is not set CONFIG_QUOTACTL=y # CONFIG_QUOTA_DEBUG is not set # CONFIG_QUOTA is not set # CONFIG_QUOTA_NETLINK_INTERFACE is not set CONFIG_R8169=m # CONFIG_R8188EU is not set # CONFIG_R8712U is not set CONFIG_RADIO_ADAPTERS=y # CONFIG_RADIO_MAXIRADIO is not set # CONFIG_RADIO_SAA7706H is not set # CONFIG_RADIO_SHARK2 is not set # CONFIG_RADIO_SHARK is not set # CONFIG_RADIO_SI470X is not set # CONFIG_RADIO_SI4713 is not set CONFIG_RADIO_TEA575X=m # CONFIG_RADIO_TEA5764 is not set # CONFIG_RADIO_TEF6862 is not set # CONFIG_RADIO_WL1273 is not set # CONFIG_RAID6_PQ_BENCHMARK is not set # CONFIG_RAID_ATTRS is not set # CONFIG_RANDOM32_SELFTEST is not set CONFIG_RANDOMIZE_BASE=y CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT=y CONFIG_RANDOMIZE_MEMORY=y CONFIG_RANDOM_TRUST_BOOTLOADER=y CONFIG_RANDOM_TRUST_CPU=y # CONFIG_RANDSTRUCT_FULL is not set CONFIG_RANDSTRUCT_NONE=y # CONFIG_RANDSTRUCT_PERFORMANCE is not set # CONFIG_RAPIDIO is not set # CONFIG_RAS_CEC is not set # CONFIG_RAS is not set CONFIG_RATIONAL_KUNIT_TEST=m # CONFIG_RBTREE_TEST is not set CONFIG_RC_ATI_REMOTE=m # CONFIG_RC_CORE is not set CONFIG_RC_DECODERS=y CONFIG_RC_DEVICES=y # CONFIG_RC_LOOPBACK is not set CONFIG_RC_MAP=m CONFIG_RCU_CPU_STALL_TIMEOUT=60 # CONFIG_RCU_EQS_DEBUG is not set CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 # CONFIG_RCU_EXPERT is not set # CONFIG_RCU_NOCB_CPU_DEFAULT_ALL is not set CONFIG_RCU_NOCB_CPU=y # CONFIG_RCU_REF_SCALE_TEST is not set # CONFIG_RCU_SCALE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TRACE is not set # CONFIG_RC_XBOX_DVD is not set CONFIG_RD_BZIP2=y CONFIG_RD_GZIP=y CONFIG_RD_LZ4=y CONFIG_RD_LZMA=y CONFIG_RD_LZO=y # CONFIG_RDMA_RXE is not set CONFIG_RDMA_SIW=m # CONFIG_RDS is not set CONFIG_RD_XZ=y CONFIG_RD_ZSTD=y # CONFIG_READABLE_ASM is not set # CONFIG_READ_ONLY_THP_FOR_FS is not set CONFIG_REALTEK_AUTOPM=y # CONFIG_REALTEK_PHY is not set # CONFIG_REED_SOLOMON_TEST is not set # CONFIG_REGULATOR_88PG86X is not set # CONFIG_REGULATOR_ACT8865 is not set # CONFIG_REGULATOR_AD5398 is not set # CONFIG_REGULATOR_ANATOP is not set # CONFIG_REGULATOR_DA9210 is not set # CONFIG_REGULATOR_DA9211 is not set # CONFIG_REGULATOR_DEBUG is not set # CONFIG_REGULATOR_FAN53555 is not set # CONFIG_REGULATOR_FIXED_VOLTAGE is not set # CONFIG_REGULATOR_GPIO is not set # CONFIG_REGULATOR_ISL6271A is not set # CONFIG_REGULATOR_ISL9305 is not set # CONFIG_REGULATOR is not set # CONFIG_REGULATOR_LP3971 is not set # CONFIG_REGULATOR_LP3972 is not set # CONFIG_REGULATOR_LP872X is not set # CONFIG_REGULATOR_LP8755 is not set # CONFIG_REGULATOR_LTC3589 is not set # CONFIG_REGULATOR_LTC3676 is not set # CONFIG_REGULATOR_MAX1586 is not set # CONFIG_REGULATOR_MAX8649 is not set # CONFIG_REGULATOR_MAX8660 is not set # CONFIG_REGULATOR_MAX8952 is not set # CONFIG_REGULATOR_MAX8973 is not set # CONFIG_REGULATOR_MCP16502 is not set # CONFIG_REGULATOR_MT6311 is not set # CONFIG_REGULATOR_PF8X00 is not set # CONFIG_REGULATOR_PFUZE100 is not set # CONFIG_REGULATOR_PV88060 is not set # CONFIG_REGULATOR_PV88080 is not set # CONFIG_REGULATOR_PV88090 is not set # CONFIG_REGULATOR_PWM is not set # CONFIG_REGULATOR_SY8106A is not set # CONFIG_REGULATOR_TPS51632 is not set # CONFIG_REGULATOR_TPS62360 is not set # CONFIG_REGULATOR_TPS65023 is not set # CONFIG_REGULATOR_TPS6507X is not set # CONFIG_REGULATOR_TPS65132 is not set # CONFIG_REGULATOR_TPS6524X is not set # CONFIG_REGULATOR_USERSPACE_CONSUMER is not set # CONFIG_REGULATOR_VCTRL is not set # CONFIG_REGULATOR_VEXPRESS is not set # CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set # CONFIG_REISERFS_FS is not set # CONFIG_RELAY is not set CONFIG_RELOCATABLE=y # CONFIG_REMOTEPROC is not set CONFIG_RENESAS_PHY=m # CONFIG_RESET_ATTACK_MITIGATION is not set # CONFIG_RESET_CONTROLLER is not set # CONFIG_RESET_INTEL_GW is not set # CONFIG_RESET_QCOM_PDC is not set # CONFIG_RESET_TI_SYSCON is not set # CONFIG_RESET_TI_TPS380X is not set # CONFIG_RESOURCE_KUNIT_TEST is not set CONFIG_RETPOLINE=y # CONFIG_RFD77402 is not set # CONFIG_RFD_FTL is not set # CONFIG_RFKILL_GPIO is not set CONFIG_RFKILL_INPUT=y # CONFIG_RFKILL is not set CONFIG_RHEL_DIFFERENCES=y CONFIG_RING_BUFFER_BENCHMARK=m # CONFIG_RING_BUFFER_STARTUP_TEST is not set # CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set CONFIG_RMI4_2D_SENSOR=y # CONFIG_RMI4_CORE is not set CONFIG_RMI4_F03_SERIO=m CONFIG_RMI4_F03=y CONFIG_RMI4_F11=y CONFIG_RMI4_F12=y CONFIG_RMI4_F30=y CONFIG_RMI4_F34=y CONFIG_RMI4_F3A=y # CONFIG_RMI4_F54 is not set CONFIG_RMI4_F55=y CONFIG_RMI4_I2C=m CONFIG_RMI4_SMB=m CONFIG_RMI4_SPI=m # CONFIG_RMNET is not set CONFIG_ROCKCHIP_PHY=m CONFIG_ROCKER=m CONFIG_RODATA_FULL_DEFAULT_ENABLED=y # CONFIG_ROMFS_FS is not set CONFIG_RPCSEC_GSS_KRB5=m # CONFIG_RPMSG_QCOM_GLINK_RPM is not set # CONFIG_RPMSG_VIRTIO is not set # CONFIG_RPR0521 is not set # CONFIG_RT2400PCI is not set # CONFIG_RT2500PCI is not set # CONFIG_RT2500USB is not set CONFIG_RT2800PCI=m CONFIG_RT2800PCI_RT3290=y CONFIG_RT2800PCI_RT33XX=y CONFIG_RT2800PCI_RT35XX=y CONFIG_RT2800PCI_RT53XX=y CONFIG_RT2800USB=m CONFIG_RT2800USB_RT33XX=y CONFIG_RT2800USB_RT3573=y CONFIG_RT2800USB_RT35XX=y CONFIG_RT2800USB_RT53XX=y CONFIG_RT2800USB_RT55XX=y CONFIG_RT2800USB_UNKNOWN=y # CONFIG_RT2X00_DEBUG is not set CONFIG_RT2X00_LIB_DEBUGFS=y CONFIG_RT2X00=m # CONFIG_RT61PCI is not set # CONFIG_RT73USB is not set CONFIG_RTC_CLASS=y # CONFIG_RTC_DEBUG is not set # CONFIG_RTC_DRV_ABB5ZES3 is not set # CONFIG_RTC_DRV_ABEOZ9 is not set # CONFIG_RTC_DRV_ABX80X is not set CONFIG_RTC_DRV_BQ32K=m CONFIG_RTC_DRV_BQ4802=m # CONFIG_RTC_DRV_CADENCE is not set CONFIG_RTC_DRV_CMOS=y CONFIG_RTC_DRV_DS1286=m # CONFIG_RTC_DRV_DS1302 is not set # CONFIG_RTC_DRV_DS1305 is not set # CONFIG_RTC_DRV_DS1307_CENTURY is not set CONFIG_RTC_DRV_DS1307=m # CONFIG_RTC_DRV_DS1343 is not set # CONFIG_RTC_DRV_DS1347 is not set CONFIG_RTC_DRV_DS1374=m # CONFIG_RTC_DRV_DS1374_WDT is not set # CONFIG_RTC_DRV_DS1390 is not set CONFIG_RTC_DRV_DS1511=m CONFIG_RTC_DRV_DS1553=m CONFIG_RTC_DRV_DS1672=m # CONFIG_RTC_DRV_DS1685_FAMILY is not set CONFIG_RTC_DRV_DS1685=y # CONFIG_RTC_DRV_DS1689 is not set # CONFIG_RTC_DRV_DS17285 is not set CONFIG_RTC_DRV_DS1742=m # CONFIG_RTC_DRV_DS17485 is not set # CONFIG_RTC_DRV_DS17885 is not set CONFIG_RTC_DRV_DS2404=m # CONFIG_RTC_DRV_DS3232_HWMON is not set CONFIG_RTC_DRV_DS3232=m CONFIG_RTC_DRV_EM3027=m CONFIG_RTC_DRV_FM3130=m # CONFIG_RTC_DRV_FTRTC010 is not set # CONFIG_RTC_DRV_GOLDFISH is not set # CONFIG_RTC_DRV_HID_SENSOR_TIME is not set # CONFIG_RTC_DRV_HYM8563 is not set CONFIG_RTC_DRV_ISL12022=m # CONFIG_RTC_DRV_ISL12026 is not set CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_M41T80=m CONFIG_RTC_DRV_M41T80_WDT=y # CONFIG_RTC_DRV_M41T93 is not set # CONFIG_RTC_DRV_M41T94 is not set CONFIG_RTC_DRV_M48T35=m CONFIG_RTC_DRV_M48T59=m # CONFIG_RTC_DRV_M48T86 is not set CONFIG_RTC_DRV_MAX6900=m # CONFIG_RTC_DRV_MAX6902 is not set # CONFIG_RTC_DRV_MAX6916 is not set # CONFIG_RTC_DRV_MCP795 is not set CONFIG_RTC_DRV_MSM6242=m # CONFIG_RTC_DRV_NCT3018Y is not set # CONFIG_RTC_DRV_PCF2123 is not set # CONFIG_RTC_DRV_PCF2127 is not set # CONFIG_RTC_DRV_PCF85063 is not set CONFIG_RTC_DRV_PCF8523=m # CONFIG_RTC_DRV_PCF85363 is not set CONFIG_RTC_DRV_PCF8563=m CONFIG_RTC_DRV_PCF8583=m # CONFIG_RTC_DRV_R7301 is not set # CONFIG_RTC_DRV_R9701 is not set CONFIG_RTC_DRV_RP5C01=m # CONFIG_RTC_DRV_RS5C348 is not set CONFIG_RTC_DRV_RS5C372=m # CONFIG_RTC_DRV_RV3028 is not set CONFIG_RTC_DRV_RV3029C2=m # CONFIG_RTC_DRV_RV3029_HWMON is not set # CONFIG_RTC_DRV_RV3032 is not set # CONFIG_RTC_DRV_RV8803 is not set # CONFIG_RTC_DRV_RX6110 is not set # CONFIG_RTC_DRV_RX8010 is not set CONFIG_RTC_DRV_RX8025=m CONFIG_RTC_DRV_RX8581=m # CONFIG_RTC_DRV_S35390A is not set # CONFIG_RTC_DRV_SD3078 is not set # CONFIG_RTC_DRV_SNVS is not set CONFIG_RTC_DRV_STK17TA8=m # CONFIG_RTC_DRV_TEST is not set CONFIG_RTC_DRV_V3020=m CONFIG_RTC_DRV_X1205=m # CONFIG_RTC_DRV_ZYNQMP is not set CONFIG_RTC_HCTOSYS_DEVICE="rtc0" CONFIG_RTC_HCTOSYS=y # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set CONFIG_RTC_INTF_DEV=y CONFIG_RTC_INTF_PROC=y CONFIG_RTC_INTF_SYSFS=y CONFIG_RTC_LIB_KUNIT_TEST=m # CONFIG_RTC_NVMEM is not set CONFIG_RTC_SYSTOHC_DEVICE="rtc0" CONFIG_RTC_SYSTOHC=y # CONFIG_RT_GROUP_SCHED is not set # CONFIG_RTL8180 is not set # CONFIG_RTL8187 is not set CONFIG_RTL8188EE=m CONFIG_RTL8192CE=m CONFIG_RTL8192CU=m CONFIG_RTL8192DE=m CONFIG_RTL8192EE=m CONFIG_RTL8192SE=m # CONFIG_RTL8192U is not set CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m # CONFIG_RTL8723BS is not set CONFIG_RTL8821AE=m CONFIG_RTL8XXXU=m # CONFIG_RTL8XXXU_UNTESTED is not set CONFIG_RTL_CARDS=m # CONFIG_RTLLIB is not set # CONFIG_RTLWIFI_DEBUG is not set CONFIG_RTLWIFI=m CONFIG_RT_MUTEXES=y # CONFIG_RTS5208 is not set CONFIG_RTW88_8723DE=m CONFIG_RTW88_8821CE=m CONFIG_RTW88_8822BE=m CONFIG_RTW88_8822CE=m # CONFIG_RTW88_DEBUGFS is not set # CONFIG_RTW88_DEBUG is not set CONFIG_RTW88=m CONFIG_RTW89_8852AE=m # CONFIG_RTW89_8852CE is not set # CONFIG_RTW89_DEBUGFS is not set # CONFIG_RTW89_DEBUGMSG is not set CONFIG_RTW89=m CONFIG_RUNTIME_TESTING_MENU=y # CONFIG_RV is not set CONFIG_RXKAD=y CONFIG_S390_AP_IOMMU=y CONFIG_S390_CCW_IOMMU=y # CONFIG_S390_GUEST is not set # CONFIG_S390_HYPFS_FS is not set # CONFIG_S390_KPROBES_SANITY_TEST is not set # CONFIG_S390_MODULES_SANITY_TEST is not set CONFIG_S390_PRNG=y CONFIG_S390_TAPE_34XX=m CONFIG_S390_TAPE_3590=m # CONFIG_S390_TAPE is not set # CONFIG_S390_UNWIND_SELFTEST is not set # CONFIG_S390_UV_UAPI is not set CONFIG_S390_VMUR=y CONFIG_S390=y # CONFIG_SAMPLE_ANDROID_BINDERFS is not set # CONFIG_SAMPLE_AUXDISPLAY is not set # CONFIG_SAMPLE_CONFIGFS is not set # CONFIG_SAMPLE_CONNECTOR is not set # CONFIG_SAMPLE_FANOTIFY_ERROR is not set # CONFIG_SAMPLE_FPROBE is not set # CONFIG_SAMPLE_FTRACE_DIRECT is not set # CONFIG_SAMPLE_FTRACE_DIRECT_MULTI is not set # CONFIG_SAMPLE_HIDRAW is not set # CONFIG_SAMPLE_HW_BREAKPOINT is not set # CONFIG_SAMPLE_INTEL_MEI is not set # CONFIG_SAMPLE_KDB is not set # CONFIG_SAMPLE_KFIFO is not set # CONFIG_SAMPLE_KOBJECT is not set # CONFIG_SAMPLE_KPROBES is not set # CONFIG_SAMPLE_LANDLOCK is not set # CONFIG_SAMPLE_LIVEPATCH is not set # CONFIG_SAMPLE_PIDFD is not set # CONFIG_SAMPLE_SECCOMP is not set # CONFIG_SAMPLES is not set # CONFIG_SAMPLE_TIMER is not set # CONFIG_SAMPLE_TRACE_ARRAY is not set # CONFIG_SAMPLE_TRACE_CUSTOM_EVENTS is not set # CONFIG_SAMPLE_TRACE_EVENTS is not set # CONFIG_SAMPLE_TRACE_PRINTK is not set # CONFIG_SAMPLE_UHID is not set # CONFIG_SAMPLE_VFIO_MDEV_MBOCHS is not set # CONFIG_SAMPLE_VFIO_MDEV_MDPY_FB is not set # CONFIG_SAMPLE_VFIO_MDEV_MDPY is not set CONFIG_SAMPLE_VFIO_MDEV_MTTY=m # CONFIG_SAMPLE_VFS is not set # CONFIG_SAMPLE_WATCHDOG is not set # CONFIG_SAMPLE_WATCH_QUEUE is not set # CONFIG_SATA_ACARD_AHCI is not set CONFIG_SATA_AHCI=m CONFIG_SATA_AHCI_PLATFORM=m # CONFIG_SATA_DWC is not set # CONFIG_SATA_INIC162X is not set CONFIG_SATA_MOBILE_LPM_POLICY=0 # CONFIG_SATA_MV is not set # CONFIG_SATA_NV is not set CONFIG_SATA_PMP=y # CONFIG_SATA_PROMISE is not set # CONFIG_SATA_QSTOR is not set # CONFIG_SATA_SIL24 is not set # CONFIG_SATA_SIL is not set # CONFIG_SATA_SIS is not set # CONFIG_SATA_SVW is not set # CONFIG_SATA_SX4 is not set # CONFIG_SATA_ULI is not set # CONFIG_SATA_VIA is not set # CONFIG_SATA_VITESSE is not set # CONFIG_SATA_ZPODD is not set # CONFIG_SBC_EPX_C3_WATCHDOG is not set # CONFIG_SBP_TARGET is not set # CONFIG_SC1200_WDT is not set # CONFIG_SCA3000 is not set # CONFIG_SCA3300 is not set # CONFIG_SC_CAMCC_7180 is not set # CONFIG_SCD30_CORE is not set # CONFIG_SCD4X is not set # CONFIG_SCF_TORTURE_TEST is not set # CONFIG_SCHED_AUTOGROUP is not set CONFIG_SCHED_BOOK=y CONFIG_SCHED_CLUSTER=y CONFIG_SCHED_CORE=y # CONFIG_SCHED_DEBUG is not set # CONFIG_SCHED_INFO is not set CONFIG_SCHED_MC_PRIO=y CONFIG_SCHED_MC=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_SCHED_SMT=y CONFIG_SCHED_STACK_END_CHECK=y # CONFIG_SCHEDSTATS is not set CONFIG_SCHED_TOPOLOGY=y CONFIG_SCHED_TRACER=y CONFIG_SCLP_CONSOLE=y # CONFIG_SCLP_OFB is not set CONFIG_SCLP_TTY=y CONFIG_SCLP_VT220_CONSOLE=y CONFIG_SCLP_VT220_TTY=y CONFIG_SCM_BLOCK=m # CONFIG_SCM_BUS is not set # CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_3W_SAS is not set # CONFIG_SCSI_AACRAID is not set # CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_ADVANSYS is not set # CONFIG_SCSI_AIC79XX is not set # CONFIG_SCSI_AIC7XXX is not set # CONFIG_SCSI_AIC94XX is not set # CONFIG_SCSI_AM53C974 is not set # CONFIG_SCSI_ARCMSR is not set # CONFIG_SCSI_BFA_FC is not set # CONFIG_SCSI_BNX2_ISCSI is not set # CONFIG_SCSI_BNX2X_FCOE is not set # CONFIG_SCSI_BUSLOGIC is not set CONFIG_SCSI_CHELSIO_FCOE=m CONFIG_SCSI_CONSTANTS=y # CONFIG_SCSI_CXGB3_ISCSI is not set # CONFIG_SCSI_CXGB4_ISCSI is not set # CONFIG_SCSI_DC395x is not set # CONFIG_SCSI_DEBUG is not set CONFIG_SCSI_DH_ALUA=y CONFIG_SCSI_DH_EMC=y CONFIG_SCSI_DH_HP_SW=y CONFIG_SCSI_DH_RDAC=y CONFIG_SCSI_DH=y # CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_DPT_I2O is not set # CONFIG_SCSI_EFCT is not set CONFIG_SCSI_ENCLOSURE=y # CONFIG_SCSI_ESAS2R is not set CONFIG_SCSI_FC_ATTRS=y # CONFIG_SCSI_FDOMAIN_PCI is not set # CONFIG_SCSI_HISI_SAS_DEBUGFS_DEFAULT_ENABLE is not set # CONFIG_SCSI_HPSA is not set # CONFIG_SCSI_HPTIOP is not set # CONFIG_SCSI_IMM is not set # CONFIG_SCSI_INIA100 is not set # CONFIG_SCSI_INITIO is not set CONFIG_SCSI_IPR_DUMP=y CONFIG_SCSI_IPR=m CONFIG_SCSI_IPR_TRACE=y # CONFIG_SCSI_IPS is not set # CONFIG_SCSI_ISCI is not set # CONFIG_SCSI_ISCSI_ATTRS is not set CONFIG_SCSI_LOGGING=y CONFIG_SCSI_LOWLEVEL=y # CONFIG_SCSI_LPFC_DEBUG_FS is not set # CONFIG_SCSI_LPFC is not set CONFIG_SCSI_MPI3MR=m # CONFIG_SCSI_MPT2SAS is not set CONFIG_SCSI_MPT2SAS_MAX_SGE=128 # CONFIG_SCSI_MPT3SAS is not set CONFIG_SCSI_MPT3SAS_MAX_SGE=128 # CONFIG_SCSI_MVSAS is not set # CONFIG_SCSI_MVUMI is not set # CONFIG_SCSI_MYRB is not set # CONFIG_SCSI_MYRS is not set CONFIG_SCSI_NETLINK=y # CONFIG_SCSI_PM8001 is not set # CONFIG_SCSI_PMCRAID is not set # CONFIG_SCSI_PPA is not set CONFIG_SCSI_PROC_FS=y # CONFIG_SCSI_QLA_FC is not set # CONFIG_SCSI_QLA_ISCSI is not set # CONFIG_SCSI_QLOGIC_1280 is not set CONFIG_SCSI_SAS_ATA=y # CONFIG_SCSI_SAS_ATTRS is not set CONFIG_SCSI_SAS_HOST_SMP=y # CONFIG_SCSI_SAS_LIBSAS is not set CONFIG_SCSI_SCAN_ASYNC=y # CONFIG_SCSI_SMARTPQI is not set # CONFIG_SCSI_SNIC is not set # CONFIG_SCSI_SPI_ATTRS is not set CONFIG_SCSI_SRP_ATTRS=y # CONFIG_SCSI_STEX is not set # CONFIG_SCSI_SYM53C8XX_2 is not set # CONFIG_SCSI_UFSHCD is not set # CONFIG_SCSI_UFS_HWMON is not set CONFIG_SCSI_VIRTIO=m # CONFIG_SCSI_WD719X is not set CONFIG_SCSI=y CONFIG_SCTP_COOKIE_HMAC_MD5=y CONFIG_SCTP_COOKIE_HMAC_SHA1=y # CONFIG_SCTP_DBG_OBJCNT is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set # CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y # CONFIG_SD_ADC_MODULATOR is not set # CONFIG_SDIO_UART is not set # CONFIG_SDMA_VERBOSITY is not set # CONFIG_SDX_GCC_55 is not set # CONFIG_SECCOMP_CACHE_DEBUG is not set CONFIG_SECCOMP=y # CONFIG_SECONDARY_TRUSTED_KEYRING is not set CONFIG_SECTION_MISMATCH_WARN_ONLY=y # CONFIG_SECURITY_APPARMOR is not set # CONFIG_SECURITY_DMESG_RESTRICT is not set CONFIG_SECURITYFS=y CONFIG_SECURITY_INFINIBAND=y # CONFIG_SECURITY is not set # CONFIG_SECURITY_LANDLOCK is not set # CONFIG_SECURITY_LOADPIN is not set CONFIG_SECURITY_LOCKDOWN_LSM_EARLY=y CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_NETWORK=y # CONFIG_SECURITY_PATH is not set # CONFIG_SECURITY_SAFESETID is not set CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=0 CONFIG_SECURITY_SELINUX_DEVELOP=y # CONFIG_SECURITY_SELINUX_DISABLE is not set CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256 CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9 CONFIG_SECURITY_SELINUX=y # CONFIG_SECURITY_SMACK is not set # CONFIG_SECURITY_TOMOYO is not set CONFIG_SECURITY_YAMA=y # CONFIG_SENSEAIR_SUNRISE_CO2 is not set # CONFIG_SENSIRION_SGP30 is not set # CONFIG_SENSIRION_SGP40 is not set CONFIG_SENSORS_ABITUGURU3=m CONFIG_SENSORS_ABITUGURU=m CONFIG_SENSORS_ACPI_POWER=m # CONFIG_SENSORS_AD7314 is not set CONFIG_SENSORS_AD7414=m CONFIG_SENSORS_AD7418=m # CONFIG_SENSORS_ADC128D818 is not set # CONFIG_SENSORS_ADCXX is not set CONFIG_SENSORS_ADM1021=m CONFIG_SENSORS_ADM1025=m CONFIG_SENSORS_ADM1026=m CONFIG_SENSORS_ADM1029=m CONFIG_SENSORS_ADM1031=m # CONFIG_SENSORS_ADM1177 is not set # CONFIG_SENSORS_ADM1266 is not set CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_ADM9240=m CONFIG_SENSORS_ADS7828=m # CONFIG_SENSORS_ADS7871 is not set CONFIG_SENSORS_ADT7310=m CONFIG_SENSORS_ADT7410=m CONFIG_SENSORS_ADT7411=m CONFIG_SENSORS_ADT7462=m CONFIG_SENSORS_ADT7470=m CONFIG_SENSORS_ADT7475=m # CONFIG_SENSORS_AHT10 is not set CONFIG_SENSORS_AMC6821=m # CONFIG_SENSORS_APDS990X is not set CONFIG_SENSORS_APPLESMC=m # CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set # CONFIG_SENSORS_AS370 is not set CONFIG_SENSORS_ASB100=m CONFIG_SENSORS_ASC7621=m # CONFIG_SENSORS_ASPEED is not set # CONFIG_SENSORS_ASUS_EC is not set # CONFIG_SENSORS_ASUS_WMI_EC is not set # CONFIG_SENSORS_ASUS_WMI is not set CONFIG_SENSORS_ATK0110=m CONFIG_SENSORS_ATXP1=m # CONFIG_SENSORS_AXI_FAN_CONTROL is not set # CONFIG_SENSORS_BEL_PFE is not set # CONFIG_SENSORS_BH1770 is not set # CONFIG_SENSORS_BPA_RS600 is not set CONFIG_SENSORS_CORETEMP=m # CONFIG_SENSORS_CORSAIR_CPRO is not set # CONFIG_SENSORS_CORSAIR_PSU is not set # CONFIG_SENSORS_DELL_SMM is not set # CONFIG_SENSORS_DELTA_AHE50DC_FAN is not set CONFIG_SENSORS_DME1737=m # CONFIG_SENSORS_DPS920AB is not set # CONFIG_SENSORS_DRIVETEMP is not set CONFIG_SENSORS_DS1621=m CONFIG_SENSORS_DS620=m CONFIG_SENSORS_EMC1403=m # CONFIG_SENSORS_EMC2103 is not set CONFIG_SENSORS_EMC6W201=m CONFIG_SENSORS_F71805F=m CONFIG_SENSORS_F71882FG=m CONFIG_SENSORS_F75375S=m CONFIG_SENSORS_FSCHMD=m # CONFIG_SENSORS_FSP_3Y is not set # CONFIG_SENSORS_FTSTEUTATES is not set CONFIG_SENSORS_G760A=m # CONFIG_SENSORS_G762 is not set CONFIG_SENSORS_GL518SM=m CONFIG_SENSORS_GL520SM=m # CONFIG_SENSORS_GPIO_FAN is not set # CONFIG_SENSORS_HIH6130 is not set # CONFIG_SENSORS_HMC5843_I2C is not set # CONFIG_SENSORS_HMC5843_SPI is not set # CONFIG_SENSORS_I5K_AMB is not set CONFIG_SENSORS_IBMAEM=m # CONFIG_SENSORS_IBM_CFFPS is not set CONFIG_SENSORS_IBMPEX=m # CONFIG_SENSORS_IIO_HWMON is not set CONFIG_SENSORS_INA209=m # CONFIG_SENSORS_INA238 is not set CONFIG_SENSORS_INA2XX=m # CONFIG_SENSORS_INA3221 is not set # CONFIG_SENSORS_INSPUR_IPSPS is not set # CONFIG_SENSORS_IR35221 is not set # CONFIG_SENSORS_IR36021 is not set # CONFIG_SENSORS_IR38064 is not set # CONFIG_SENSORS_IRPS5401 is not set # CONFIG_SENSORS_ISL29018 is not set # CONFIG_SENSORS_ISL29028 is not set # CONFIG_SENSORS_ISL68137 is not set CONFIG_SENSORS_IT87=m CONFIG_SENSORS_JC42=m CONFIG_SENSORS_K10TEMP=m CONFIG_SENSORS_K8TEMP=m CONFIG_SENSORS_LINEAGE=m # CONFIG_SENSORS_LIS3_I2C is not set # CONFIG_SENSORS_LIS3LV02D is not set CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LM63=m # CONFIG_SENSORS_LM70 is not set CONFIG_SENSORS_LM73=m CONFIG_SENSORS_LM75=m CONFIG_SENSORS_LM77=m CONFIG_SENSORS_LM78=m CONFIG_SENSORS_LM80=m CONFIG_SENSORS_LM83=m CONFIG_SENSORS_LM85=m CONFIG_SENSORS_LM87=m CONFIG_SENSORS_LM90=m CONFIG_SENSORS_LM92=m CONFIG_SENSORS_LM93=m CONFIG_SENSORS_LM95234=m CONFIG_SENSORS_LM95241=m CONFIG_SENSORS_LM95245=m # CONFIG_SENSORS_LT7182S is not set # CONFIG_SENSORS_LTC2945 is not set # CONFIG_SENSORS_LTC2947_I2C is not set # CONFIG_SENSORS_LTC2947_SPI is not set CONFIG_SENSORS_LTC2978=m # CONFIG_SENSORS_LTC2978_REGULATOR is not set # CONFIG_SENSORS_LTC2990 is not set # CONFIG_SENSORS_LTC2992 is not set # CONFIG_SENSORS_LTC3815 is not set CONFIG_SENSORS_LTC4151=m CONFIG_SENSORS_LTC4215=m # CONFIG_SENSORS_LTC4222 is not set CONFIG_SENSORS_LTC4245=m # CONFIG_SENSORS_LTC4260 is not set CONFIG_SENSORS_LTC4261=m # CONFIG_SENSORS_MAX1111 is not set # CONFIG_SENSORS_MAX127 is not set # CONFIG_SENSORS_MAX15301 is not set CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_MAX16065=m CONFIG_SENSORS_MAX1619=m # CONFIG_SENSORS_MAX16601 is not set CONFIG_SENSORS_MAX1668=m CONFIG_SENSORS_MAX197=m # CONFIG_SENSORS_MAX20730 is not set # CONFIG_SENSORS_MAX20751 is not set # CONFIG_SENSORS_MAX31722 is not set # CONFIG_SENSORS_MAX31730 is not set # CONFIG_SENSORS_MAX31785 is not set # CONFIG_SENSORS_MAX31790 is not set CONFIG_SENSORS_MAX34440=m # CONFIG_SENSORS_MAX6620 is not set # CONFIG_SENSORS_MAX6621 is not set CONFIG_SENSORS_MAX6639=m CONFIG_SENSORS_MAX6642=m CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_MAX8688=m CONFIG_SENSORS_MCP3021=m # CONFIG_SENSORS_MLXREG_FAN is not set # CONFIG_SENSORS_MP2888 is not set # CONFIG_SENSORS_MP2975 is not set # CONFIG_SENSORS_MP5023 is not set # CONFIG_SENSORS_MR75203 is not set # CONFIG_SENSORS_NCT6683 is not set # CONFIG_SENSORS_NCT6775_I2C is not set CONFIG_SENSORS_NCT6775=m # CONFIG_SENSORS_NCT7802 is not set # CONFIG_SENSORS_NCT7904 is not set # CONFIG_SENSORS_NPCM7XX is not set CONFIG_SENSORS_NTC_THERMISTOR=m # CONFIG_SENSORS_NZXT_KRAKEN2 is not set # CONFIG_SENSORS_NZXT_SMART2 is not set # CONFIG_SENSORS_OCC_P8_I2C is not set CONFIG_SENSORS_PC87360=m CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_PCF8591=m # CONFIG_SENSORS_PIM4328 is not set # CONFIG_SENSORS_PLI1209BC is not set # CONFIG_SENSORS_PM6764TR is not set CONFIG_SENSORS_PMBUS=m # CONFIG_SENSORS_POWR1220 is not set # CONFIG_SENSORS_PWM_FAN is not set # CONFIG_SENSORS_PXE1610 is not set # CONFIG_SENSORS_Q54SJ108A2 is not set # CONFIG_SENSORS_RM3100_I2C is not set # CONFIG_SENSORS_RM3100_SPI is not set # CONFIG_SENSORS_SBRMI is not set # CONFIG_SENSORS_SBTSI is not set CONFIG_SENSORS_SCH5627=m CONFIG_SENSORS_SCH5636=m CONFIG_SENSORS_SHT15=m CONFIG_SENSORS_SHT21=m # CONFIG_SENSORS_SHT3x is not set # CONFIG_SENSORS_SHT4x is not set # CONFIG_SENSORS_SHTC1 is not set CONFIG_SENSORS_SIS5595=m # CONFIG_SENSORS_SMM665 is not set CONFIG_SENSORS_SMSC47B397=m CONFIG_SENSORS_SMSC47M192=m CONFIG_SENSORS_SMSC47M1=m # CONFIG_SENSORS_STPDDC60 is not set # CONFIG_SENSORS_STTS751 is not set # CONFIG_SENSORS_SY7636A is not set # CONFIG_SENSORS_TC654 is not set # CONFIG_SENSORS_TC74 is not set CONFIG_SENSORS_THMC50=m CONFIG_SENSORS_TMP102=m # CONFIG_SENSORS_TMP103 is not set # CONFIG_SENSORS_TMP108 is not set CONFIG_SENSORS_TMP401=m CONFIG_SENSORS_TMP421=m # CONFIG_SENSORS_TMP464 is not set # CONFIG_SENSORS_TMP513 is not set # CONFIG_SENSORS_TPS23861 is not set # CONFIG_SENSORS_TPS40422 is not set # CONFIG_SENSORS_TPS53679 is not set # CONFIG_SENSORS_TSL2550 is not set # CONFIG_SENSORS_TSL2563 is not set CONFIG_SENSORS_UCD9000=m CONFIG_SENSORS_UCD9200=m CONFIG_SENSORS_VIA686A=m CONFIG_SENSORS_VIA_CPUTEMP=m CONFIG_SENSORS_VT1211=m CONFIG_SENSORS_VT8231=m CONFIG_SENSORS_W83627EHF=m CONFIG_SENSORS_W83627HF=m # CONFIG_SENSORS_W83773G is not set CONFIG_SENSORS_W83781D=m CONFIG_SENSORS_W83791D=m CONFIG_SENSORS_W83792D=m CONFIG_SENSORS_W83793=m # CONFIG_SENSORS_W83795_FANCTRL is not set CONFIG_SENSORS_W83795=m CONFIG_SENSORS_W83L785TS=m CONFIG_SENSORS_W83L786NG=m # CONFIG_SENSORS_XDPE122 is not set # CONFIG_SENSORS_XDPE152 is not set # CONFIG_SENSORS_XGENE is not set CONFIG_SENSORS_ZL6100=m # CONFIG_SERIAL_8250_16550A_VARIANTS is not set # CONFIG_SERIAL_8250_ASPEED_VUART is not set CONFIG_SERIAL_8250_CONSOLE=y # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set # CONFIG_SERIAL_8250_DETECT_IRQ is not set # CONFIG_SERIAL_8250_DW is not set CONFIG_SERIAL_8250_EXAR=y CONFIG_SERIAL_8250_EXTENDED=y # CONFIG_SERIAL_8250_FINTEK is not set # CONFIG_SERIAL_8250 is not set CONFIG_SERIAL_8250_MANY_PORTS=y CONFIG_SERIAL_8250_MID=y CONFIG_SERIAL_8250_NR_UARTS=32 CONFIG_SERIAL_8250_PCI=y CONFIG_SERIAL_8250_PERICOM=y CONFIG_SERIAL_8250_RSA=y # CONFIG_SERIAL_8250_RT288X is not set CONFIG_SERIAL_8250_RUNTIME_UARTS=4 CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_ALTERA_JTAGUART is not set # CONFIG_SERIAL_ALTERA_UART is not set CONFIG_SERIAL_ARC=m CONFIG_SERIAL_ARC_NR_PORTS=1 # CONFIG_SERIAL_BCM63XX is not set # CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_SERIAL_CORE=m # CONFIG_SERIAL_DEV_BUS is not set # CONFIG_SERIAL_FSL_LINFLEXUART is not set # CONFIG_SERIAL_FSL_LPUART is not set # CONFIG_SERIAL_IMX_EARLYCON is not set CONFIG_SERIAL_JSM=m # CONFIG_SERIAL_KGDB_NMI is not set # CONFIG_SERIAL_LANTIQ is not set # CONFIG_SERIAL_MAX3100 is not set # CONFIG_SERIAL_MAX310X is not set # CONFIG_SERIAL_MULTI_INSTANTIATE is not set # CONFIG_SERIAL_NONSTANDARD is not set # CONFIG_SERIAL_RP2 is not set # CONFIG_SERIAL_SC16IS7XX is not set # CONFIG_SERIAL_SCCNXP is not set # CONFIG_SERIAL_SIFIVE is not set # CONFIG_SERIAL_SPRD is not set # CONFIG_SERIAL_UARTLITE is not set CONFIG_SERIAL_UARTLITE_NR_UARTS=1 # CONFIG_SERIAL_XILINX_PS_UART is not set CONFIG_SERIO_ALTERA_PS2=m # CONFIG_SERIO_APBPS2 is not set CONFIG_SERIO_ARC_PS2=m # CONFIG_SERIO_CT82C710 is not set # CONFIG_SERIO_GPIO_PS2 is not set # CONFIG_SERIO_I8042 is not set # CONFIG_SERIO is not set # CONFIG_SERIO_LIBPS2 is not set # CONFIG_SERIO_OLPC_APSP is not set # CONFIG_SERIO_PARKBD is not set # CONFIG_SERIO_PCIPS2 is not set # CONFIG_SERIO_PS2MULT is not set CONFIG_SERIO_RAW=m CONFIG_SERIO_SERPORT=m CONFIG_SEV_GUEST=m # CONFIG_SFC_FALCON is not set # CONFIG_SFC is not set CONFIG_SFC_MCDI_LOGGING=y # CONFIG_SFC_SIENA is not set # CONFIG_SF_PDMA is not set CONFIG_SGETMASK_SYSCALL=y # CONFIG_SGI_PARTITION is not set # CONFIG_SHADOW_CALL_STACK is not set CONFIG_SHMEM=y # CONFIG_SHRINKER_DEBUG is not set CONFIG_SHUFFLE_PAGE_ALLOCATOR=y # CONFIG_SI1133 is not set # CONFIG_SI1145 is not set # CONFIG_SI7005 is not set # CONFIG_SI7020 is not set # CONFIG_SIEMENS_SIMATIC_IPC is not set # CONFIG_SIGNATURE is not set # CONFIG_SIGNED_PE_FILE_VERIFICATION is not set # CONFIG_SIOX is not set # CONFIG_SKGE is not set # CONFIG_SKY2 is not set CONFIG_SLAB_FREELIST_HARDENED=y CONFIG_SLAB_FREELIST_RANDOM=y # CONFIG_SLAB is not set # CONFIG_SLAB_MERGE_DEFAULT is not set # CONFIG_SLIMBUS is not set CONFIG_SLIP_COMPRESSED=y # CONFIG_SLIP is not set # CONFIG_SLIP_MODE_SLIP6 is not set CONFIG_SLIP_SMART=y CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_SLUB_DEBUG_ON is not set CONFIG_SLUB_DEBUG=y CONFIG_SLUB_KUNIT_TEST=m # CONFIG_SLUB_STATS is not set CONFIG_SLUB=y # CONFIG_SMARTJOYPLUS_FF is not set # CONFIG_SMB_SERVER is not set CONFIG_SMC_DIAG=m CONFIG_SMC=m # CONFIG_SM_FTL is not set CONFIG_SMP=y CONFIG_SMSC9420=m # CONFIG_SMSC_PHY is not set # CONFIG_SMSC_SCH311X_WDT is not set CONFIG_SMSGIUCV_EVENT=m CONFIG_SMSGIUCV=m CONFIG_SMS_SDIO_DRV=m # CONFIG_SMS_SIANO_DEBUGFS is not set CONFIG_SMS_SIANO_MDTV=m CONFIG_SMS_SIANO_RC=y CONFIG_SMS_USB_DRV=m CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0 CONFIG_SND_AC97_POWER_SAVE=y # CONFIG_SND_AD1889 is not set # CONFIG_SND_ALI5451 is not set CONFIG_SND_ALOOP=m # CONFIG_SND_ALS300 is not set # CONFIG_SND_ALS4000 is not set # CONFIG_SND_AMD_ACP_CONFIG is not set # CONFIG_SND_ASIHPI is not set # CONFIG_SND_ATIIXP is not set # CONFIG_SND_ATIIXP_MODEM is not set # CONFIG_SND_ATMEL_SOC is not set CONFIG_SND_AU8810=m CONFIG_SND_AU8820=m CONFIG_SND_AU8830=m # CONFIG_SND_AW2 is not set # CONFIG_SND_AZT3328 is not set CONFIG_SND_BCD2000=m # CONFIG_SND_BCM63XX_I2S_WHISTLER is not set CONFIG_SND_BEBOB=m CONFIG_SND_BT87X=m # CONFIG_SND_BT87X_OVERCLOCK is not set CONFIG_SND_CA0106=m CONFIG_SND_CMIPCI=m CONFIG_SND_COMPRESS_OFFLOAD=m # CONFIG_SND_CS4281 is not set CONFIG_SND_CS46XX=m CONFIG_SND_CS46XX_NEW_DSP=y # CONFIG_SND_CS5530 is not set # CONFIG_SND_CS5535AUDIO is not set # CONFIG_SND_CTL_DEBUG is not set # CONFIG_SND_CTL_INPUT_VALIDATION is not set # CONFIG_SND_CTL_VALIDATION is not set CONFIG_SND_CTXFI=m CONFIG_SND_DARLA20=m CONFIG_SND_DARLA24=m # CONFIG_SND_DEBUG is not set # CONFIG_SND_DEBUG_VERBOSE is not set # CONFIG_SND_DESIGNWARE_I2S is not set CONFIG_SND_DICE=m CONFIG_SND_DRIVERS=y CONFIG_SND_DUMMY=m CONFIG_SND_DYNAMIC_MINORS=y CONFIG_SND_ECHO3G=m CONFIG_SND_EMU10K1=m CONFIG_SND_EMU10K1X=m CONFIG_SND_ENS1370=m CONFIG_SND_ENS1371=m # CONFIG_SND_ES1938 is not set CONFIG_SND_ES1968_INPUT=y CONFIG_SND_ES1968=m CONFIG_SND_ES1968_RADIO=y CONFIG_SND_FIREFACE=m CONFIG_SND_FIREWIRE_DIGI00X=m CONFIG_SND_FIREWIRE_MOTU=m CONFIG_SND_FIREWIRE_TASCAM=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWORKS=m # CONFIG_SND_FM801 is not set # CONFIG_SND_FM801_TEA575X_BOOL is not set CONFIG_SND_GINA20=m CONFIG_SND_GINA24=m CONFIG_SND_HDA_CODEC_ANALOG=m CONFIG_SND_HDA_CODEC_CA0110=m CONFIG_SND_HDA_CODEC_CA0132_DSP=y CONFIG_SND_HDA_CODEC_CA0132=m CONFIG_SND_HDA_CODEC_CIRRUS=m CONFIG_SND_HDA_CODEC_CMEDIA=m CONFIG_SND_HDA_CODEC_CONEXANT=m CONFIG_SND_HDA_CODEC_CS8409=m CONFIG_SND_HDA_CODEC_HDMI=m CONFIG_SND_HDA_CODEC_REALTEK=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_HDA_CODEC_SIGMATEL=m CONFIG_SND_HDA_CODEC_VIA=m CONFIG_SND_HDA_GENERIC=m CONFIG_SND_HDA_HWDEP=y CONFIG_SND_HDA_INPUT_BEEP_MODE=0 CONFIG_SND_HDA_INPUT_BEEP=y CONFIG_SND_HDA_INTEL_HDMI_SILENT_STREAM=y CONFIG_SND_HDA_INTEL=m CONFIG_SND_HDA_PATCH_LOADER=y CONFIG_SND_HDA_POWER_SAVE_DEFAULT=1 CONFIG_SND_HDA_PREALLOC_SIZE=2048 CONFIG_SND_HDA_RECONFIG=y # CONFIG_SND_HDA_TEGRA is not set CONFIG_SND_HDSP=m CONFIG_SND_HDSPM=m CONFIG_SND_HRTIMER=m # CONFIG_SND_I2S_HI6210_I2S is not set CONFIG_SND_ICE1712=m CONFIG_SND_ICE1724=m # CONFIG_SND_IMX_SOC is not set CONFIG_SND_INDIGODJ=m CONFIG_SND_INDIGODJX=m CONFIG_SND_INDIGOIO=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGO=m # CONFIG_SND_INTEL8X0 is not set # CONFIG_SND_INTEL8X0M is not set # CONFIG_SND_INTEL_BYT_PREFER_SOF is not set CONFIG_SND_ISIGHT=m # CONFIG_SND_JACK_INJECTION_DEBUG is not set CONFIG_SND_JACK=y # CONFIG_SND_KIRKWOOD_SOC_ARMADA370_DB is not set # CONFIG_SND_KIRKWOOD_SOC is not set CONFIG_SND_KORG1212=m CONFIG_SND_LAYLA20=m CONFIG_SND_LAYLA24=m CONFIG_SND_LOLA=m CONFIG_SND_LX6464ES=m CONFIG_SND=m CONFIG_SND_MAESTRO3_INPUT=y CONFIG_SND_MAESTRO3=m CONFIG_SND_MAX_CARDS=32 # CONFIG_SND_MESON_AIU is not set # CONFIG_SND_MESON_AXG_FRDDR is not set # CONFIG_SND_MESON_AXG_PDM is not set # CONFIG_SND_MESON_AXG_SOUND_CARD is not set # CONFIG_SND_MESON_AXG_SPDIFIN is not set # CONFIG_SND_MESON_AXG_SPDIFOUT is not set # CONFIG_SND_MESON_AXG_TDMIN is not set # CONFIG_SND_MESON_AXG_TDMOUT is not set # CONFIG_SND_MESON_AXG_TODDR is not set # CONFIG_SND_MESON_G12A_TOACODEC is not set # CONFIG_SND_MESON_G12A_TOHDMITX is not set # CONFIG_SND_MESON_GX_SOUND_CARD is not set CONFIG_SND_MIA=m CONFIG_SND_MIXART=m # CONFIG_SND_MIXER_OSS is not set # CONFIG_SND_MMP_SOC_SSPA is not set CONFIG_SND_MONA=m CONFIG_SND_MPU401=m CONFIG_SND_MTPAV=m # CONFIG_SND_MTS64 is not set # CONFIG_SND_NM256 is not set CONFIG_SND_OSSEMUL=y CONFIG_SND_OXFW=m CONFIG_SND_OXYGEN=m CONFIG_SND_PCI=y # CONFIG_SND_PCMCIA is not set # CONFIG_SND_PCM_OSS is not set # CONFIG_SND_PCSP is not set CONFIG_SND_PCXHR=m # CONFIG_SND_PORTMAN2X4 is not set # CONFIG_SND_PPC is not set # CONFIG_SND_RIPTIDE is not set CONFIG_SND_RME32=m CONFIG_SND_RME9652=m CONFIG_SND_RME96=m # CONFIG_SND_SAMSUNG_PCM is not set # CONFIG_SND_SAMSUNG_SPDIF is not set CONFIG_SND_SEQ_DUMMY=m CONFIG_SND_SEQ_HRTIMER_DEFAULT=y CONFIG_SND_SEQUENCER=m # CONFIG_SND_SEQUENCER_OSS is not set # CONFIG_SND_SERIAL_U16550 is not set # CONFIG_SND_SIMPLE_CARD is not set # CONFIG_SND_SIMPLE_CARD_UTILS is not set # CONFIG_SND_SIS7019 is not set # CONFIG_SND_SOC_AC97_BUS is not set # CONFIG_SND_SOC_AC97_CODEC is not set # CONFIG_SND_SOC_ADAU1372_I2C is not set # CONFIG_SND_SOC_ADAU1372_SPI is not set # CONFIG_SND_SOC_ADAU1701 is not set # CONFIG_SND_SOC_ADAU1761_I2C is not set # CONFIG_SND_SOC_ADAU1761_SPI is not set # CONFIG_SND_SOC_ADAU7002 is not set # CONFIG_SND_SOC_ADAU7118_HW is not set # CONFIG_SND_SOC_ADAU7118_I2C is not set # CONFIG_SND_SOC_ADI_AXI_I2S is not set # CONFIG_SND_SOC_ADI_AXI_SPDIF is not set # CONFIG_SND_SOC_ADI is not set # CONFIG_SND_SOC_AK4104 is not set # CONFIG_SND_SOC_AK4118 is not set # CONFIG_SND_SOC_AK4375 is not set # CONFIG_SND_SOC_AK4458 is not set # CONFIG_SND_SOC_AK4554 is not set # CONFIG_SND_SOC_AK4613 is not set # CONFIG_SND_SOC_AK4642 is not set # CONFIG_SND_SOC_AK5386 is not set # CONFIG_SND_SOC_AK5558 is not set # CONFIG_SND_SOC_ALC5623 is not set # CONFIG_SND_SOC_AMD_ACP3x is not set # CONFIG_SND_SOC_AMD_ACP5x is not set # CONFIG_SND_SOC_AMD_ACP6x is not set # CONFIG_SND_SOC_AMD_ACP_COMMON is not set # CONFIG_SND_SOC_AMD_ACP is not set # CONFIG_SND_SOC_AMD_CZ_DA7219MX98357_MACH is not set # CONFIG_SND_SOC_AMD_CZ_RT5645_MACH is not set # CONFIG_SND_SOC_AMD_RENOIR is not set # CONFIG_SND_SOC_AMD_RENOIR_MACH is not set # CONFIG_SND_SOC_AMD_RPL_ACP6x is not set # CONFIG_SND_SOC_AMD_RV_RT5682_MACH is not set # CONFIG_SND_SOC_AMD_VANGOGH_MACH is not set # CONFIG_SND_SOC_AMD_YC_MACH is not set # CONFIG_SND_SOC_APQ8016_SBC is not set # CONFIG_SND_SOC_ARNDALE is not set # CONFIG_SND_SOC_AW8738 is not set # CONFIG_SND_SOC_BD28623 is not set # CONFIG_SND_SOC_BT_SCO is not set # CONFIG_SND_SOC_CROS_EC_CODEC is not set # CONFIG_SND_SOC_CS35L32 is not set # CONFIG_SND_SOC_CS35L33 is not set # CONFIG_SND_SOC_CS35L34 is not set # CONFIG_SND_SOC_CS35L35 is not set # CONFIG_SND_SOC_CS35L36 is not set # CONFIG_SND_SOC_CS35L41_I2C is not set # CONFIG_SND_SOC_CS35L41_SPI is not set # CONFIG_SND_SOC_CS35L45_I2C is not set # CONFIG_SND_SOC_CS35L45_SPI is not set # CONFIG_SND_SOC_CS4234 is not set # CONFIG_SND_SOC_CS4265 is not set # CONFIG_SND_SOC_CS4270 is not set # CONFIG_SND_SOC_CS4271_I2C is not set # CONFIG_SND_SOC_CS4271_SPI is not set # CONFIG_SND_SOC_CS42L42 is not set # CONFIG_SND_SOC_CS42L51_I2C is not set # CONFIG_SND_SOC_CS42L52 is not set # CONFIG_SND_SOC_CS42L56 is not set # CONFIG_SND_SOC_CS42L73 is not set # CONFIG_SND_SOC_CS42XX8_I2C is not set # CONFIG_SND_SOC_CS43130 is not set # CONFIG_SND_SOC_CS4341 is not set # CONFIG_SND_SOC_CS4349 is not set # CONFIG_SND_SOC_CS53L30 is not set CONFIG_SND_SOC_CX2072X=m # CONFIG_SND_SOC_DA7213 is not set # CONFIG_SND_SOC_DAVINCI_MCASP is not set # CONFIG_SND_SOC_DMIC is not set # CONFIG_SND_SOC_ES7134 is not set # CONFIG_SND_SOC_ES7241 is not set # CONFIG_SND_SOC_ES8316 is not set # CONFIG_SND_SOC_ES8328_I2C is not set # CONFIG_SND_SOC_ES8328 is not set # CONFIG_SND_SOC_ES8328_SPI is not set # CONFIG_SND_SOC_FSL_ASOC_CARD is not set # CONFIG_SND_SOC_FSL_ASRC is not set # CONFIG_SND_SOC_FSL_AUD2HTX is not set # CONFIG_SND_SOC_FSL_AUDMIX is not set # CONFIG_SND_SOC_FSL_EASRC is not set # CONFIG_SND_SOC_FSL_ESAI is not set # CONFIG_SND_SOC_FSL_MICFIL is not set # CONFIG_SND_SOC_FSL_MQS is not set # CONFIG_SND_SOC_FSL_RPMSG is not set # CONFIG_SND_SOC_FSL_SAI is not set # CONFIG_SND_SOC_FSL_SPDIF is not set # CONFIG_SND_SOC_FSL_SSI is not set # CONFIG_SND_SOC_FSL_XCVR is not set # CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM is not set # CONFIG_SND_SOC_GTM601 is not set # CONFIG_SND_SOC_HDAC_HDA is not set # CONFIG_SND_SOC_HDAC_HDMI is not set # CONFIG_SND_SOC_HDMI_CODEC is not set # CONFIG_SND_SOC_ICS43432 is not set # CONFIG_SND_SOC_IMG is not set # CONFIG_SND_SOC_IMX_AUDIO_RPMSG is not set # CONFIG_SND_SOC_IMX_AUDMIX is not set # CONFIG_SND_SOC_IMX_AUDMUX is not set # CONFIG_SND_SOC_IMX_CARD is not set # CONFIG_SND_SOC_IMX_ES8328 is not set # CONFIG_SND_SOC_IMX_HDMI is not set # CONFIG_SND_SOC_IMX_PCM_RPMSG is not set # CONFIG_SND_SOC_IMX_RPMSG is not set # CONFIG_SND_SOC_IMX_SGTL5000 is not set # CONFIG_SND_SOC_IMX_SPDIF is not set # CONFIG_SND_SOC_INNO_RK3036 is not set # CONFIG_SND_SOC_INTEL_AVS is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_DA7219 is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_DMIC is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_HDAUDIO is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_I2S_TEST is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98357A is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_MAX98373 is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_NAU8825 is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_RT274 is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_RT286 is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_RT298 is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_RT5682 is not set # CONFIG_SND_SOC_INTEL_AVS_MACH_SSM4567 is not set # CONFIG_SND_SOC_INTEL_BDW_RT5650_MACH is not set # CONFIG_SND_SOC_INTEL_BDW_RT5677_MACH is not set # CONFIG_SND_SOC_INTEL_BROADWELL_MACH is not set # CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH is not set # CONFIG_SND_SOC_INTEL_BXT_RT298_MACH is not set # CONFIG_SND_SOC_INTEL_BYT_CHT_CX2072X_MACH is not set # CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH is not set # CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH is not set # CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH is not set # CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH is not set # CONFIG_SND_SOC_INTEL_BYTCR_RT5651_MACH is not set # CONFIG_SND_SOC_INTEL_BYTCR_WM5102_MACH is not set # CONFIG_SND_SOC_INTEL_CATPT is not set # CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH is not set # CONFIG_SND_SOC_INTEL_CHT_BSW_NAU8824_MACH is not set # CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH is not set # CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH is not set # CONFIG_SND_SOC_INTEL_CML_H is not set # CONFIG_SND_SOC_INTEL_CML_LP_DA7219_MAX98357A_MACH is not set # CONFIG_SND_SOC_INTEL_CML_LP is not set # CONFIG_SND_SOC_INTEL_EHL_RT5660_MACH is not set # CONFIG_SND_SOC_INTEL_GLK_DA7219_MAX98357A_MACH is not set # CONFIG_SND_SOC_INTEL_GLK_RT5682_MAX98357A_MACH is not set # CONFIG_SND_SOC_INTEL_HASWELL_MACH is not set # CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98357A_MACH is not set # CONFIG_SND_SOC_INTEL_KBL_DA7219_MAX98927_MACH is not set # CONFIG_SND_SOC_INTEL_KBL_RT5660_MACH is not set # CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH is not set # CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH is not set # CONFIG_SND_SOC_INTEL_SKL_HDA_DSP_GENERIC_MACH is not set # CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH is not set # CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH is not set # CONFIG_SND_SOC_INTEL_SKL_RT286_MACH is not set # CONFIG_SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC is not set # CONFIG_SND_SOC_INTEL_SKYLAKE is not set # CONFIG_SND_SOC_INTEL_SOF_CML_RT1011_RT5682_MACH is not set # CONFIG_SND_SOC_INTEL_SOF_CS42L42_MACH is not set # CONFIG_SND_SOC_INTEL_SOF_DA7219_MAX98373_MACH is not set # CONFIG_SND_SOC_INTEL_SOF_ES8336_MACH is not set # CONFIG_SND_SOC_INTEL_SOF_PCM512x_MACH is not set # CONFIG_SND_SOC_INTEL_SOF_RT5682_MACH is not set # CONFIG_SND_SOC_INTEL_SOF_SSP_AMP_MACH is not set # CONFIG_SND_SOC_INTEL_SOF_WM8804_MACH is not set # CONFIG_SND_SOC_INTEL_SOUNDWIRE_SOF_MACH is not set # CONFIG_SND_SOC_INTEL_SST is not set # CONFIG_SND_SOC_INTEL_SST_TOPLEVEL is not set # CONFIG_SND_SOC_INTEL_USER_FRIENDLY_LONG_NAMES is not set # CONFIG_SND_SOC is not set # CONFIG_SND_SOC_LPASS_RX_MACRO is not set # CONFIG_SND_SOC_LPASS_TX_MACRO is not set # CONFIG_SND_SOC_LPASS_VA_MACRO is not set # CONFIG_SND_SOC_LPASS_WSA_MACRO is not set # CONFIG_SND_SOC_MAX9759 is not set # CONFIG_SND_SOC_MAX98088 is not set # CONFIG_SND_SOC_MAX98090 is not set # CONFIG_SND_SOC_MAX98357A is not set CONFIG_SND_SOC_MAX98373_I2C=m CONFIG_SND_SOC_MAX98373=m CONFIG_SND_SOC_MAX98373_SDW=m CONFIG_SND_SOC_MAX98390=m # CONFIG_SND_SOC_MAX98396 is not set # CONFIG_SND_SOC_MAX98504 is not set # CONFIG_SND_SOC_MAX98520 is not set # CONFIG_SND_SOC_MAX9860 is not set # CONFIG_SND_SOC_MAX9867 is not set CONFIG_SND_SOC_MAX98927=m # CONFIG_SND_SOC_MESON_T9015 is not set # CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set # CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set # CONFIG_SND_SOC_MSM8996 is not set # CONFIG_SND_SOC_MT6351 is not set # CONFIG_SND_SOC_MT6358 is not set # CONFIG_SND_SOC_MT6660 is not set # CONFIG_SND_SOC_MTK_BTCVSD is not set # CONFIG_SND_SOC_NAU8315 is not set # CONFIG_SND_SOC_NAU8540 is not set # CONFIG_SND_SOC_NAU8810 is not set # CONFIG_SND_SOC_NAU8821 is not set # CONFIG_SND_SOC_NAU8822 is not set # CONFIG_SND_SOC_NAU8824 is not set # CONFIG_SND_SOC_NAU8825 is not set # CONFIG_SND_SOC_ODROID is not set # CONFIG_SND_SOC_OMAP_ABE_TWL6040 is not set # CONFIG_SND_SOC_OMAP_DMIC is not set # CONFIG_SND_SOC_OMAP_HDMI is not set # CONFIG_SND_SOC_OMAP_MCBSP is not set # CONFIG_SND_SOC_OMAP_MCPDM is not set # CONFIG_SND_SOC_PCM1681 is not set # CONFIG_SND_SOC_PCM1789_I2C is not set # CONFIG_SND_SOC_PCM179X_I2C is not set # CONFIG_SND_SOC_PCM179X_SPI is not set # CONFIG_SND_SOC_PCM186X_I2C is not set # CONFIG_SND_SOC_PCM186X_SPI is not set # CONFIG_SND_SOC_PCM3060_I2C is not set # CONFIG_SND_SOC_PCM3060_SPI is not set # CONFIG_SND_SOC_PCM3168A_I2C is not set # CONFIG_SND_SOC_PCM3168A_SPI is not set # CONFIG_SND_SOC_PCM5102A is not set # CONFIG_SND_SOC_PCM512x_I2C is not set # CONFIG_SND_SOC_PCM512x is not set # CONFIG_SND_SOC_PCM512x_SPI is not set # CONFIG_SND_SOC_QCOM is not set # CONFIG_SND_SOC_QDSP6 is not set # CONFIG_SND_SOC_RK3288_HDMI_ANALOG is not set # CONFIG_SND_SOC_RK3328 is not set # CONFIG_SND_SOC_RK3399_GRU_SOUND is not set # CONFIG_SND_SOC_RK817 is not set # CONFIG_SND_SOC_RL6231 is not set # CONFIG_SND_SOC_ROCKCHIP_I2S is not set # CONFIG_SND_SOC_ROCKCHIP is not set # CONFIG_SND_SOC_ROCKCHIP_MAX98090 is not set # CONFIG_SND_SOC_ROCKCHIP_PDM is not set # CONFIG_SND_SOC_ROCKCHIP_RT5645 is not set # CONFIG_SND_SOC_ROCKCHIP_SPDIF is not set # CONFIG_SND_SOC_RT1308 is not set # CONFIG_SND_SOC_RT1308_SDW is not set # CONFIG_SND_SOC_RT1316_SDW is not set # CONFIG_SND_SOC_RT5616 is not set # CONFIG_SND_SOC_RT5631 is not set # CONFIG_SND_SOC_RT5659 is not set # CONFIG_SND_SOC_RT5660 is not set # CONFIG_SND_SOC_RT5663 is not set # CONFIG_SND_SOC_RT5677 is not set # CONFIG_SND_SOC_RT5677_SPI is not set # CONFIG_SND_SOC_RT5682_SDW is not set # CONFIG_SND_SOC_RT700_SDW is not set # CONFIG_SND_SOC_RT711_SDCA_SDW is not set # CONFIG_SND_SOC_RT711_SDW is not set # CONFIG_SND_SOC_RT715_SDCA_SDW is not set # CONFIG_SND_SOC_RT715_SDW is not set # CONFIG_SND_SOC_RT9120 is not set # CONFIG_SND_SOC_SAMSUNG_ARIES_WM8994 is not set # CONFIG_SND_SOC_SAMSUNG is not set # CONFIG_SND_SOC_SAMSUNG_MIDAS_WM1811 is not set # CONFIG_SND_SOC_SAMSUNG_SMDK_SPDIF is not set # CONFIG_SND_SOC_SAMSUNG_SMDK_WM8994 is not set # CONFIG_SND_SOC_SC7180 is not set # CONFIG_SND_SOC_SDM845 is not set # CONFIG_SND_SOC_SGTL5000 is not set # CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set # CONFIG_SND_SOC_SIMPLE_MUX is not set # CONFIG_SND_SOC_SM8250 is not set # CONFIG_SND_SOC_SMDK_WM8994_PCM is not set # CONFIG_SND_SOC_SNOW is not set CONFIG_SND_SOC_SOF_ACPI=m # CONFIG_SND_SOC_SOF_ALDERLAKE is not set # CONFIG_SND_SOC_SOF_AMD_TOPLEVEL is not set # CONFIG_SND_SOC_SOF_APOLLOLAKE is not set # CONFIG_SND_SOC_SOF_BAYTRAIL is not set # CONFIG_SND_SOC_SOF_BROADWELL is not set # CONFIG_SND_SOC_SOF_CANNONLAKE is not set # CONFIG_SND_SOC_SOF_COFFEELAKE is not set # CONFIG_SND_SOC_SOF_COMETLAKE is not set # CONFIG_SND_SOC_SOF_ELKHARTLAKE is not set # CONFIG_SND_SOC_SOF_GEMINILAKE is not set # CONFIG_SND_SOC_SOF_HDA_AUDIO_CODEC is not set # CONFIG_SND_SOC_SOF_HDA_LINK is not set # CONFIG_SND_SOC_SOF_ICELAKE is not set # CONFIG_SND_SOC_SOF_IMX8M_SUPPORT is not set # CONFIG_SND_SOC_SOF_IMX8_SUPPORT is not set # CONFIG_SND_SOC_SOF_IMX_TOPLEVEL is not set # CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE is not set # CONFIG_SND_SOC_SOF_INTEL_TOPLEVEL is not set # CONFIG_SND_SOC_SOF_JASPERLAKE is not set # CONFIG_SND_SOC_SOF_MERRIFIELD is not set CONFIG_SND_SOC_SOF_METEORLAKE=m # CONFIG_SND_SOC_SOF_OF is not set CONFIG_SND_SOC_SOF_PCI=m # CONFIG_SND_SOC_SOF_TIGERLAKE is not set CONFIG_SND_SOC_SOF_TOPLEVEL=y # CONFIG_SND_SOC_SPDIF is not set # CONFIG_SND_SOC_SSM2305 is not set # CONFIG_SND_SOC_SSM2518 is not set # CONFIG_SND_SOC_SSM2602_I2C is not set # CONFIG_SND_SOC_SSM2602_SPI is not set # CONFIG_SND_SOC_SSM4567 is not set # CONFIG_SND_SOC_STA32X is not set # CONFIG_SND_SOC_STA350 is not set # CONFIG_SND_SOC_STI_SAS is not set # CONFIG_SND_SOC_STM32_DFSDM is not set # CONFIG_SND_SOC_STM32_I2S is not set # CONFIG_SND_SOC_STM32_SAI is not set # CONFIG_SND_SOC_STM32_SPDIFRX is not set # CONFIG_SND_SOC_STORM is not set # CONFIG_SND_SOC_TAS2552 is not set # CONFIG_SND_SOC_TAS2562 is not set # CONFIG_SND_SOC_TAS2764 is not set # CONFIG_SND_SOC_TAS2770 is not set # CONFIG_SND_SOC_TAS2780 is not set # CONFIG_SND_SOC_TAS5086 is not set # CONFIG_SND_SOC_TAS571X is not set # CONFIG_SND_SOC_TAS5720 is not set # CONFIG_SND_SOC_TAS5805M is not set # CONFIG_SND_SOC_TAS6424 is not set # CONFIG_SND_SOC_TDA7419 is not set # CONFIG_SND_SOC_TEGRA186_DSPK is not set # CONFIG_SND_SOC_TEGRA20_AC97 is not set # CONFIG_SND_SOC_TEGRA20_DAS is not set # CONFIG_SND_SOC_TEGRA20_I2S is not set # CONFIG_SND_SOC_TEGRA20_SPDIF is not set # CONFIG_SND_SOC_TEGRA210_ADMAIF is not set # CONFIG_SND_SOC_TEGRA210_AHUB is not set # CONFIG_SND_SOC_TEGRA210_DMIC is not set # CONFIG_SND_SOC_TEGRA210_I2S is not set # CONFIG_SND_SOC_TEGRA30_AHUB is not set # CONFIG_SND_SOC_TEGRA30_I2S is not set # CONFIG_SND_SOC_TEGRA_ALC5632 is not set # CONFIG_SND_SOC_TEGRA_AUDIO_GRAPH_CARD is not set # CONFIG_SND_SOC_TEGRA is not set # CONFIG_SND_SOC_TEGRA_MACHINE_DRV is not set # CONFIG_SND_SOC_TEGRA_MAX98090 is not set # CONFIG_SND_SOC_TEGRA_RT5640 is not set # CONFIG_SND_SOC_TEGRA_RT5677 is not set # CONFIG_SND_SOC_TEGRA_SGTL5000 is not set # CONFIG_SND_SOC_TEGRA_TRIMSLICE is not set # CONFIG_SND_SOC_TEGRA_WM8753 is not set # CONFIG_SND_SOC_TEGRA_WM8903 is not set # CONFIG_SND_SOC_TEGRA_WM9712 is not set # CONFIG_SND_SOC_TFA9879 is not set # CONFIG_SND_SOC_TFA989X is not set # CONFIG_SND_SOC_TLV320ADC3XXX is not set # CONFIG_SND_SOC_TLV320ADCX140 is not set # CONFIG_SND_SOC_TLV320AIC23_I2C is not set # CONFIG_SND_SOC_TLV320AIC23 is not set # CONFIG_SND_SOC_TLV320AIC23_SPI is not set # CONFIG_SND_SOC_TLV320AIC31XX is not set # CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set # CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set # CONFIG_SND_SOC_TLV320AIC3X_I2C is not set # CONFIG_SND_SOC_TLV320AIC3X is not set # CONFIG_SND_SOC_TLV320AIC3X_SPI is not set CONFIG_SND_SOC_TOPOLOGY_KUNIT_TEST=m # CONFIG_SND_SOC_TPA6130A2 is not set # CONFIG_SND_SOC_TS3A227E is not set # CONFIG_SND_SOC_TSCS42XX is not set # CONFIG_SND_SOC_TSCS454 is not set # CONFIG_SND_SOC_UDA1334 is not set CONFIG_SND_SOC_UTILS_KUNIT_TEST=m # CONFIG_SND_SOC_WCD9335 is not set # CONFIG_SND_SOC_WCD938X_SDW is not set # CONFIG_SND_SOC_WM8510 is not set # CONFIG_SND_SOC_WM8523 is not set # CONFIG_SND_SOC_WM8524 is not set # CONFIG_SND_SOC_WM8580 is not set # CONFIG_SND_SOC_WM8711 is not set # CONFIG_SND_SOC_WM8728 is not set # CONFIG_SND_SOC_WM8731_I2C is not set # CONFIG_SND_SOC_WM8731 is not set # CONFIG_SND_SOC_WM8731_SPI is not set # CONFIG_SND_SOC_WM8737 is not set # CONFIG_SND_SOC_WM8741 is not set # CONFIG_SND_SOC_WM8750 is not set # CONFIG_SND_SOC_WM8753 is not set # CONFIG_SND_SOC_WM8770 is not set # CONFIG_SND_SOC_WM8776 is not set # CONFIG_SND_SOC_WM8782 is not set CONFIG_SND_SOC_WM8804_I2C=m # CONFIG_SND_SOC_WM8804 is not set # CONFIG_SND_SOC_WM8804_SPI is not set # CONFIG_SND_SOC_WM8903 is not set # CONFIG_SND_SOC_WM8904 is not set # CONFIG_SND_SOC_WM8940 is not set # CONFIG_SND_SOC_WM8960 is not set # CONFIG_SND_SOC_WM8962 is not set # CONFIG_SND_SOC_WM8974 is not set # CONFIG_SND_SOC_WM8978 is not set # CONFIG_SND_SOC_WM8985 is not set # CONFIG_SND_SOC_WSA881X is not set # CONFIG_SND_SOC_WSA883X is not set # CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set # CONFIG_SND_SOC_XILINX_I2S is not set # CONFIG_SND_SOC_XILINX_SPDIF is not set # CONFIG_SND_SOC_XTFPGA_I2S is not set # CONFIG_SND_SOC_ZL38060 is not set # CONFIG_SND_SONICVIBES is not set # CONFIG_SND_SPI is not set # CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_ACPI is not set # CONFIG_SND_SST_ATOM_HIFI2_PLATFORM is not set # CONFIG_SND_SST_ATOM_HIFI2_PLATFORM_PCI is not set # CONFIG_SND_SUN4I_CODEC is not set # CONFIG_SND_SUN4I_I2S is not set # CONFIG_SND_SUN4I_SPDIF is not set # CONFIG_SND_SUN50I_CODEC_ANALOG is not set # CONFIG_SND_SUN8I_CODEC_ANALOG is not set # CONFIG_SND_SUN8I_CODEC is not set # CONFIG_SND_SUPPORT_OLD_API is not set # CONFIG_SND_TEST_COMPONENT is not set CONFIG_SND_TRIDENT=m CONFIG_SND_USB_6FIRE=m CONFIG_SND_USB_AUDIO=m CONFIG_SND_USB_CAIAQ_INPUT=y CONFIG_SND_USB_CAIAQ=m CONFIG_SND_USB_HIFACE=m CONFIG_SND_USB_PODHD=m CONFIG_SND_USB_POD=m CONFIG_SND_USB_TONEPORT=m CONFIG_SND_USB_UA101=m CONFIG_SND_USB_US122L=m CONFIG_SND_USB_USX2Y=m CONFIG_SND_USB_VARIAX=m CONFIG_SND_USB=y # CONFIG_SND_VERBOSE_PRINTK is not set CONFIG_SND_VERBOSE_PROCFS=y # CONFIG_SND_VIA82XX is not set # CONFIG_SND_VIA82XX_MODEM is not set CONFIG_SND_VIRMIDI=m CONFIG_SND_VIRTIO=m CONFIG_SND_VIRTUOSO=m CONFIG_SND_VX222=m # CONFIG_SND_X86 is not set # CONFIG_SND_XEN_FRONTEND is not set # CONFIG_SND_YMFPCI is not set # CONFIG_SOC_BRCMSTB is not set # CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set # CONFIG_SOC_TI is not set CONFIG_SOFTLOCKUP_DETECTOR=y CONFIG_SOFT_WATCHDOG=m # CONFIG_SOLARIS_X86_PARTITION is not set CONFIG_SONY_FF=y # CONFIG_SOUND is not set CONFIG_SOUND_OSS_CORE_PRECLAIM=y # CONFIG_SOUNDWIRE_CADENCE is not set CONFIG_SOUNDWIRE_GENERIC_ALLOCATION=m # CONFIG_SOUNDWIRE_INTEL is not set # CONFIG_SOUNDWIRE is not set # CONFIG_SOUNDWIRE_QCOM is not set CONFIG_SPARSE_IRQ=y CONFIG_SPARSEMEM_MANUAL=y CONFIG_SPARSEMEM_VMEMMAP=y CONFIG_SPEAKUP=m CONFIG_SPEAKUP_SYNTH_ACNTSA=m CONFIG_SPEAKUP_SYNTH_APOLLO=m CONFIG_SPEAKUP_SYNTH_AUDPTR=m CONFIG_SPEAKUP_SYNTH_BNS=m # CONFIG_SPEAKUP_SYNTH_DECEXT is not set CONFIG_SPEAKUP_SYNTH_DECTLK=m # CONFIG_SPEAKUP_SYNTH_DUMMY is not set CONFIG_SPEAKUP_SYNTH_LTLK=m CONFIG_SPEAKUP_SYNTH_SOFT=m CONFIG_SPEAKUP_SYNTH_SPKOUT=m CONFIG_SPEAKUP_SYNTH_TXPRT=m # CONFIG_SPI_ALTERA_CORE is not set # CONFIG_SPI_ALTERA is not set CONFIG_SPI_AMD=y # CONFIG_SPI_AX88796C is not set # CONFIG_SPI_AXI_SPI_ENGINE is not set # CONFIG_SPI_BITBANG is not set # CONFIG_SPI_CADENCE is not set # CONFIG_SPI_CADENCE_QUADSPI is not set # CONFIG_SPI_DEBUG is not set # CONFIG_SPI_DESIGNWARE is not set # CONFIG_SPI_FSL_SPI is not set # CONFIG_SPI_GPIO is not set # CONFIG_SPI_HISI_KUNPENG is not set # CONFIG_SPI_HISI_SFC_V3XX is not set # CONFIG_SPI is not set # CONFIG_SPI_LANTIQ_SSC is not set # CONFIG_SPI_LOOPBACK_TEST is not set # CONFIG_SPI_MEM is not set # CONFIG_SPI_MICROCHIP_CORE is not set # CONFIG_SPI_MUX is not set # CONFIG_SPI_MXIC is not set # CONFIG_SPI_NXP_FLEXSPI is not set # CONFIG_SPI_OC_TINY is not set # CONFIG_SPI_PXA2XX is not set # CONFIG_SPI_QCOM_QSPI is not set # CONFIG_SPI_ROCKCHIP is not set # CONFIG_SPI_SC18IS602 is not set # CONFIG_SPI_SIFIVE is not set # CONFIG_SPI_SLAVE is not set # CONFIG_SPI_SPIDEV is not set # CONFIG_SPI_THUNDERX is not set # CONFIG_SPI_TLE62X0 is not set # CONFIG_SPI_XCOMM is not set # CONFIG_SPI_XILINX is not set # CONFIG_SPI_ZYNQMP_GQSPI is not set CONFIG_SPLIT_PTLOCK_CPUS=4 # CONFIG_SPMI is not set # CONFIG_SPS30_I2C is not set # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set # CONFIG_SQUASHFS_DECOMP_MULTI is not set CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y # CONFIG_SQUASHFS_DECOMP_SINGLE is not set # CONFIG_SQUASHFS_EMBEDDED is not set # CONFIG_SQUASHFS_FILE_CACHE is not set CONFIG_SQUASHFS_FILE_DIRECT=y # CONFIG_SQUASHFS is not set # CONFIG_SQUASHFS_LZ4 is not set CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_XZ=y CONFIG_SQUASHFS_ZLIB=y CONFIG_SQUASHFS_ZSTD=y # CONFIG_SRAM is not set # CONFIG_SRF04 is not set # CONFIG_SRF08 is not set # CONFIG_SSB is not set # CONFIG_SSFDC is not set CONFIG_STACK_HASH_ORDER=20 CONFIG_STACKINIT_KUNIT_TEST=m CONFIG_STACKPROTECTOR_STRONG=y CONFIG_STACKPROTECTOR=y # CONFIG_STACKTRACE_BUILD_ID is not set CONFIG_STACK_TRACER=y CONFIG_STACKTRACE_SUPPORT=y CONFIG_STACKTRACE=y # CONFIG_STAGING is not set # CONFIG_STAGING_MEDIA is not set CONFIG_STANDALONE=y # CONFIG_STATIC_CALL_SELFTEST is not set # CONFIG_STATIC_KEYS_SELFTEST is not set # CONFIG_STATIC_USERMODEHELPER is not set # CONFIG_STE10XP is not set # CONFIG_STK3310 is not set # CONFIG_STK8312 is not set # CONFIG_STK8BA50 is not set # CONFIG_STM is not set # CONFIG_STRICT_DEVMEM is not set CONFIG_STRICT_KERNEL_RWX=y CONFIG_STRICT_MODULE_RWX=y # CONFIG_STRING_SELFTEST is not set CONFIG_STRIP_ASM_SYMS=y # CONFIG_ST_UVIS25 is not set # CONFIG_SUN50I_IOMMU is not set # CONFIG_SUN_PARTITION is not set CONFIG_SUNRPC_DEBUG=y CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES=y CONFIG_SUNRPC_GSS=m CONFIG_SUNRPC=m CONFIG_SUNRPC_XPRT_RDMA=m # CONFIG_SURFACE_3_POWER_OPREGION is not set # CONFIG_SURFACE3_WMI is not set # CONFIG_SURFACE_GPE is not set # CONFIG_SURFACE_HOTPLUG is not set # CONFIG_SURFACE_PLATFORMS is not set # CONFIG_SURFACE_PRO3_BUTTON is not set CONFIG_SUSPEND=y # CONFIG_SWAP is not set # CONFIG_SW_SYNC is not set # CONFIG_SX9310 is not set # CONFIG_SX9324 is not set # CONFIG_SX9360 is not set # CONFIG_SX9500 is not set CONFIG_SYMBOLIC_ERRNAME=y CONFIG_SYNC_FILE=y # CONFIG_SYNCLINK_GT is not set CONFIG_SYN_COOKIES=y # CONFIG_SYNTH_EVENT_GEN_TEST is not set # CONFIG_SYSCON_REBOOT_MODE is not set CONFIG_SYSCTL_KUNIT_TEST=m CONFIG_SYSCTL=y CONFIG_SYSFB_SIMPLEFB=y # CONFIG_SYSFS_DEPRECATED is not set CONFIG_SYSFS=y # CONFIG_SYS_HYPERVISOR is not set # CONFIG_SYSTEM76_ACPI is not set CONFIG_SYSTEM_BLACKLIST_AUTH_UPDATE=y CONFIG_SYSTEM_BLACKLIST_HASH_LIST="" # CONFIG_SYSTEM_BLACKLIST_KEYRING is not set # CONFIG_SYSTEM_DATA_VERIFICATION is not set # CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set # CONFIG_SYSTEMPORT is not set # CONFIG_SYSTEM_REVOCATION_LIST is not set CONFIG_SYSTEM_TRUSTED_KEYRING=y CONFIG_SYSTEM_TRUSTED_KEYS="" # CONFIG_SYSV68_PARTITION is not set # CONFIG_SYSV_FS is not set # CONFIG_SYSVIPC is not set # CONFIG_T5403 is not set CONFIG_TABLET_SERIAL_WACOM4=m CONFIG_TABLET_USB_ACECAD=m CONFIG_TABLET_USB_AIPTEK=m # CONFIG_TABLET_USB_HANWANG is not set CONFIG_TABLET_USB_KBTAB=m # CONFIG_TABLET_USB_PEGASUS is not set CONFIG_TARGET_CORE=y CONFIG_TASK_DELAY_ACCT=y CONFIG_TASK_IO_ACCOUNTING=y # CONFIG_TASKSTATS is not set CONFIG_TASK_XACCT=y # CONFIG_TCG_ATMEL is not set CONFIG_TCG_CRB=y # CONFIG_TCG_INFINEON is not set # CONFIG_TCG_NSC is not set # CONFIG_TCG_TIS_I2C_ATMEL is not set CONFIG_TCG_TIS_I2C_CR50=m # CONFIG_TCG_TIS_I2C_INFINEON is not set # CONFIG_TCG_TIS_I2C is not set # CONFIG_TCG_TIS_I2C_NUVOTON is not set # CONFIG_TCG_TIS_SPI is not set # CONFIG_TCG_TIS_ST33ZP24_I2C is not set # CONFIG_TCG_TIS_ST33ZP24_SPI is not set CONFIG_TCG_TIS=y CONFIG_TCG_TPM=y # CONFIG_TCG_VTPM_PROXY is not set # CONFIG_TCG_XEN is not set CONFIG_TCM_FC=y CONFIG_TCM_FILEIO=y CONFIG_TCM_IBLOCK=y CONFIG_TCM_PSCSI=y # CONFIG_TCM_QLA2XXX is not set CONFIG_TCM_USER2=m CONFIG_TCP_CONG_ADVANCED=y CONFIG_TCP_CONG_BBR=m CONFIG_TCP_CONG_BIC=m # CONFIG_TCP_CONG_CDG is not set CONFIG_TCP_CONG_CUBIC=y CONFIG_TCP_CONG_DCTCP=m # CONFIG_TCP_CONG_HSTCP is not set CONFIG_TCP_CONG_HTCP=m # CONFIG_TCP_CONG_HYBLA is not set # CONFIG_TCP_CONG_ILLINOIS is not set # CONFIG_TCP_CONG_LP is not set CONFIG_TCP_CONG_NV=m # CONFIG_TCP_CONG_SCALABLE is not set # CONFIG_TCP_CONG_VEGAS is not set # CONFIG_TCP_CONG_VENO is not set CONFIG_TCP_CONG_WESTWOOD=m # CONFIG_TCP_CONG_YEAH is not set CONFIG_TCP_MD5SIG=y # CONFIG_TCS3414 is not set # CONFIG_TCS3472 is not set CONFIG_TEE=m # CONFIG_TEGRA186_GPC_DMA is not set # CONFIG_TEGRA186_TIMER is not set CONFIG_TELCLOCK=m CONFIG_TERANETICS_PHY=m # CONFIG_TEST_ASYNC_DRIVER_PROBE is not set # CONFIG_TEST_BITMAP is not set # CONFIG_TEST_BITOPS is not set # CONFIG_TEST_BLACKHOLE_DEV is not set CONFIG_TEST_BPF=m # CONFIG_TEST_CLOCKSOURCE_WATCHDOG is not set CONFIG_TEST_CPUMASK=m # CONFIG_TEST_DIV64 is not set # CONFIG_TEST_FIRMWARE is not set # CONFIG_TEST_FPU is not set # CONFIG_TEST_FREE_PAGES is not set # CONFIG_TEST_HASH is not set # CONFIG_TEST_HEXDUMP is not set CONFIG_TEST_HMM=m # CONFIG_TEST_IDA is not set # CONFIG_TEST_KMOD is not set CONFIG_TEST_KSTRTOX=y # CONFIG_TEST_LIST_SORT is not set # CONFIG_TEST_LIVEPATCH is not set # CONFIG_TEST_LKM is not set # CONFIG_TEST_LOCKUP is not set # CONFIG_TEST_MEMCAT_P is not set # CONFIG_TEST_MEMINIT is not set # CONFIG_TEST_MIN_HEAP is not set # CONFIG_TEST_OBJAGG is not set # CONFIG_TEST_OVERFLOW is not set # CONFIG_TEST_PARMAN is not set # CONFIG_TEST_POWER is not set # CONFIG_TEST_PRINTF is not set # CONFIG_TEST_REF_TRACKER is not set # CONFIG_TEST_RHASHTABLE is not set # CONFIG_TEST_SCANF is not set # CONFIG_TEST_SIPHASH is not set # CONFIG_TEST_SORT is not set # CONFIG_TEST_STACKINIT is not set # CONFIG_TEST_STATIC_KEYS is not set # CONFIG_TEST_STRING_HELPERS is not set # CONFIG_TEST_STRSCPY is not set # CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set # CONFIG_TEST_USER_COPY is not set # CONFIG_TEST_UUID is not set CONFIG_TEST_VMALLOC=m # CONFIG_TEST_XARRAY is not set # CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set # CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE is not set # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 # CONFIG_THERMAL_EMULATION is not set # CONFIG_THERMAL_GOV_BANG_BANG is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y # CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set CONFIG_THERMAL_GOV_STEP_WISE=y # CONFIG_THERMAL_GOV_USER_SPACE is not set CONFIG_THERMAL_HWMON=y # CONFIG_THERMAL is not set # CONFIG_THERMAL_MMIO is not set CONFIG_THERMAL_NETLINK=y CONFIG_THERMAL_OF=y # CONFIG_THERMAL_STATISTICS is not set # CONFIG_THERMAL_WRITABLE_TRIPS is not set # CONFIG_THRUSTMASTER_FF is not set CONFIG_THUNDERX2_PMU=m # CONFIG_TI_ADC081C is not set # CONFIG_TI_ADC0832 is not set # CONFIG_TI_ADC084S021 is not set # CONFIG_TI_ADC108S102 is not set # CONFIG_TI_ADC12138 is not set # CONFIG_TI_ADC128S052 is not set # CONFIG_TI_ADC161S626 is not set # CONFIG_TI_ADS1015 is not set # CONFIG_TI_ADS124S08 is not set # CONFIG_TI_ADS131E08 is not set # CONFIG_TI_ADS7950 is not set # CONFIG_TI_ADS8344 is not set # CONFIG_TI_ADS8688 is not set # CONFIG_TI_DAC082S085 is not set # CONFIG_TI_DAC5571 is not set # CONFIG_TI_DAC7311 is not set # CONFIG_TI_DAC7612 is not set # CONFIG_TIFM_7XX1 is not set # CONFIG_TIFM_CORE is not set CONFIG_TIGON3_HWMON=y # CONFIG_TIGON3 is not set CONFIG_TIME_KUNIT_TEST=m CONFIG_TIME_NS=y CONFIG_TIMERLAT_TRACER=y # CONFIG_TINYDRM_HX8357D is not set # CONFIG_TINYDRM_ILI9163 is not set # CONFIG_TINYDRM_ILI9225 is not set # CONFIG_TINYDRM_ILI9341 is not set # CONFIG_TINYDRM_ILI9486 is not set # CONFIG_TINYDRM_MI0283QT is not set # CONFIG_TINYDRM_REPAPER is not set # CONFIG_TINYDRM_ST7586 is not set # CONFIG_TINYDRM_ST7735R is not set CONFIG_TIPC_CRYPTO=y CONFIG_TIPC_DIAG=m CONFIG_TIPC=m CONFIG_TIPC_MEDIA_IB=y CONFIG_TIPC_MEDIA_UDP=y # CONFIG_TI_ST is not set # CONFIG_TI_TLC4541 is not set # CONFIG_TI_TSC2046 is not set # CONFIG_TLAN is not set CONFIG_TLS_DEVICE=y CONFIG_TLS=m # CONFIG_TLS_TOE is not set # CONFIG_TMP006 is not set # CONFIG_TMP007 is not set # CONFIG_TMP117 is not set CONFIG_TMPFS_INODE64=y # CONFIG_TMPFS is not set CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_XATTR=y CONFIG_TN3215_CONSOLE=y CONFIG_TN3215=y CONFIG_TN3270_CONSOLE=y CONFIG_TN3270_FS=y CONFIG_TN3270_TTY=y CONFIG_TN3270=y # CONFIG_TORTURE_TEST is not set # CONFIG_TOSHIBA_HAPS is not set # CONFIG_TOSHIBA_WMI is not set # CONFIG_TOUCHSCREEN_AD7877 is not set # CONFIG_TOUCHSCREEN_AD7879 is not set # CONFIG_TOUCHSCREEN_ADS7846 is not set # CONFIG_TOUCHSCREEN_AR1021_I2C is not set # CONFIG_TOUCHSCREEN_ATMEL_MXT is not set # CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set # CONFIG_TOUCHSCREEN_BU21013 is not set # CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set # CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set # CONFIG_TOUCHSCREEN_CY8CTMA140 is not set # CONFIG_TOUCHSCREEN_CY8CTMG110 is not set # CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set # CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set # CONFIG_TOUCHSCREEN_DYNAPRO is not set # CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set # CONFIG_TOUCHSCREEN_EETI is not set # CONFIG_TOUCHSCREEN_EGALAX is not set # CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set # CONFIG_TOUCHSCREEN_EKTF2127 is not set # CONFIG_TOUCHSCREEN_ELAN is not set # CONFIG_TOUCHSCREEN_ELO is not set # CONFIG_TOUCHSCREEN_EXC3000 is not set # CONFIG_TOUCHSCREEN_FUJITSU is not set # CONFIG_TOUCHSCREEN_GOODIX is not set # CONFIG_TOUCHSCREEN_GUNZE is not set # CONFIG_TOUCHSCREEN_HAMPSHIRE is not set # CONFIG_TOUCHSCREEN_HIDEEP is not set # CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set # CONFIG_TOUCHSCREEN_ILI210X is not set # CONFIG_TOUCHSCREEN_ILITEK is not set # CONFIG_TOUCHSCREEN_IMAGIS is not set # CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set # CONFIG_TOUCHSCREEN_INEXIO is not set # CONFIG_TOUCHSCREEN_IQS5XX is not set # CONFIG_TOUCHSCREEN_MAX11801 is not set # CONFIG_TOUCHSCREEN_MCS5000 is not set # CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set # CONFIG_TOUCHSCREEN_MK712 is not set # CONFIG_TOUCHSCREEN_MMS114 is not set # CONFIG_TOUCHSCREEN_MSG2638 is not set # CONFIG_TOUCHSCREEN_MTOUCH is not set # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_PIXCIR is not set # CONFIG_TOUCHSCREEN_RM_TS is not set # CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set # CONFIG_TOUCHSCREEN_S6SY761 is not set # CONFIG_TOUCHSCREEN_SILEAD is not set # CONFIG_TOUCHSCREEN_SIS_I2C is not set # CONFIG_TOUCHSCREEN_ST1232 is not set # CONFIG_TOUCHSCREEN_STMFTS is not set # CONFIG_TOUCHSCREEN_SUR40 is not set # CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set # CONFIG_TOUCHSCREEN_SX8654 is not set # CONFIG_TOUCHSCREEN_TOUCHIT213 is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set # CONFIG_TOUCHSCREEN_TPS6507X is not set # CONFIG_TOUCHSCREEN_TSC2004 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set # CONFIG_TOUCHSCREEN_TSC2007 is not set # CONFIG_TOUCHSCREEN_TSC_SERIO is not set # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set CONFIG_TOUCHSCREEN_WACOM_I2C=m # CONFIG_TOUCHSCREEN_WACOM_W8001 is not set # CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set # CONFIG_TOUCHSCREEN_WM97XX is not set # CONFIG_TOUCHSCREEN_ZET6223 is not set # CONFIG_TOUCHSCREEN_ZFORCE is not set # CONFIG_TOUCHSCREEN_ZINITIX is not set # CONFIG_TPL0102 is not set # CONFIG_TPM_KEY_PARSER is not set # CONFIG_TPS6105X is not set # CONFIG_TPS65010 is not set # CONFIG_TPS6507X is not set # CONFIG_TQMX86_WDT is not set # CONFIG_TRACE_EVAL_MAP_FILE is not set # CONFIG_TRACE_EVENT_INJECT is not set CONFIG_TRACE_IRQFLAGS_SUPPORT=y # CONFIG_TRACE_MMIO_ACCESS is not set # CONFIG_TRACEPOINT_BENCHMARK is not set # CONFIG_TRACER_SNAPSHOT_PER_CPU_SWAP is not set CONFIG_TRACER_SNAPSHOT=y CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y # CONFIG_TRANSPARENT_HUGEPAGE is not set # CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set CONFIG_TREE_RCU=y CONFIG_TRUSTED_KEYS_TEE=y CONFIG_TRUSTED_KEYS_TPM=y CONFIG_TRUSTED_KEYS=y # CONFIG_TSL2583 is not set # CONFIG_TSL2591 is not set # CONFIG_TSL2772 is not set # CONFIG_TSL4531 is not set # CONFIG_TSNEP is not set # CONFIG_TSYS01 is not set # CONFIG_TSYS02D is not set # CONFIG_TUNE_DEFAULT is not set # CONFIG_TUNE_Z10 is not set # CONFIG_TUNE_Z13 is not set # CONFIG_TUNE_Z14 is not set CONFIG_TUNE_Z15=y # CONFIG_TUNE_Z16 is not set # CONFIG_TUNE_Z196 is not set # CONFIG_TUNE_Z900 is not set # CONFIG_TUNE_Z9_109 is not set # CONFIG_TUNE_Z990 is not set # CONFIG_TUNE_ZEC12 is not set # CONFIG_TUN is not set # CONFIG_TUN_VNET_CROSS_LE is not set # CONFIG_TWL4030_CORE is not set # CONFIG_TWL6040_CORE is not set # CONFIG_TXGBE is not set # CONFIG_TYPEC_ANX7411 is not set CONFIG_TYPEC_DP_ALTMODE=m CONFIG_TYPEC_FUSB302=m # CONFIG_TYPEC_HD3SS3220 is not set CONFIG_TYPEC_MUX_FSA4480=m CONFIG_TYPEC_MUX_PI3USB30532=m # CONFIG_TYPEC_NVIDIA_ALTMODE is not set # CONFIG_TYPEC_QCOM_PMIC is not set # CONFIG_TYPEC_RT1711H is not set # CONFIG_TYPEC_RT1719 is not set # CONFIG_TYPEC_STUSB160X is not set CONFIG_TYPEC_TCPCI=m # CONFIG_TYPEC_TCPCI_MAXIM is not set CONFIG_TYPEC_TCPM=m CONFIG_TYPEC_TPS6598X=m CONFIG_TYPEC_UCSI=y # CONFIG_TYPEC_WUSB3801 is not set CONFIG_TYPEC=y # CONFIG_UACCE is not set CONFIG_UAPI_HEADER_TEST=y # CONFIG_UBIFS_FS_AUTHENTICATION is not set # CONFIG_UBIFS_FS is not set # CONFIG_UBSAN is not set # CONFIG_UCB1400_CORE is not set # CONFIG_UCLAMP_TASK is not set CONFIG_UCSI_ACPI=y # CONFIG_UCSI_CCG is not set # CONFIG_UCSI_STM32G0 is not set # CONFIG_UDF_FS is not set # CONFIG_UDMABUF is not set # CONFIG_UEVENT_HELPER is not set # CONFIG_UFS_FS is not set CONFIG_UHID=m # CONFIG_UIO_AEC is not set # CONFIG_UIO_CIF is not set # CONFIG_UIO_DMEM_GENIRQ is not set CONFIG_UIO_HV_GENERIC=m # CONFIG_UIO is not set # CONFIG_UIO_MF624 is not set # CONFIG_UIO_NETX is not set # CONFIG_UIO_PCI_GENERIC is not set # CONFIG_UIO_PDRV_GENIRQ is not set # CONFIG_UIO_PRUSS is not set # CONFIG_UIO_SERCOS3 is not set # CONFIG_ULTRIX_PARTITION is not set # CONFIG_UNICODE is not set CONFIG_UNIX98_PTYS=y CONFIG_UNIX_DIAG=y # CONFIG_UNIX is not set # CONFIG_UNIXWARE_DISKLABEL is not set # CONFIG_UNWINDER_FRAME_POINTER is not set CONFIG_UNWINDER_ORC=y CONFIG_UPROBE_EVENTS=y # CONFIG_US5182D is not set # CONFIG_USB4_DEBUGFS_WRITE is not set # CONFIG_USB4_DMA_TEST is not set CONFIG_USB4_NET=m CONFIG_USB4=y CONFIG_USB_ACM=m CONFIG_USB_ADUTUX=m CONFIG_USB_ALI_M5632=y CONFIG_USB_AN2720=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y CONFIG_USB_APPLEDISPLAY=m CONFIG_USB_ARMLINUX=y CONFIG_USB_ATM=m CONFIG_USB_AUTOSUSPEND_DELAY=2 CONFIG_USB_BELKIN=y # CONFIG_USB_C67X00_HCD is not set CONFIG_USB_CATC=m # CONFIG_USB_CDNS3 is not set # CONFIG_USB_CDNS_SUPPORT is not set # CONFIG_USB_CHAOSKEY is not set # CONFIG_USB_CHIPIDEA is not set # CONFIG_USB_CONN_GPIO is not set CONFIG_USB_CXACRU=m # CONFIG_USB_CYPRESS_CY7C63 is not set # CONFIG_USB_CYTHERM is not set CONFIG_USB_DEFAULT_PERSIST=y # CONFIG_USB_DSBR is not set # CONFIG_USB_DWC2 is not set # CONFIG_USB_DWC3 is not set # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_EHCI_FSL is not set # CONFIG_USB_EHCI_HCD_PLATFORM is not set CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y CONFIG_USB_EHCI_TT_NEWSCHED=y # CONFIG_USB_EHSET_TEST_FIXTURE is not set CONFIG_USB_EMI26=m CONFIG_USB_EMI62=m CONFIG_USB_EPSON2888=y CONFIG_USB_EZUSB_FX2=m # CONFIG_USB_FEW_INIT_RETRIES is not set # CONFIG_USB_FOTG210_HCD is not set CONFIG_USB_FTDI_ELAN=m # CONFIG_USB_GADGET is not set CONFIG_USB_GL860=m # CONFIG_USB_GPIO_VBUS is not set CONFIG_USB_GSPCA_BENQ=m CONFIG_USB_GSPCA_CONEX=m CONFIG_USB_GSPCA_CPIA1=m # CONFIG_USB_GSPCA_DTCS033 is not set CONFIG_USB_GSPCA_ETOMS=m CONFIG_USB_GSPCA_FINEPIX=m CONFIG_USB_GSPCA_JEILINJ=m CONFIG_USB_GSPCA_JL2005BCD=m # CONFIG_USB_GSPCA_KINECT is not set CONFIG_USB_GSPCA_KONICA=m CONFIG_USB_GSPCA=m CONFIG_USB_GSPCA_MARS=m CONFIG_USB_GSPCA_MR97310A=m CONFIG_USB_GSPCA_NW80X=m CONFIG_USB_GSPCA_OV519=m CONFIG_USB_GSPCA_OV534_9=m CONFIG_USB_GSPCA_OV534=m CONFIG_USB_GSPCA_PAC207=m CONFIG_USB_GSPCA_PAC7302=m CONFIG_USB_GSPCA_PAC7311=m CONFIG_USB_GSPCA_SE401=m CONFIG_USB_GSPCA_SN9C2028=m CONFIG_USB_GSPCA_SN9C20X=m CONFIG_USB_GSPCA_SONIXB=m CONFIG_USB_GSPCA_SONIXJ=m CONFIG_USB_GSPCA_SPCA1528=m CONFIG_USB_GSPCA_SPCA500=m CONFIG_USB_GSPCA_SPCA501=m CONFIG_USB_GSPCA_SPCA505=m CONFIG_USB_GSPCA_SPCA506=m CONFIG_USB_GSPCA_SPCA508=m CONFIG_USB_GSPCA_SPCA561=m CONFIG_USB_GSPCA_SQ905C=m CONFIG_USB_GSPCA_SQ905=m CONFIG_USB_GSPCA_SQ930X=m CONFIG_USB_GSPCA_STK014=m # CONFIG_USB_GSPCA_STK1135 is not set CONFIG_USB_GSPCA_STV0680=m CONFIG_USB_GSPCA_SUNPLUS=m CONFIG_USB_GSPCA_T613=m CONFIG_USB_GSPCA_TOPRO=m # CONFIG_USB_GSPCA_TOUPTEK is not set CONFIG_USB_GSPCA_TV8532=m CONFIG_USB_GSPCA_VC032X=m CONFIG_USB_GSPCA_VICAM=m CONFIG_USB_GSPCA_XIRLINK_CIT=m CONFIG_USB_GSPCA_ZC3XX=m # CONFIG_USB_HCD_BCMA is not set # CONFIG_USB_HCD_TEST_MODE is not set CONFIG_USB_HIDDEV=y CONFIG_USB_HID=y CONFIG_USB_HSIC_USB3503=m # CONFIG_USB_HSIC_USB4604 is not set CONFIG_USB_HSO=m # CONFIG_USB_HUB_USB251XB is not set CONFIG_USB_IDMOUSE=m CONFIG_USB_IOWARRIOR=m # CONFIG_USBIP_CORE is not set CONFIG_USB_IPHETH=m CONFIG_USB_ISIGHTFW=m # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP1301 is not set # CONFIG_USB_ISP1760 is not set CONFIG_USB_KAWETH=m CONFIG_USB_KC2190=y # CONFIG_USB_KEENE is not set CONFIG_USB_LAN78XX=m CONFIG_USB_LCD=m CONFIG_USB_LD=m CONFIG_USB_LEDS_TRIGGER_USBPORT=m # CONFIG_USB_LED_TRIG is not set CONFIG_USB_LEGOTOWER=m # CONFIG_USB_LINK_LAYER_TEST is not set CONFIG_USB_M5602=m # CONFIG_USB_MA901 is not set # CONFIG_USB_MAX3421_HCD is not set CONFIG_USB_MDC800=m CONFIG_USB_MICROTEK=m CONFIG_USB_MON=y # CONFIG_USB_MR800 is not set # CONFIG_USB_MUSB_HDRC is not set # CONFIG_USB_NET_AQC111 is not set CONFIG_USB_NET_AX88179_178A=m CONFIG_USB_NET_AX8817X=m CONFIG_USB_NET_CDC_EEM=m CONFIG_USB_NET_CDC_MBIM=m CONFIG_USB_NET_CDC_NCM=m CONFIG_USB_NET_CDC_SUBSET=m CONFIG_USB_NET_CH9200=m CONFIG_USB_NET_CX82310_ETH=m CONFIG_USB_NET_DM9601=m CONFIG_USB_NET_DRIVERS=y CONFIG_USB_NET_GL620A=m # CONFIG_USB_NET_HUAWEI_CDC_NCM is not set CONFIG_USB_NET_INT51X1=m CONFIG_USB_NET_KALMIA=m CONFIG_USB_NET_MCS7830=m CONFIG_USB_NET_NET1080=m CONFIG_USB_NET_PLUSB=m CONFIG_USB_NET_QMI_WWAN=m CONFIG_USB_NET_RNDIS_HOST=m # CONFIG_USB_NET_RNDIS_WLAN is not set CONFIG_USB_NET_SMSC75XX=m CONFIG_USB_NET_SMSC95XX=m # CONFIG_USB_NET_SR9700 is not set # CONFIG_USB_NET_SR9800 is not set CONFIG_USB_NET_ZAURUS=m CONFIG_USB_OHCI_HCD_PCI=y # CONFIG_USB_OHCI_HCD_PLATFORM is not set CONFIG_USB_OHCI_HCD=y # CONFIG_USB_ONBOARD_HUB is not set # CONFIG_USB_OTG is not set # CONFIG_USB_OTG_PRODUCTLIST is not set # CONFIG_USB_OXU210HP_HCD is not set CONFIG_USB_PCI=y # CONFIG_USBPCWATCHDOG is not set CONFIG_USB_PEGASUS=m CONFIG_USB_PRINTER=m CONFIG_USB_PULSE8_CEC=m # CONFIG_USB_PWC_DEBUG is not set CONFIG_USB_PWC_INPUT_EVDEV=y CONFIG_USB_PWC=m # CONFIG_USB_QCOM_EUD is not set # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_RAINSHADOW_CEC=m # CONFIG_USB_RAREMONO is not set CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m CONFIG_USB_RTL8153_ECM=m CONFIG_USB_S2255=m CONFIG_USB_SERIAL_AIRCABLE=m CONFIG_USB_SERIAL_ARK3116=m CONFIG_USB_SERIAL_BELKIN=m CONFIG_USB_SERIAL_CH341=m CONFIG_USB_SERIAL_CONSOLE=y CONFIG_USB_SERIAL_CP210X=m CONFIG_USB_SERIAL_CYBERJACK=m CONFIG_USB_SERIAL_CYPRESS_M8=m CONFIG_USB_SERIAL_DEBUG=m CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m CONFIG_USB_SERIAL_EDGEPORT=m CONFIG_USB_SERIAL_EDGEPORT_TI=m CONFIG_USB_SERIAL_EMPEG=m # CONFIG_USB_SERIAL_F81232 is not set CONFIG_USB_SERIAL_F8153X=m CONFIG_USB_SERIAL_FTDI_SIO=m CONFIG_USB_SERIAL_GARMIN=m CONFIG_USB_SERIAL_GENERIC=y CONFIG_USB_SERIAL_IPAQ=m CONFIG_USB_SERIAL_IPW=m CONFIG_USB_SERIAL_IR=m CONFIG_USB_SERIAL_IUU=m CONFIG_USB_SERIAL_KEYSPAN=m CONFIG_USB_SERIAL_KEYSPAN_PDA=m CONFIG_USB_SERIAL_KLSI=m CONFIG_USB_SERIAL_KOBIL_SCT=m CONFIG_USB_SERIAL_MCT_U232=m # CONFIG_USB_SERIAL_METRO is not set CONFIG_USB_SERIAL_MOS7720=m CONFIG_USB_SERIAL_MOS7840=m CONFIG_USB_SERIAL_MXUPORT=m CONFIG_USB_SERIAL_NAVMAN=m CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OPTICON=m CONFIG_USB_SERIAL_OPTION=m CONFIG_USB_SERIAL_OTI6858=m CONFIG_USB_SERIAL_PL2303=m CONFIG_USB_SERIAL_QCAUX=m CONFIG_USB_SERIAL_QT2=m CONFIG_USB_SERIAL_QUALCOMM=m CONFIG_USB_SERIAL_SAFE=m CONFIG_USB_SERIAL_SAFE_PADDED=y CONFIG_USB_SERIAL_SIERRAWIRELESS=m # CONFIG_USB_SERIAL_SIMPLE is not set CONFIG_USB_SERIAL_SPCP8X5=m CONFIG_USB_SERIAL_SSU100=m CONFIG_USB_SERIAL_SYMBOL=m CONFIG_USB_SERIAL_TI=m CONFIG_USB_SERIAL_UPD78F0730=m CONFIG_USB_SERIAL_VISOR=m CONFIG_USB_SERIAL_WHITEHEAT=m # CONFIG_USB_SERIAL_WISHBONE is not set # CONFIG_USB_SERIAL_XR is not set CONFIG_USB_SERIAL_XSENS_MT=m CONFIG_USB_SERIAL=y CONFIG_USB_SEVSEG=m CONFIG_USB_SIERRA_NET=m CONFIG_USB_SISUSBVGA=m # CONFIG_USB_SL811_HCD is not set CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_STKWEBCAM=m CONFIG_USB_STORAGE_ALAUDA=m CONFIG_USB_STORAGE_CYPRESS_ATACB=m CONFIG_USB_STORAGE_DATAFAB=m # CONFIG_USB_STORAGE_DEBUG is not set CONFIG_USB_STORAGE_ENE_UB6250=m CONFIG_USB_STORAGE_FREECOM=m CONFIG_USB_STORAGE_ISD200=m CONFIG_USB_STORAGE_JUMPSHOT=m CONFIG_USB_STORAGE_KARMA=m CONFIG_USB_STORAGE=m CONFIG_USB_STORAGE_ONETOUCH=m CONFIG_USB_STORAGE_REALTEK=m CONFIG_USB_STORAGE_SDDR09=m CONFIG_USB_STORAGE_SDDR55=m CONFIG_USB_STORAGE_USBAT=m CONFIG_USB_STV06XX=m # CONFIG_USB_SUPPORT is not set # CONFIG_USB_TEST is not set CONFIG_USB_TMC=m # CONFIG_USB_TRANCEVIBRATOR is not set # CONFIG_USB_U132_HCD is not set CONFIG_USB_UAS=m CONFIG_USB_UEAGLEATM=m CONFIG_USB_UHCI_HCD=y # CONFIG_USB_ULPI_BUS is not set # CONFIG_USB_ULPI is not set CONFIG_USB_USBNET=m CONFIG_USB_USS720=m CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y CONFIG_USB_VIDEO_CLASS=m CONFIG_USB_VL600=m CONFIG_USB_WDM=m # CONFIG_USB_XEN_HCD is not set # CONFIG_USB_XHCI_DBGCAP is not set CONFIG_USB_XHCI_HCD=y # CONFIG_USB_XHCI_HISTB is not set # CONFIG_USB_XHCI_PCI_RENESAS is not set # CONFIG_USB_XHCI_PLATFORM is not set CONFIG_USB_XUSBATM=m CONFIG_USB=y # CONFIG_USB_YUREX is not set CONFIG_USB_ZR364XX=m # CONFIG_USELIB is not set # CONFIG_USER_DECRYPTED_DATA is not set # CONFIG_USER_EVENTS is not set CONFIG_USERFAULTFD=y # CONFIG_USERIO is not set CONFIG_USER_NS=y CONFIG_UTS_NS=y CONFIG_UV_SYSFS=m # CONFIG_V4L_MEM2MEM_DRIVERS is not set # CONFIG_V4L_PLATFORM_DRIVERS is not set # CONFIG_VALIDATE_FS_PARSER is not set # CONFIG_VCNL3020 is not set # CONFIG_VCNL4000 is not set # CONFIG_VCNL4035 is not set # CONFIG_VCPU_STALL_DETECTOR is not set # CONFIG_VDPA is not set CONFIG_VDPA_SIM_BLOCK=m CONFIG_VDPA_SIM=m CONFIG_VDPA_SIM_NET=m # CONFIG_VDPA_USER is not set # CONFIG_VEML6030 is not set # CONFIG_VEML6070 is not set CONFIG_VETH=m # CONFIG_VF610_ADC is not set # CONFIG_VF610_DAC is not set # CONFIG_VFAT_FS is not set CONFIG_VFIO_AP=m CONFIG_VFIO_CCW=m CONFIG_VFIO_IOMMU_TYPE1=m # CONFIG_VFIO is not set CONFIG_VFIO_MDEV=m # CONFIG_VFIO_NOIOMMU is not set # CONFIG_VFIO_PCI_IGD is not set CONFIG_VFIO_PCI=m CONFIG_VFIO_PCI_ZDEV_KVM=y CONFIG_VGA_ARB_MAX_GPUS=64 CONFIG_VGA_ARB=y CONFIG_VGA_CONSOLE=y # CONFIG_VGA_SWITCHEROO is not set # CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set CONFIG_VHOST_MENU=y # CONFIG_VHOST_NET is not set # CONFIG_VHOST_SCSI is not set # CONFIG_VHOST_VDPA is not set CONFIG_VHOST_VSOCK=m # CONFIG_VIDEO_AD5820 is not set # CONFIG_VIDEO_ADP1653 is not set # CONFIG_VIDEO_ADV_DEBUG is not set # CONFIG_VIDEO_AK7375 is not set # CONFIG_VIDEO_AR0521 is not set CONFIG_VIDEO_AU0828=m # CONFIG_VIDEO_AU0828_RC is not set CONFIG_VIDEO_AU0828_V4L2=y CONFIG_VIDEO_BT848=m # CONFIG_VIDEOBUF2_DMA_SG is not set # CONFIG_VIDEOBUF2_DVB is not set # CONFIG_VIDEO_CCS is not set # CONFIG_VIDEO_CPIA2 is not set CONFIG_VIDEO_CS3308=m CONFIG_VIDEO_CX18_ALSA=m CONFIG_VIDEO_CX18=m CONFIG_VIDEO_CX231XX_ALSA=m CONFIG_VIDEO_CX231XX_DVB=m CONFIG_VIDEO_CX231XX=m CONFIG_VIDEO_CX231XX_RC=y CONFIG_VIDEO_CX23885=m # CONFIG_VIDEO_CX25821 is not set CONFIG_VIDEO_CX88_ALSA=m CONFIG_VIDEO_CX88_BLACKBIRD=m CONFIG_VIDEO_CX88_DVB=m # CONFIG_VIDEO_CX88_ENABLE_VP3054 is not set CONFIG_VIDEO_CX88=m CONFIG_VIDEO_DEV=m # CONFIG_VIDEO_DT3155 is not set # CONFIG_VIDEO_DW9714 is not set # CONFIG_VIDEO_DW9768 is not set # CONFIG_VIDEO_DW9807_VCM is not set CONFIG_VIDEO_EM28XX_ALSA=m CONFIG_VIDEO_EM28XX_DVB=m # CONFIG_VIDEO_EM28XX is not set CONFIG_VIDEO_EM28XX_RC=m # CONFIG_VIDEO_EM28XX_V4L2 is not set # CONFIG_VIDEO_ET8EK8 is not set # CONFIG_VIDEO_FB_IVTV_FORCE_PAT is not set CONFIG_VIDEO_FB_IVTV=m # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set # CONFIG_VIDEO_GO7007 is not set # CONFIG_VIDEO_GS1662 is not set CONFIG_VIDEO_HDPVR=m # CONFIG_VIDEO_HEXIUM_GEMINI is not set # CONFIG_VIDEO_HEXIUM_ORION is not set # CONFIG_VIDEO_HI556 is not set # CONFIG_VIDEO_HI846 is not set # CONFIG_VIDEO_HI847 is not set # CONFIG_VIDEO_IMX208 is not set # CONFIG_VIDEO_IMX214 is not set # CONFIG_VIDEO_IMX219 is not set # CONFIG_VIDEO_IMX258 is not set # CONFIG_VIDEO_IMX274 is not set # CONFIG_VIDEO_IMX290 is not set # CONFIG_VIDEO_IMX319 is not set # CONFIG_VIDEO_IMX334 is not set # CONFIG_VIDEO_IMX335 is not set # CONFIG_VIDEO_IMX355 is not set # CONFIG_VIDEO_IMX412 is not set # CONFIG_VIDEO_IPU3_CIO2 is not set # CONFIG_VIDEO_IVTV_ALSA is not set CONFIG_VIDEO_IVTV=m # CONFIG_VIDEO_LM3560 is not set # CONFIG_VIDEO_LM3646 is not set # CONFIG_VIDEO_M5MOLS is not set # CONFIG_VIDEO_MEYE is not set # CONFIG_VIDEO_MT9M001 is not set # CONFIG_VIDEO_MT9M032 is not set # CONFIG_VIDEO_MT9M111 is not set # CONFIG_VIDEO_MT9P031 is not set # CONFIG_VIDEO_MT9T001 is not set # CONFIG_VIDEO_MT9T112 is not set # CONFIG_VIDEO_MT9V011 is not set # CONFIG_VIDEO_MT9V032 is not set # CONFIG_VIDEO_MT9V111 is not set # CONFIG_VIDEO_MXB is not set # CONFIG_VIDEO_NOON010PC30 is not set # CONFIG_VIDEO_OG01A1B is not set # CONFIG_VIDEO_OV02A10 is not set # CONFIG_VIDEO_OV08D10 is not set # CONFIG_VIDEO_OV13858 is not set # CONFIG_VIDEO_OV13B10 is not set # CONFIG_VIDEO_OV2640 is not set # CONFIG_VIDEO_OV2659 is not set # CONFIG_VIDEO_OV2680 is not set # CONFIG_VIDEO_OV2685 is not set # CONFIG_VIDEO_OV2740 is not set # CONFIG_VIDEO_OV5640 is not set # CONFIG_VIDEO_OV5645 is not set # CONFIG_VIDEO_OV5647 is not set # CONFIG_VIDEO_OV5648 is not set # CONFIG_VIDEO_OV5670 is not set # CONFIG_VIDEO_OV5675 is not set # CONFIG_VIDEO_OV5693 is not set # CONFIG_VIDEO_OV5695 is not set # CONFIG_VIDEO_OV6650 is not set # CONFIG_VIDEO_OV7251 is not set # CONFIG_VIDEO_OV7640 is not set # CONFIG_VIDEO_OV7670 is not set # CONFIG_VIDEO_OV772X is not set # CONFIG_VIDEO_OV7740 is not set # CONFIG_VIDEO_OV8856 is not set # CONFIG_VIDEO_OV8865 is not set # CONFIG_VIDEO_OV9282 is not set # CONFIG_VIDEO_OV9640 is not set # CONFIG_VIDEO_OV9650 is not set # CONFIG_VIDEO_OV9734 is not set # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set CONFIG_VIDEO_PVRUSB2_DVB=y CONFIG_VIDEO_PVRUSB2=m CONFIG_VIDEO_PVRUSB2_SYSFS=y # CONFIG_VIDEO_RDACM20 is not set # CONFIG_VIDEO_RDACM21 is not set # CONFIG_VIDEO_RJ54N1 is not set # CONFIG_VIDEO_S5C73M3 is not set # CONFIG_VIDEO_S5K4ECGX is not set # CONFIG_VIDEO_S5K5BAF is not set # CONFIG_VIDEO_S5K6A3 is not set # CONFIG_VIDEO_S5K6AA is not set CONFIG_VIDEO_SAA6588=m CONFIG_VIDEO_SAA6752HS=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_DVB=m CONFIG_VIDEO_SAA7134=m CONFIG_VIDEO_SAA7134_RC=y CONFIG_VIDEO_SAA7146=m CONFIG_VIDEO_SAA7146_VV=m CONFIG_VIDEO_SAA7164=m # CONFIG_VIDEO_SOLO6X10 is not set # CONFIG_VIDEO_SR030PC30 is not set # CONFIG_VIDEO_STK1160_COMMON is not set CONFIG_VIDEO_TM6000_ALSA=m CONFIG_VIDEO_TM6000_DVB=m CONFIG_VIDEO_TM6000=m CONFIG_VIDEO_TUNER=m # CONFIG_VIDEO_TW5864 is not set # CONFIG_VIDEO_TW686X is not set # CONFIG_VIDEO_TW68 is not set # CONFIG_VIDEO_USBTV is not set CONFIG_VIDEO_V4L2=m # CONFIG_VIDEO_V4L2_SUBDEV_API is not set # CONFIG_VIDEO_VS6624 is not set # CONFIG_VIPERBOARD_ADC is not set # CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_BLK=m # CONFIG_VIRTIO_CONSOLE is not set CONFIG_VIRTIO_FS=m # CONFIG_VIRTIO_HARDEN_NOTIFICATION is not set CONFIG_VIRTIO_INPUT=m # CONFIG_VIRTIO_IOMMU is not set CONFIG_VIRTIO_MENU=y # CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set # CONFIG_VIRTIO_MMIO is not set CONFIG_VIRTIO_NET=m # CONFIG_VIRTIO_PCI is not set CONFIG_VIRTIO_PCI_LEGACY=y # CONFIG_VIRTIO_PMEM is not set # CONFIG_VIRTIO_VDPA is not set CONFIG_VIRTIO_VSOCKETS=m CONFIG_VIRTIO=y # CONFIG_VIRTUALIZATION is not set # CONFIG_VIRT_WIFI is not set # CONFIG_VITESSE_PHY is not set # CONFIG_VL53L0X_I2C is not set # CONFIG_VL6180 is not set CONFIG_VLAN_8021Q_GVRP=y # CONFIG_VLAN_8021Q is not set CONFIG_VLAN_8021Q_MVRP=y CONFIG_VMAP_STACK=y CONFIG_VMCP_CMA_SIZE=4 # CONFIG_VMCP is not set # CONFIG_VME_BUS is not set CONFIG_VM_EVENT_COUNTERS=y CONFIG_VMGENID=y CONFIG_VMLOGRDR=m # CONFIG_VMWARE_VMCI is not set # CONFIG_VMXNET3 is not set CONFIG_VP_VDPA=m CONFIG_VSOCKETS_DIAG=m # CONFIG_VSOCKETS is not set CONFIG_VSOCKETS_LOOPBACK=m CONFIG_VSOCKMON=m # CONFIG_VT6655 is not set # CONFIG_VT6656 is not set CONFIG_VT_CONSOLE=y CONFIG_VT_HW_CONSOLE_BINDING=y CONFIG_VT=y # CONFIG_VXFS_FS is not set CONFIG_VXLAN=m # CONFIG_VZ89X is not set # CONFIG_W1 is not set # CONFIG_W83627HF_WDT is not set # CONFIG_W83877F_WDT is not set # CONFIG_W83977F_WDT is not set # CONFIG_WAFER_WDT is not set # CONFIG_WANXL is not set CONFIG_WAN=y # CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y # CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set # CONFIG_WATCHDOG is not set # CONFIG_WATCHDOG_NOWAYOUT is not set CONFIG_WATCHDOG_OPEN_TIMEOUT=0 # CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set CONFIG_WATCHDOG_SYSFS=y CONFIG_WATCH_QUEUE=y # CONFIG_WCN36XX is not set # CONFIG_WDAT_WDT is not set # CONFIG_WDTPCI is not set # CONFIG_WERROR is not set # CONFIG_WFX is not set # CONFIG_WIL6210 is not set # CONFIG_WILC1000_SDIO is not set # CONFIG_WILC1000_SPI is not set # CONFIG_WINDFARM is not set # CONFIG_WINMATE_FM07_KEYS is not set # CONFIG_WIREGUARD_DEBUG is not set # CONFIG_WIREGUARD is not set CONFIG_WIRELESS_HOTKEY=m CONFIG_WIRELESS=y # CONFIG_WLAN_VENDOR_ADMTEK is not set CONFIG_WLAN_VENDOR_ATH=y # CONFIG_WLAN_VENDOR_ATMEL is not set CONFIG_WLAN_VENDOR_BROADCOM=y # CONFIG_WLAN_VENDOR_CISCO is not set CONFIG_WLAN_VENDOR_INTEL=y # CONFIG_WLAN_VENDOR_INTERSIL is not set CONFIG_WLAN_VENDOR_MARVELL=y CONFIG_WLAN_VENDOR_MEDIATEK=y CONFIG_WLAN_VENDOR_MICROCHIP=y CONFIG_WLAN_VENDOR_PURELIFI=y CONFIG_WLAN_VENDOR_QUANTENNA=y CONFIG_WLAN_VENDOR_RALINK=y CONFIG_WLAN_VENDOR_REALTEK=y # CONFIG_WLAN_VENDOR_RSI is not set CONFIG_WLAN_VENDOR_SILABS=y # CONFIG_WLAN_VENDOR_ST is not set # CONFIG_WLAN_VENDOR_TI is not set # CONFIG_WLAN_VENDOR_ZYDAS is not set CONFIG_WLAN=y CONFIG_WMI_BMOF=m # CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set # CONFIG_WQ_WATCHDOG is not set # CONFIG_WWAN_HWSIM is not set CONFIG_WWAN=y # CONFIG_WW_MUTEX_SELFTEST is not set # CONFIG_X25 is not set CONFIG_X86_AMD_PLATFORM_DEVICE=y CONFIG_X86_IOPL_IOPERM=y CONFIG_X86_PMEM_LEGACY_DEVICE=y CONFIG_X86_PMEM_LEGACY=m CONFIG_X86_SGX_KVM=y # CONFIG_X86_X32_ABI is not set CONFIG_XDP_SOCKETS_DIAG=m # CONFIG_XDP_SOCKETS is not set # CONFIG_XEN_BACKEND is not set # CONFIG_XEN_GRANT_DMA_ALLOC is not set CONFIG_XEN_PRIVCMD=m # CONFIG_XEN_PVCALLS_FRONTEND is not set # CONFIG_XEN_PVH is not set CONFIG_XEN_PVHVM_GUEST=y CONFIG_XEN_PVHVM=y CONFIG_XEN_SCRUB_PAGES_DEFAULT=y # CONFIG_XEN_SCSI_FRONTEND is not set # CONFIG_XEN_UNPOPULATED_ALLOC is not set # CONFIG_XEN_VIRTIO is not set CONFIG_XFRM_INTERFACE=m CONFIG_XFRM_MIGRATE=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_STATISTICS=y CONFIG_XFRM_SUB_POLICY=y # CONFIG_XFRM_USER_COMPAT is not set CONFIG_XFRM_USER=y CONFIG_XFRM=y # CONFIG_XFS_DEBUG is not set # CONFIG_XFS_FS is not set # CONFIG_XFS_ONLINE_REPAIR is not set CONFIG_XFS_ONLINE_SCRUB=y CONFIG_XFS_POSIX_ACL=y CONFIG_XFS_QUOTA=y # CONFIG_XFS_RT is not set CONFIG_XFS_SUPPORT_V4=y # CONFIG_XFS_WARN is not set # CONFIG_XGENE_DMA is not set # CONFIG_XILINX_DMA is not set CONFIG_XILINX_GMII2RGMII=m # CONFIG_XILINX_INTC is not set # CONFIG_XILINX_LL_TEMAC is not set # CONFIG_XILINX_SDFEC is not set # CONFIG_XILINX_VCU is not set # CONFIG_XILINX_WATCHDOG is not set # CONFIG_XILINX_XADC is not set # CONFIG_XILINX_ZYNQMP_DMA is not set # CONFIG_XILINX_ZYNQMP_DPDMA is not set # CONFIG_XILLYBUS is not set # CONFIG_XILLYUSB is not set CONFIG_XMON_DEFAULT_RO_MODE=y # CONFIG_XZ_DEC_MICROLZMA is not set CONFIG_XZ_DEC_POWERPC=y # CONFIG_XZ_DEC_TEST is not set CONFIG_XZ_DEC_X86=y CONFIG_XZ_DEC=y # CONFIG_YAMAHA_YAS530 is not set # CONFIG_YELLOWFIN is not set # CONFIG_YENTA is not set # CONFIG_YOGABOOK_WMI is not set # CONFIG_Z3FOLD is not set # CONFIG_ZBUD is not set # CONFIG_ZCRYPT_DEBUG is not set # CONFIG_ZCRYPT is not set CONFIG_ZCRYPT_MULTIDEVNODES=y # CONFIG_ZERO_CALL_USED_REGS is not set # CONFIG_ZEROPLUS_FF is not set CONFIG_ZFCP=y # CONFIG_ZIIRAVE_WATCHDOG is not set CONFIG_ZISOFS=y CONFIG_ZLIB_DEFLATE=y CONFIG_ZLIB_DFLTCC=y CONFIG_ZLIB_INFLATE=y CONFIG_ZONE_DEVICE=y # CONFIG_ZONEFS_FS is not set # CONFIG_ZOPT2201 is not set # CONFIG_ZPA2326 is not set # CONFIG_ZPOOL is not set # CONFIG_ZRAM_DEF_COMP_842 is not set # CONFIG_ZRAM_DEF_COMP_LZ4HC is not set # CONFIG_ZRAM_DEF_COMP_LZ4 is not set # CONFIG_ZRAM_DEF_COMP_LZO is not set CONFIG_ZRAM_DEF_COMP_LZORLE=y # CONFIG_ZRAM_DEF_COMP_ZSTD is not set # CONFIG_ZRAM_MEMORY_TRACKING is not set CONFIG_ZRAM_WRITEBACK=y CONFIG_ZRAM=y CONFIG_ZSMALLOC_STAT=y CONFIG_ZSMALLOC=y # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y # CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set # CONFIG_ZSWAP_DEFAULT_ON is not set # CONFIG_ZSWAP is not set # CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y # CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set