minix/drivers
David van Moolenbroek c51cd5fe91 Server/driver protocols: no longer allow third-party copies.
Before safecopies, the IO_ENDPT and DL_ENDPT message fields were needed
to know which actual process to copy data from/to, as that process may
not always be the caller. Now that we have full safecopy support, these
fields have become useless for that purpose: the owner of the grant is
*always* the caller. Allowing the caller to supply another endpoint is
in fact dangerous, because the callee may then end up using a grant
from a third party. One could call this a variant of the confused
deputy problem.

From now on, safecopy calls should always use the caller's endpoint as
grant owner. This fully obsoletes the DL_ENDPT field in the
inet/ethernet protocol. IO_ENDPT has other uses besides identifying the
grant owner though. This patch renames IO_ENDPT to USER_ENDPT, not only
because that is a more fitting name (it should never be used for I/O
after all), but also in order to intentionally break any old system
source code outside the base system. If this patch breaks your code,
fixing it is fairly simple:

- DL_ENDPT should be replaced with m_source;
- IO_ENDPT should be replaced with m_source when used for safecopies;
- IO_ENDPT should be replaced with USER_ENDPT for any other use, e.g.
  when setting REP_ENDPT, matching requests in CANCEL calls, getting
  DEV_SELECT flags, and retrieving of the real user process's endpoint
  in DEV_OPEN.

The changes in this patch are binary backward compatible.
2011-04-11 17:35:05 +00:00
..
acpi ACPI pci-to-pci bridges 2010-10-21 17:07:09 +00:00
ahci Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
amddev Rename mkfiles from minix.*.mk to bsd.*.mk 2010-06-25 18:29:09 +00:00
at_wini Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
atl2 Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
audio drivers/sb16: delete altogether; the latest copy is in drivers/audio/sb16 2011-03-25 10:48:16 +00:00
bios_wini Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
dec21140A Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
dp8390 Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
dpeth Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
e1000 Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
filter Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
floppy libsys: add standard condition spinning primitives 2010-07-12 23:14:40 +00:00
fxp Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
hello Use int64 functions consistently 2010-11-07 23:35:29 +00:00
lance Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
log Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
memory Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
orinoco Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
pci misc drivers: remove more non-safecopy support 2011-03-25 10:45:57 +00:00
printer Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
ramdisk ramdisk: Add procfs to ramdisk 2011-02-23 13:05:28 +00:00
random Remove redundant sha2 code from inet 2010-11-15 11:10:02 +00:00
readclock Rename mkfiles from minix.*.mk to bsd.*.mk 2010-06-25 18:29:09 +00:00
rtl8139 Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
rtl8169 Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
ti1225 put env_arg[cv] declaration in minix/sysutil.h 2010-07-29 21:16:23 +00:00
tty Server/driver protocols: no longer allow third-party copies. 2011-04-11 17:35:05 +00:00
Makefile drivers/sb16: delete altogether; the latest copy is in drivers/audio/sb16 2011-03-25 10:48:16 +00:00
Makefile.inc Makefile updates: 2010-06-11 16:05:36 +00:00