Uploaded image for project: 'Lustre'
  1. Lustre
  2. LU-8192

Unsafe access to keyrings in gss_kt_instantiate

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Severity:
      3
    • Rank (Obsolete):
      9223372036854775807

      Description

      Apparently you cannot just fetch a keyring like:

      rc = key_link(key_tgcred(current)->session_keyring, key);
      

      This is unsafe and supposedly not even accessible, because sparse warns it's in wrong address space, also in
      request_key_unlink():

                      ring = key_get(rcu_dereference(key_tgcred(tsk)
                                                     ->session_keyring));
      

      The errors I get are:

      lustre/ptlrpc/gss/gss_keyring.c:1308 warning: incorrect type in argument 1 (different address spaces) expected "struct key *keyring" got "struct key [noderef] <asn:4>*const [noderef] <asn:4>session_keyring"
      lustre/ptlrpc/gss/gss_keyring.c:695 warning: cast removes address space of expression
      

        Attachments

          Activity

            People

            • Assignee:
              jfilizetti Jeremy Filizetti
              Reporter:
              green Oleg Drokin
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated: