summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2013-11-15libdiskfs: remove dead assignmentJustus Winter
Found using the Clang Static Analyzer. * libdiskfs/io-write.c (diskfs_S_io_write): Remove dead assignment.
2013-11-10utils: implement portinfo --searchJustus Winter
Implement the --search switch of portinfo. The feature was suggested in the source code and partly implemented. portinfo --search locates the target ports (or all ports) in any other process and prints the port mapping and information about the port in the remote process. * utils/Makefile: Link portinfo against libps. * utils/portinfo.c (options): Enable --search option. (search_for_port): New function. (search_for_ports): Likewise. (main): Call search_for_port{,s} as appropiate.
2013-11-10libshouldbeinlibc: fix reference counting in port_name_xlator_createJustus Winter
Both task ports are deallocated in the destructor, so they must be referenced in the constructor. * libshouldbeinlibc/portxlate.c (port_name_xlator_create): Fix reference counting.
2013-11-10mach-defpager: include errno.hJustus Winter
* mach-defpager/default_pager.c: Include errno.h.
2013-11-10proc: turn count_up and store_pid into normal functionsJustus Winter
Previously count_up and store_pid were defined inside S_proc_getallpids. Move them out of that function and declare them static. * proc/mgt.c: Turn count_up and store_pid into normal functions.
2013-11-10term: fix error handling in hurdio_mdmctlJustus Winter
hurdio_mdmctl allows one to set and clear bits from the modem control bit vector. However, plausible code paths exist that leave oldbits uninitialized. Fix this by returning an error instead if retrieving the oldbits failed and the bit set or clear operation was selected. Found using the Clang Static Analyzer. * term/hurdio.c (hurdio_mdmctl): Fix error handling.
2013-11-09mach-defpager: remove unused variablesJustus Winter
Found using the Clang Static Analyzer. * mach-defpager/default_pager.c (seqnos_memory_object_terminate): Remove unused variables request_refs and name_refs.
2013-11-09mach-defpager: turn dealloc_direct into a normal functionJustus Winter
* mach-defpager/default_pager.c (dealloc_direct): Move function definition outside of pager_truncate.
2013-11-09auth: fix use of uninitialized variable errJustus Winter
Previously a plausible execution path existed so the value of err was undefined at the end of the function, making the function return arbitrary error values. Fix this by initializing it to 0. Found using the Clang Static Analyzer. * auth/auth.c (S_auth_server_authenticate): Initialize err to 0.
2013-11-09init: fix memory leakJustus Winter
Found using the Clang Static Analyzer. * init/init.c (process_signal): Fix memory leak.
2013-11-09proc: fix error handling in S_proc_exception_raiseJustus Winter
Found using the Clang Static Analyzer. * proc/mgt.c (S_proc_exception_raise): Fix error propagation.
2013-11-09proc: fix a use-after-free errorJustus Winter
If we have to create a new process group, we have to do this before leaving the current one. The current process group is deallocated if the process is the last process in that group. Likewise, if the current group was the last group in the current groups session, the session is deallocated. Found using the Clang Static Analyzer. * proc/pgrp.c (S_proc_setpgrp): Fix use-after-free error.
2013-11-09proc: fix the declaraton of genpidJustus Winter
* proc/proc.h (genpid): Fix declaration.
2013-11-09proc: remove declaration of nested functions from proc.hJustus Winter
Remove the declaration of count_up and strore_pid from proc.h. The functions are defined as nested functions in S_proc_getallpids, there is no need to declare them. Furthermore, the declaration does not match the definition. * proc/proc.h: Remove declaration of count_up and strore_pid.
2013-11-09utils: implement settrans --pid-fileJustus Winter
This switch makes settrans write the pid file of the active translator it starts to a file. This makes the pid easily retrievable for test suites. * utils/settrans.c (options): Add --pid-file. (main): Add variable pid_file. (parse_opt): Handle --pid-file switch. (open_node): Write pid file.
2013-11-09libports: fix the thread counts in case the thread creation failsJustus Winter
Previously the number of total threads and the number of unused threads was wrong if at one point the creation of a thread failed. Fix this by decrementing both counters that were previously optimistically incremented. Adjust the comment accordingly. * libports/manage-multithread.c (ports_manage_port_operations_multithread): Fix the thread counts in case the thread creation fails.
2013-11-09Normalize whitespace at the end of each file to '\n'Justus Winter
Some files were not normalized. In console/motd.UTF8 the additional newline is intentional. Empty files were excluded as well.
2013-11-06pfinet: fix emission on the loopback deviceRichard Braun
Unlike other devices, sending packets on the loopback device causes the netif_rx() function to be called from the net_bh worker thread. Since the thread is already running, it can't wake itself up when calling mark_bh(). Use a new variable to indicate when net_bh work is pending. * glue-include/linux/interrupt.h (net_bh_raised): Declare new global variable. (mark_bh): Set net_bh_raised to 1 before waking up net_bh worker thread. * loopback.c (loopback_xmit): Add comment giving details about locking. * sched.c (net_bh_raised): Define new global variable. (net_bh_worker): Wait for net_bh_raised to become true and reset it before processing net_bh work.
2013-11-01libports: fix error handling in _ports_create_port_internalJustus Winter
Previously any err value set before reaching lose: was overwritten and thus not properly propagated. Found using the Clang Static Analyzer. * libports/create-internal.c (_ports_create_port_internal): Fix error handling.
2013-11-01Fix use after freeSamuel Thibault
Reported by Justus Winter * libtrivfs/protid-clean.c (trivfs_clean_protid): New variable `cntl` factorizes access to `cred->po->cntl`, and fixes use after free of cred->po.
2013-11-01libshouldbeinlibc: fix error handling in maptime_mapJustus Winter
Found using the Clang Static Analyzer. * libshouldbeinlibc/maptime.c (maptime_map): Fix error handling.
2013-11-01exec: Remove the remaining BFD related bitsJustus Winter
* exec/Makefile: Remove commented out lines related to BFD. * exec/hostarch.c: Remove all BFD related code. * exec/main.c: Likewise.
2013-10-31configure.ac: properly escape the test for X11/keysymdef.hJustus Winter
* configure.ac: Properly escape the test for X11/keysymdef.h using AC_LANG_SOURCE.
2013-10-28Make boot script accept more fsck valuesSamuel Thibault
* daemons/rc.sh: Accept fsck returning 5 and 9 too.
2013-10-22Add xenl to hurd.tiSamuel Thibault
* console/hurd.ti (xenl): Add capability.
2013-10-22Make CUD more usualSamuel Thibault
Whether CUD scrolls the screen or not is implementation-dependant. Applications are not supposed to assume one way or the other, but they sometimes do, and most implementations do scroll, so let's stick to common practice. * console/display.c (handle_esc_bracket): On CUD/VPR, scroll the screen instead of capping the cursor position.
2013-10-22Make boot script reboot when fsck told soSamuel Thibault
* daemons/rc.sh: When fsck returned 2 or 3, reboot the system.
2013-10-18pflocal: fix message flags on receiveRichard Braun
* pflocal/socket.c (S_socket_recv): Set the memory pointed by out_flags to 0 instead of the pointer.
2013-10-18pflocal: fix port leak when receiving port rightsRichard Braun
The socket_send and socket_recv routines can be used to transmit port rights along data. Unfortunately, pflocal retains a copy of these rights in the socket_recv RPC. These lingering references would in turn lead to other leaks in servers waiting for a no-sender notification to clean their resources. Since these copied rights aren't used at all by the server, it is safe to simply move them to the recipient instead. * pflocal/socket.c (S_socket_recv): Transmit port rights using MACH_MSG_TYPE_MOVE_SEND transfer type instead of MACH_MSG_TYPE_COPY_SEND.
2013-10-18libdiskfs: fix removal of socket nodesRichard Braun
When the file system supports ifsock shortcuts, a socket node can obtain a right on a socket address. This reference is only lost if the address is destroyed, through a dead-name notification. On the other hand, pflocal keeps the address around until all references are dropped. This leads to a situation where socket nodes, addresses, and their associated sockets are leaked. To remedy the situation, make addresses get a light reference on socket nodes, and properly deallocate it when the node is destroyed, which will in turn make pflocal correctly remove the matching address and socket. * libdiskfs/ifsock.c (diskfs_S_ifsock_getsockaddr): Add a light reference instead of a hard one. * libdiskfs/node-nput.c (diskfs_nput): Deallocate right to socket address when cleaning light references.
2013-10-18pflocal: fix destruction of explicitely bound socketsRichard Braun
Sockets must have a weak reference on the address they're bound to so that addr_unbind is properly called before addr_clean. For sockets that are automatically bound, this weak reference is created in ensure_addr. Do the same in sock_bind. * pflocal/sock.c (sock_bind): Handle weak reference on addr.
2013-10-14term: fix read on a closed PTYRichard Braun
* term/ptyio.c (pty_io_read): Return EIO if the terminal has been closed.
2013-10-13console-client: replace function epilogue with console_exitJustus Winter
* console-client/console.c (main): Replace epilogue with console_exit.
2013-10-13console-client: minor stylistic fixJustus Winter
* console-client/console.c (main): Minor stylistic fix.
2013-10-13console-client: fix error handlingJustus Winter
Fix the error handling in console_move_mouse. This also appeases the compiler. * console-client/console.c (console_move_mouse): Fix error handing.
2013-10-13console-client: entitle console_exit with the noreturn attributeJustus Winter
* console-client/input.h (console_exit): Add noreturn attribute.
2013-10-13console-client: remove the pid file on clean exitsJustus Winter
Remove the pid file if the console client exits either cleanly using console_exit or because of an error during daemonization. * console-client/console.c (console_exit): Remove the pid file. (daemon_error): Likewise.
2013-10-08libfshelp: properly free active translator entriesJustus Winter
Previously the dynamically allocated field name leaks. Fix this by properly freeing the objects of type struct translator. * libfshelp/translator-list.c (translator_ihash_cleanup): Fix memory leak.
2013-10-08trans: rename a global variableJustus Winter
Rename the global variable "path" to "target_path" to make it more unambiguous. * trans/mtab.c: Rename global variable "path".
2013-10-08Revert "tmpfs: drop privileges in the tmpfs translator"Justus Winter
This reverts commit 7075bc11289355478659cd1610632a9299734afc. Dropping the unix privileges of the tmpfs translator causes problems with the passive translator startup. The function fshelp_fetch_root creates an auth handle containing the processes original UID and GID. But if the privileges were dropped before, this operation fails with EPERM. This commit also broke mkfifo(3), possibly for similar or related reasons. * tmpfs/tmpfs.c (main): Do not drop all privileges.
2013-10-08Fix memory leak in execRichard Braun
* exec/hashexec.c (check_hashbang): Unmap command arguments.
2013-10-04Fix memory leak in libnetfsRichard Braun
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Properly jump to the single exit point if fshelp_fetch_root fails.
2013-10-02Check for negative sizes in file_set_sizeRichard Braun
* libdiskfs/file-set-size.c (diskfs_S_file_set_size): Return EINVAL if size is negative. * libnetfs/file-set-size.c (netfs_S_file_set_size): Likewise. * libtreefs/s-file.c (treefs_S_file_set_size): Likewise. * storeio/io.c (trivfs_S_file_set_size): Likewise. * term/users.c (trivfs_S_file_set_size): Likewise. * trans/null.c (trivfs_S_file_set_size): Likewise. * trans/streamio.c (trivfs_S_file_set_size): Likewise.
2013-09-28Fix memory leak in libdiskfsRichard Braun
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): Properly jump to the single exit point if fshelp_fetch_root fails.
2013-09-27GNU Hurd 0.5.Thomas Schwinge
* configure.ac (AC_INIT): Set version to 0.5. (AC_REVISION): Remove. * NEWS: Finalize changes for 0.5. * INSTALL: Update. * INSTALL-cross: Likewise. * README.CVS: Delete, but move some content... * README: ... here. Update.
2013-09-27Decouple the Hurd version from the package version.Thomas Schwinge
* config.make.in (package-version): New variable. (hurd-version): Set to 0.3. * Makeconf (%: %.sh): Use package-version instead of hurd-version. * Makefile (stamp-version): Likewise. * doc/Makefile (stamp-version): Likewise.
2013-09-27Generate ChangeLog files for distributions.Thomas Schwinge
* gitlog-to-changelog: New file; import from gnulib's 9fc81090f6c5590bd1b0e0fa5087577a2ee43a3e:build-aux/gitlog-to-changelog. * Makefile (ChangeLog.tar, gen-ChangeLog): New targets. ($(dist-version).tar): Depend on and use the former. (clean-misc): Clean up the generated files.
2013-09-27UFS is no more.Thomas Schwinge
* ChangeLog: Don't refer to bsdfsck/ChangeLog, ufs/ChangeLog, ufs-fsck/ChangeLog, ufs-utils/ChangeLog. Fixup for commit 84cf9c0f312637b670cc87224ff7e7c4da659e36.
2013-09-27* ChangeLog: Don't refer to serverboot/ChangeLog; it is no more.Thomas Schwinge
Fixup for commit a8744157214a302d84c8959b1ae99abe3ae2d7d2.
2013-09-26Update mailing listsSamuel Thibault
* README: Update mailing lists.