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?

  • Equivalente di SysInternals FileMon per Linux?
  • Come posso verificare se un volume è montato where si suppone che sta utilizzando Python?
  • Swapiness di Linux - Regolazione delle impostazioni di Kernel VM
  • NGINX timeout dopo + 200 connessioni simultanee
  • Come trovare quello che utilizza linux swap o che cosa è nello swap?
  • È una posizione centrale per le chiavi autorizzate una buona idea?
  • centos 6 nfs: registri che non vengono mostrati da nessuna parte
  • Impostazione di Exim per inoltrare la posta
  • Eccessiva richiesta DHCP in / var / log / messaggi: DHCPINFORM, DHCPACK e DHCPREQUEST ripetuti
  • / dev / mapper / VolGroup-lv_root non ha più spazio a sinistra?
  • Installare libxml2 2.7.X su CentOS 5.X
  • Monitoraggio del server di produzione
  • 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.