Cosa succede se un argomento del kernel di linux viene passato due volte con valori diversi?

Come dice la domanda, cosa succede se passai

kernel /vmlinuz audit=1 audit=0 

Verrà triggersto o distriggersto il controllo? O il kernel sarà semplicemente freak out? O è indefinito e dipenderà dalla generazione del kernel / argomento passato?

  • Server alto% ni (carino) carico
  • CentOS 5.4 gestisce correttamente i secondi di salto?
  • Monitoraggio semplice del server web (vivo)
  • iotop e iostat non sono d'accordo
  • C'è un sapore preferito di linux per l'hosting di applicazioni web?
  • Samba4 server membro di dominio: gli utenti non possono vedere l'elenco di condivisioni, ma vengono richiesti una password samba
  • Come ridurre la memory utilizzata da Tomcat?
  • Come creare RPM per l'arco a 32 bit da un server di architettura a 64 bit?
  • È ansible monitorare / raccogliere statistiche sulle tariffe di timeout di ricerca DNS?
  • Come verificare che il mio CentOS Guest in un host VMWare ESX utilizza il driver di networking degli strumenti vmware?
  • Qual è il modo giusto per avviare un servizio node.js?
  • Supervisord - errore di file ini su CentOS
  • One Solution collect form web for “Cosa succede se un argomento del kernel di linux viene passato due volte con valori diversi?”

    Beh, guardando il codice Vanilla in linux / kernel / params.c e la function parse_one (per v3.2.6) supporre che l' audit=0 sarebbe la versione utilizzata dal kernel come l'ultima nell'elenco.

     static int parse_one(char *param, char *val, const struct kernel_param *params, unsigned num_params, int (*handle_unknown)(char *param, char *val)) { unsigned int i; int err; /* Find parameter */ for (i = 0; i < num_params; i++) { if (parameq(param, params[i].name)) { /* No one handled NULL, so do it here. */ if (!val && params[i].ops->set != param_set_bool) return -EINVAL; DEBUGP("They are equal! Calling %p\n", params[i].ops->set); mutex_lock(&param_lock); err = params[i].ops->set(val, &params[i]); mutex_unlock(&param_lock); return err; } } if (handle_unknown) { DEBUGP("Unknown argument: calling %p\n", handle_unknown); return handle_unknown(param, val); } DEBUGP("Unknown argument `%s'\n", param); return -ENOENT; } 

    Non sono vicino a una macchina GNU / Linux per verificare in questo momento, e dipenderebbe anche dalle patch eseguite dal distributore del tuo kernel.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.