Age | Commit message (Collapse) | Author |
|
* libdiskfs/fsys-getroot.c (diskfs_S_fsys_getroot): Do not deallocate
`dotdot' parameter port when an error will be returned.
|
|
* libdiskfs/dir-renamed.c (checkpath): Drop duplicate np = target
assignment.
|
|
* 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).
|
|
* utils/settrans.c (options): Reference TRANSLATOR in `-a' help message.
|
|
* utils/settrans.c (options): Rephrase -a and -p help to be more precise.
|
|
|
|
* utils/settrans.c (options): Document that -p is the default option for
settrans.
|
|
* 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.
|
|
* 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).
|
|
* utils/login.c (main): Fix comment typo.
|
|
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.
|
|
* pfinet/linux-src/net/ipv6/ip6_fib.c (fib6_locate): Do not dereference fn
when it is NULL.
|
|
* login/utmp.c (return_data): Remove bogus parenthesis.
|
|
* libps/spec.c (ps_emit_user_name): Do not dereference pw when it is NULL,
dereference u instead.
|
|
* ftpfs/ftpfs.c (parse_startup_opt): Do not derefence sep when it is NULL.
|
|
* console/console.c (vcons_lookup): Unlock using cons instead of vcons->cons.
|
|
|
|
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.
|
|
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.
|
|
* pfinet/linux-src/net/ipv6/raw_ipv6.c (rawv6_init_sk): Replace
yet-undefined raw6_sk with proper translation.
|
|
- 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.
|
|
* libports/create-internal.c (_ports_create_port_internal): Add label after
mutex_unlock(_ports_lock), use it where appropriate.
|
|
* boot/boot.c (main): Print \n after printing boot_script_error_string().
|
|
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.
|
|
* 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.
|
|
* 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'.
|
|
Conflicts:
utils/rpctrace.c
|
|
* 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).
|
|
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.
|
|
* 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.
|
|
* exec/exec.c (load_section): Call i`hurd_safe_copyin' instead of `memcpy'.
Handle error case.
(check_gzip): Likewise.
(check_bzip2): Likewise.
|
|
* 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.
|
|
* 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.
|
|
* libthreads/cthreads.h (mutex_try_lock): Call WAIT_SET_DEBUG when
spin_try_lock succeeds.
|
|
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.
|
|
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.
|
|
* proc/info.c (S_proc_getprocinfo): Clear PI_FETCH_TASKEVENTS from
`flags' when task_info.
|
|
|
|
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.
|
|
* tmpfs/dir.c (diskfs_direnter_hard): Fix malloc size.
|
|
* utils/rpctrace.c (print_contents): Put the if statement in braces.
|
|
* tmpfs/node.c (diskfs_get_filemap): Fix comment according to second
patch from Sergio Lopez.
|
|
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.
|
|
As suggested by Sergio Lopez.
* serverboot/default_pager.c (S_default_pager_object_set_size): Exchange
`seqno' and `reply_to' parameters.
|
|
* 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.
|
|
* serverboot/default_pager.c (pager_read_offset): Properly unlock the mutex
before returning NO_BLOCK.
|
|
* libps/procstat.c (proc_stat_set_flags): Cast &ps->umask into (int*)
before calling ps_msg_get_init_int.
|
|
|
|
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'.
|
|
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.
|