{"push_id":821534035,"size":228,"distinct_size":14,"ref":"refs/heads/pr","head":"f244747af5fd94c94fb8ff0833a25fabc2c678ae","before":"5e4cbb93622e87993fa25698bc486e1b731f29ad","commits":[{"sha":"c19d619d42588dfcfbd5c23c7290d975d0294e65","author":{"email":"010a814abae6fd9e009bcccce00d2e7c2ba85f25@gmail.com","name":"Jacob Adams"},"message":"Importing bin/dd\n\nChange-Id: Ibdfed821aa834419c9713dc80f698c8ed74ff269","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/c19d619d42588dfcfbd5c23c7290d975d0294e65"},{"sha":"2a6b817353178ab6dadad223ed9b2ffbd024d7cc","author":{"email":"010a814abae6fd9e009bcccce00d2e7c2ba85f25@gmail.com","name":"Jacob Adams"},"message":"Add manpage for sprofalyze\n\nChange-Id: I206a5878e8f788ea4ff742453148462959263a6a","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/2a6b817353178ab6dadad223ed9b2ffbd024d7cc"},{"sha":"be4841096dc297191f45f8a3f9a8bcdf7abe0f33","author":{"email":"010a814abae6fd9e009bcccce00d2e7c2ba85f25@gmail.com","name":"Jacob Adams"},"message":"Add manpage for sprofdiff\n\nChange-Id: Ifa98ab133ef818d21921f05db650069448ea52ff","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/be4841096dc297191f45f8a3f9a8bcdf7abe0f33"},{"sha":"c14bb31e676f247da9a898be7ad8a414dde58838","author":{"email":"e0b0b8d2e5835f63b249d8c02cf290dff6a0ac75@users.noreply.github.com","name":"Jacob Adams"},"message":"sprofalyze: Fix minor typo\n\nChange-Id: I0a419833fb2f438808613737680ace7246713ee9","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/c14bb31e676f247da9a898be7ad8a414dde58838"},{"sha":"c6748a4a939bc6daaf1d96c03a5c497965a424d6","author":{"email":"010a814abae6fd9e009bcccce00d2e7c2ba85f25@gmail.com","name":"Jacob Adams"},"message":"cawf: Fix buffer scope\n\nChange-Id: I03f9066c20da142034626b07d0b07c446075b8af","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/c6748a4a939bc6daaf1d96c03a5c497965a424d6"},{"sha":"d9494baa34075b158415cc42d68bd0927d8124c1","author":{"email":"010a814abae6fd9e009bcccce00d2e7c2ba85f25@gmail.com","name":"Jacob Adams"},"message":"cawf: Update K&R function declarations\n\nChange-Id: Ib18171089c7b389f7f2643d7298f9659e882f65c","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/d9494baa34075b158415cc42d68bd0927d8124c1"},{"sha":"179bddcf5d405fd9e76b2f859b8ae1914df4a989","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"VFS: fix error behavior for partial pipe writes\n\nThis patch fixes two related issues:\n\n- If a large (>PIPE_BUF) pipe write is processed partially, only to be\n  followed by a write error condition, then the process is left in an\n  incorrect state, possibly causing VFS to crash on a subsequent call.\n\n- If such a partially processed large pipe write ends up resulting in\n  an EPIPE error, no corresponding SIGPIPE signal is generated.\n\nThe corrected behavior is tested in test68.\n\nChange-Id: I5540e61ab6bcc60a31201485eda04bc49ece2ca8","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/179bddcf5d405fd9e76b2f859b8ae1914df4a989"},{"sha":"7eb698ea4ab08ffe5f6cf9338e85eaee0f4de4c1","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"VFS: during initial mount, receive but block work\n\nFor VFS, initialization is a special case for processing work: PFS\nand the ramdisk MFS must be fully mounted before VFS can process any\nother requests, in particular from init(8). This case was handled by\nreceiving reply messages only from the FS service being mounted, but\nthis effectively disallowed PFS from calling setuid(2) at startup.\n\nThis patch lets VFS receive all messages during the mounting process,\nbut defer processing any new requests. As a result, the FS services\nhave a bit more freedom in what they can do during startup.\n\nChange-Id: I18275f458952a8d790736a9c9559b27bbef97b7b","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/7eb698ea4ab08ffe5f6cf9338e85eaee0f4de4c1"},{"sha":"dfc326153594d66dfe6fe8e63ec89bc102b0e050","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"PFS, inet: use static UID to drop privileges\n\nPreviously, services would obtain the user ID of \"service\" through\ngetpwnam(3).  While this approach is conceptually better, it also\nimposes linking against libc which in turn causes problems with\nprintf(3), which already led to PFS no longer dropping privileges at\nall.  For now, we hardcode SERVICE_UID and use that instead.\n\nIn the future, two changes should allow removal of SERVICE_UID again:\n- \"service edit\" should cause RS to request that a service (such as\n  PFS) drop privileges through SEF, using the user ID resolved by\n  service(8), or something similar;\n- a future devfs should make it possible for inet to start without\n  root privileges altogether.\n\nChange-Id: Ie02a1e888cde325806fc0ae76909943ac42c9b96","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/dfc326153594d66dfe6fe8e63ec89bc102b0e050"},{"sha":"44707c1900f2a0f1cb5c20e60477b0c2c9ceb595","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"inet: do not link against libc\n\nThis should make its printed errors show up again.\n\nChange-Id: I6839a584dc2a544bae7973ded3ab1dacf04e4ec0","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/44707c1900f2a0f1cb5c20e60477b0c2c9ceb595"},{"sha":"af4345b097464c1f67eb821ea6f0fba8ea66c952","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"isofs: do not link against libc\n\nThis change requires a small patch to libc, in order to avoid that\nlibminc has to pull in a large chunk of libc just for mktime(3).\n\nChange-Id: I48e598b3716eff626cac461f78a41e32334e6b28","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/af4345b097464c1f67eb821ea6f0fba8ea66c952"},{"sha":"e1e2bc96d2c2a83a431fe9478de7613158865cc7","author":{"email":"f1900334b06276b3e3a4ba9f6bb2373c258093bc@googlemail.com","name":"rlfnb"},"message":"handle lack of pckbd more gracefully\n\nkb_init() panics, if no keyboard controller is found during self-test.\nInstead of panic, the driver should quit the init process and tell it the SEF .\n\nChange-Id: Icdfb7125f5d4062f46cfbbdbbb9e54ac4b273642","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/e1e2bc96d2c2a83a431fe9478de7613158865cc7"},{"sha":"5055c7ea51bec626819d6189dcb215ad475d322b","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"VFS: fix pipe resumption delay bug\n\nCommit 723e513 erroneously removed a yield() call from VFS which was\nnecessary to get resumed pipe read/write threads to run before VFS\nblocks on receive().  The removal caused those threads to run only\nonce VFS received another message, effectively slowing down activity\non pipes to a crawl in some cases.\n\nInstead of readding the yield() call, this patch restructures the\nget_work() code to go back through the main message loop even when no\nnew work is received, thus ensuring that newly started threads are\nalways activated without requiring a special case.\n\nThis fixes #65.\n\nChange-Id: I59b7fb9e403d87dba1a5deecb04539cc37517742","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/5055c7ea51bec626819d6189dcb215ad475d322b"},{"sha":"07cbc27cb035cb35396ada075dab04b04317a259","author":{"email":"f1e7578ff3e765defdf4a893bcc0bbe9deee4252@yahoo.com.br","name":"Leonardo Fogel"},"message":"Add a driver for the eMMC on the BeagleBone Black\n\nChange-Id: I30ab36ac048c65538718e372db9502fb8f51d41f","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/07cbc27cb035cb35396ada075dab04b04317a259"},{"sha":"22840dea11f020ba466a94352f644d4f75e0e1fd","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"libfsdriver: preinitialize stat.st_ino\n\nThe stat.st_ino field must always be filled with the inode number\ngiven as part of the fdr_stat request anyway, so libfsdriver can\nsimply fill in the number and allow the file system not to bother.\n\nChange-Id: Ia7a849d0b23dfc83010df0d48fa26e4225427694","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/22840dea11f020ba466a94352f644d4f75e0e1fd"},{"sha":"3f30eb69f06e23d35b1afcf262f8d5e2c83777c5","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"libfsdriver: default to noop for putnode\n\nWhile putnode requests should always succeed, very simple file system\nservices may not care about reference counts and thus about putnode\nrequests at all.  For this reason, we now default to an OK response if\nno fdr_putnode implementation is given.\n\nChange-Id: I01f6421abf4546a1f69d8c21900a92d6acc45745","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/3f30eb69f06e23d35b1afcf262f8d5e2c83777c5"},{"sha":"0a2a08739e5ee13a20ba5d874beca4958a42cb49","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"libfsdriver: clear VM cache only if used\n\nAs part of its built-in mmap emulation support for \"none\" file system\nservices, libfsdriver clears the VM cache upon exit.  However, for\ntrivial file systems which do not even support reading from files, the\nthe VM cache need to be cleared either.  With this patch, the VM cache\nis cleared only when modified, so that such trivial file systems need\nnot be given CLEARCACHE permission.\n\nChange-Id: I518c092443455302b9b9728f10a3f894d2c8036b","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/0a2a08739e5ee13a20ba5d874beca4958a42cb49"},{"sha":"da21d850255e4f11bb2023f69a0b3aad4eab62e2","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"Add PTYFS, Unix98 pseudo terminal support\n\nThis patch adds support for Unix98 pseudo terminals, that is,\nposix_openpt(3), grantpt(3), unlockpt(3), /dev/ptmx, and /dev/pts/.\nThe latter is implemented with a new pseudo file system, PTYFS.\n\nIn effect, this patch adds secure support for unprivileged pseudo\nterminal allocation, allowing programs such as tmux(1) to be used by\nnon-root users as well.  Test77 has been extended with new tests, and\nno longer needs to run as root.\n\nThe new functionality is optional.  To revert to the old behavior,\nremove the \"ptyfs\" entry from /etc/fstab.\n\nTechnical nodes:\n\no The reason for not implementing the NetBSD /dev/ptm approach is that\n  implementing the corresponding ioctl (TIOCPTMGET) would require\n  adding a number of extremely hairy exceptions to VFS, including the\n  PTY driver having to create new file descriptors for its own device\n  nodes.\n\no PTYFS is required for Unix98 PTYs in order to avoid that the PTY\n  driver has to be aware of old-style PTY naming schemes and even has\n  to call chmod(2) on a disk-backed file system.  PTY cannot be its\n  own PTYFS since a character driver may currently not also be a file\n  system.  However, PTYFS may be subsumed into a DEVFS in the future.\n\no The Unix98 PTY behavior differs somewhat from NetBSD's, in that\n  slave nodes are created on ptyfs only upon the first call to\n  grantpt(3).  This approach obviates the need to revoke access as\n  part of the grantpt(3) call.\n\no Shutting down PTY may leave slave nodes on PTYFS, but once PTY is\n  restarted, these leftover slave nodes will be removed before they\n  create a security risk.  Unmounting PTYFS will make existing PTY\n  slaves permanently unavailable, and absence of PTYFS will block\n  allocation of new Unix98 PTYs until PTYFS is (re)mounted.\n\nChange-Id: I822b43ba32707c8815fd0f7d5bb7a438f51421c1","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/da21d850255e4f11bb2023f69a0b3aad4eab62e2"},{"sha":"0eabb93c0c1d18ee661e6ed51798f14d2dfd3f92","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"procfs: retrieve both RS tables from RS at once\n\nPreviously, procfs would retrieve the rproc and rprocpub tables from\nRS in two separate calls.  This allowed for a race condition where the\ntables could change in between the calls, resulting in a panic in\nprocfs under certain circumstances.  RS now implements a new method\nfor getsysinfo that allows the retrieval of both tables at once.\n\nChange-Id: I5ec22d25898361270c90e805a43fc6d76ad9e29d","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/0eabb93c0c1d18ee661e6ed51798f14d2dfd3f92"},{"sha":"f5321d8d554b9078e14d901f17916313ae4b8e64","author":{"email":"aa743a0aaec8f7d7a1f01442503957f4d7a2d634@minix3.org","name":"David van Moolenbroek"},"message":"procfs: do not list inactive services\n\nEach /proc/service entry must have a unique label.  With cloning,\nmultiple RS services may have the same label.  Since we are not\nactually interested in inactive services (for now), eliminate those\nentries, leaving only the active service which will then indeed have\na unique label in the list.  This resolves a procfs crash.\n\nChange-Id: I0de7ef8fd186ab13f3e22e46416504fd981c09aa","distinct":false,"url":"https://api.github.com/repos/sambuc/minix/commits/f5321d8d554b9078e14d901f17916313ae4b8e64"}]}