What is the purpose of the magic numbers in Linux reboot?
On the Wikipedia page for Linus Torvalds, it is stated:
The Linux kernel's reboot system call accepts their dates of birth (written in hexadecimal) as magic values.
The documentation for the Linux reboot()
function shows that it needs two magic numbers, magic
and magic2
to reboot.
A Google search reveals plenty of info about the magic numbers, but not specifically what their purpose is, and why the function needs to be passed these values in order to operate.
I'm really having a hard time trying to work this out. It seems to me that the magic values are just passed for the sake of it.
Any information is appreciated...
The magic numbers are so that a memory error that flips bits in the system call number which results in the reboot system call's number won't reboot the machine unless the memory error also happens to change the arguments to the magic numbers.
Although I have no evidence to provide, I think that the previous explanation is plausible if not true.