I'm not sure if this is still the case, but for a while Microsoft would provide source-code to the Windows NT kernel to universities and academic institutions; the source was open (for some definition of "open") but because Microsoft did not allow redistribution and modification, and only allowed the code to be used for educational purposes, it was not Free software.
If A GPL'd the software then C has a right to the exact code running on their device. This is not the case under other licenses that people like to call "more free".
What right is missing: The ability to compile a new kernel for an embedded device. Qualcomm, Marvell, Broadcom, ARM, NVIDIA, and many others. They provide binary device drivers that work only with specific versions of the Linux kernel. Consequently, my home router has more computing power than my desktop 20 years ago, but my desktop was free to run any software and my router is just a router.
Also, Android devices almost never update, for the same reason.