From 6565c27f0aee3dc4a3cc31e272d84736e8d4d68d Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 9 Jan 2019 20:41:47 +0100 Subject: [PATCH 01/59] nfsd: Add trace events for all v4 operations Add trace events to all v4 operations. Record client ip for ipv4 clients. Record uid from request credentials. For READ and WRITE ops, additionally record offset and length request arguments and device,inode and filename of the affected file. --- fs/nfsd/nfs4proc.c | 72 +++++++++++++++++++ fs/nfsd/nfs4state.c | 42 +++++++++++ fs/nfsd/trace.h | 169 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 283 insertions(+) diff --git a/fs/nfsd/nfs4proc.c b/fs/nfsd/nfs4proc.c index b207c76a873f3..26270e061a654 100644 --- a/fs/nfsd/nfs4proc.c +++ b/fs/nfsd/nfs4proc.c @@ -371,6 +371,8 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd_net *nn = net_generic(net, nfsd_net_id); bool reclaim = false; + trace_nfsd4_open(rqstp); + dprintk("NFSD: nfsd4_open filename %.*s op_openowner %p\n", (int)open->op_fnamelen, open->op_fname, open->op_openowner); @@ -506,6 +508,8 @@ static __be32 nfsd4_getfh(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, union nfsd4_op_u *u) { + trace_nfsd4_getfh(rqstp); + u->getfh = &cstate->current_fh; return nfs_ok; } @@ -517,6 +521,8 @@ nfsd4_putfh(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_putfh *putfh = &u->putfh; __be32 ret; + trace_nfsd4_putfh(rqstp); + fh_put(&cstate->current_fh); cstate->current_fh.fh_handle.fh_size = putfh->pf_fhlen; memcpy(&cstate->current_fh.fh_handle.fh_raw, putfh->pf_fhval, @@ -537,6 +543,8 @@ nfsd4_putrootfh(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, { __be32 status; + trace_nfsd4_putrootfh(rqstp); + fh_put(&cstate->current_fh); status = exp_pseudoroot(rqstp, &cstate->current_fh); return status; @@ -546,6 +554,8 @@ static __be32 nfsd4_restorefh(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, union nfsd4_op_u *u) { + trace_nfsd4_restorefh(rqstp); + if (!cstate->save_fh.fh_dentry) return nfserr_restorefh; @@ -561,6 +571,8 @@ static __be32 nfsd4_savefh(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, union nfsd4_op_u *u) { + trace_nfsd4_savefh(rqstp); + fh_dup2(&cstate->save_fh, &cstate->current_fh); if (HAS_CSTATE_FLAG(cstate, CURRENT_STATE_ID_FLAG)) { memcpy(&cstate->save_stateid, &cstate->current_stateid, sizeof(stateid_t)); @@ -579,6 +591,8 @@ nfsd4_access(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_access *access = &u->access; u32 access_full; + trace_nfsd4_access(rqstp); + access_full = NFS3_ACCESS_FULL; if (cstate->minorversion >= 2) access_full |= NFS4_ACCESS_XALIST | NFS4_ACCESS_XAREAD | @@ -607,6 +621,8 @@ nfsd4_commit(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, { struct nfsd4_commit *commit = &u->commit; + trace_nfsd4_commit(rqstp); + return nfsd_commit(rqstp, &cstate->current_fh, commit->co_offset, commit->co_count, (__be32 *)commit->co_verf.data); @@ -621,6 +637,8 @@ nfsd4_create(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, __be32 status; dev_t rdev; + trace_nfsd4_create(rqstp); + fh_init(&resfh, NFS4_FHSIZE); status = fh_verify(rqstp, &cstate->current_fh, S_IFDIR, NFSD_MAY_NOP); @@ -712,6 +730,8 @@ nfsd4_getattr(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_getattr *getattr = &u->getattr; __be32 status; + trace_nfsd4_getattr(rqstp); + status = fh_verify(rqstp, &cstate->current_fh, 0, NFSD_MAY_NOP); if (status) return status; @@ -734,6 +754,8 @@ nfsd4_link(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_link *link = &u->link; __be32 status; + trace_nfsd4_link(rqstp); + status = nfsd_link(rqstp, &cstate->current_fh, link->li_name, link->li_namelen, &cstate->save_fh); if (!status) @@ -762,6 +784,8 @@ static __be32 nfsd4_lookupp(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, union nfsd4_op_u *u) { + trace_nfsd4_lookupp(rqstp); + return nfsd4_do_lookupp(rqstp, &cstate->current_fh); } @@ -769,6 +793,8 @@ static __be32 nfsd4_lookup(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, union nfsd4_op_u *u) { + trace_nfsd4_lookup(rqstp); + return nfsd_lookup(rqstp, &cstate->current_fh, u->lookup.lo_name, u->lookup.lo_len, &cstate->current_fh); @@ -781,6 +807,8 @@ nfsd4_read(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_read *read = &u->read; __be32 status; + trace_nfsd4_read(rqstp,cstate,read); + read->rd_nf = NULL; trace_nfsd_read_start(rqstp, &cstate->current_fh, @@ -836,6 +864,8 @@ nfsd4_readdir(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, u64 cookie = readdir->rd_cookie; static const nfs4_verifier zeroverf; + trace_nfsd4_readdir(rqstp); + /* no need to check permission - this will be done in nfsd_readdir() */ if (readdir->rd_bmval[1] & NFSD_WRITEONLY_ATTRS_WORD1) @@ -858,6 +888,8 @@ static __be32 nfsd4_readlink(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, union nfsd4_op_u *u) { + trace_nfsd4_readlink(rqstp); + u->readlink.rl_rqstp = rqstp; u->readlink.rl_fhp = &cstate->current_fh; return nfs_ok; @@ -870,6 +902,8 @@ nfsd4_remove(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_remove *remove = &u->remove; __be32 status; + trace_nfsd4_remove(rqstp); + if (opens_in_grace(SVC_NET(rqstp))) return nfserr_grace; status = nfsd_unlink(rqstp, &cstate->current_fh, 0, @@ -888,6 +922,8 @@ nfsd4_rename(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_rename *rename = &u->rename; __be32 status; + trace_nfsd4_rename(rqstp); + if (opens_in_grace(SVC_NET(rqstp))) return nfserr_grace; status = nfsd_rename(rqstp, &cstate->save_fh, rename->rn_sname, @@ -909,6 +945,8 @@ nfsd4_secinfo(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct dentry *dentry; __be32 err; + trace_nfsd4_secinfo(rqstp); + err = fh_verify(rqstp, &cstate->current_fh, S_IFDIR, NFSD_MAY_EXEC); if (err) return err; @@ -936,6 +974,8 @@ nfsd4_secinfo_no_name(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstat { __be32 err; + trace_nfsd4_secinfo_no_name(rqstp); + switch (u->secinfo_no_name.sin_style) { case NFS4_SECINFO_STYLE4_CURRENT_FH: break; @@ -975,6 +1015,8 @@ nfsd4_setattr(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, __be32 status = nfs_ok; int err; + trace_nfsd4_setattr(rqstp); + if (setattr->sa_iattr.ia_valid & ATTR_SIZE) { status = nfs4_preprocess_stateid_op(rqstp, cstate, &cstate->current_fh, &setattr->sa_stateid, @@ -1022,6 +1064,8 @@ nfsd4_write(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, unsigned long cnt; int nvecs; + trace_nfsd4_write(rqstp,cstate,write); + if (write->wr_offset > (u64)OFFSET_MAX || write->wr_offset + write->wr_buflen > (u64)OFFSET_MAX) return nfserr_fbig; @@ -1101,6 +1145,8 @@ nfsd4_clone(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd_file *src, *dst; __be32 status; + trace_nfsd4_clone(rqstp); + status = nfsd4_verify_copy(rqstp, cstate, &clone->cl_src_stateid, &src, &clone->cl_dst_stateid, &dst); if (status) @@ -1661,6 +1707,8 @@ nfsd4_copy(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, __be32 status; struct nfsd4_copy *async_copy = NULL; + trace_nfsd4_copy(rqstp); + if (!copy->cp_intra) { /* Inter server SSC */ if (!inter_copy_offload_enable || copy->cp_synchronous) { status = nfserr_notsupp; @@ -1742,6 +1790,8 @@ nfsd4_offload_cancel(struct svc_rqst *rqstp, struct nfsd4_copy *copy; struct nfs4_client *clp = cstate->clp; + trace_nfsd4_offload_cancel(rqstp); + copy = find_async_copy(clp, &os->stateid); if (!copy) { struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); @@ -1764,6 +1814,8 @@ nfsd4_copy_notify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfs4_cpntf_state *cps; struct nfs4_client *clp = cstate->clp; + trace_nfsd4_copy_notify(rqstp); + status = nfs4_preprocess_stateid_op(rqstp, cstate, &cstate->current_fh, &cn->cpn_src_stateid, RD_STATE, NULL, &stid); @@ -1829,6 +1881,8 @@ nfsd4_offload_status(struct svc_rqst *rqstp, struct nfsd4_copy *copy; struct nfs4_client *clp = cstate->clp; + trace_nfsd4_offload_status(rqstp); + copy = find_async_copy(clp, &os->stateid); if (copy) { os->count = copy->cp_res.wr_bytes_written; @@ -1843,6 +1897,8 @@ static __be32 nfsd4_allocate(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, union nfsd4_op_u *u) { + trace_nfsd4_allocate(rqstp); + return nfsd4_fallocate(rqstp, cstate, &u->allocate, 0); } @@ -1850,6 +1906,8 @@ static __be32 nfsd4_deallocate(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, union nfsd4_op_u *u) { + trace_nfsd4_deallocate(rqstp); + return nfsd4_fallocate(rqstp, cstate, &u->deallocate, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE); } @@ -1863,6 +1921,8 @@ nfsd4_seek(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, __be32 status; struct nfsd_file *nf; + trace_nfsd4_seek(rqstp); + status = nfs4_preprocess_stateid_op(rqstp, cstate, &cstate->current_fh, &seek->seek_stateid, RD_STATE, &nf, NULL); @@ -1967,6 +2027,8 @@ nfsd4_nverify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, { __be32 status; + trace_nfsd4_nverify(rqstp); + status = _nfsd4_verify(rqstp, cstate, &u->verify); return status == nfserr_not_same ? nfs_ok : status; } @@ -1977,6 +2039,8 @@ nfsd4_verify(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, { __be32 status; + trace_nfsd4_verify(rqstp); + status = _nfsd4_verify(rqstp, cstate, &u->nverify); return status == nfserr_same ? nfs_ok : status; } @@ -2010,6 +2074,8 @@ nfsd4_getdeviceinfo(struct svc_rqst *rqstp, struct svc_export *exp; __be32 nfserr; + trace_nfsd4_getdeviceinfo(rqstp); + dprintk("%s: layout_type %u dev_id [0x%llx:0x%x] maxcnt %u\n", __func__, gdp->gd_layout_type, @@ -2063,6 +2129,8 @@ nfsd4_layoutget(struct svc_rqst *rqstp, __be32 nfserr; int accmode = NFSD_MAY_READ_IF_EXEC; + trace_nfsd4_layoutget(rqstp); + switch (lgp->lg_seg.iomode) { case IOMODE_READ: accmode |= NFSD_MAY_READ; @@ -2151,6 +2219,8 @@ nfsd4_layoutcommit(struct svc_rqst *rqstp, struct nfs4_layout_stateid *ls; __be32 nfserr; + trace_nfsd4_layoutcommit(rqstp); + nfserr = fh_verify(rqstp, current_fh, 0, NFSD_MAY_WRITE); if (nfserr) goto out; @@ -2210,6 +2280,8 @@ nfsd4_layoutreturn(struct svc_rqst *rqstp, struct svc_fh *current_fh = &cstate->current_fh; __be32 nfserr; + trace_nfsd4_layoutreturn(rqstp); + nfserr = fh_verify(rqstp, current_fh, 0, NFSD_MAY_NOP); if (nfserr) goto out; diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 32063733443d4..37ad2b1bc5f49 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -3132,6 +3132,8 @@ nfsd4_exchange_id(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, bool update = exid->flags & EXCHGID4_FLAG_UPD_CONFIRMED_REC_A; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_exchange_id(rqstp); + rpc_ntop(sa, addr_str, sizeof(addr_str)); dprintk("%s rqstp=%p exid=%p clname.len=%u clname.data=%p " "ip_addr=%s flags %x, spa_how %u\n", @@ -3440,6 +3442,8 @@ nfsd4_create_session(struct svc_rqst *rqstp, __be32 status = 0; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_create_session(rqstp); + if (cr_ses->flags & ~SESSION4_FLAG_MASK_A) return nfserr_inval; status = nfsd4_check_cb_sec(&cr_ses->cb_sec); @@ -3567,6 +3571,8 @@ __be32 nfsd4_backchannel_ctl(struct svc_rqst *rqstp, struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); __be32 status; + trace_nfsd4_backchannel_ctl(rqstp); + status = nfsd4_check_cb_sec(&bc->bc_cb_sec); if (status) return status; @@ -3632,6 +3638,8 @@ __be32 nfsd4_bind_conn_to_session(struct svc_rqst *rqstp, struct net *net = SVC_NET(rqstp); struct nfsd_net *nn = net_generic(net, nfsd_net_id); + trace_nfsd4_bind_conn_to_session(rqstp); + if (!nfsd4_last_compound_op(rqstp)) return nfserr_not_only_op; spin_lock(&nn->client_lock); @@ -3686,6 +3694,8 @@ nfsd4_destroy_session(struct svc_rqst *r, struct nfsd4_compound_state *cstate, struct net *net = SVC_NET(r); struct nfsd_net *nn = net_generic(net, nfsd_net_id); + trace_nfsd4_destroy_session(r); + status = nfserr_not_only_op; if (nfsd4_compound_in_session(cstate, sessionid)) { if (!nfsd4_last_compound_op(r)) @@ -3809,6 +3819,8 @@ nfsd4_sequence(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct net *net = SVC_NET(rqstp); struct nfsd_net *nn = net_generic(net, nfsd_net_id); + trace_nfsd4_sequence(rqstp); + if (resp->opcnt != 1) return nfserr_sequence_pos; @@ -3944,6 +3956,8 @@ nfsd4_destroy_clientid(struct svc_rqst *rqstp, __be32 status = 0; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_destroy_clientid(rqstp); + spin_lock(&nn->client_lock); unconf = find_unconfirmed_client(&dc->clientid, true, nn); conf = find_confirmed_client(&dc->clientid, true, nn); @@ -3986,6 +4000,8 @@ nfsd4_reclaim_complete(struct svc_rqst *rqstp, struct nfs4_client *clp = cstate->clp; __be32 status = 0; + trace_nfsd4_reclaim_complete(rqstp); + if (rc->rca_one_fs) { if (!cstate->current_fh.fh_dentry) return nfserr_nofilehandle; @@ -4031,6 +4047,8 @@ nfsd4_setclientid(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, __be32 status; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_setclientid(rqstp); + new = create_client(clname, rqstp, &clverifier); if (new == NULL) return nfserr_jukebox; @@ -4090,6 +4108,8 @@ nfsd4_setclientid_confirm(struct svc_rqst *rqstp, __be32 status; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_setclientid_confirm(rqstp); + if (STALE_CLIENTID(clid, nn)) return nfserr_stale_clientid; @@ -5449,6 +5469,8 @@ nfsd4_renew(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, __be32 status; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_renew(rqstp); + trace_nfsd_clid_renew(clid); status = set_client(clid, cstate, nn); if (status) @@ -6120,6 +6142,8 @@ nfsd4_test_stateid(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfsd4_test_stateid_id *stateid; struct nfs4_client *cl = cstate->clp; + trace_nfsd4_test_stateid(rqstp); + list_for_each_entry(stateid, &test_stateid->ts_stateid_list, ts_id_list) stateid->ts_id_status = nfsd4_validate_stateid(cl, &stateid->ts_id_stateid); @@ -6167,6 +6191,8 @@ nfsd4_free_stateid(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfs4_client *cl = cstate->clp; __be32 ret = nfserr_bad_stateid; + trace_nfsd4_free_stateid(rqstp); + spin_lock(&cl->cl_lock); s = find_stateid_locked(cl, stateid); if (!s) @@ -6293,6 +6319,8 @@ nfsd4_open_confirm(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct nfs4_ol_stateid *stp; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_open_confirm(rqstp); + dprintk("NFSD: nfsd4_open_confirm on file %pd\n", cstate->current_fh.fh_dentry); @@ -6359,6 +6387,8 @@ nfsd4_open_downgrade(struct svc_rqst *rqstp, struct nfs4_ol_stateid *stp; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_open_downgrade(rqstp); + dprintk("NFSD: nfsd4_open_downgrade on file %pd\n", cstate->current_fh.fh_dentry); @@ -6429,6 +6459,8 @@ nfsd4_close(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct net *net = SVC_NET(rqstp); struct nfsd_net *nn = net_generic(net, nfsd_net_id); + trace_nfsd4_close(rqstp); + dprintk("NFSD: nfsd4_close on file %pd\n", cstate->current_fh.fh_dentry); @@ -6479,6 +6511,8 @@ nfsd4_delegreturn(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, __be32 status; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_delegreturn(rqstp); + if ((status = fh_verify(rqstp, &cstate->current_fh, S_IFREG, 0))) return status; @@ -6869,6 +6903,8 @@ nfsd4_lock(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, struct net *net = SVC_NET(rqstp); struct nfsd_net *nn = net_generic(net, nfsd_net_id); + trace_nfsd4_lock(rqstp); + dprintk("NFSD: nfsd4_lock: start=%Ld length=%Ld\n", (long long) lock->lk_offset, (long long) lock->lk_length); @@ -7118,6 +7154,8 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, __be32 status; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_lockt(rqstp); + if (locks_in_grace(SVC_NET(rqstp))) return nfserr_grace; @@ -7194,6 +7232,8 @@ nfsd4_locku(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, int err; struct nfsd_net *nn = net_generic(SVC_NET(rqstp), nfsd_net_id); + trace_nfsd4_locku(rqstp); + dprintk("NFSD: nfsd4_locku: start=%Ld length=%Ld\n", (long long) locku->lu_offset, (long long) locku->lu_length); @@ -7306,6 +7346,8 @@ nfsd4_release_lockowner(struct svc_rqst *rqstp, struct nfs4_client *clp; LIST_HEAD (reaplist); + trace_nfsd4_release_lockowner(rqstp); + dprintk("nfsd4_release_lockowner clientid: (%08x/%08x):\n", clid->cl_boot, clid->cl_id); diff --git a/fs/nfsd/trace.h b/fs/nfsd/trace.h index 5889db66409df..5b276665a0dd8 100644 --- a/fs/nfsd/trace.h +++ b/fs/nfsd/trace.h @@ -12,6 +12,7 @@ #include "export.h" #include "nfsfh.h" +#include "xdr4.h" #define NFSD_TRACE_PROC_ARG_FIELDS \ __field(unsigned int, netns_ino) \ @@ -1133,6 +1134,174 @@ TRACE_EVENT(nfsd_cb_offload, __entry->fh_hash, __entry->count, __entry->status) ); +TRACE_EVENT(nfsd4_read, + TP_PROTO( + struct svc_rqst *rqstp, + struct nfsd4_compound_state *cstate, + struct nfsd4_read *read + ), + TP_ARGS(rqstp,cstate,read), + TP_STRUCT__entry( + __field ( uint32_t , ipv4addr ) + __field ( uid_t , uid ) + __field ( dev_t , dev ) + __field ( unsigned long , ino ) + __field ( u64 , offset ) + __field ( u32 , length ) + __dynamic_array ( char , name , strlen(cstate->current_fh.fh_dentry->d_name.name)+1 ) + ), + TP_fast_assign( + struct dentry *dentry = cstate->current_fh.fh_dentry; + __entry->ipv4addr = rqstp->rq_addr.ss_family == AF_INET ? ((struct sockaddr_in *)&rqstp->rq_addr)->sin_addr.s_addr : 0; + __entry->uid=rqstp->rq_cred.cr_uid.val; + if (dentry->d_inode) { + __entry->ino = dentry->d_inode->i_ino; + __entry->dev = dentry->d_inode->i_sb->s_dev; + } else { + __entry->ino=0; + __entry->dev=0; + } + strcpy(__get_str(name),dentry->d_name.name); + __entry->offset=read->rd_offset; + __entry->length=read->rd_length; + ), + TP_printk("ip=0x%08x uid=%u dev=%u inode=%lu offset=%llu length=%u name=\"%s\"", + __entry->ipv4addr,__entry->uid, + __entry->dev,__entry->ino, + __entry->offset,__entry->length, + __get_str(name) + ) +) + +TRACE_EVENT(nfsd4_write, + TP_PROTO( + struct svc_rqst *rqstp, + struct nfsd4_compound_state *cstate, + struct nfsd4_write *write + ), + TP_ARGS(rqstp,cstate,write), + TP_STRUCT__entry( + __field ( uint32_t , ipv4addr ) + __field ( uid_t , uid ) + __field ( dev_t , dev ) + __field ( unsigned long , ino ) + __field ( u64 , offset ) + __field ( u32 , length ) + __dynamic_array ( char , name , strlen(cstate->current_fh.fh_dentry->d_name.name)+1 ) + ), + TP_fast_assign( + struct dentry *dentry = cstate->current_fh.fh_dentry; + __entry->ipv4addr = rqstp->rq_addr.ss_family == AF_INET ? ((struct sockaddr_in *)&rqstp->rq_addr)->sin_addr.s_addr : 0; + __entry->uid=rqstp->rq_cred.cr_uid.val; + if (dentry->d_inode) { + __entry->ino = dentry->d_inode->i_ino; + __entry->dev = dentry->d_inode->i_sb->s_dev; + } else { + __entry->ino=0; + __entry->dev=0; + } + strcpy(__get_str(name),dentry->d_name.name); + __entry->offset=write->wr_offset; + __entry->length=write->wr_buflen; + ), + TP_printk("ip=0x%08x uid=%u dev=%u inode=%lu offset=%llu length=%u name=\"%s\"", + __entry->ipv4addr,__entry->uid, + __entry->dev,__entry->ino, + __entry->offset,__entry->length, + __get_str(name) + ) +) + +DECLARE_EVENT_CLASS(nfsd4_op_class, + TP_PROTO(struct svc_rqst *rqstp), + TP_ARGS(rqstp), + TP_STRUCT__entry( + __field( uint32_t, ipv4addr ) + __field( uid_t, uid ) + ), + TP_fast_assign( + __entry->ipv4addr = rqstp->rq_addr.ss_family == AF_INET ? ((struct sockaddr_in *)&rqstp->rq_addr)->sin_addr.s_addr : 0; + __entry->uid=rqstp->rq_cred.cr_uid.val; + ), + TP_printk("ip=0x%08x uid=%u", + __entry->ipv4addr,__entry->uid + ) +) + +/* operations defined in nfs4proc.c : nfsd4_operation nfsd4_ops[] */ + +DEFINE_EVENT(nfsd4_op_class,nfsd4_access,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_close,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_commit,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_create,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_delegreturn,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_getattr,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_getfh,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_link,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_lock,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_lockt,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_locku,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_lookup,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_lookupp,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_nverify,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_open,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_open_confirm,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_open_downgrade,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_putfh,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +/* PUTPUBFH omitted - currently uses nfsd4_putrootfh op funtion */ +DEFINE_EVENT(nfsd4_op_class,nfsd4_putrootfh,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +/* READ omitted - defined above */ +DEFINE_EVENT(nfsd4_op_class,nfsd4_readdir,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_readlink,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_remove,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_rename,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_renew,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_restorefh,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_savefh,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_secinfo,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_setattr,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_setclientid,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_setclientid_confirm,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_verify,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +/* WRITE omitted - defined above */ +DEFINE_EVENT(nfsd4_op_class,nfsd4_release_lockowner,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); + +/* NFSv4.1 operations */ + +DEFINE_EVENT(nfsd4_op_class,nfsd4_exchange_id,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_backchannel_ctl,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_bind_conn_to_session,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_create_session,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_destroy_session,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_sequence,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_destroy_clientid,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_reclaim_complete,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_secinfo_no_name,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_test_stateid,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_free_stateid,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +#ifdef CONFIG_NFSD_PNFS +DEFINE_EVENT(nfsd4_op_class,nfsd4_getdeviceinfo,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_layoutget,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_layoutcommit,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_layoutreturn,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +#endif /* CONFIG_NFSD_PNFS */ + +/* NFSv4.2 operations */ + +DEFINE_EVENT(nfsd4_op_class,nfsd4_allocate,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_deallocate,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_clone,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_copy,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +/* READ_PLUS omitted - currently uses nfsd4_read op funtion */ +DEFINE_EVENT(nfsd4_op_class,nfsd4_seek,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_offload_status,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_offload_cancel,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_copy_notify,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_getxattr,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_setxattr,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_listxattr,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); +DEFINE_EVENT(nfsd4_op_class,nfsd4_removexattr,TP_PROTO(struct svc_rqst *rqstp),TP_ARGS(rqstp)); + #endif /* _NFSD_TRACE_H */ #undef TRACE_INCLUDE_PATH From 10647e396cc6d150ad6c321864cb99f2af6adc99 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 24 Jan 2020 15:08:16 +0100 Subject: [PATCH 02/59] kernel/rcu: Print out more information when NMI stall cf: Re: `rcu: INFO: rcu_sched detected stalls on CPUs/tasks` on AMD EPYC server > Huh. Neither CPU 30 nor CPU 94 responded to the NMI. This usually means > that either NMIs aren't working or that the target CPUs are so deeply > in trouble that they cannot respond to NMIs. One historic reason that > the CPUs could be so deeply in trouble would be if the stack pointer > started referencing unmapped memory, but I have no idea whether that > applies to your particular CPUs. > > For whatever it is worth, the most extreme case of a CPU being in trouble > was once long ago when the CPU simply failstopped, so that it was no > longer executing instructions at all. > > On trick that might (or might not) get you more information is to force > RCU to dump the stack remotely instead of sending NMIs. Here is an > (untested) patch that should do the trick: Even on Ryzen: May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: rcu: INFO: rcu_sched detected stalls on CPUs/tasks: May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: rcu: 2-...0: (1 GPs behind) idle=c42/1/0x4000000000000000 softirq=404950836/404950839 fqs=14409 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: rcu: 3-...0: (1 GPs behind) idle=ce2/1/0x4000000000000000 softirq=407773923/407773926 fqs=14409 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: (detected by 5, t=60003 jiffies, g=239480749, q=1374055) May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: Sending NMI from CPU 5 to CPUs 2: May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: Sending NMI from CPU 5 to CPUs 3: May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: rcu: rcu_sched kthread starved for 20005 jiffies! g239480749 f0x0 RCU_GP_DOING_FQS(6) ->state=0x0 ->cp May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: rcu: RCU grace-period kthread stack dump: May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: rcu_sched I 0 11 2 0x80004000 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: Call Trace: May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: ? __schedule+0x223/0x6c0 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: ? __switch_to_asm+0x40/0x70 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: schedule+0x40/0xb0 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: schedule_timeout+0x171/0x300 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: ? __next_timer_interrupt+0xc0/0xc0 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: rcu_gp_kthread+0x6e4/0xf80 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: ? __schedule+0x22b/0x6c0 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: ? call_rcu+0x2f0/0x2f0 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: kthread+0x117/0x130 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: ? kthread_create_worker_on_cpu+0x70/0x70 May 11 20:20:27 hypnotoad.molgen.mpg.de kernel: ret_from_fork+0x22/0x40 Suggested-by: Paul E. McKenney --- kernel/rcu/tree_stall.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/rcu/tree_stall.h b/kernel/rcu/tree_stall.h index 21bebf7c9030b..aea6a1aacee4f 100644 --- a/kernel/rcu/tree_stall.h +++ b/kernel/rcu/tree_stall.h @@ -340,7 +340,7 @@ static void rcu_dump_cpu_stacks(void) if (rnp->qsmask & leaf_node_cpu_bit(rnp, cpu)) { if (cpu_is_offline(cpu)) pr_err("Offline CPU %d blocking current GP.\n", cpu); - else if (!trigger_single_cpu_backtrace(cpu)) + else dump_cpu_task(cpu); } raw_spin_unlock_irqrestore_rcu_node(rnp, flags); From 6793a66734e03c68715fb627db50da4cdcc36e79 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 9 Mar 2021 10:38:38 +0100 Subject: [PATCH 03/59] md: Avoid sync_action sync->idle transition deadlock When a mdraid recovery/check is paused by writing "idle" to sync_action, sometimes the system deadlocks [1]. The latest fix proposed by the maintainer is not valid [2]. Use the fix we proposed ourself [3] until upstream comes up with something better. [1]: https://lore.kernel.org/linux-raid/5ed54ffc-ce82-bf66-4eff-390cb23bc1ac@molgen.mpg.de/T/#m28b00fdf4749f55c83282b20485c554ec199a108 [2]: https://lore.kernel.org/linux-raid/7fdb9726-4b1f-e04c-2451-f47139ddc05b@cloud.ionos.com/T/#m78c755f6b43a9c06d2c85b9d4e49c19657ddb155 [3]: https://lore.kernel.org/linux-raid/5ed54ffc-ce82-bf66-4eff-390cb23bc1ac@molgen.mpg.de/T/#m8a1d4c25781b8c3032ef38e3ffec425714515a16 --- drivers/md/md.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/md/md.c b/drivers/md/md.c index 4d38bd7dadd60..16b5768ba3303 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -4840,12 +4840,14 @@ action_store(struct mddev *mddev, const char *page, size_t len) clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery); if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) && mddev_lock(mddev) == 0) { + set_bit(MD_ALLOW_SB_UPDATE, &mddev->flags); if (work_pending(&mddev->del_work)) flush_workqueue(md_misc_wq); if (mddev->sync_thread) { set_bit(MD_RECOVERY_INTR, &mddev->recovery); md_reap_sync_thread(mddev); } + clear_bit(MD_ALLOW_SB_UPDATE, &mddev->flags); mddev_unlock(mddev); } } else if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery)) From 82d1bbe15b77fe69b81169ad1c2b623c20e9df1f Mon Sep 17 00:00:00 2001 From: Thomas Kreitler Date: Tue, 16 Nov 2021 12:19:33 +0100 Subject: [PATCH 04/59] mount: Remove warning for impending timestamp expiry Take out this, this hmm, well say 'officious' warning about timestamp expiry in 2038. A nicer approach would be to make it configurable via kernel_config Basically this reverts http://lkml.iu.edu/hypermail/linux/kernel/1908.2/01441.html --- fs/namespace.c | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/fs/namespace.c b/fs/namespace.c index de6fae84f1a1a..1e68b7b735af3 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -2592,27 +2592,6 @@ static void set_mount_attributes(struct mount *mnt, unsigned int mnt_flags) touch_mnt_namespace(mnt->mnt_ns); } -static void mnt_warn_timestamp_expiry(struct path *mountpoint, struct vfsmount *mnt) -{ - struct super_block *sb = mnt->mnt_sb; - - if (!__mnt_is_readonly(mnt) && - (ktime_get_real_seconds() + TIME_UPTIME_SEC_MAX > sb->s_time_max)) { - char *buf = (char *)__get_free_page(GFP_KERNEL); - char *mntpath = buf ? d_path(mountpoint, buf, PAGE_SIZE) : ERR_PTR(-ENOMEM); - struct tm tm; - - time64_to_tm(sb->s_time_max, 0, &tm); - - pr_warn("%s filesystem being %s at %s supports timestamps until %04ld (0x%llx)\n", - sb->s_type->name, - is_mounted(mnt) ? "remounted" : "mounted", - mntpath, - tm.tm_year+1900, (unsigned long long)sb->s_time_max); - - free_page((unsigned long)buf); - } -} /* * Handle reconfiguration of the mountpoint only without alteration of the @@ -2646,8 +2625,6 @@ static int do_reconfigure_mnt(struct path *path, unsigned int mnt_flags) unlock_mount_hash(); up_read(&sb->s_umount); - mnt_warn_timestamp_expiry(path, &mnt->mnt); - return ret; } @@ -2693,8 +2670,6 @@ static int do_remount(struct path *path, int ms_flags, int sb_flags, up_write(&sb->s_umount); } - mnt_warn_timestamp_expiry(path, &mnt->mnt); - put_fs_context(fc); return err; } @@ -2962,8 +2937,6 @@ static int do_new_mount_fc(struct fs_context *fc, struct path *mountpoint, if (IS_ERR(mnt)) return PTR_ERR(mnt); - mnt_warn_timestamp_expiry(mountpoint, mnt); - mp = lock_mount(mountpoint); if (IS_ERR(mp)) { mntput(mnt); From f0350ea9c9f881d2c12efec2588ed59c3208aa05 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 17 Jan 2022 17:04:03 +0100 Subject: [PATCH 05/59] ext4: Reduce "mounted" log from INFO to DEBUG This is a MPI specific adjustment. We currently do a lot of ext4 mounts, because we mount inidivdual ext4 filesystems as a tmpdir for each job in the cluster. So we have a lot of these messages in the logs: [2748664.200013] EXT4-fs (loop0): mounted filesystem without journal. Opts: (null) [2748709.929436] EXT4-fs (loop1): mounted filesystem without journal. Opts: (null) [2748732.185899] EXT4-fs (loop0): mounted filesystem without journal. Opts: (null) Avoid log spam by reducing the log level of the message from INFO to DEBUG. --- fs/ext4/super.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/ext4/super.c b/fs/ext4/super.c index c5021ca0a28ad..ae0fd539779b8 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -5566,7 +5566,7 @@ static int ext4_fill_super(struct super_block *sb, struct fs_context *fc) descr = "out journal"; if (___ratelimit(&ext4_mount_msg_ratelimit, "EXT4-fs mount")) - ext4_msg(sb, KERN_INFO, "mounted filesystem with%s. " + ext4_msg(sb, KERN_DEBUG, "mounted filesystem with%s. " "Quota mode: %s.", descr, ext4_quota_mode(sb)); return 0; From 815fb34f0ed98f48fcfb02d6d552ea4ce4a07e49 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 25 Feb 2022 14:21:34 +0100 Subject: [PATCH 06/59] config-mpi: Add --- config-mpi | 848 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 848 insertions(+) create mode 100644 config-mpi diff --git a/config-mpi b/config-mpi new file mode 100644 index 0000000000000..49adf0b8d522e --- /dev/null +++ b/config-mpi @@ -0,0 +1,848 @@ +CONFIG_LOCALVERSION=".mx64.428" +CONFIG_KERNEL_LZ4=y +CONFIG_SYSVIPC=y +CONFIG_POSIX_MQUEUE=y +CONFIG_AUDIT=y +CONFIG_NO_HZ_IDLE=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_BPF_SYSCALL=y +# CONFIG_BPF_UNPRIV_DEFAULT_OFF is not set +CONFIG_PREEMPT_VOLUNTARY=y +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_PSI=y +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_IKHEADERS=m +CONFIG_LOG_BUF_SHIFT=19 +CONFIG_NUMA_BALANCING=y +# CONFIG_NUMA_BALANCING_DEFAULT_ENABLED is not set +CONFIG_CGROUPS=y +CONFIG_MEMCG=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +CONFIG_RT_GROUP_SCHED=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CPUSETS=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_BPF=y +CONFIG_CGROUP_DEBUG=y +CONFIG_USER_NS=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_SLAB=y +CONFIG_SMP=y +CONFIG_X86_X2APIC=y +CONFIG_GART_IOMMU=y +CONFIG_NR_CPUS=256 +CONFIG_X86_MCELOG_LEGACY=y +CONFIG_MICROCODE_AMD=y +CONFIG_X86_MSR=m +CONFIG_X86_CPUID=m +CONFIG_NUMA=y +CONFIG_EFI=y +CONFIG_HZ_1000=y +CONFIG_KEXEC=y +CONFIG_KEXEC_FILE=y +CONFIG_CRASH_DUMP=y +# CONFIG_RANDOMIZE_BASE is not set +CONFIG_PHYSICAL_ALIGN=0x1000000 +CONFIG_COMPAT_VDSO=y +# CONFIG_ACPI_AC is not set +# CONFIG_ACPI_BATTERY is not set +CONFIG_ACPI_DOCK=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_X86_ACPI_CPUFREQ=m +# CONFIG_X86_ACPI_CPUFREQ_CPB is not set +CONFIG_IA32_EMULATION=y +CONFIG_KVM=m +CONFIG_KVM_INTEL=m +CONFIG_KVM_AMD=m +CONFIG_KPROBES=y +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_THROTTLING=y +CONFIG_BLK_CGROUP_IOCOST=y +CONFIG_PARTITION_ADVANCED=y +CONFIG_MAC_PARTITION=y +CONFIG_BSD_DISKLABEL=y +CONFIG_LDM_PARTITION=y +CONFIG_IOSCHED_BFQ=y +CONFIG_BFQ_GROUP_IOSCHED=y +# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set +CONFIG_BINFMT_MISC=y +CONFIG_MEMORY_HOTPLUG=y +CONFIG_MEMORY_HOTREMOVE=y +CONFIG_TRANSPARENT_HUGEPAGE=y +CONFIG_ZSWAP=y +CONFIG_ZONE_DEVICE=y +CONFIG_NET=y +CONFIG_PACKET=m +CONFIG_PACKET_DIAG=m +CONFIG_UNIX=m +CONFIG_UNIX_DIAG=m +CONFIG_XFRM_USER=m +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_NET_IPVTI=m +CONFIG_NET_FOU_IP_TUNNELS=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_DIAG=m +CONFIG_INET_UDP_DIAG=m +CONFIG_INET_RAW_DIAG=m +CONFIG_INET_DIAG_DESTROY=y +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_HSTCP=m +CONFIG_TCP_CONG_HYBLA=m +CONFIG_TCP_CONG_SCALABLE=m +CONFIG_TCP_CONG_LP=m +CONFIG_TCP_CONG_VENO=m +CONFIG_TCP_CONG_YEAH=m +CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_DCTCP=m +CONFIG_TCP_CONG_CDG=m +CONFIG_TCP_MD5SIG=y +CONFIG_IPV6=m +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +CONFIG_IPV6_OPTIMISTIC_DAD=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +CONFIG_IPV6_ILA=m +CONFIG_IPV6_VTI=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_GRE=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_PIMSM_V2=y +CONFIG_NETFILTER=y +CONFIG_NF_CONNTRACK=m +CONFIG_NF_CONNTRACK_ZONES=y +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_CT_NETLINK_HELPER=m +CONFIG_NETFILTER_NETLINK_GLUE_CT=y +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=y +CONFIG_NF_TABLES_NETDEV=y +CONFIG_NFT_NUMGEN=m +CONFIG_NFT_CT=m +CONFIG_NFT_FLOW_OFFLOAD=m +CONFIG_NFT_CONNLIMIT=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m +CONFIG_NFT_REDIR=m +CONFIG_NFT_NAT=m +CONFIG_NFT_TUNNEL=m +CONFIG_NFT_OBJREF=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_QUOTA=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_COMPAT=m +CONFIG_NFT_HASH=m +CONFIG_NFT_FIB_INET=m +CONFIG_NFT_SOCKET=m +CONFIG_NFT_OSF=m +CONFIG_NFT_TPROXY=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FWD_NETDEV=m +CONFIG_NFT_FIB_NETDEV=m +CONFIG_NF_FLOW_TABLE_INET=m +CONFIG_NF_FLOW_TABLE=m +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_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HMARK=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m +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_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +CONFIG_NETFILTER_XT_TARGET_TRACE=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=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_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_IPCOMP=m +CONFIG_NETFILTER_XT_MATCH_IPRANGE=m +CONFIG_NETFILTER_XT_MATCH_IPVS=m +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=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=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_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=m +CONFIG_NETFILTER_XT_MATCH_U32=m +CONFIG_IP_SET=m +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_MAC=m +CONFIG_IP_SET_HASH_NETPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_VS=m +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_NFCT=y +CONFIG_NFT_DUP_IPV4=m +CONFIG_NFT_FIB_IPV4=m +CONFIG_NF_TABLES_ARP=y +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_IPV4=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m +CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_FIB_IPV6=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_IP_DCCP=m +CONFIG_RDS=m +CONFIG_RDS_TCP=m +CONFIG_TIPC=m +CONFIG_L2TP=m +CONFIG_L2TP_V3=y +CONFIG_L2TP_IP=m +CONFIG_L2TP_ETH=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_CODEL=m +CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_FQ=m +CONFIG_NET_SCH_HHF=m +CONFIG_NET_SCH_PIE=m +CONFIG_NET_SCH_PLUG=m +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +CONFIG_CLS_U32_PERF=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_BPF=m +CONFIG_NET_CLS_FLOWER=m +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_ACT_VLAN=m +CONFIG_NET_ACT_BPF=m +CONFIG_NET_ACT_CONNMARK=m +CONFIG_DNS_RESOLVER=y +CONFIG_VSOCKETS=m +CONFIG_VIRTIO_VSOCKETS=m +CONFIG_NETLINK_DIAG=m +CONFIG_CGROUP_NET_PRIO=y +CONFIG_BT=m +CONFIG_BT_HCIBTUSB=m +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_BCSP=y +CONFIG_BT_HCIUART_ATH3K=y +CONFIG_BT_HCIUART_INTEL=y +CONFIG_BT_HCIUART_QCA=y +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +CONFIG_BT_HCIVHCI=m +CONFIG_BT_MRVL=m +CONFIG_BT_ATH3K=m +# CONFIG_WIRELESS is not set +CONFIG_PCI=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCI_IOV=y +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +CONFIG_FW_LOADER_USER_HELPER=y +CONFIG_CONNECTOR=y +CONFIG_GOOGLE_FIRMWARE=y +CONFIG_GOOGLE_COREBOOT_TABLE=m +CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m +CONFIG_EFI_VARS=y +CONFIG_PARPORT=y +CONFIG_PARPORT_PC=y +CONFIG_BLK_DEV_FD=m +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_DRBD=y +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_RAM=y +CONFIG_CDROM_PKTCDVD=y +CONFIG_VIRTIO_BLK=y +CONFIG_BLK_DEV_NVME=y +CONFIG_ENCLOSURE_SERVICES=y +CONFIG_BLK_DEV_SD=y +CONFIG_BLK_DEV_SR=y +CONFIG_CHR_DEV_SG=y +CONFIG_SCSI_ENCLOSURE=y +CONFIG_SCSI_CONSTANTS=y +CONFIG_SCSI_LOGGING=y +CONFIG_SCSI_SCAN_ASYNC=y +CONFIG_SCSI_FC_ATTRS=y +CONFIG_SCSI_SAS_LIBSAS=y +CONFIG_SCSI_SAS_ATA=y +CONFIG_ISCSI_TCP=m +CONFIG_BLK_DEV_3W_XXXX_RAID=m +CONFIG_SCSI_HPSA=y +CONFIG_SCSI_3W_9XXX=m +CONFIG_SCSI_3W_SAS=m +CONFIG_SCSI_AACRAID=m +CONFIG_SCSI_AIC7XXX=y +CONFIG_AIC7XXX_RESET_DELAY_MS=15000 +# CONFIG_AIC7XXX_DEBUG_ENABLE is not set +CONFIG_SCSI_AIC79XX=y +CONFIG_AIC79XX_RESET_DELAY_MS=15000 +# CONFIG_AIC79XX_DEBUG_ENABLE is not set +CONFIG_SCSI_AIC94XX=m +# CONFIG_AIC94XX_DEBUG is not set +CONFIG_SCSI_MVSAS=m +CONFIG_SCSI_DPT_I2O=m +CONFIG_SCSI_ARCMSR=m +CONFIG_MEGARAID_NEWGEN=y +CONFIG_MEGARAID_MM=y +CONFIG_MEGARAID_MAILBOX=y +CONFIG_MEGARAID_LEGACY=y +CONFIG_MEGARAID_SAS=y +CONFIG_SCSI_MPT2SAS=y +CONFIG_SCSI_SMARTPQI=m +CONFIG_SCSI_BUSLOGIC=y +CONFIG_SCSI_QLOGIC_1280=y +CONFIG_SCSI_DH=y +CONFIG_ATA=y +CONFIG_SATA_AHCI=y +CONFIG_SATA_SIL24=y +CONFIG_ATA_PIIX=y +CONFIG_SATA_NV=y +CONFIG_SATA_PROMISE=y +CONFIG_SATA_SIL=y +CONFIG_SATA_SIS=y +CONFIG_SATA_SVW=y +CONFIG_SATA_VIA=y +CONFIG_PATA_ATIIXP=y +CONFIG_PATA_JMICRON=y +CONFIG_PATA_MPIIX=y +CONFIG_MD=y +CONFIG_BLK_DEV_MD=y +CONFIG_MD_LINEAR=y +CONFIG_MD_RAID0=y +CONFIG_MD_RAID1=y +CONFIG_MD_RAID456=y +CONFIG_MD_MULTIPATH=y +CONFIG_BLK_DEV_DM=m +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_THIN_PROVISIONING=m +CONFIG_DM_MIRROR=m +CONFIG_DM_LOG_USERSPACE=m +CONFIG_DM_RAID=m +CONFIG_DM_ZERO=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_UEVENT=y +CONFIG_TARGET_CORE=m +CONFIG_ISCSI_TARGET=m +CONFIG_FUSION=y +CONFIG_FUSION_SPI=y +CONFIG_FUSION_FC=y +CONFIG_FUSION_SAS=y +CONFIG_FUSION_CTL=y +CONFIG_NETDEVICES=y +CONFIG_BONDING=m +CONFIG_DUMMY=y +CONFIG_WIREGUARD=m +CONFIG_MACVLAN=y +CONFIG_MACVTAP=y +CONFIG_IPVLAN=m +CONFIG_IPVTAP=m +CONFIG_VXLAN=m +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +CONFIG_TUN=y +CONFIG_VETH=y +CONFIG_VIRTIO_NET=m +CONFIG_NLMON=m +CONFIG_VORTEX=y +CONFIG_TYPHOON=y +CONFIG_ACENIC=y +CONFIG_ATL1=y +CONFIG_BNX2=y +CONFIG_TIGON3=y +CONFIG_BNX2X=y +CONFIG_BNXT=m +CONFIG_CAVIUM_PTP=y +CONFIG_CHELSIO_T1=y +CONFIG_CHELSIO_T3=y +CONFIG_NET_TULIP=y +CONFIG_DE2104X=y +CONFIG_TULIP=y +CONFIG_TULIP_MMIO=y +CONFIG_TULIP_NAPI=y +CONFIG_TULIP_NAPI_HW_MITIGATION=y +CONFIG_DE4X5=y +CONFIG_DL2K=y +CONFIG_E100=y +CONFIG_E1000=y +CONFIG_E1000E=y +CONFIG_IGB=y +CONFIG_IGBVF=y +CONFIG_IXGB=m +CONFIG_IXGBE=m +CONFIG_I40E=m +CONFIG_SKGE=y +CONFIG_SKY2=y +CONFIG_S2IO=y +CONFIG_FORCEDETH=y +CONFIG_NETXEN_NIC=m +CONFIG_8139CP=y +CONFIG_8139TOO=y +CONFIG_R8169=y +CONFIG_SIS900=y +CONFIG_SIS190=y +CONFIG_VIA_RHINE=y +CONFIG_VIA_VELOCITY=y +CONFIG_USB_RTL8150=m +CONFIG_USB_RTL8152=m +CONFIG_USB_LAN78XX=m +CONFIG_USB_USBNET=m +CONFIG_USB_NET_DM9601=m +# CONFIG_WLAN is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_SERIO_SERPORT is not set +# CONFIG_LEGACY_PTYS is not set +CONFIG_SERIAL_8250=y +# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_DEV_BUS=m +CONFIG_PRINTER=y +CONFIG_VIRTIO_CONSOLE=m +CONFIG_IPMI_HANDLER=y +CONFIG_IPMI_DEVICE_INTERFACE=m +CONFIG_IPMI_SI=m +CONFIG_IPMI_WATCHDOG=m +CONFIG_IPMI_POWEROFF=m +CONFIG_HPET=y +CONFIG_I2C_CHARDEV=m +CONFIG_I2C_AMD756=m +CONFIG_I2C_AMD756_S4882=m +CONFIG_I2C_AMD8111=m +CONFIG_I2C_I801=y +CONFIG_I2C_ISCH=m +CONFIG_I2C_PIIX4=m +CONFIG_I2C_NFORCE2=m +CONFIG_I2C_NFORCE2_S4985=m +CONFIG_I2C_SIS5595=m +CONFIG_I2C_SIS630=m +CONFIG_I2C_SIS96X=m +CONFIG_I2C_VIA=m +CONFIG_I2C_VIAPRO=m +CONFIG_GPIOLIB=y +CONFIG_SENSORS_K8TEMP=m +CONFIG_SENSORS_K10TEMP=m +CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +CONFIG_I6300ESB_WDT=m +CONFIG_ITCO_WDT=m +CONFIG_ITCO_VENDOR_SUPPORT=y +CONFIG_HP_WATCHDOG=m +CONFIG_NV_TCO=m +CONFIG_LPC_ICH=y +CONFIG_MEDIA_SUPPORT=y +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_USB_SUPPORT=y +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_PWC=m +CONFIG_VIDEO_CPIA2=m +CONFIG_USB_ZR364XX=m +CONFIG_USB_STKWEBCAM=m +CONFIG_USB_S2255=m +CONFIG_VIDEO_USBTV=m +CONFIG_VIDEO_EM28XX=m +CONFIG_VIDEO_EM28XX_V4L2=m +CONFIG_VIDEO_EM28XX_ALSA=m +CONFIG_AGP=y +CONFIG_AGP_AMD64=y +CONFIG_AGP_INTEL=m +CONFIG_AGP_SIS=m +CONFIG_AGP_VIA=m +CONFIG_DRM=m +CONFIG_DRM_AMDGPU=m +CONFIG_DRM_AMDGPU_SI=y +CONFIG_DRM_AMDGPU_CIK=y +CONFIG_HSA_AMD=y +CONFIG_DRM_NOUVEAU=m +CONFIG_DRM_I915=m +CONFIG_DRM_VGEM=m +CONFIG_DRM_UDL=m +CONFIG_DRM_MGAG200=m +CONFIG_DRM_BOCHS=m +CONFIG_DRM_CIRRUS_QEMU=m +CONFIG_FB=y +CONFIG_FB_CIRRUS=m +CONFIG_FB_PM2=m +CONFIG_FB_CYBER2000=m +CONFIG_FB_ARC=m +CONFIG_FB_VGA16=m +CONFIG_FB_EFI=y +CONFIG_FB_NVIDIA=m +CONFIG_FB_NVIDIA_I2C=y +CONFIG_FB_NVIDIA_DEBUG=y +CONFIG_FB_I740=m +CONFIG_FB_LE80578=m +CONFIG_FB_CARILLO_RANCH=m +CONFIG_FB_MATROX=m +CONFIG_FB_MATROX_MILLENIUM=y +CONFIG_FB_MATROX_MYSTIQUE=y +CONFIG_FB_MATROX_G=y +CONFIG_FB_MATROX_I2C=m +CONFIG_FB_RADEON=m +CONFIG_FB_RADEON_DEBUG=y +CONFIG_FB_SMSCUFX=m +CONFIG_FB_UDL=m +CONFIG_FB_IBM_GXT4500=m +CONFIG_FB_SIMPLE=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_APPLE=m +CONFIG_BACKLIGHT_SAHARA=m +CONFIG_BACKLIGHT_ADP8860=m +CONFIG_BACKLIGHT_ADP8870=m +CONFIG_BACKLIGHT_LM3639=m +CONFIG_BACKLIGHT_LV5207LP=m +CONFIG_BACKLIGHT_BD6107=m +CONFIG_BACKLIGHT_ARCXCNN=m +CONFIG_SOUND=m +CONFIG_SND=m +CONFIG_SND_CTXFI=m +CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1X=m +CONFIG_SND_ENS1370=m +CONFIG_SND_ENS1371=m +CONFIG_SND_ES1938=m +CONFIG_SND_ES1968=m +CONFIG_SND_INTEL8X0=m +CONFIG_SND_SONICVIBES=m +CONFIG_SND_VIA82XX=m +CONFIG_SND_VIA82XX_MODEM=m +CONFIG_SND_YMFPCI=m +CONFIG_SND_HDA_INTEL=m +CONFIG_SND_HDA_CODEC_REALTEK=m +CONFIG_SND_HDA_CODEC_ANALOG=m +CONFIG_SND_HDA_CODEC_SIGMATEL=m +CONFIG_SND_HDA_CODEC_VIA=m +CONFIG_SND_HDA_CODEC_HDMI=m +CONFIG_SND_HDA_CODEC_CIRRUS=m +CONFIG_SND_HDA_CODEC_CONEXANT=m +CONFIG_SND_HDA_CODEC_CA0110=m +CONFIG_SND_HDA_CODEC_CA0132=m +CONFIG_SND_HDA_CODEC_CMEDIA=m +CONFIG_SND_HDA_CODEC_SI3054=m +CONFIG_SND_USB_AUDIO=m +CONFIG_HIDRAW=y +CONFIG_HID_DRAGONRISE=y +CONFIG_HID_KYE=y +CONFIG_HID_GYRATION=y +CONFIG_HID_TWINHAN=y +CONFIG_HID_LED=m +CONFIG_HID_LOGITECH_DJ=m +CONFIG_HID_NTRIG=y +CONFIG_HID_ORTEK=y +CONFIG_HID_PANTHERLORD=y +CONFIG_HID_PETALYNX=y +CONFIG_HID_SAMSUNG=y +CONFIG_HID_SUNPLUS=y +CONFIG_HID_GREENASIA=y +CONFIG_HID_SMARTJOYPLUS=y +CONFIG_HID_TOPSEED=y +CONFIG_HID_THRUSTMASTER=y +CONFIG_HID_ZEROPLUS=y +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_TT_NEWSCHED is not set +CONFIG_USB_OHCI_HCD=y +CONFIG_USB_UHCI_HCD=y +CONFIG_USB_SL811_HCD=y +CONFIG_USB_STORAGE=y +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_CHAOSKEY=m +CONFIG_RTC_CLASS=y +# CONFIG_RTC_INTF_PROC is not set +CONFIG_VIRTIO_PCI=y +CONFIG_VIRTIO_BALLOON=m +CONFIG_VIRTIO_INPUT=m +CONFIG_AMD_IOMMU=y +CONFIG_INTEL_IOMMU=y +# CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set +CONFIG_IRQ_REMAP=y +CONFIG_LIBNVDIMM=m +CONFIG_EXT2_FS=y +CONFIG_EXT3_FS=m +CONFIG_EXT3_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +CONFIG_REISERFS_FS=y +CONFIG_REISERFS_PROC_INFO=y +CONFIG_REISERFS_FS_XATTR=y +CONFIG_REISERFS_FS_POSIX_ACL=y +CONFIG_XFS_FS=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +CONFIG_FS_DAX=y +CONFIG_FANOTIFY=y +CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_QFMT_V2=m +CONFIG_AUTOFS4_FS=m +CONFIG_FUSE_FS=m +CONFIG_VIRTIO_FS=m +CONFIG_OVERLAY_FS=m +CONFIG_FSCACHE=y +CONFIG_FSCACHE_STATS=y +CONFIG_FSCACHE_DEBUG=y +CONFIG_CACHEFILES=y +CONFIG_CACHEFILES_DEBUG=y +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_NTFS_FS=m +CONFIG_PROC_KCORE=y +CONFIG_PROC_CHILDREN=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_HUGETLBFS=y +CONFIG_ECRYPT_FS=m +CONFIG_ECRYPT_FS_MESSAGING=y +CONFIG_SQUASHFS=m +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y +CONFIG_SQUASHFS_EMBEDDED=y +CONFIG_PSTORE=m +CONFIG_NFS_FS=m +CONFIG_NFS_V3_ACL=y +CONFIG_NFS_V4=m +CONFIG_NFS_SWAP=y +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_NFS_FSCACHE=y +CONFIG_NFSD=m +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_SUNRPC_DEBUG=y +CONFIG_CEPH_FS=m +CONFIG_CEPH_FSCACHE=y +CONFIG_CEPH_FS_POSIX_ACL=y +CONFIG_CIFS=m +# CONFIG_CIFS_STATS2 is not set +CONFIG_CIFS_XATTR=y +CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_ISO8859_1=m +CONFIG_NLS_UTF8=m +CONFIG_DLM=m +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_LOCKDOWN_LSM=y +CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" +CONFIG_CRYPTO_CTS=m +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_PCBC=y +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_DES=y +CONFIG_CRC16=y +CONFIG_CRC_ITU_T=y +CONFIG_FONTS=y +CONFIG_FONT_8x8=y +CONFIG_FONT_7x14=y +CONFIG_FONT_PEARL_8x8=y +CONFIG_FONT_ACORN_8x8=y +CONFIG_FONT_MINI_4x6=y +CONFIG_FONT_10x18=y +CONFIG_FONT_SUN8x16=y +CONFIG_FONT_SUN12x22=y +CONFIG_FONT_TER16x32=y +CONFIG_PRINTK_TIME=y +CONFIG_DYNAMIC_DEBUG=y +CONFIG_DEBUG_INFO=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_KERNEL=y +CONFIG_FUNCTION_TRACER=y +CONFIG_FUNCTION_PROFILER=y +CONFIG_FTRACE_SYSCALLS=y +CONFIG_BLK_DEV_IO_TRACE=y +CONFIG_EARLY_PRINTK_DBGP=y +CONFIG_MEMTEST=y From 71c356501f0c941137f7706fd2c7eaabae6d54d0 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 4 Apr 2022 13:47:47 +0200 Subject: [PATCH 07/59] config-mpi: Update for new kernel version --- config-mpi | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/config-mpi b/config-mpi index 49adf0b8d522e..7ea1a41d3b7e9 100644 --- a/config-mpi +++ b/config-mpi @@ -607,13 +607,13 @@ CONFIG_LPC_ICH=y CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_USB_VIDEO_CLASS=m -CONFIG_USB_PWC=m CONFIG_VIDEO_CPIA2=m -CONFIG_USB_ZR364XX=m -CONFIG_USB_STKWEBCAM=m +CONFIG_USB_PWC=m CONFIG_USB_S2255=m +CONFIG_USB_STKWEBCAM=m CONFIG_VIDEO_USBTV=m +CONFIG_USB_VIDEO_CLASS=m +CONFIG_USB_ZR364XX=m CONFIG_VIDEO_EM28XX=m CONFIG_VIDEO_EM28XX_V4L2=m CONFIG_VIDEO_EM28XX_ALSA=m @@ -837,9 +837,8 @@ CONFIG_FONT_SUN12x22=y CONFIG_FONT_TER16x32=y CONFIG_PRINTK_TIME=y CONFIG_DYNAMIC_DEBUG=y -CONFIG_DEBUG_INFO=y -CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y +CONFIG_MAGIC_SYSRQ=y CONFIG_FUNCTION_TRACER=y CONFIG_FUNCTION_PROFILER=y CONFIG_FTRACE_SYSCALLS=y From 51f051d0cbbf0871489cc58a5bd3146a0e6e0df1 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 4 Apr 2022 16:00:23 +0200 Subject: [PATCH 08/59] fs: Restore mnt_warn_timestamp_expiry Include removed code from upstream in a disabled state to make it easier for us to follow upstream (e.g. when mnt_warn_timestamp_expiry evolves). --- fs/namespace.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/fs/namespace.c b/fs/namespace.c index e63928d57e6ee..b1f99a6db50e2 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -2606,6 +2606,30 @@ static void set_mount_attributes(struct mount *mnt, unsigned int mnt_flags) touch_mnt_namespace(mnt->mnt_ns); } +static void mnt_warn_timestamp_expiry(struct path *mountpoint, struct vfsmount *mnt) +{ + struct super_block *sb = mnt->mnt_sb; + + if (!__mnt_is_readonly(mnt) && + (!(sb->s_iflags & SB_I_TS_EXPIRY_WARNED)) && + (ktime_get_real_seconds() + TIME_UPTIME_SEC_MAX > sb->s_time_max)) { + char *buf = (char *)__get_free_page(GFP_KERNEL); + char *mntpath = buf ? d_path(mountpoint, buf, PAGE_SIZE) : ERR_PTR(-ENOMEM); + struct tm tm; + + time64_to_tm(sb->s_time_max, 0, &tm); + + pr_warn("%s filesystem being %s at %s supports timestamps until %04ld (0x%llx)\n", + sb->s_type->name, + is_mounted(mnt) ? "remounted" : "mounted", + mntpath, + tm.tm_year+1900, (unsigned long long)sb->s_time_max); + + free_page((unsigned long)buf); + sb->s_iflags |= SB_I_TS_EXPIRY_WARNED; + } +} + /* * Handle reconfiguration of the mountpoint only without alteration of the * superblock it refers to. This is triggered by specifying MS_REMOUNT|MS_BIND @@ -2638,6 +2662,8 @@ static int do_reconfigure_mnt(struct path *path, unsigned int mnt_flags) unlock_mount_hash(); up_read(&sb->s_umount); + if (0) mnt_warn_timestamp_expiry(path, &mnt->mnt); + return ret; } @@ -2683,6 +2709,8 @@ static int do_remount(struct path *path, int ms_flags, int sb_flags, up_write(&sb->s_umount); } + if (0) mnt_warn_timestamp_expiry(path, &mnt->mnt); + put_fs_context(fc); return err; } @@ -2950,6 +2978,8 @@ static int do_new_mount_fc(struct fs_context *fc, struct path *mountpoint, if (IS_ERR(mnt)) return PTR_ERR(mnt); + if (0) mnt_warn_timestamp_expiry(mountpoint, mnt); + mp = lock_mount(mountpoint); if (IS_ERR(mp)) { mntput(mnt); From 98d1584a16cbafa660347afb59202599a2810c96 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 26 Apr 2022 23:41:05 +0300 Subject: [PATCH 09/59] floppy: disable FDRAWCMD by default Minh Yuan reported a concurrency use-after-free issue in the floppy code between raw_cmd_ioctl and seek_interrupt. [ It turns out this has been around, and that others have reported the KASAN splats over the years, but Minh Yuan had a reproducer for it and so gets primary credit for reporting it for this fix - Linus ] The problem is, this driver tends to break very easily and nowadays, nobody is expected to use FDRAWCMD anyway since it was used to manipulate non-standard formats. The risk of breaking the driver is higher than the risk presented by this race, and accessing the device requires privileges anyway. Let's just add a config option to completely disable this ioctl and leave it disabled by default. Distros shouldn't use it, and only those running on antique hardware might need to enable it. Link: https://lore.kernel.org/all/000000000000b71cdd05d703f6bf@google.com/ Link: https://lore.kernel.org/lkml/CAKcFiNC=MfYVW-Jt9A3=FPJpTwCD2PL_ULNCpsCVE5s8ZeBQgQ@mail.gmail.com Link: https://lore.kernel.org/all/CAEAjamu1FRhz6StCe_55XY5s389ZP_xmCF69k987En+1z53=eg@mail.gmail.com Reported-by: Minh Yuan Reported-by: syzbot+8e8958586909d62b6840@syzkaller.appspotmail.com Reported-by: cruise k Reported-by: Kyungtae Kim Suggested-by: Linus Torvalds Tested-by: Denis Efremov Signed-off-by: Willy Tarreau Signed-off-by: Linus Torvalds --- drivers/block/Kconfig | 16 ++++++++++++++++ drivers/block/floppy.c | 43 +++++++++++++++++++++++++++++++----------- 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index 519b6d38d4df6..fdb81f2794cde 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -33,6 +33,22 @@ config BLK_DEV_FD To compile this driver as a module, choose M here: the module will be called floppy. +config BLK_DEV_FD_RAWCMD + bool "Support for raw floppy disk commands (DEPRECATED)" + depends on BLK_DEV_FD + help + If you want to use actual physical floppies and expect to do + special low-level hardware accesses to them (access and use + non-standard formats, for example), then enable this. + + Note that the code enabled by this option is rarely used and + might be unstable or insecure, and distros should not enable it. + + Note: FDRAWCMD is deprecated and will be removed from the kernel + in the near future. + + If unsure, say N. + config AMIGA_FLOPPY tristate "Amiga floppy support" depends on AMIGA diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index 8c647532e3ce9..d5b9ff9bcbb2b 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c @@ -2982,6 +2982,8 @@ static const char *drive_name(int type, int drive) return "(null)"; } +#ifdef CONFIG_BLK_DEV_FD_RAWCMD + /* raw commands */ static void raw_cmd_done(int flag) { @@ -3181,6 +3183,35 @@ static int raw_cmd_ioctl(int cmd, void __user *param) return ret; } +static int floppy_raw_cmd_ioctl(int type, int drive, int cmd, + void __user *param) +{ + int ret; + + pr_warn_once("Note: FDRAWCMD is deprecated and will be removed from the kernel in the near future.\n"); + + if (type) + return -EINVAL; + if (lock_fdc(drive)) + return -EINTR; + set_floppy(drive); + ret = raw_cmd_ioctl(cmd, param); + if (ret == -EINTR) + return -EINTR; + process_fd_request(); + return ret; +} + +#else /* CONFIG_BLK_DEV_FD_RAWCMD */ + +static int floppy_raw_cmd_ioctl(int type, int drive, int cmd, + void __user *param) +{ + return -EOPNOTSUPP; +} + +#endif + static int invalidate_drive(struct block_device *bdev) { /* invalidate the buffer track to force a reread */ @@ -3369,7 +3400,6 @@ static int fd_locked_ioctl(struct block_device *bdev, fmode_t mode, unsigned int { int drive = (long)bdev->bd_disk->private_data; int type = ITYPE(drive_state[drive].fd_device); - int i; int ret; int size; union inparam { @@ -3520,16 +3550,7 @@ static int fd_locked_ioctl(struct block_device *bdev, fmode_t mode, unsigned int outparam = &write_errors[drive]; break; case FDRAWCMD: - if (type) - return -EINVAL; - if (lock_fdc(drive)) - return -EINTR; - set_floppy(drive); - i = raw_cmd_ioctl(cmd, (void __user *)param); - if (i == -EINTR) - return -EINTR; - process_fd_request(); - return i; + return floppy_raw_cmd_ioctl(type, drive, cmd, (void __user *)param); case FDTWADDLE: if (lock_fdc(drive)) return -EINTR; From 7ca0047dc8b7d69dc62174086d7620a3f2d629eb Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 28 Apr 2022 12:58:23 +0200 Subject: [PATCH 10/59] ext4: Reduce logging 186527f84a0b ("ext4: Reduce "mounted" log from INFO to DEBUG") reduced the logging of "EXT4-fs (): mounted filesystem..."- messages by setting the level from KERN_INFO to KERN_DEBUG. This did not have the desired effect, because we usually log DEBUG messages to /var/log/messages as well. Also we still fill the ring buffer and lose other information in dmesg. Disable the logging completly. While we are at it, disable "EXT4-fs (): shut down requested (2)"- messages, too, as we _might_ use that ioctl in the future for our cluster jobs. --- fs/ext4/ioctl.c | 2 +- fs/ext4/super.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/ext4/ioctl.c b/fs/ext4/ioctl.c index ba44fa1be70ab..266a01f637d2d 100644 --- a/fs/ext4/ioctl.c +++ b/fs/ext4/ioctl.c @@ -812,7 +812,7 @@ static int ext4_shutdown(struct super_block *sb, unsigned long arg) if (ext4_forced_shutdown(sbi)) return 0; - ext4_msg(sb, KERN_ALERT, "shut down requested (%d)", flags); + while (0) ext4_msg(sb, KERN_ALERT, "shut down requested (%d)", flags); trace_ext4_shutdown(sb, flags); switch (flags) { diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 1c516efcbcffb..e6b3d81931486 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -5614,8 +5614,8 @@ static int ext4_fill_super(struct super_block *sb, struct fs_context *fc) } else descr = "out journal"; - if (___ratelimit(&ext4_mount_msg_ratelimit, "EXT4-fs mount")) - ext4_msg(sb, KERN_DEBUG, "mounted filesystem with%s. " + if (0 && ___ratelimit(&ext4_mount_msg_ratelimit, "EXT4-fs mount")) + ext4_msg(sb, KERN_INFO, "mounted filesystem with%s. " "Quota mode: %s.", descr, ext4_quota_mode(sb)); /* Update the s_overhead_clusters if necessary */ From ba53aa01225fc4f0105c1a212a3077509c8bb3bd Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 6 Jun 2022 04:00:26 +0200 Subject: [PATCH 11/59] config-mpi: Update for new kernel version --- config-mpi | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/config-mpi b/config-mpi index 7ea1a41d3b7e9..ee1b06837f7de 100644 --- a/config-mpi +++ b/config-mpi @@ -38,7 +38,6 @@ CONFIG_CGROUP_BPF=y CONFIG_CGROUP_DEBUG=y CONFIG_USER_NS=y CONFIG_BLK_DEV_INITRD=y -CONFIG_SLAB=y CONFIG_SMP=y CONFIG_X86_X2APIC=y CONFIG_GART_IOMMU=y @@ -82,10 +81,11 @@ CONFIG_IOSCHED_BFQ=y CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set CONFIG_BINFMT_MISC=y +CONFIG_ZSWAP=y +CONFIG_SLAB=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_TRANSPARENT_HUGEPAGE=y -CONFIG_ZSWAP=y CONFIG_ZONE_DEVICE=y CONFIG_NET=y CONFIG_PACKET=m @@ -535,7 +535,6 @@ CONFIG_TULIP=y CONFIG_TULIP_MMIO=y CONFIG_TULIP_NAPI=y CONFIG_TULIP_NAPI_HW_MITIGATION=y -CONFIG_DE4X5=y CONFIG_DL2K=y CONFIG_E100=y CONFIG_E1000=y From ed3c0502183e70e9582fe1c78402dd54e30a3811 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 19 Aug 2022 07:43:40 +0200 Subject: [PATCH 12/59] config-mpi: Update for new kernel version --- config-mpi | 3 --- 1 file changed, 3 deletions(-) diff --git a/config-mpi b/config-mpi index ee1b06837f7de..0f97ffe99bfe7 100644 --- a/config-mpi +++ b/config-mpi @@ -417,7 +417,6 @@ CONFIG_CONNECTOR=y CONFIG_GOOGLE_FIRMWARE=y CONFIG_GOOGLE_COREBOOT_TABLE=m CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m -CONFIG_EFI_VARS=y CONFIG_PARPORT=y CONFIG_PARPORT_PC=y CONFIG_BLK_DEV_FD=m @@ -454,7 +453,6 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000 CONFIG_SCSI_AIC94XX=m # CONFIG_AIC94XX_DEBUG is not set CONFIG_SCSI_MVSAS=m -CONFIG_SCSI_DPT_I2O=m CONFIG_SCSI_ARCMSR=m CONFIG_MEGARAID_NEWGEN=y CONFIG_MEGARAID_MM=y @@ -609,7 +607,6 @@ CONFIG_MEDIA_USB_SUPPORT=y CONFIG_VIDEO_CPIA2=m CONFIG_USB_PWC=m CONFIG_USB_S2255=m -CONFIG_USB_STKWEBCAM=m CONFIG_VIDEO_USBTV=m CONFIG_USB_VIDEO_CLASS=m CONFIG_USB_ZR364XX=m From 396fee55806d7563c12cbadfbb52d14c9f81a696 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 17 Oct 2022 09:24:51 +0200 Subject: [PATCH 13/59] config-mpi: Update for new kernel version --- config-mpi | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/config-mpi b/config-mpi index 0f97ffe99bfe7..0ae9780b91df2 100644 --- a/config-mpi +++ b/config-mpi @@ -604,12 +604,10 @@ CONFIG_LPC_ICH=y CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_USB_SUPPORT=y -CONFIG_VIDEO_CPIA2=m CONFIG_USB_PWC=m CONFIG_USB_S2255=m CONFIG_VIDEO_USBTV=m CONFIG_USB_VIDEO_CLASS=m -CONFIG_USB_ZR364XX=m CONFIG_VIDEO_EM28XX=m CONFIG_VIDEO_EM28XX_V4L2=m CONFIG_VIDEO_EM28XX_ALSA=m @@ -810,6 +808,8 @@ CONFIG_SECURITY=y CONFIG_SECURITYFS=y CONFIG_SECURITY_LOCKDOWN_LSM=y CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_CTS=m CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_PCBC=y @@ -817,8 +817,6 @@ CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_SHA256=y -CONFIG_CRYPTO_AES=y -CONFIG_CRYPTO_DES=y CONFIG_CRC16=y CONFIG_CRC_ITU_T=y CONFIG_FONTS=y From 1fecca0da0d7f3e83cbad9b21730871a9ca622f1 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 13 Mar 2022 10:09:16 +0100 Subject: [PATCH 14/59] config-mpi: Set Ethernet drivers to M Set all Ethernet drivers, which we currently have configured statically to M. This works around a bug in the current bnx2x driver which scans for firmware to early. Do it for all other drivers as well to avoid simmilar problems in the future and reduce kernel memory. We don't need thernet drivers before we have our root fs. --- config-mpi | 56 +++++++++++++++++++++++++++--------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/config-mpi b/config-mpi index 0ae9780b91df2..423db9a0d7f23 100644 --- a/config-mpi +++ b/config-mpi @@ -516,44 +516,44 @@ CONFIG_TUN=y CONFIG_VETH=y CONFIG_VIRTIO_NET=m CONFIG_NLMON=m -CONFIG_VORTEX=y -CONFIG_TYPHOON=y -CONFIG_ACENIC=y -CONFIG_ATL1=y -CONFIG_BNX2=y -CONFIG_TIGON3=y -CONFIG_BNX2X=y +CONFIG_VORTEX=m +CONFIG_TYPHOON=m +CONFIG_ACENIC=m +CONFIG_ATL1=m +CONFIG_BNX2=m +CONFIG_TIGON3=m +CONFIG_BNX2X=m CONFIG_BNXT=m -CONFIG_CAVIUM_PTP=y -CONFIG_CHELSIO_T1=y -CONFIG_CHELSIO_T3=y +CONFIG_CAVIUM_PTP=m +CONFIG_CHELSIO_T1=m +CONFIG_CHELSIO_T3=m CONFIG_NET_TULIP=y -CONFIG_DE2104X=y -CONFIG_TULIP=y +CONFIG_DE2104X=m +CONFIG_TULIP=m CONFIG_TULIP_MMIO=y CONFIG_TULIP_NAPI=y CONFIG_TULIP_NAPI_HW_MITIGATION=y -CONFIG_DL2K=y -CONFIG_E100=y -CONFIG_E1000=y -CONFIG_E1000E=y -CONFIG_IGB=y -CONFIG_IGBVF=y +CONFIG_DL2K=m +CONFIG_E100=m +CONFIG_E1000=m +CONFIG_E1000E=m +CONFIG_IGB=m +CONFIG_IGBVF=m CONFIG_IXGB=m CONFIG_IXGBE=m CONFIG_I40E=m -CONFIG_SKGE=y -CONFIG_SKY2=y -CONFIG_S2IO=y -CONFIG_FORCEDETH=y +CONFIG_SKGE=m +CONFIG_SKY2=m +CONFIG_S2IO=m +CONFIG_FORCEDETH=m CONFIG_NETXEN_NIC=m -CONFIG_8139CP=y -CONFIG_8139TOO=y -CONFIG_R8169=y -CONFIG_SIS900=y -CONFIG_SIS190=y +CONFIG_8139CP=m +CONFIG_8139TOO=m +CONFIG_R8169=m +CONFIG_SIS900=m +CONFIG_SIS190=m CONFIG_VIA_RHINE=y -CONFIG_VIA_VELOCITY=y +CONFIG_VIA_VELOCITY=m CONFIG_USB_RTL8150=m CONFIG_USB_RTL8152=m CONFIG_USB_LAN78XX=m From 3de4803ef5922fb0954f83b1fa8e0ae068539d75 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 13 Mar 2022 10:35:36 +0100 Subject: [PATCH 15/59] config-mpi: Disable SECURITY_LOCKDOWN_LSM --- config-mpi | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config-mpi b/config-mpi index 423db9a0d7f23..2ccda977210b3 100644 --- a/config-mpi +++ b/config-mpi @@ -70,6 +70,7 @@ CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_MODVERSIONS=y +CONFIG_MODULE_SIG=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_THROTTLING=y CONFIG_BLK_CGROUP_IOCOST=y @@ -806,8 +807,6 @@ CONFIG_NLS_UTF8=m CONFIG_DLM=m CONFIG_SECURITY=y CONFIG_SECURITYFS=y -CONFIG_SECURITY_LOCKDOWN_LSM=y -CONFIG_LSM="lockdown,yama,loadpin,safesetid,integrity,bpf" CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_CTS=m From d2415007d82e9410c3b37495c18246ad4af22dbb Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 13 Mar 2022 10:36:38 +0100 Subject: [PATCH 16/59] config-mpi. Disable CONFIG_MODULE_SIG --- config-mpi | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/config-mpi b/config-mpi index 2ccda977210b3..c4e16a9376095 100644 --- a/config-mpi +++ b/config-mpi @@ -70,7 +70,6 @@ CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_MODVERSIONS=y -CONFIG_MODULE_SIG=y CONFIG_BLK_DEV_INTEGRITY=y CONFIG_BLK_DEV_THROTTLING=y CONFIG_BLK_CGROUP_IOCOST=y @@ -807,6 +806,7 @@ CONFIG_NLS_UTF8=m CONFIG_DLM=m CONFIG_SECURITY=y CONFIG_SECURITYFS=y +CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_CTS=m @@ -815,7 +815,12 @@ CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=y +CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_X509_CERTIFICATE_PARSER=y +CONFIG_PKCS7_MESSAGE_PARSER=y CONFIG_CRC16=y CONFIG_CRC_ITU_T=y CONFIG_FONTS=y From 19e0fede9ed6fda6641e3d7ce26cdb9bbeb7b3a5 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 13 Mar 2022 10:48:15 +0100 Subject: [PATCH 17/59] config-mpi: Switch more settings to M After the last commit, a few settings are no longer required to be static, so set them to M. --- config-mpi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config-mpi b/config-mpi index c4e16a9376095..d6b3d3fce65d7 100644 --- a/config-mpi +++ b/config-mpi @@ -818,9 +818,9 @@ CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA256=y CONFIG_ASYMMETRIC_KEY_TYPE=y -CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y -CONFIG_X509_CERTIFICATE_PARSER=y -CONFIG_PKCS7_MESSAGE_PARSER=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m +CONFIG_X509_CERTIFICATE_PARSER=m +CONFIG_PKCS7_MESSAGE_PARSER=m CONFIG_CRC16=y CONFIG_CRC_ITU_T=y CONFIG_FONTS=y From 4855628501530891bf1329fa50a54a83a10b1036 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 13 Mar 2022 10:59:20 +0100 Subject: [PATCH 18/59] config-mpi: Disable SECURITY What a nice commit title :-) SECURITY is "Enable different security models". The only security model enable (by default) is "Integrity subsystem" - "Integrity auditing support" and I don't think we need that. --- config-mpi | 1 - 1 file changed, 1 deletion(-) diff --git a/config-mpi b/config-mpi index d6b3d3fce65d7..4eb37da100743 100644 --- a/config-mpi +++ b/config-mpi @@ -804,7 +804,6 @@ CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_ISO8859_1=m CONFIG_NLS_UTF8=m CONFIG_DLM=m -CONFIG_SECURITY=y CONFIG_SECURITYFS=y CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_AES=y From 8717aa8ac14ed0da293d1a22feefaeb9e21e86de Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 20 Sep 2022 14:57:42 +0200 Subject: [PATCH 19/59] config-mpi: Increase NR_CPUS from 256 to 512 Increase maximum number of CPUs, because we have reached the old limit already. --- config-mpi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-mpi b/config-mpi index 4eb37da100743..230a983dd53d2 100644 --- a/config-mpi +++ b/config-mpi @@ -41,7 +41,7 @@ CONFIG_BLK_DEV_INITRD=y CONFIG_SMP=y CONFIG_X86_X2APIC=y CONFIG_GART_IOMMU=y -CONFIG_NR_CPUS=256 +CONFIG_NR_CPUS=512 CONFIG_X86_MCELOG_LEGACY=y CONFIG_MICROCODE_AMD=y CONFIG_X86_MSR=m From 36ae2aac20cea384ac8557b4c2a394ff539d32f4 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 20 Sep 2022 17:36:39 +0200 Subject: [PATCH 20/59] genhd: Supress "detected capacity change" message If we use the loop device in the cluster we don't want one syslog message per job. --- block/genhd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/genhd.c b/block/genhd.c index 17b33c62423df..debbab33c2a5b 100644 --- a/block/genhd.c +++ b/block/genhd.c @@ -87,7 +87,7 @@ bool set_capacity_and_notify(struct gendisk *disk, sector_t size) (disk->flags & GENHD_FL_HIDDEN)) return false; - pr_info("%s: detected capacity change from %lld to %lld\n", + if (0) pr_info("%s: detected capacity change from %lld to %lld\n", disk->disk_name, capacity, size); /* From 2d84cb3c23e16c05cb3c83aa1319c424137817e8 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 28 Sep 2022 13:41:36 +0200 Subject: [PATCH 21/59] ext4: Suppress sporadic error messages Supress the sporadic "ext4_writepages: jbd2_start: XXX pages, ino YYY; err -5" warnings we sometimes get when mxqd tries to unmount the temporary job filesystems using - fcntl EXT4_IOC_SHUTDOWN with EXT4_GOING_FLAGS_NOLOGFLUSH - dmestup reload $dmname --table "0 $sectors zero" - dmsetup resume $dmname --noflush - umount $mountpoint - dmsetup remove --deferred $dmname - rmdir $mountpoint --- fs/ext4/inode.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index 2b5ef1b642499..84d2659b6eeef 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c @@ -2818,9 +2818,10 @@ static int ext4_writepages(struct address_space *mapping, EXT4_HT_WRITE_PAGE, needed_blocks, rsv_blocks); if (IS_ERR(handle)) { ret = PTR_ERR(handle); - ext4_msg(inode->i_sb, KERN_CRIT, "%s: jbd2_start: " - "%ld pages, ino %lu; err %d", __func__, - wbc->nr_to_write, inode->i_ino, ret); + if (!unlikely(ext4_forced_shutdown(EXT4_SB(inode->i_sb)))) + ext4_msg(inode->i_sb, KERN_CRIT, "%s: jbd2_start: " + "%ld pages, ino %lu; err %d", __func__, + wbc->nr_to_write, inode->i_ino, ret); /* Release allocated io_end */ ext4_put_io_end(mpd.io_submit.io_end); mpd.io_submit.io_end = NULL; From cbc74f8863c5651b7c17ffbcfa727c8a963c2260 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 30 Dec 2022 16:16:31 +0100 Subject: [PATCH 22/59] config-mpi: Update for new kernel version --- config-mpi | 2 -- 1 file changed, 2 deletions(-) diff --git a/config-mpi b/config-mpi index 230a983dd53d2..cd958a6efa954 100644 --- a/config-mpi +++ b/config-mpi @@ -178,7 +178,6 @@ CONFIG_NFT_MASQ=m CONFIG_NFT_REDIR=m CONFIG_NFT_NAT=m CONFIG_NFT_TUNNEL=m -CONFIG_NFT_OBJREF=m CONFIG_NFT_QUEUE=m CONFIG_NFT_QUOTA=m CONFIG_NFT_REJECT=m @@ -424,7 +423,6 @@ CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_DRBD=y CONFIG_BLK_DEV_NBD=m CONFIG_BLK_DEV_RAM=y -CONFIG_CDROM_PKTCDVD=y CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_NVME=y CONFIG_ENCLOSURE_SERVICES=y From 6157a27055f0bb0e19b81c0ed2f135012ee0ff97 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 6 Mar 2023 10:38:46 +0100 Subject: [PATCH 23/59] config-mpi: Update for new kernel version --- config-mpi | 7 ------- 1 file changed, 7 deletions(-) diff --git a/config-mpi b/config-mpi index cd958a6efa954..0719266038e6e 100644 --- a/config-mpi +++ b/config-mpi @@ -78,7 +78,6 @@ CONFIG_MAC_PARTITION=y CONFIG_BSD_DISKLABEL=y CONFIG_LDM_PARTITION=y CONFIG_IOSCHED_BFQ=y -CONFIG_BFQ_GROUP_IOSCHED=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set CONFIG_BINFMT_MISC=y CONFIG_ZSWAP=y @@ -287,7 +286,6 @@ CONFIG_IP_NF_TARGET_MASQUERADE=m CONFIG_IP_NF_TARGET_NETMAP=m CONFIG_IP_NF_TARGET_REDIRECT=m CONFIG_IP_NF_MANGLE=m -CONFIG_IP_NF_TARGET_CLUSTERIP=m CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_IP_NF_RAW=m @@ -331,7 +329,6 @@ CONFIG_VLAN_8021Q=m CONFIG_VLAN_8021Q_GVRP=y CONFIG_VLAN_8021Q_MVRP=y CONFIG_NET_SCHED=y -CONFIG_NET_SCH_CBQ=m CONFIG_NET_SCH_HTB=m CONFIG_NET_SCH_HFSC=m CONFIG_NET_SCH_PRIO=m @@ -342,7 +339,6 @@ CONFIG_NET_SCH_SFQ=m CONFIG_NET_SCH_TEQL=m CONFIG_NET_SCH_TBF=m CONFIG_NET_SCH_GRED=m -CONFIG_NET_SCH_DSMARK=m CONFIG_NET_SCH_NETEM=m CONFIG_NET_SCH_DRR=m CONFIG_NET_SCH_MQPRIO=m @@ -355,14 +351,11 @@ CONFIG_NET_SCH_HHF=m CONFIG_NET_SCH_PIE=m CONFIG_NET_SCH_PLUG=m CONFIG_NET_CLS_BASIC=m -CONFIG_NET_CLS_TCINDEX=m CONFIG_NET_CLS_ROUTE4=m CONFIG_NET_CLS_FW=m CONFIG_NET_CLS_U32=m CONFIG_CLS_U32_PERF=y CONFIG_CLS_U32_MARK=y -CONFIG_NET_CLS_RSVP=m -CONFIG_NET_CLS_RSVP6=m CONFIG_NET_CLS_FLOW=m CONFIG_NET_CLS_CGROUP=m CONFIG_NET_CLS_BPF=m From d038519359beabc19b98cae5cccb2b207401f5e9 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 1 Nov 2022 10:16:13 +0100 Subject: [PATCH 24/59] config: Add TPM driver Add TCG_TPM drivers as module so that we can play around with it. This might be part of the solution of our nfs trust. CONFIG_SECURITYFS becomes autoselected, so it is removed from the config. --- config-mpi | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/config-mpi b/config-mpi index 0719266038e6e..5a4f5b86e6932 100644 --- a/config-mpi +++ b/config-mpi @@ -566,6 +566,18 @@ CONFIG_IPMI_SI=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m CONFIG_HPET=y +CONFIG_TCG_TPM=m +CONFIG_TCG_TIS=m +CONFIG_TCG_TIS_I2C_CR50=m +CONFIG_TCG_TIS_I2C_ATMEL=m +CONFIG_TCG_TIS_I2C_INFINEON=m +CONFIG_TCG_TIS_I2C_NUVOTON=m +CONFIG_TCG_NSC=m +CONFIG_TCG_ATMEL=m +CONFIG_TCG_INFINEON=m +CONFIG_TCG_CRB=m +CONFIG_TCG_VTPM_PROXY=m +CONFIG_TCG_TIS_ST33ZP24_I2C=m CONFIG_I2C_CHARDEV=m CONFIG_I2C_AMD756=m CONFIG_I2C_AMD756_S4882=m @@ -795,7 +807,6 @@ CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_ISO8859_1=m CONFIG_NLS_UTF8=m CONFIG_DLM=m -CONFIG_SECURITYFS=y CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_DES=y From e86e05ad19cd18457c6bf6e6677d27101a7422f1 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 8 Nov 2022 12:53:41 +0100 Subject: [PATCH 25/59] nfs/nfsd/rpc: Add AUTH_MARIUX --- fs/nfs/fs_context.c | 5 ++ fs/nfs/nfs4namespace.c | 1 + fs/nfs/nfs4proc.c | 1 + fs/nfsd/export.c | 3 +- include/linux/sunrpc/auth.h | 1 + include/linux/sunrpc/msg_prot.h | 3 +- include/linux/sunrpc/xdr.h | 1 + net/sunrpc/auth.c | 3 +- net/sunrpc/auth_unix.c | 108 ++++++++++++++++++++++++++++++++ net/sunrpc/svcauth.c | 2 + net/sunrpc/svcauth_unix.c | 19 +++++- 11 files changed, 143 insertions(+), 4 deletions(-) diff --git a/fs/nfs/fs_context.c b/fs/nfs/fs_context.c index 9bcd53d5c7d46..b4eeff8f62f29 100644 --- a/fs/nfs/fs_context.c +++ b/fs/nfs/fs_context.c @@ -243,6 +243,7 @@ enum { Opt_sec_lkey, Opt_sec_lkeyi, Opt_sec_lkeyp, + Opt_sec_mariux, Opt_sec_none, Opt_sec_spkm, Opt_sec_spkmi, @@ -258,6 +259,7 @@ static const struct constant_table nfs_secflavor_tokens[] = { { "lkey", Opt_sec_lkey }, { "lkeyi", Opt_sec_lkeyi }, { "lkeyp", Opt_sec_lkeyp }, + { "mariux", Opt_sec_mariux }, { "none", Opt_sec_none }, { "null", Opt_sec_none }, { "spkm3", Opt_sec_spkm }, @@ -418,6 +420,9 @@ static int nfs_parse_security_flavors(struct fs_context *fc, case Opt_sec_spkmp: pseudoflavor = RPC_AUTH_GSS_SPKMP; break; + case Opt_sec_mariux: + pseudoflavor = RPC_AUTH_MARIUX; + break; default: return nfs_invalf(fc, "NFS: sec=%s option not recognized", p); } diff --git a/fs/nfs/nfs4namespace.c b/fs/nfs/nfs4namespace.c index 9a98595bb1604..0da08d26b4189 100644 --- a/fs/nfs/nfs4namespace.c +++ b/fs/nfs/nfs4namespace.c @@ -215,6 +215,7 @@ static struct rpc_clnt *nfs_find_best_sec(struct rpc_clnt *clnt, switch (secinfo->flavor) { case RPC_AUTH_NULL: case RPC_AUTH_UNIX: + case RPC_AUTH_MARIUX: case RPC_AUTH_GSS: pflavor = rpcauth_get_pseudoflavor(secinfo->flavor, &secinfo->flavor_info); diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 5607b1e2b8212..755e4fd469510 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@ -10161,6 +10161,7 @@ nfs41_find_root_sec(struct nfs_server *server, struct nfs_fh *fhandle, switch (secinfo->flavor) { case RPC_AUTH_NULL: case RPC_AUTH_UNIX: + case RPC_AUTH_MARIUX: case RPC_AUTH_GSS: flavor = rpcauth_get_pseudoflavor(secinfo->flavor, &secinfo->flavor_info); diff --git a/fs/nfsd/export.c b/fs/nfsd/export.c index 668c7527b17e8..5f313f6e4d62b 100644 --- a/fs/nfsd/export.c +++ b/fs/nfsd/export.c @@ -1049,7 +1049,8 @@ __be32 check_nfsd_access(struct svc_export *exp, struct svc_rqst *rqstp) /* defaults in absence of sec= options: */ if (exp->ex_nflavors == 0) { if (rqstp->rq_cred.cr_flavor == RPC_AUTH_NULL || - rqstp->rq_cred.cr_flavor == RPC_AUTH_UNIX) + rqstp->rq_cred.cr_flavor == RPC_AUTH_UNIX || + rqstp->rq_cred.cr_flavor == RPC_AUTH_MARIUX) return 0; } diff --git a/include/linux/sunrpc/auth.h b/include/linux/sunrpc/auth.h index 3e6ce288a7fc0..47daed9707927 100644 --- a/include/linux/sunrpc/auth.h +++ b/include/linux/sunrpc/auth.h @@ -143,6 +143,7 @@ struct rpc_credops { }; extern const struct rpc_authops authunix_ops; +extern const struct rpc_authops authmariux_ops; extern const struct rpc_authops authnull_ops; int __init rpc_init_authunix(void); diff --git a/include/linux/sunrpc/msg_prot.h b/include/linux/sunrpc/msg_prot.h index c4b0eb2b2f040..0fc7b05eb9f68 100644 --- a/include/linux/sunrpc/msg_prot.h +++ b/include/linux/sunrpc/msg_prot.h @@ -21,7 +21,8 @@ enum rpc_auth_flavors { RPC_AUTH_KRB = 4, RPC_AUTH_GSS = 6, RPC_AUTH_TLS = 7, - RPC_AUTH_MAXFLAVOR = 8, + RPC_AUTH_MARIUX = 8, + RPC_AUTH_MAXFLAVOR = 9, /* pseudoflavors: */ RPC_AUTH_GSS_KRB5 = 390003, RPC_AUTH_GSS_KRB5I = 390004, diff --git a/include/linux/sunrpc/xdr.h b/include/linux/sunrpc/xdr.h index 72014c9216fc4..640bb47a018cc 100644 --- a/include/linux/sunrpc/xdr.h +++ b/include/linux/sunrpc/xdr.h @@ -96,6 +96,7 @@ xdr_buf_init(struct xdr_buf *buf, void *start, size_t len) #define rpc_auth_short cpu_to_be32(RPC_AUTH_SHORT) #define rpc_auth_gss cpu_to_be32(RPC_AUTH_GSS) #define rpc_auth_tls cpu_to_be32(RPC_AUTH_TLS) +#define rpc_auth_mariux cpu_to_be32(RPC_AUTH_MARIUX) #define rpc_call cpu_to_be32(RPC_CALL) #define rpc_reply cpu_to_be32(RPC_REPLY) diff --git a/net/sunrpc/auth.c b/net/sunrpc/auth.c index fb75a883503f7..789b56413c994 100644 --- a/net/sunrpc/auth.c +++ b/net/sunrpc/auth.c @@ -29,9 +29,10 @@ struct rpc_cred_cache { static unsigned int auth_hashbits = RPC_CREDCACHE_DEFAULT_HASHBITS; -static const struct rpc_authops __rcu *auth_flavors[RPC_AUTH_MAXFLAVOR] = { +static const struct rpc_authops __rcu *auth_flavors[RPC_AUTH_MAXFLAVOR+1] = { [RPC_AUTH_NULL] = (const struct rpc_authops __force __rcu *)&authnull_ops, [RPC_AUTH_UNIX] = (const struct rpc_authops __force __rcu *)&authunix_ops, + [RPC_AUTH_MARIUX] = (const struct rpc_authops __force __rcu *)&authmariux_ops, NULL, /* others can be loadable modules */ }; diff --git a/net/sunrpc/auth_unix.c b/net/sunrpc/auth_unix.c index 1e091d3fa6070..d9bb504a120fc 100644 --- a/net/sunrpc/auth_unix.c +++ b/net/sunrpc/auth_unix.c @@ -22,7 +22,9 @@ #endif static struct rpc_auth unix_auth; +static struct rpc_auth mariux_auth; static const struct rpc_credops unix_credops; +static const struct rpc_credops mariux_credops; static mempool_t *unix_pool; static struct rpc_auth * @@ -37,6 +39,18 @@ unx_destroy(struct rpc_auth *auth) { } +static struct rpc_auth * +mariux_create(const struct rpc_auth_create_args *args, struct rpc_clnt *clnt) +{ + refcount_inc(&mariux_auth.au_count); + return &mariux_auth; +} + +static void +mariux_destroy(struct rpc_auth *auth) +{ +} + /* * Lookup AUTH_UNIX creds for current process */ @@ -58,6 +72,16 @@ static struct rpc_cred *unx_lookup_cred(struct rpc_auth *auth, return ret; } +static struct rpc_cred * +mariux_lookup_cred(struct rpc_auth *auth, struct auth_cred *acred, int flags) +{ + struct rpc_cred *ret = mempool_alloc(unix_pool, GFP_NOFS); + + rpcauth_init_cred(ret, acred, auth, &mariux_credops); + ret->cr_flags = 1UL << RPCAUTH_CRED_UPTODATE; + return ret; +} + static void unx_free_cred_callback(struct rcu_head *head) { @@ -159,6 +183,58 @@ unx_marshal(struct rpc_task *task, struct xdr_stream *xdr) return -EMSGSIZE; } +static int +mariux_marshal(struct rpc_task *task, struct xdr_stream *xdr) +{ + struct rpc_clnt *clnt = task->tk_client; + struct rpc_cred *cred = task->tk_rqstp->rq_cred; + __be32 *p, *cred_len, *gidarr_len; + int i; + struct group_info *gi = cred->cr_cred->group_info; + struct user_namespace *userns = clnt->cl_cred ? + clnt->cl_cred->user_ns : &init_user_ns; + + /* Credential */ + + p = xdr_reserve_space(xdr, 3 * sizeof(*p)); + if (!p) + goto marshal_failed; + *p++ = rpc_auth_mariux; + cred_len = p++; + *p++ = cpu_to_be32(0x00010012); /* version 1.18 */ + if (xdr_stream_encode_opaque(xdr, clnt->cl_nodename, + clnt->cl_nodelen) < 0) + goto marshal_failed; + p = xdr_reserve_space(xdr, 3 * sizeof(*p)); + if (!p) + goto marshal_failed; + *p++ = cpu_to_be32(from_kuid_munged(userns, cred->cr_cred->fsuid)); + *p++ = cpu_to_be32(from_kgid_munged(userns, cred->cr_cred->fsgid)); + + gidarr_len = p++; + if (gi) + for (i = 0; i < UNX_NGROUPS && i < gi->ngroups; i++) + *p++ = cpu_to_be32(from_kgid_munged(userns, gi->gid[i])); + *gidarr_len = cpu_to_be32(p - gidarr_len - 1); + *cred_len = cpu_to_be32((p - cred_len - 1) << 2); + p = xdr_reserve_space(xdr, (p - gidarr_len - 1) << 2); + if (!p) + goto marshal_failed; + + /* Verifier */ + + p = xdr_reserve_space(xdr, 2 * sizeof(*p)); + if (!p) + goto marshal_failed; + *p++ = rpc_auth_null; + *p = xdr_zero; + + return 0; + +marshal_failed: + return -EMSGSIZE; +} + /* * Refresh credentials. This is a no-op for AUTH_UNIX */ @@ -183,6 +259,7 @@ unx_validate(struct rpc_task *task, struct xdr_stream *xdr) case rpc_auth_null: case rpc_auth_unix: case rpc_auth_short: + case rpc_auth_mariux: break; default: return -EIO; @@ -241,3 +318,34 @@ const struct rpc_credops unix_credops = { .crvalidate = unx_validate, .crunwrap_resp = rpcauth_unwrap_resp_decode, }; + +const struct rpc_authops authmariux_ops = { + .owner = THIS_MODULE, + .au_flavor = RPC_AUTH_MARIUX, + .au_name = "MARIUX", + .create = mariux_create, + .destroy = mariux_destroy, + .lookup_cred = mariux_lookup_cred, +}; + +static +struct rpc_auth mariux_auth = { + .au_cslack = UNX_CALLSLACK, + .au_rslack = NUL_REPLYSLACK, + .au_verfsize = NUL_REPLYSLACK, + .au_ops = &authmariux_ops, + .au_flavor = RPC_AUTH_MARIUX, + .au_count = REFCOUNT_INIT(1), +}; + +static +const struct rpc_credops mariux_credops = { + .cr_name = "AUTH_MARIUX", + .crdestroy = unx_destroy_cred, + .crmatch = unx_match, + .crmarshal = mariux_marshal, + .crwrap_req = rpcauth_wrap_req_encode, + .crrefresh = unx_refresh, + .crvalidate = unx_validate, + .crunwrap_resp = rpcauth_unwrap_resp_decode, +}; diff --git a/net/sunrpc/svcauth.c b/net/sunrpc/svcauth.c index 67d8245a08afb..87c7c86e2bea3 100644 --- a/net/sunrpc/svcauth.c +++ b/net/sunrpc/svcauth.c @@ -32,11 +32,13 @@ extern struct auth_ops svcauth_null; extern struct auth_ops svcauth_unix; extern struct auth_ops svcauth_tls; +extern struct auth_ops svcauth_mariux; static struct auth_ops __rcu *authtab[RPC_AUTH_MAXFLAVOR] = { [RPC_AUTH_NULL] = (struct auth_ops __force __rcu *)&svcauth_null, [RPC_AUTH_UNIX] = (struct auth_ops __force __rcu *)&svcauth_unix, [RPC_AUTH_TLS] = (struct auth_ops __force __rcu *)&svcauth_tls, + [RPC_AUTH_MARIUX] = (struct auth_ops __force __rcu *)&svcauth_mariux, }; static struct auth_ops * diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c index 983c5891cb565..db3c11361a181 100644 --- a/net/sunrpc/svcauth_unix.c +++ b/net/sunrpc/svcauth_unix.c @@ -975,6 +975,14 @@ svcauth_unix_accept(struct svc_rqst *rqstp) return SVC_DENIED; } +static int +svcauth_mariux_accept(struct svc_rqst *rqstp) +{ + int ret = svcauth_unix_accept(rqstp); + rqstp->rq_cred.cr_flavor = RPC_AUTH_MARIUX; + return ret; +} + static int svcauth_unix_release(struct svc_rqst *rqstp) { @@ -990,7 +998,6 @@ svcauth_unix_release(struct svc_rqst *rqstp) return 0; } - struct auth_ops svcauth_unix = { .name = "unix", .owner = THIS_MODULE, @@ -1001,6 +1008,16 @@ struct auth_ops svcauth_unix = { .set_client = svcauth_unix_set_client, }; +struct auth_ops svcauth_mariux = { + .name = "unix", + .owner = THIS_MODULE, + .flavour = RPC_AUTH_MARIUX, + .accept = svcauth_mariux_accept, + .release = svcauth_unix_release, + .domain_release = svcauth_unix_domain_release, + .set_client = svcauth_unix_set_client, +}; + static const struct cache_detail ip_map_cache_template = { .owner = THIS_MODULE, .hash_size = IP_HASHMAX, From eb95c18996bd4d34a62471437b6c44921860f5c6 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 10 Nov 2022 13:03:28 +0100 Subject: [PATCH 26/59] sunrpc: Fix name in svcauth_mariux struct Use name "mariux" instead of "unix" in the svcauth_mariux auth_ops structure. This field is not used by the kernel. --- net/sunrpc/svcauth_unix.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/sunrpc/svcauth_unix.c b/net/sunrpc/svcauth_unix.c index db3c11361a181..1aef348acaf98 100644 --- a/net/sunrpc/svcauth_unix.c +++ b/net/sunrpc/svcauth_unix.c @@ -1009,7 +1009,7 @@ struct auth_ops svcauth_unix = { }; struct auth_ops svcauth_mariux = { - .name = "unix", + .name = "mariux", .owner = THIS_MODULE, .flavour = RPC_AUTH_MARIUX, .accept = svcauth_mariux_accept, From 006222a2807dc6b04a898a4aa640b211bc2f5b3e Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 4 Jan 2023 11:15:32 +0100 Subject: [PATCH 27/59] nfs: Add "mariux" to nfs_pseudoflavour_to_name --- fs/nfs/super.c | 1 + include/linux/nfs_xdr.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/nfs/super.c b/fs/nfs/super.c index 05ae23657527d..27fd4adf0080b 100644 --- a/fs/nfs/super.c +++ b/fs/nfs/super.c @@ -312,6 +312,7 @@ static const char *nfs_pseudoflavour_to_name(rpc_authflavor_t flavour) /* update NFS_AUTH_INFO_MAX_FLAVORS when this list changes! */ { RPC_AUTH_NULL, "null" }, { RPC_AUTH_UNIX, "sys" }, + { RPC_AUTH_MARIUX, "mariux" }, { RPC_AUTH_GSS_KRB5, "krb5" }, { RPC_AUTH_GSS_KRB5I, "krb5i" }, { RPC_AUTH_GSS_KRB5P, "krb5p" }, diff --git a/include/linux/nfs_xdr.h b/include/linux/nfs_xdr.h index e86cf6642d212..c253c2c3af617 100644 --- a/include/linux/nfs_xdr.h +++ b/include/linux/nfs_xdr.h @@ -734,7 +734,7 @@ struct nfs_renameres { }; /* parsed sec= options */ -#define NFS_AUTH_INFO_MAX_FLAVORS 12 /* see fs/nfs/super.c */ +#define NFS_AUTH_INFO_MAX_FLAVORS 13 /* see fs/nfs/super.c */ struct nfs_auth_info { unsigned int flavor_len; rpc_authflavor_t flavors[NFS_AUTH_INFO_MAX_FLAVORS]; From 928335c30b19b484fd5b194fbebc75af59ff1764 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 4 Jan 2023 15:08:59 +0100 Subject: [PATCH 28/59] config-mpi: Disable FB_MATROX Disable FB_MATROX as requested in [1] [1]: https://github.molgen.mpg.de/mariux64/bee-files/pull/2816 --- config-mpi | 5 ----- 1 file changed, 5 deletions(-) diff --git a/config-mpi b/config-mpi index 5a4f5b86e6932..c6d0d03e46451 100644 --- a/config-mpi +++ b/config-mpi @@ -644,11 +644,6 @@ CONFIG_FB_NVIDIA_DEBUG=y CONFIG_FB_I740=m CONFIG_FB_LE80578=m CONFIG_FB_CARILLO_RANCH=m -CONFIG_FB_MATROX=m -CONFIG_FB_MATROX_MILLENIUM=y -CONFIG_FB_MATROX_MYSTIQUE=y -CONFIG_FB_MATROX_G=y -CONFIG_FB_MATROX_I2C=m CONFIG_FB_RADEON=m CONFIG_FB_RADEON_DEBUG=y CONFIG_FB_SMSCUFX=m From 0abe77af2925474c86271fbc51db1a64d58fc95a Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 4 Jan 2023 15:13:12 +0100 Subject: [PATCH 29/59] config-mpi: Enable SENSORS_CORETEMP Enable SENSORS_CORETEMP as requested in [1] [1]: https://github.molgen.mpg.de/mariux64/bee-files/issues/2817 --- config-mpi | 1 + 1 file changed, 1 insertion(+) diff --git a/config-mpi b/config-mpi index c6d0d03e46451..92268084a571b 100644 --- a/config-mpi +++ b/config-mpi @@ -596,6 +596,7 @@ CONFIG_GPIOLIB=y CONFIG_SENSORS_K8TEMP=m CONFIG_SENSORS_K10TEMP=m CONFIG_SENSORS_FAM15H_POWER=m +CONFIG_SENSORS_CORETEMP=m CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y CONFIG_I6300ESB_WDT=m From b25921f82379a006e899259f952f3f6370854cbd Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 5 Jan 2023 11:32:43 +0100 Subject: [PATCH 30/59] nfsd: Do no try to us idmapd for sec=mariux When the nfsd module parameter nfs4_disable_idmapping ist set, which is the default, than a user space idmapd is not required for AUTH_UNIX. The code used in nfsd to check whether the idmap cache and user space daemon should be used is if (nfs4_disable_idmapping && rqstp->rq_cred.cr_flavor < RPC_AUTH_GSS) However, we've added our own security flavor AUTH_MARIUX numerically after AUTH_GSS: enum rpc_auth_flavors { RPC_AUTH_NULL = 0, RPC_AUTH_UNIX = 1, RPC_AUTH_SHORT = 2, RPC_AUTH_DES = 3, RPC_AUTH_KRB = 4, RPC_AUTH_GSS = 6, RPC_AUTH_TLS = 7, RPC_AUTH_MARIUX = 8, RPC_AUTH_MAXFLAVOR = 9, /* pseudoflavors: */ RPC_AUTH_GSS_KRB5 = 390003, RPC_AUTH_GSS_KRB5I = 390004, RPC_AUTH_GSS_KRB5P = 390005, RPC_AUTH_GSS_LKEY = 390006, RPC_AUTH_GSS_LKEYI = 390007, RPC_AUTH_GSS_LKEYP = 390008, RPC_AUTH_GSS_SPKM = 390009, RPC_AUTH_GSS_SPKMI = 390010, RPC_AUTH_GSS_SPKMP = 390011, }; So the check fails for AUTH_MARIUX. Although it can and should work with numerical idents from the client, nfsd tries to use idmapd and this fails for certain operations, because we don't start idmapd in our environment Exlicitly allow RPC_AUTH_MARIUX to be used without idmapd. --- fs/nfsd/nfs4idmap.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/nfsd/nfs4idmap.c b/fs/nfsd/nfs4idmap.c index 5e9809aff37eb..eafcd7124f119 100644 --- a/fs/nfsd/nfs4idmap.c +++ b/fs/nfsd/nfs4idmap.c @@ -620,7 +620,7 @@ numeric_name_to_id(struct svc_rqst *rqstp, int type, const char *name, u32 namel static __be32 do_name_to_id(struct svc_rqst *rqstp, int type, const char *name, u32 namelen, u32 *id) { - if (nfs4_disable_idmapping && rqstp->rq_cred.cr_flavor < RPC_AUTH_GSS) + if (nfs4_disable_idmapping && (rqstp->rq_cred.cr_flavor < RPC_AUTH_GSS || rqstp->rq_cred.cr_flavor == RPC_AUTH_MARIUX)) if (numeric_name_to_id(rqstp, type, name, namelen, id)) return 0; /* @@ -633,7 +633,7 @@ do_name_to_id(struct svc_rqst *rqstp, int type, const char *name, u32 namelen, u static __be32 encode_name_from_id(struct xdr_stream *xdr, struct svc_rqst *rqstp, int type, u32 id) { - if (nfs4_disable_idmapping && rqstp->rq_cred.cr_flavor < RPC_AUTH_GSS) + if (nfs4_disable_idmapping && (rqstp->rq_cred.cr_flavor < RPC_AUTH_GSS || rqstp->rq_cred.cr_flavor == RPC_AUTH_MARIUX)) return encode_ascii_id(xdr, id); return idmap_id_to_name(xdr, rqstp, type, id); } From 459a88efe816d77ad2aca97bfa7384520dd387c2 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 18 Jan 2023 15:51:49 +0100 Subject: [PATCH 31/59] nfs: Do not try to use idmap for sec=mariux Currently, operations which send uid or gid attributes (e.g. chgrp) try to use idmap which results warnings like "Request-key: Cannot find command to construct key 322998654" in the syslog, because we don't have id_resolver configured in /etc/requesst-key.conf. When the idmap operation fails, the uid of gid are send numerical, so there is no problem aside from the log message. Allow idmapping to be disabled for RPC_AITH_MARIUX just as for RPC_AUTH_UNIX. --- fs/nfs/nfs4client.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/nfs/nfs4client.c b/fs/nfs/nfs4client.c index d3051b051a564..d8316081c56fe 100644 --- a/fs/nfs/nfs4client.c +++ b/fs/nfs/nfs4client.c @@ -1073,8 +1073,9 @@ void nfs4_server_set_init_caps(struct nfs_server *server) * Don't use NFS uid/gid mapping if we're using AUTH_SYS or lower * authentication. */ - if (nfs4_disable_idmapping && - server->client->cl_auth->au_flavor == RPC_AUTH_UNIX) + if (nfs4_disable_idmapping && ( + server->client->cl_auth->au_flavor == RPC_AUTH_UNIX + || server->client->cl_auth->au_flavor == RPC_AUTH_MARIUX )) server->caps |= NFS_CAP_UIDGID_NOMAP; } From 185d4a2a1668873e6bcb293134e663f2c336d8e7 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 8 May 2023 04:00:28 +0200 Subject: [PATCH 32/59] config-mpi: Update for new kernel version --- config-mpi | 3 --- 1 file changed, 3 deletions(-) diff --git a/config-mpi b/config-mpi index 92268084a571b..e8ca443786577 100644 --- a/config-mpi +++ b/config-mpi @@ -530,7 +530,6 @@ CONFIG_E1000=m CONFIG_E1000E=m CONFIG_IGB=m CONFIG_IGBVF=m -CONFIG_IXGB=m CONFIG_IXGBE=m CONFIG_I40E=m CONFIG_SKGE=m @@ -748,7 +747,6 @@ CONFIG_FS_DAX=y CONFIG_FANOTIFY=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y -# CONFIG_PRINT_QUOTA_WARNING is not set CONFIG_QFMT_V2=m CONFIG_AUTOFS4_FS=m CONFIG_FUSE_FS=m @@ -813,7 +811,6 @@ CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_HMAC=y CONFIG_CRYPTO_MD4=y CONFIG_CRYPTO_SHA1=y -CONFIG_CRYPTO_SHA256=y CONFIG_ASYMMETRIC_KEY_TYPE=y CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=m CONFIG_X509_CERTIFICATE_PARSER=m From 327fb6d191a94f96574061d375567bbc66a745f9 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 13 Jul 2023 09:34:39 +0200 Subject: [PATCH 33/59] config-mpi: Update for new kernel version --- config-mpi | 3 --- 1 file changed, 3 deletions(-) diff --git a/config-mpi b/config-mpi index e8ca443786577..e58949b46ac05 100644 --- a/config-mpi +++ b/config-mpi @@ -81,7 +81,6 @@ CONFIG_IOSCHED_BFQ=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set CONFIG_BINFMT_MISC=y CONFIG_ZSWAP=y -CONFIG_SLAB=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_TRANSPARENT_HUGEPAGE=y @@ -89,8 +88,6 @@ CONFIG_ZONE_DEVICE=y CONFIG_NET=y CONFIG_PACKET=m CONFIG_PACKET_DIAG=m -CONFIG_UNIX=m -CONFIG_UNIX_DIAG=m CONFIG_XFRM_USER=m CONFIG_INET=y CONFIG_IP_MULTICAST=y From 0c2aafafd3bd3ef0479be30a3305c5f00690da3e Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 31 Jul 2023 05:00:42 +0200 Subject: [PATCH 34/59] config-mpi: Update for new kernel version --- config-mpi | 1 - 1 file changed, 1 deletion(-) diff --git a/config-mpi b/config-mpi index e58949b46ac05..361ab414cdfcc 100644 --- a/config-mpi +++ b/config-mpi @@ -745,7 +745,6 @@ CONFIG_FANOTIFY=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y CONFIG_QFMT_V2=m -CONFIG_AUTOFS4_FS=m CONFIG_FUSE_FS=m CONFIG_VIRTIO_FS=m CONFIG_OVERLAY_FS=m From 090693845c507ecba9908acf166e0506ae75eb78 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 19 Jul 2023 17:46:36 +0200 Subject: [PATCH 35/59] config-mpi: Built host kernel accelerator for virtio net as module (VHOST_NET=m) > This kernel module can be loaded in host kernel to accelerate > guest networking with virtio_net. Not to be confused with virtio_net > module itself which needs to be loaded in guest kernel. > > To compile this driver as a module, choose M here: the module will > be called vhost_net. --- config-mpi | 1 + 1 file changed, 1 insertion(+) diff --git a/config-mpi b/config-mpi index 361ab414cdfcc..13209f1c63094 100644 --- a/config-mpi +++ b/config-mpi @@ -721,6 +721,7 @@ CONFIG_RTC_CLASS=y CONFIG_VIRTIO_PCI=y CONFIG_VIRTIO_BALLOON=m CONFIG_VIRTIO_INPUT=m +CONFIG_VHOST_NET=m CONFIG_AMD_IOMMU=y CONFIG_INTEL_IOMMU=y # CONFIG_INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON is not set From 7b9ee3fb89ed97bb32b6191eeb5606207523d399 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 19 Feb 2023 13:31:46 +0100 Subject: [PATCH 36/59] Revert "scsi: mpt3sas: Remove scsi_dma_map() error messages" There were some doubts, that theses errors could be ignored, so don't disable them. The next commit will add a ratelimit. This reverts commit edad99d38bd71e3de1ab757159d080521bca8cc4. --- drivers/scsi/mpt3sas/mpt3sas_base.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c index 53f5492579cb7..b5bf1527629a0 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_base.c +++ b/drivers/scsi/mpt3sas/mpt3sas_base.c @@ -2593,8 +2593,12 @@ _base_check_pcie_native_sgl(struct MPT3SAS_ADAPTER *ioc, /* Get the SG list pointer and info. */ sges_left = scsi_dma_map(scmd); - if (sges_left < 0) + if (sges_left < 0) { + sdev_printk(KERN_ERR, scmd->device, + "scsi_dma_map failed: request for %d bytes!\n", + scsi_bufflen(scmd)); return 1; + } /* Check if we need to build a native SG list. */ if (!base_is_prp_possible(ioc, pcie_device, @@ -2701,8 +2705,12 @@ _base_build_sg_scmd(struct MPT3SAS_ADAPTER *ioc, sg_scmd = scsi_sglist(scmd); sges_left = scsi_dma_map(scmd); - if (sges_left < 0) + if (sges_left < 0) { + sdev_printk(KERN_ERR, scmd->device, + "scsi_dma_map failed: request for %d bytes!\n", + scsi_bufflen(scmd)); return -ENOMEM; + } sg_local = &mpi_request->SGL; sges_in_segment = ioc->max_sges_in_main_message; @@ -2845,8 +2853,12 @@ _base_build_sg_scmd_ieee(struct MPT3SAS_ADAPTER *ioc, sg_scmd = scsi_sglist(scmd); sges_left = scsi_dma_map(scmd); - if (sges_left < 0) + if (sges_left < 0) { + sdev_printk(KERN_ERR, scmd->device, + "scsi_dma_map failed: request for %d bytes!\n", + scsi_bufflen(scmd)); return -ENOMEM; + } sg_local = &mpi_request->SGL; sges_in_segment = (ioc->request_sz - From 711701daca6f7a1e76fcbcb67ab35c4baa8ce1fb Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Sun, 19 Feb 2023 13:55:09 +0100 Subject: [PATCH 37/59] scsi: mpt3sas: Rate-limit scsi_dma_map() error messages --- drivers/scsi/mpt3sas/mpt3sas_base.c | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.c b/drivers/scsi/mpt3sas/mpt3sas_base.c index b5bf1527629a0..bb3ce5e7f350f 100644 --- a/drivers/scsi/mpt3sas/mpt3sas_base.c +++ b/drivers/scsi/mpt3sas/mpt3sas_base.c @@ -130,6 +130,9 @@ enum mpt3sas_perf_mode { MPT_PERF_MODE_LATENCY = 2, }; + +static DEFINE_RATELIMIT_STATE(dma_map_failed_warning_rlstate, (60 * 60 * HZ), 4); /* max 4 per hour */ + static int _base_wait_on_iocstate(struct MPT3SAS_ADAPTER *ioc, u32 ioc_state, int timeout); @@ -2594,9 +2597,10 @@ _base_check_pcie_native_sgl(struct MPT3SAS_ADAPTER *ioc, /* Get the SG list pointer and info. */ sges_left = scsi_dma_map(scmd); if (sges_left < 0) { - sdev_printk(KERN_ERR, scmd->device, - "scsi_dma_map failed: request for %d bytes!\n", - scsi_bufflen(scmd)); + if (__ratelimit(&dma_map_failed_warning_rlstate)) + sdev_printk(KERN_ERR, scmd->device, + "scsi_dma_map failed in _base_check_pcie_native_sgl: request for %d bytes!\n", + scsi_bufflen(scmd)); return 1; } @@ -2706,10 +2710,11 @@ _base_build_sg_scmd(struct MPT3SAS_ADAPTER *ioc, sg_scmd = scsi_sglist(scmd); sges_left = scsi_dma_map(scmd); if (sges_left < 0) { - sdev_printk(KERN_ERR, scmd->device, - "scsi_dma_map failed: request for %d bytes!\n", - scsi_bufflen(scmd)); - return -ENOMEM; + if (__ratelimit(&dma_map_failed_warning_rlstate)) + sdev_printk(KERN_ERR, scmd->device, + "scsi_dma_map failed in _base_build_sg_scmd: request for %d bytes!\n", + scsi_bufflen(scmd)); + return -ENOMEM; } sg_local = &mpi_request->SGL; @@ -2854,9 +2859,10 @@ _base_build_sg_scmd_ieee(struct MPT3SAS_ADAPTER *ioc, sg_scmd = scsi_sglist(scmd); sges_left = scsi_dma_map(scmd); if (sges_left < 0) { - sdev_printk(KERN_ERR, scmd->device, - "scsi_dma_map failed: request for %d bytes!\n", - scsi_bufflen(scmd)); + if (__ratelimit(&dma_map_failed_warning_rlstate)) + sdev_printk(KERN_ERR, scmd->device, + "scsi_dma_map failed in _base_build_sg_scmd_ieee: request for %d bytes!\n", + scsi_bufflen(scmd)); return -ENOMEM; } From e2ba104f57994b3cb959a49a2a0b13993c1e7604 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 16 May 2023 16:03:36 +0200 Subject: [PATCH 38/59] config-mpi: Switch HID devices from Y to M --- config-mpi | 44 +++++++++++++++++++++++++++++--------------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/config-mpi b/config-mpi index 13209f1c63094..50499912e36de 100644 --- a/config-mpi +++ b/config-mpi @@ -547,6 +547,7 @@ CONFIG_USB_LAN78XX=m CONFIG_USB_USBNET=m CONFIG_USB_NET_DM9601=m # CONFIG_WLAN is not set +CONFIG_INPUT_FF_MEMLESS=y CONFIG_INPUT_EVDEV=y # CONFIG_SERIO_SERPORT is not set # CONFIG_LEGACY_PTYS is not set @@ -684,23 +685,36 @@ CONFIG_SND_HDA_CODEC_CMEDIA=m CONFIG_SND_HDA_CODEC_SI3054=m CONFIG_SND_USB_AUDIO=m CONFIG_HIDRAW=y -CONFIG_HID_DRAGONRISE=y -CONFIG_HID_KYE=y -CONFIG_HID_GYRATION=y -CONFIG_HID_TWINHAN=y +CONFIG_HID_GENERIC=m +CONFIG_HID_A4TECH=m +CONFIG_HID_APPLE=m +CONFIG_HID_BELKIN=m +CONFIG_HID_CHERRY=m +CONFIG_HID_CYPRESS=m +CONFIG_HID_DRAGONRISE=m +CONFIG_HID_EZKEY=m +CONFIG_HID_KYE=m +CONFIG_HID_GYRATION=m +CONFIG_HID_ITE=m +CONFIG_HID_TWINHAN=m +CONFIG_HID_KENSINGTON=m CONFIG_HID_LED=m CONFIG_HID_LOGITECH_DJ=m -CONFIG_HID_NTRIG=y -CONFIG_HID_ORTEK=y -CONFIG_HID_PANTHERLORD=y -CONFIG_HID_PETALYNX=y -CONFIG_HID_SAMSUNG=y -CONFIG_HID_SUNPLUS=y -CONFIG_HID_GREENASIA=y -CONFIG_HID_SMARTJOYPLUS=y -CONFIG_HID_TOPSEED=y -CONFIG_HID_THRUSTMASTER=y -CONFIG_HID_ZEROPLUS=y +CONFIG_HID_REDRAGON=m +CONFIG_HID_MICROSOFT=m +CONFIG_HID_MONTEREY=m +CONFIG_HID_NTRIG=m +CONFIG_HID_ORTEK=m +CONFIG_HID_PANTHERLORD=m +CONFIG_HID_PETALYNX=m +CONFIG_HID_SAMSUNG=m +CONFIG_HID_SUNPLUS=m +CONFIG_HID_GREENASIA=m +CONFIG_HID_SMARTJOYPLUS=m +CONFIG_HID_TOPSEED=m +CONFIG_HID_THRUSTMASTER=m +CONFIG_HID_ZEROPLUS=m +CONFIG_USB_HID=m CONFIG_USB=y CONFIG_USB_XHCI_HCD=y CONFIG_USB_EHCI_HCD=y From 6c95d59de434a14716e675224f544973f79b8132 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 19 Jul 2023 17:51:46 +0200 Subject: [PATCH 39/59] config-mpi: Build coreboot framebuffer into Linux (GOOGLE_FRAMEBUFFER_COREBOOT=y) > This option enables the kernel to search for a framebuffer in > the coreboot table. If found, it is registered with simplefb. The framebuffer is needed in the beginning before being able to load modules, so build it into the Linux kernel, requiring to build coreboot tables into Linux too (`GOOGLE_COREBOOT_TABLE=y`). --- config-mpi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config-mpi b/config-mpi index 50499912e36de..ea3426b06be3d 100644 --- a/config-mpi +++ b/config-mpi @@ -404,7 +404,8 @@ CONFIG_DEVTMPFS_MOUNT=y CONFIG_FW_LOADER_USER_HELPER=y CONFIG_CONNECTOR=y CONFIG_GOOGLE_FIRMWARE=y -CONFIG_GOOGLE_COREBOOT_TABLE=m +CONFIG_GOOGLE_COREBOOT_TABLE=y +CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=y CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m CONFIG_PARPORT=y CONFIG_PARPORT_PC=y From 33fd657d47b6e31b3beef683558e876935c22d16 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 19 Jul 2023 18:11:13 +0200 Subject: [PATCH 40/59] config-mpi: Build DRM driver for simple platform-provided framebuffers (DRM_SIMPLE=y) > This driver assumes that the display hardware has been initialized > by the firmware or bootloader before the kernel boots. Scanout > buffer, size, and display format must be provided via device tree, > UEFI, VESA, etc. > > On x86 BIOS or UEFI systems, you should also select SYSFB_SIMPLEFB > to use UEFI and VESA framebuffers. Also mark VGA/VBE/EFI FB as generic system framebuffer (SYSFB_SIMPLEFB=y). This conflicts with FB_SIMPLE, so the coreboot frame buffer driver is disabled again. [The same change was done in Fedora 36.][1]. [1]: https://fedoraproject.org/wiki/Changes/ReplaceFbdevDrivers --- config-mpi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/config-mpi b/config-mpi index ea3426b06be3d..16629496e7921 100644 --- a/config-mpi +++ b/config-mpi @@ -403,9 +403,9 @@ CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y CONFIG_FW_LOADER_USER_HELPER=y CONFIG_CONNECTOR=y +CONFIG_SYSFB_SIMPLEFB=y CONFIG_GOOGLE_FIRMWARE=y -CONFIG_GOOGLE_COREBOOT_TABLE=y -CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=y +CONFIG_GOOGLE_COREBOOT_TABLE=m CONFIG_GOOGLE_MEMCONSOLE_COREBOOT=m CONFIG_PARPORT=y CONFIG_PARPORT_PC=y @@ -618,7 +618,7 @@ CONFIG_AGP_AMD64=y CONFIG_AGP_INTEL=m CONFIG_AGP_SIS=m CONFIG_AGP_VIA=m -CONFIG_DRM=m +CONFIG_DRM=y CONFIG_DRM_AMDGPU=m CONFIG_DRM_AMDGPU_SI=y CONFIG_DRM_AMDGPU_CIK=y @@ -630,6 +630,7 @@ CONFIG_DRM_UDL=m CONFIG_DRM_MGAG200=m CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m +CONFIG_DRM_SIMPLEDRM=y CONFIG_FB=y CONFIG_FB_CIRRUS=m CONFIG_FB_PM2=m @@ -648,7 +649,6 @@ CONFIG_FB_RADEON_DEBUG=y CONFIG_FB_SMSCUFX=m CONFIG_FB_UDL=m CONFIG_FB_IBM_GXT4500=m -CONFIG_FB_SIMPLE=y CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_SAHARA=m From f3ba607af9fca65ae01cfee6ed29b6946f059f11 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Wed, 19 Jul 2023 18:20:45 +0200 Subject: [PATCH 41/59] config-mpi: Disable frame buffer drivers We only have devices supported by the Simple DRM driver, or build the DRM drivers already. --- config-mpi | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) diff --git a/config-mpi b/config-mpi index 16629496e7921..5f298f2dbe609 100644 --- a/config-mpi +++ b/config-mpi @@ -551,6 +551,7 @@ CONFIG_USB_NET_DM9601=m CONFIG_INPUT_FF_MEMLESS=y CONFIG_INPUT_EVDEV=y # CONFIG_SERIO_SERPORT is not set +CONFIG_VT_HW_CONSOLE_BINDING=y # CONFIG_LEGACY_PTYS is not set CONFIG_SERIAL_8250=y # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set @@ -631,24 +632,6 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_SIMPLEDRM=y -CONFIG_FB=y -CONFIG_FB_CIRRUS=m -CONFIG_FB_PM2=m -CONFIG_FB_CYBER2000=m -CONFIG_FB_ARC=m -CONFIG_FB_VGA16=m -CONFIG_FB_EFI=y -CONFIG_FB_NVIDIA=m -CONFIG_FB_NVIDIA_I2C=y -CONFIG_FB_NVIDIA_DEBUG=y -CONFIG_FB_I740=m -CONFIG_FB_LE80578=m -CONFIG_FB_CARILLO_RANCH=m -CONFIG_FB_RADEON=m -CONFIG_FB_RADEON_DEBUG=y -CONFIG_FB_SMSCUFX=m -CONFIG_FB_UDL=m -CONFIG_FB_IBM_GXT4500=m CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_SAHARA=m @@ -829,16 +812,6 @@ CONFIG_X509_CERTIFICATE_PARSER=m CONFIG_PKCS7_MESSAGE_PARSER=m CONFIG_CRC16=y CONFIG_CRC_ITU_T=y -CONFIG_FONTS=y -CONFIG_FONT_8x8=y -CONFIG_FONT_7x14=y -CONFIG_FONT_PEARL_8x8=y -CONFIG_FONT_ACORN_8x8=y -CONFIG_FONT_MINI_4x6=y -CONFIG_FONT_10x18=y -CONFIG_FONT_SUN8x16=y -CONFIG_FONT_SUN12x22=y -CONFIG_FONT_TER16x32=y CONFIG_PRINTK_TIME=y CONFIG_DYNAMIC_DEBUG=y CONFIG_DEBUG_KERNEL=y From fd7e410dcd0a82876966d0576a5892a73b7dc539 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 29 Aug 2023 10:09:18 +0200 Subject: [PATCH 42/59] config-mpi: Remove CONFIG_HID_APPLE=m (now implied) --- config-mpi | 1 - 1 file changed, 1 deletion(-) diff --git a/config-mpi b/config-mpi index 5f298f2dbe609..c466889a62197 100644 --- a/config-mpi +++ b/config-mpi @@ -671,7 +671,6 @@ CONFIG_SND_USB_AUDIO=m CONFIG_HIDRAW=y CONFIG_HID_GENERIC=m CONFIG_HID_A4TECH=m -CONFIG_HID_APPLE=m CONFIG_HID_BELKIN=m CONFIG_HID_CHERRY=m CONFIG_HID_CYPRESS=m From 6d9f3874ef6b31f7f18779d2aeec83a67d2ba24e Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 12 Sep 2023 12:18:24 +0200 Subject: [PATCH 43/59] config-mpi: Update for new kernel version --- config-mpi | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/config-mpi b/config-mpi index c466889a62197..9ff39bb0f52b6 100644 --- a/config-mpi +++ b/config-mpi @@ -38,20 +38,18 @@ CONFIG_CGROUP_BPF=y CONFIG_CGROUP_DEBUG=y CONFIG_USER_NS=y CONFIG_BLK_DEV_INITRD=y +CONFIG_KEXEC_FILE=y +CONFIG_CRASH_DUMP=y CONFIG_SMP=y CONFIG_X86_X2APIC=y CONFIG_GART_IOMMU=y CONFIG_NR_CPUS=512 CONFIG_X86_MCELOG_LEGACY=y -CONFIG_MICROCODE_AMD=y CONFIG_X86_MSR=m CONFIG_X86_CPUID=m CONFIG_NUMA=y CONFIG_EFI=y CONFIG_HZ_1000=y -CONFIG_KEXEC=y -CONFIG_KEXEC_FILE=y -CONFIG_CRASH_DUMP=y # CONFIG_RANDOMIZE_BASE is not set CONFIG_PHYSICAL_ALIGN=0x1000000 CONFIG_COMPAT_VDSO=y From 501ac84abb8365130c61e6f83db462603f75f99a Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 11 Sep 2023 13:17:08 +0200 Subject: [PATCH 44/59] config-mpi: (Re-)enable MICROCODE_LATE_LOADING Commit a77a94f862 (x86/microcode: Default-disable late loading) introduced the Kconfig option, defaulting to no, so it was disabled in our systems as it was backported to Linux v5.15.99 (commit 6d2b3a319144f3f5148d8a2b19549ea3bb118c2e). We want to have the option, so reenable it. --- config-mpi | 1 + 1 file changed, 1 insertion(+) diff --git a/config-mpi b/config-mpi index 9ff39bb0f52b6..0892dd6ed9fc0 100644 --- a/config-mpi +++ b/config-mpi @@ -45,6 +45,7 @@ CONFIG_X86_X2APIC=y CONFIG_GART_IOMMU=y CONFIG_NR_CPUS=512 CONFIG_X86_MCELOG_LEGACY=y +CONFIG_MICROCODE_LATE_LOADING=y CONFIG_X86_MSR=m CONFIG_X86_CPUID=m CONFIG_NUMA=y From 9e0e464815eef3a58e424f7b08d9d5307290b4ba Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Tue, 12 Sep 2023 12:28:12 +0200 Subject: [PATCH 45/59] Revert "drm/amdgpu: install stub fence into potential unused fence pointers" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 4921792e04f2125b5eadef9dbe9417a8354c7eff. [ 0.000000] Linux version 5.15.131.mx64.454 (root@theinternet.molgen.mpg.de) (gcc (GCC) 10.4.0, GNU ld (GNU Binutils) 2.41) #1 SMP Mon Sep 11 13:28:37 CEST 2023 [ 0.000000] Command line: BOOT_IMAGE=/boot/bzImage.x86_64 root=LABEL=root ro crashkernel=64G-:256M console=ttyS0,115200n8 console=tty0 init=/bin/systemd audit=0 random.trust_cpu=on systemd.unified_cgroup_hierarchy […] [ 0.000000] DMI: Dell Inc. Precision Tower 3620/0MWYPT, BIOS 2.24.0 11/10/2022 […] [ 38.107559] ------------[ cut here ]------------ [ 38.112197] WARNING: CPU: 2 PID: 550 at include/linux/dma-fence.h:478 amdgpu_sync_keep_later+0x76/0xc0 [amdgpu] [ 38.122494] Modules linked in: snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio led_class i915 8021q garp stp mrp llc amdgpu snd_hda_codec_hdmi snd_hda _intel tpm_tis snd_intel_dspcfg tpm_tis_core snd_hda_codec snd_hda_core snd_pcm tpm e1000e rng_core kvm iommu_v2 gpu_sched drm_ttm_helper iosf_mbi ttm irqbypass snd_timer snd soundcore wmi_bmof deflate efi_pstore iTCO_wdt intel_gtt iTCO_vendor_support wmi crc32c_intel video pstore nfsd auth_rpcgss oid_registry nfs_acl lockd grace sunrpc efivarfs ip_tables x_tables unix ipv6 autofs4 [ 38.174291] CPU: 2 PID: 550 Comm: Xorg:cs0 Not tainted 5.15.131.mx64.454 #1 [ 38.181251] Hardware name: Dell Inc. Precision Tower 3620/0MWYPT, BIOS 2.24.0 11/10/2022 [ 38.189348] RIP: 0010:amdgpu_sync_keep_later+0x76/0xc0 [amdgpu] [ 38.195310] Code: 39 48 85 db 74 19 48 8d 7b 38 b8 01 00 00 00 f0 0f c1 43 38 85 c0 74 41 78 14 83 c0 01 78 0f 48 89 5d 00 5b 5d c3 cc cc cc cc <0f> 0b eb bc be 01 00 00 00 e8 ec 95 fd e0 eb e5 be 03 00 00 00 e8 [ 38.214033] RSP: 0018:ffffc90001bcfb90 EFLAGS: 00010293 [ 38.219249] RAX: ffffffff82f430e0 RBX: ffff888109b04f40 RCX: 0000000000000059 [ 38.226369] RDX: ffff888103692598 RSI: ffff888109b04f40 RDI: ffff888131be98f8 [ 38.233488] RBP: ffff888131be98f8 R08: 0000000000000020 R09: 0000000000000001 [ 38.240608] R10: ffff88883dff9000 R11: 000000000002e158 R12: ffff888131be9878 [ 38.247737] R13: 0000000000000000 R14: 0000000000000000 R15: ffff888134d00000 [ 38.254858] FS: 00007f98ba42a6c0(0000) GS:ffff88881dc80000(0000) knlGS:0000000000000000 [ 38.262938] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 38.268688] CR2: 00000000007436f8 CR3: 0000000131b00004 CR4: 00000000003706e0 [ 38.275809] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 38.282930] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 38.290050] Call Trace: [ 38.292497] [ 38.294594] ? __warn+0x80/0x100 [ 38.297820] ? amdgpu_sync_keep_later+0x76/0xc0 [amdgpu] [ 38.303197] ? report_bug+0x9e/0xc0 [ 38.306697] ? handle_bug+0x3c/0x70 [ 38.310181] ? exc_invalid_op+0x14/0x70 [ 38.314014] ? asm_exc_invalid_op+0x16/0x20 [ 38.318191] ? amdgpu_sync_keep_later+0x76/0xc0 [amdgpu] [ 38.323561] amdgpu_sync_vm_fence+0x1f/0x40 [amdgpu] [ 38.328603] amdgpu_cs_ioctl+0x15ae/0x1ec0 [amdgpu] [ 38.333569] ? amdgpu_cs_find_mapping+0x110/0x110 [amdgpu] [ 38.339134] drm_ioctl_kernel+0xac/0x100 [ 38.343062] drm_ioctl+0x205/0x3b0 [ 38.346468] ? amdgpu_cs_find_mapping+0x110/0x110 [amdgpu] [ 38.352043] amdgpu_drm_ioctl+0x49/0x80 [amdgpu] [ 38.356745] __x64_sys_ioctl+0x8b/0xb0 [ 38.360508] do_syscall_64+0x40/0x90 [ 38.364081] entry_SYSCALL_64_after_hwframe+0x62/0xcc [ 38.369128] RIP: 0033:0x7f98c4f1b4db [ 38.372709] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <41> 89 c0 3d 00 f0 ff ff 77 1b 48 8b 44 24 18 64 48 2b 04 25 28 00 [ 38.391439] RSP: 002b:00007f98ba4298e0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 [ 38.398997] RAX: ffffffffffffffda RBX: 00007f98ba4299a0 RCX: 00007f98c4f1b4db [ 38.406118] RDX: 00007f98ba4299a0 RSI: 00000000c0186444 RDI: 000000000000000f [ 38.413241] RBP: 00000000c0186444 R08: 00007f98ba429ae0 R09: 00007f98ba429a88 [ 38.420364] R10: 00000000007bb450 R11: 0000000000000246 R12: 0000000000000000 [ 38.427486] R13: 000000000000000f R14: 00000000fffffffd R15: 00000000007c87c8 [ 38.434610] [ 38.436797] ---[ end trace ef9b2bf7b1907174 ]--- https://gitlab.freedesktop.org/drm/amd/-/issues/2820 Resolves: https://github.molgen.mpg.de/mariux64/bee-files/issues/2979 --- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 82f25996ff5ef..ad75623feb184 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -1451,7 +1451,6 @@ struct amdgpu_bo_va *amdgpu_vm_bo_add(struct amdgpu_device *adev, amdgpu_vm_bo_base_init(&bo_va->base, vm, bo); bo_va->ref_count = 1; - bo_va->last_pt_update = dma_fence_get_stub(); INIT_LIST_HEAD(&bo_va->valids); INIT_LIST_HEAD(&bo_va->invalids); @@ -2165,8 +2164,7 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm, int32_t xcp vm->update_funcs = &amdgpu_vm_cpu_funcs; else vm->update_funcs = &amdgpu_vm_sdma_funcs; - - vm->last_update = dma_fence_get_stub(); + vm->last_update = NULL; vm->last_unlocked = dma_fence_get_stub(); vm->last_tlb_flush = dma_fence_get_stub(); vm->generation = 0; @@ -2286,7 +2284,7 @@ int amdgpu_vm_make_compute(struct amdgpu_device *adev, struct amdgpu_vm *vm) } dma_fence_put(vm->last_update); - vm->last_update = dma_fence_get_stub(); + vm->last_update = NULL; vm->is_compute_context = true; /* Free the shadow bo for compute VM */ From f68c5d6a43826891dde44386e864b8498dfe5994 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 8 Sep 2023 10:41:10 +0200 Subject: [PATCH 46/59] config-mpi: Re-add CONFIG_UNIX Commit 97154bcf4d1b ("af_unix: Kconfig: make CONFIG_UNIX bool") changed CONFIG_UNIX from tristate to bool for Linux 6.5-rc1 We had CONFIG_UNIX=m before, which was automatically removed by by commit 327fb6d191a94f965 ("config-mpi: Update for new kernel version"). systemd requires CONFIG_UNIX: [ 3.321132] systemd[1]: Failed to allocate notification socket: Address family not supported by protocol [!!!!!!!] Failed to start up manager. [ 3.337317] systemd[1]: Freezing execution. Add CONFIG_UNIX=y and also CONFIG_UNIX_DIAG=m, which depends on CONFIG_UNIX and was also lost. --- config-mpi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config-mpi b/config-mpi index 0892dd6ed9fc0..bc41b5157d959 100644 --- a/config-mpi +++ b/config-mpi @@ -87,6 +87,8 @@ CONFIG_ZONE_DEVICE=y CONFIG_NET=y CONFIG_PACKET=m CONFIG_PACKET_DIAG=m +CONFIG_UNIX=y +CONFIG_UNIX_DIAG=m CONFIG_XFRM_USER=m CONFIG_INET=y CONFIG_IP_MULTICAST=y From 2e076717515006ec8b931993545a3b7421298ded Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 8 Sep 2023 11:11:43 +0200 Subject: [PATCH 47/59] config-mpi: Re-add CONFIG_AUTOFS Commit 1f2190d6b711 ("arch/*/configs/*defconfig: Replace AUTOFS4_FS by AUTOFS_FS") replaced CONFIG_AUTOFS4 with CONFIG_AUTOFS. Consequently, commit 0c2aafafd3bd3 automatically removed the CONFIG_AUTOFS4_FS option. Add the renamed option. --- config-mpi | 1 + 1 file changed, 1 insertion(+) diff --git a/config-mpi b/config-mpi index bc41b5157d959..3c691a295ddac 100644 --- a/config-mpi +++ b/config-mpi @@ -744,6 +744,7 @@ CONFIG_FANOTIFY=y CONFIG_QUOTA=y CONFIG_QUOTA_NETLINK_INTERFACE=y CONFIG_QFMT_V2=m +CONFIG_AUTOFS_FS=m CONFIG_FUSE_FS=m CONFIG_VIRTIO_FS=m CONFIG_OVERLAY_FS=m From 9a02c017930703b768f67ad49cf09eca57f7920f Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 8 Sep 2023 16:17:11 +0200 Subject: [PATCH 48/59] config-mpi: Re-Add CONFIG_FB=y Commit f3ba607af9fca ("config-mpi: Disable frame buffer drivers") removed CONFIG_FB, but we still need it for qemu vnc consoles and together with CONFIG_FB_EFI for Nvidia graphics devices [1]. Set CONFIG_FB and CONFIG_FB_EFI. With these set, CONFIG_VT_HW_CONSOLE_BINDING is defaulted. [1]: https://lore.kernel.org/dri-devel/87bkf5g89v.fsf@minerva.mail-host-address-is-not-set/T/#t --- config-mpi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config-mpi b/config-mpi index 3c691a295ddac..05f367d30a930 100644 --- a/config-mpi +++ b/config-mpi @@ -552,7 +552,6 @@ CONFIG_USB_NET_DM9601=m CONFIG_INPUT_FF_MEMLESS=y CONFIG_INPUT_EVDEV=y # CONFIG_SERIO_SERPORT is not set -CONFIG_VT_HW_CONSOLE_BINDING=y # CONFIG_LEGACY_PTYS is not set CONFIG_SERIAL_8250=y # CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set @@ -633,6 +632,8 @@ CONFIG_DRM_MGAG200=m CONFIG_DRM_BOCHS=m CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_SIMPLEDRM=y +CONFIG_FB=y +CONFIG_FB_EFI=y CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_APPLE=m CONFIG_BACKLIGHT_SAHARA=m From aa9a4e9a85bb591b1df4b35cdb3dcf770630690a Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Tue, 14 Nov 2023 08:16:34 +0100 Subject: [PATCH 49/59] config-mpi: Update for new kernel version --- config-mpi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config-mpi b/config-mpi index 05f367d30a930..f6d8d6a6da50a 100644 --- a/config-mpi +++ b/config-mpi @@ -80,6 +80,7 @@ CONFIG_IOSCHED_BFQ=y # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set CONFIG_BINFMT_MISC=y CONFIG_ZSWAP=y +CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y CONFIG_MEMORY_HOTPLUG=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_TRANSPARENT_HUGEPAGE=y @@ -802,7 +803,6 @@ CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_DES=y CONFIG_CRYPTO_CTS=m -CONFIG_CRYPTO_ECB=y CONFIG_CRYPTO_PCBC=y CONFIG_CRYPTO_CMAC=y CONFIG_CRYPTO_HMAC=y From 7249a75f38e3a9639e9ac220d5dddfa05c426485 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 11 Dec 2023 05:00:43 +0100 Subject: [PATCH 50/59] config-mpi: Update for new kernel version --- config-mpi | 1 + 1 file changed, 1 insertion(+) diff --git a/config-mpi b/config-mpi index f6d8d6a6da50a..3c48b47888ce0 100644 --- a/config-mpi +++ b/config-mpi @@ -38,6 +38,7 @@ CONFIG_CGROUP_BPF=y CONFIG_CGROUP_DEBUG=y CONFIG_USER_NS=y CONFIG_BLK_DEV_INITRD=y +CONFIG_KEXEC=y CONFIG_KEXEC_FILE=y CONFIG_CRASH_DUMP=y CONFIG_SMP=y From 403c391d6760376fdb34a5248524d234eb8436e2 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 20 Mar 2024 12:40:31 +0100 Subject: [PATCH 51/59] config-mpi: Update for new kernel version --- config-mpi | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/config-mpi b/config-mpi index 3c48b47888ce0..096ce3fe88da3 100644 --- a/config-mpi +++ b/config-mpi @@ -420,6 +420,7 @@ CONFIG_BLK_DEV_RAM=y CONFIG_VIRTIO_BLK=y CONFIG_BLK_DEV_NVME=y CONFIG_ENCLOSURE_SERVICES=y +# CONFIG_INTEL_MEI is not set CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR=y CONFIG_CHR_DEV_SG=y @@ -471,11 +472,9 @@ CONFIG_PATA_JMICRON=y CONFIG_PATA_MPIIX=y CONFIG_MD=y CONFIG_BLK_DEV_MD=y -CONFIG_MD_LINEAR=y CONFIG_MD_RAID0=y CONFIG_MD_RAID1=y CONFIG_MD_RAID456=y -CONFIG_MD_MULTIPATH=y CONFIG_BLK_DEV_DM=m CONFIG_DM_CRYPT=m CONFIG_DM_SNAPSHOT=m @@ -751,10 +750,9 @@ CONFIG_AUTOFS_FS=m CONFIG_FUSE_FS=m CONFIG_VIRTIO_FS=m CONFIG_OVERLAY_FS=m -CONFIG_FSCACHE=y CONFIG_FSCACHE_STATS=y CONFIG_FSCACHE_DEBUG=y -CONFIG_CACHEFILES=y +CONFIG_CACHEFILES=m CONFIG_CACHEFILES_DEBUG=y CONFIG_ISO9660_FS=m CONFIG_JOLIET=y From 9b8edd800a0f081e27d1d58b2f2486737553856e Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 12 Apr 2024 11:25:19 +0200 Subject: [PATCH 52/59] config-mpi: Update for new kernel version --- config-mpi | 4 ---- 1 file changed, 4 deletions(-) diff --git a/config-mpi b/config-mpi index 096ce3fe88da3..c3ed618f2ceb6 100644 --- a/config-mpi +++ b/config-mpi @@ -40,7 +40,6 @@ CONFIG_USER_NS=y CONFIG_BLK_DEV_INITRD=y CONFIG_KEXEC=y CONFIG_KEXEC_FILE=y -CONFIG_CRASH_DUMP=y CONFIG_SMP=y CONFIG_X86_X2APIC=y CONFIG_GART_IOMMU=y @@ -289,7 +288,6 @@ CONFIG_IP_NF_MANGLE=m CONFIG_IP_NF_TARGET_ECN=m CONFIG_IP_NF_TARGET_TTL=m CONFIG_IP_NF_RAW=m -CONFIG_IP_NF_ARPTABLES=m CONFIG_IP_NF_ARPFILTER=m CONFIG_IP_NF_ARP_MANGLE=m CONFIG_NFT_DUP_IPV6=m @@ -371,7 +369,6 @@ CONFIG_NET_ACT_POLICE=m CONFIG_NET_ACT_GACT=m CONFIG_GACT_PROB=y CONFIG_NET_ACT_MIRRED=m -CONFIG_NET_ACT_IPT=m CONFIG_NET_ACT_NAT=m CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m @@ -760,7 +757,6 @@ CONFIG_ZISOFS=y CONFIG_UDF_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m -CONFIG_NTFS_FS=m CONFIG_PROC_KCORE=y CONFIG_PROC_CHILDREN=y CONFIG_TMPFS_POSIX_ACL=y From 22da9cff39d26a51906589ee5b9fa5e7552595d4 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 12 Apr 2024 11:36:39 +0200 Subject: [PATCH 53/59] config-mpi: Enable NTF3_FS Now that NTFS_FS is no longer avaiilable, enable NTFS3_FS. --- config-mpi | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config-mpi b/config-mpi index c3ed618f2ceb6..db8059ef636ad 100644 --- a/config-mpi +++ b/config-mpi @@ -757,6 +757,8 @@ CONFIG_ZISOFS=y CONFIG_UDF_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m +CONFIG_NTFS3_FS=m +CONFIG_NTFS3_LZX_XPRESS=y CONFIG_PROC_KCORE=y CONFIG_PROC_CHILDREN=y CONFIG_TMPFS_POSIX_ACL=y From 792b8e193eeb097dc1016b207b63cc358de5052f Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 14 Aug 2024 12:22:02 +0200 Subject: [PATCH 54/59] config-mpi: Update for new kernel version --- config-mpi | 1 + 1 file changed, 1 insertion(+) diff --git a/config-mpi b/config-mpi index db8059ef636ad..abcd1fbfe9163 100644 --- a/config-mpi +++ b/config-mpi @@ -774,6 +774,7 @@ CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y CONFIG_SQUASHFS_EMBEDDED=y CONFIG_PSTORE=m CONFIG_NFS_FS=m +CONFIG_NFS_V2=m CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=m CONFIG_NFS_SWAP=y From a01c40f996c9cd94090ccf79396eca9c789347ea Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Wed, 14 Aug 2024 12:23:04 +0200 Subject: [PATCH 55/59] config-mpi: Disable NFS_V2 --- config-mpi | 1 - 1 file changed, 1 deletion(-) diff --git a/config-mpi b/config-mpi index abcd1fbfe9163..db8059ef636ad 100644 --- a/config-mpi +++ b/config-mpi @@ -774,7 +774,6 @@ CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y CONFIG_SQUASHFS_EMBEDDED=y CONFIG_PSTORE=m CONFIG_NFS_FS=m -CONFIG_NFS_V2=m CONFIG_NFS_V3_ACL=y CONFIG_NFS_V4=m CONFIG_NFS_SWAP=y From 90ac674afadd9269e9671ac740fb78e75bfda670 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Mon, 1 Jul 2024 17:58:01 +0200 Subject: [PATCH 56/59] lib/build_OID_registry: avoid non-destructive substitution for Perl < 5.13.2 compat MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On a system with Perl 5.12.1, commit 5ef6dc08cfde ("lib/build_OID_registry: don't mention the full path of the script in output") causes the build to fail with the error below. Bareword found where operator expected at ./lib/build_OID_registry line 41, near "s#^\Q$abs_srctree/\E##r" syntax error at ./lib/build_OID_registry line 41, near "s#^\Q$abs_srctree/\E##r" Execution of ./lib/build_OID_registry aborted due to compilation errors. make[3]: *** [lib/Makefile:352: lib/oid_registry_data.c] Error 255 Ahmad Fatoum analyzed that non-destructive substitution is only supported since Perl 5.13.2. Instead of dropping `r` and having the side effect of modifying `$0`, introduce a dedicated variable to support older Perl versions. Link: https://lkml.kernel.org/r/20240702223512.8329-2-pmenzel@molgen.mpg.de Link: https://lkml.kernel.org/r/20240701155802.75152-1-pmenzel@molgen.mpg.de Fixes: 5ef6dc08cfde ("lib/build_OID_registry: don't mention the full path of the script in output") Link: https://lore.kernel.org/all/259f7a87-2692-480e-9073-1c1c35b52f67@molgen.mpg.de/ Signed-off-by: Paul Menzel Suggested-by: Ahmad Fatoum Cc: Uwe Kleine-König Cc: Nicolas Schier Cc: Masahiro Yamada Cc: Ahmad Fatoum Signed-off-by: Andrew Morton --- lib/build_OID_registry | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/build_OID_registry b/lib/build_OID_registry index 56d8bafeb848b..8267e8d71338b 100755 --- a/lib/build_OID_registry +++ b/lib/build_OID_registry @@ -38,7 +38,9 @@ close IN_FILE || die; # open C_FILE, ">$ARGV[1]" or die; print C_FILE "/*\n"; -print C_FILE " * Automatically generated by ", $0 =~ s#^\Q$abs_srctree/\E##r, ". Do not edit\n"; +my $scriptname = $0; +$scriptname =~ s#^\Q$abs_srctree/\E##; +print C_FILE " * Automatically generated by ", $scriptname, ". Do not edit\n"; print C_FILE " */\n"; # From e3fb37a17559162947f0d146ff3b3e414e7e6e06 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 22 Aug 2024 10:51:34 +0200 Subject: [PATCH 57/59] config-mpi: Update for new kernel version --- config-mpi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config-mpi b/config-mpi index db8059ef636ad..e11e41a3022e6 100644 --- a/config-mpi +++ b/config-mpi @@ -456,6 +456,7 @@ CONFIG_SCSI_QLOGIC_1280=y CONFIG_SCSI_DH=y CONFIG_ATA=y CONFIG_SATA_AHCI=y +CONFIG_SATA_MOBILE_LPM_POLICY=0 CONFIG_SATA_SIL24=y CONFIG_ATA_PIIX=y CONFIG_SATA_NV=y @@ -748,7 +749,6 @@ CONFIG_FUSE_FS=m CONFIG_VIRTIO_FS=m CONFIG_OVERLAY_FS=m CONFIG_FSCACHE_STATS=y -CONFIG_FSCACHE_DEBUG=y CONFIG_CACHEFILES=m CONFIG_CACHEFILES_DEBUG=y CONFIG_ISO9660_FS=m @@ -783,6 +783,7 @@ CONFIG_NFS_FSCACHE=y CONFIG_NFSD=m CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y +# CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set CONFIG_SUNRPC_DEBUG=y CONFIG_CEPH_FS=m CONFIG_CEPH_FSCACHE=y From 7c0fa1bbf92af5eb4d889b2a30e49e8a22ca1f2e Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Thu, 22 Aug 2024 10:53:22 +0200 Subject: [PATCH 58/59] config-mpi: Reenable NFSD_LEGACY_CLIENT_TRACKING --- config-mpi | 1 - 1 file changed, 1 deletion(-) diff --git a/config-mpi b/config-mpi index e11e41a3022e6..6a71e8968c0a8 100644 --- a/config-mpi +++ b/config-mpi @@ -783,7 +783,6 @@ CONFIG_NFS_FSCACHE=y CONFIG_NFSD=m CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y -# CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set CONFIG_SUNRPC_DEBUG=y CONFIG_CEPH_FS=m CONFIG_CEPH_FSCACHE=y From fc57cad3abd049f14fac55e791c514b17b15a7aa Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Mon, 30 Sep 2024 16:10:44 +0200 Subject: [PATCH 59/59] config-mpi: Update for new kernel version --- config-mpi | 1 + 1 file changed, 1 insertion(+) diff --git a/config-mpi b/config-mpi index 6a71e8968c0a8..b8cb9e5cdf448 100644 --- a/config-mpi +++ b/config-mpi @@ -796,6 +796,7 @@ CONFIG_NLS_CODEPAGE_852=m CONFIG_NLS_ISO8859_1=m CONFIG_NLS_UTF8=m CONFIG_DLM=m +CONFIG_LSM="landlock,lockdown,yama,loadpin,safesetid,bpf" CONFIG_CRYPTO_RSA=y CONFIG_CRYPTO_AES=y CONFIG_CRYPTO_DES=y