summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2011-03-03Fix duplicate port deallocationSamuel Thibault
* libdiskfs/fsys-getroot.c (diskfs_S_fsys_getroot): Do not deallocate `dotdot' parameter port when an error will be returned.
2011-03-03Drop duplicate assignmentSamuel Thibault
* libdiskfs/dir-renamed.c (checkpath): Drop duplicate np = target assignment.
2011-02-22Fix S_pfinet_siocgifconf given -1 as amountSamuel Thibault
* hurd/pfinet.defs (pfinet_siocgifconf): Document that -1 is used for "all interfaces". * pfinet/pfinet-ops.c (S_pfinet_siocgifconf): Compare amount with `(vm_size_t) -1' instead of '< 0' (which can never happen).
2011-02-21Reference TRANSLATOR in `-a' help message.Samuel Thibault
* utils/settrans.c (options): Reference TRANSLATOR in `-a' help message.
2011-02-17Rephrase settrans' --helpSamuel Thibault
* utils/settrans.c (options): Rephrase -a and -p help to be more precise.
2011-02-14Add comment about finish being called several timesSamuel Thibault
2011-02-12Document that -p is the default option in settrans --helpSamuel Thibault
* utils/settrans.c (options): Document that -p is the default option for settrans.
2011-01-23Add -s option to rpctraceSamuel Thibault
* utils/rpctrace.c (strsize): New variable, defaults to 80. (options): Add 's' option. (main): Store 's' option value into `strsize'. (print_data): Limit the amount of printed characters to strsize.
2011-01-16Fix child lookups relative to new homedirSamuel Thibault
* utils/login.c (main): Update `ports[INIT_PORT_CWDIR]' as soon as new cwd is determined according to HOME, since child lookups need to be relative to new homedir (e.g. for .hushlogin).
2011-01-16Fix comment typoSamuel Thibault
* utils/login.c (main): Fix comment typo.
2011-01-02Strictly adhere to the VGA register conventionSamuel Thibault
Not writing a value to the "enable display" register works for tested cards, but Linux writes a 0, and you can never know what manufacturers think. * console-client/vga-support.c (vga_exchange_palette_attributes): Write a 0 value to the "enable display" register.
2010-12-25Fix NULL dereferenceSamuel Thibault
* pfinet/linux-src/net/ipv6/ip6_fib.c (fib6_locate): Do not dereference fn when it is NULL.
2010-12-25Remove bogus parenthesisSamuel Thibault
* login/utmp.c (return_data): Remove bogus parenthesis.
2010-12-25Fix NULL dereferenceSamuel Thibault
* libps/spec.c (ps_emit_user_name): Do not dereference pw when it is NULL, dereference u instead.
2010-12-25Fix NULL dereferenceSamuel Thibault
* ftpfs/ftpfs.c (parse_startup_opt): Do not derefence sep when it is NULL.
2010-11-20Avoid accessing invalid memory.Diego Nieto Cid
* console/console.c (vcons_lookup): Unlock using cons instead of vcons->cons.
2010-11-20Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurdSamuel Thibault
2010-11-20Properly release console lock.Diego Nieto Cid
The console lock was released only when there were no allocation errors leaving it locked in the event mmap failed. This patch moves the mutex_unlock call to a point in the flow of control where it is consistent with the lock acquisition. * console/console.c(netfs_get_dirents): Relocate mutex_unlock call to common return path.
2010-10-30Fix connect(AF_UNSPEC)Samuel Thibault
Fixes sshd startup on inet6-enabled systems. * pfinet/socket-ops.c (S_socket_create_address): Accept creating AF_UNSPEC addresses too. * pfinet/linux-src/net/ipv6/udp_ipv6.c (udpv6_connect): When address family is AF_UNSPEC, call udp_connect() and clear daddr, saddr, and rcv_saddr.
2010-10-29Fix ipv6 pfinet buildSamuel Thibault
* pfinet/linux-src/net/ipv6/raw_ipv6.c (rawv6_init_sk): Replace yet-undefined raw6_sk with proper translation.
2010-10-29ipv6 raw fixesAlexey Kuznetsov
- RFC2292 bis compliance: enable checksumming of ICMPv6 raw sockets by default, reject odd offsets - calculate checksum correctly when user forgets to uninitialize checksum word * net/ipv6/raw_ipv6.c (rawv6_frag_cksum): Fix offset check. Compensate for any user-provided checksum. (rawv6_setsockopt): Reject odd checkum offsets with EINVAL. (rawv6_init_sk): Enable kernel-computed checksum by default for IPPROTO_ICMPV6 sockets.
2010-10-28Fix _ports_lock usageSamuel Thibault
* libports/create-internal.c (_ports_create_port_internal): Add label after mutex_unlock(_ports_lock), use it where appropriate.
2010-10-18Add \n to boot error messageSamuel Thibault
* boot/boot.c (main): Print \n after printing boot_script_error_string().
2010-10-11Fix return value on `getname' errors.Pino Toscano
This fixes the errno return value for getpeername() calls on not connected sockets: the return value of the `getname' call comes from the Linux code, so it is a negative value, in case of error. * pfinet/misc.c (make_sockaddr_port): Turn negative error values returned by `getname' calls into positive values before returning it.
2010-09-20Add device virtualisation support to bootZheng Da
* boot/boot.c: Add '-f' option. (dev_map): New structure. (dev_map_head): New variable. (add_dev_map): New function. (lookup_dev): New function. (parse_opt): Handle the '-f' option: call 'add_dev_map'. (ds_device_open): Try to call 'lookup_dev', and open the device from the device file if it succeeds.
2010-09-20Add support for setting actual device flagsSamuel Thibault
* pfinet/ethernet.c (ethernet_change_flags): New function. * pfinet/pfinet.h (ethernet_change_flags): New declaration. * pfinet/iioctl-ops.c (S_iioctl_siocsifflags): Also call `ethernet_change_flags' after calling `dev_change_flags'.
2010-09-19Merge remote branch 'origin/master-zhengda'Samuel Thibault
Conflicts: utils/rpctrace.c
2010-09-19Fix port transmission over pflocalManuel Menal
* pflocal/socket.c (S_socket_recv): Return transmitted port to caller thanks to MACH_MSG_TYPE_COPY_SEND instead of MACH_MSG_TYPE_MAKE_SEND (since this is a send right here).
2010-09-18Obtain number of ports in proc and libpsantrik
Add (and implement) a proc RPC to obtain the number of Mach ports used by the target task. Add infrastructure in libps to read this information. * hurd/process.defs (proc_getnports): New RPC. * hurd/process_request.defs (proc_getnports_request): New RPC. * libps/procstat.c (proc_stat_set_flags): Call proc_getnports RPC if needed. * libps/ps.h (proc_stat): New `num_ports' field. (PSTAT_NUM_PORTS): New macro. (proc_stat_num_ports): New macro. * libps/spec.c (ps_get_num_ports): New function. (ps_num_ports_getter): New variable. (specs): New entry for `ps_num_ports_getter'. * proc/info.c (S_proc_getnports): New function.
2010-09-18Fix net_bh_wakeup useSamuel Thibault
* pfinet/sched.c (net_bh_worker): Use the net_bh_lock mutex instead of the global_lock mutex for the net_bh_wakeup condition variable.
2010-09-14Protect exec from memory faultsSamuel Thibault
* exec/exec.c (load_section): Call i`hurd_safe_copyin' instead of `memcpy'. Handle error case. (check_gzip): Likewise. (check_bzip2): Likewise.
2010-09-14Fix compressed binaries executionSamuel Thibault
* exec/exec.c (check_gzip.zipread): Add `n' to `zipread_pos' to fix infinite loop. (check_bzip2.zipread): Likewise. (check_gzip): Set `file_data' and `file_size' fields after calling `finish' instead of before. (check_bzip2): Likewise.
2010-09-14Fix in-memory mappingSamuel Thibault
* exec/exec.c (map): When e->file_data is not NULL, return it plus `posn'. (prepare_in_memory): Call prepare_stream to clear stream positions.
2010-09-03Enable debugging in mutex_try_lock tooSamuel Thibault
* libthreads/cthreads.h (mutex_try_lock): Call WAIT_SET_DEBUG when spin_try_lock succeeds.
2010-09-03WAIT_DEBUG: permit to get function names instead of threadsSamuel Thibault
From the idea of Sergio Lopez. * libthreads/cthreads.h [WAIT_FUNC_DEBUG] (mutex): Replace struct cthread *holder field with const char *fname. (WAIT_CLEAR_DEBUG, WAIT_SET_DEBUG): New macros which clear and set fname or holder according to WAIT_FUNC_DEBUG and WAIT_DEBUG being defined. (mutex_init, mutex_unlock): Call WAIT_CLEAR_DEBUG in all cases instead of setting the `holder' field according to WAIT_DEBUG being defined (mutex_lock): Call WAIT_SET_DEBUG in all cases instead of setting the `holder' field according to WAIT_DEBUG being defined.
2010-08-31Document incoherency for storage of task_events_infoSamuel Thibault
It doesn't produce any bug ATM just because GNU Mach does not support it. * libps/ps.h (struct proc_stat): Document that task_events_info is currently actually fetched into proc_info.
2010-08-31Make proc not claim it was able to fetch PI_FETCH_TASKEVENTSSamuel Thibault
* proc/info.c (S_proc_getprocinfo): Clear PI_FETCH_TASKEVENTS from `flags' when task_info.
2010-08-27RegenerateSamuel Thibault
2010-08-27Revert "Fix tmpfs assertion"Samuel Thibault
As discussed up to http://lists.gnu.org/archive/html/bug-hurd/2010-06/msg00021.html this reverts commit 97c5690abeaa88767acf2ffbb55552e8278052c8 and removes the corresponding assertion. This is related to commit 2f7f90ce15cce79ef83a8d273e3a27b5b527c7d7 which changes how much st_size is increased. * tmpfs/tmpfs.h (tmpfs_dirent): Remove `padding' field. * tmpfs/dir.c (diskfs_get_directs): Remove assertion on the position of the `name' field of struct tmpfs_dirent compared to the position of the `d_name' field of struct dirent.
2010-08-27Fix malloc size in tmpfsCarl Fredrik Hammar
* tmpfs/dir.c (diskfs_direnter_hard): Fix malloc size.
2010-08-27Fix a gcc warning.Da Zheng
* utils/rpctrace.c (print_contents): Put the if statement in braces.
2010-08-27Fix comment on when Mach would try to clear tmpfs dataSamuel Thibault
* tmpfs/node.c (diskfs_get_filemap): Fix comment according to second patch from Sergio Lopez.
2010-08-27Keep a reference on objects to preserve their content.Samuel Thibault
Modify tmpfs to keep a reference (by mapping it into its own space) to each memory object created by the user, so they don't get inmediately terminated at the end of the current operation. * tmpfs/tmpfs.h (struct disknode): Add `memref' field. * tmpfs/node.c (diskfs_get_filemap): vm_map() the first page of the newly-allocated object, store in `memref' field. (diskfs_free_node) vm_deallocate the page pointed by `memref' field.
2010-08-27Fix default_pager default_pager_object_set_size parametersSamuel Thibault
As suggested by Sergio Lopez. * serverboot/default_pager.c (S_default_pager_object_set_size): Exchange `seqno' and `reply_to' parameters.
2010-08-27make unblocked reads from external objects return a zeroed page.Sergio Lopez
* serverboot/default_pager.c (struct dstruct): Add boolean_t external field. (default_pager_add): Set ds->external to TRUE or FALSE depending whether the object is external. (default_read): Add external parameter. If no_block(block) returns 1, if external is TRUE, zero fill the page and return PAGER_SUCCESS instead of PAGER_ABSENT. (seqnos_memory_object_data_request): Pass ds->external as additional parameter to default_read.
2010-08-27Fix missing mutex unlock.Sergio Lopez
* serverboot/default_pager.c (pager_read_offset): Properly unlock the mutex before returning NO_BLOCK.
2010-08-26libps (proc_stat_set_flags): Fix pointer signedness warningJeremie Koenig
* libps/procstat.c (proc_stat_set_flags): Cast &ps->umask into (int*) before calling ps_msg_get_init_int.
2010-08-26Merge branch 'master' of git.savannah.gnu.org:/srv/git/hurd/hurdSamuel Thibault
2010-08-26libps (fetch_procinfo): Fix non-set flag PSTAT_TASK_EVENTSJeremie Koenig
The fetch_procinfo function failed to set the PSTAT_TASK_EVENTS when those has been retreived. It should be noted that GNU Mach does not support the TASK_EVENTS_INFO flavor, so this is of minor importance. The new code also checks that all the requested proc server flags related to a given proc_stat flags have been returned before setting the proc_stat flag in question. * libps/procstat.c (fetch_procinfo): Add map array containing `ps_flags_t' and `procinfo' flags. Use it in a loop to check for flags in `need' and `have' and set them in `pi_flags'. Likewise to check for flags in `pi_flags' and set them in `have'.
2010-08-26libps (_proc_stat_free): Fix memory leakJeremie Koenig
The thread_waits field was never freed; this change adds the code to do so if the corresponding flag is set. Users are also warned of the consequences, namely, that they should not free process proc_stats before all their associated thread ones are gone, since the latter may reference the former's thread_waits field. However, with the normal interface (ie. ps_context_free), all proc_stats are freed at once, so this is not an issue. * libps/procstat.c (_proc_stat_free): Free ps->thread_waits if PSTAT_THREAD_WAITS flag is set. * libps/ps.h (_proc_stat_free): Document that thread proc_stats must be freed before process proc_stat can be.