Age | Commit message (Collapse) | Author |
|
When attempting to run a service with an unprivileged user and group
id procd, the following error might occur:
procd: failed to set uid:1000, gid:1000
This is due to the fact that procd first performs the setuid(), then
the setgid() call.
Usually there no sufficient permissions after a setuid() anymore to
change the effective group id of the process.
Refactor the code to:
* Swap the invocations (first gid, then uid)
* Don't set user or group id if it is 0
* Handle errors independently and make them more verbose
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
|
|
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|
this broke x86_64 builds on uclibc
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
|
|
Signed-off-by: Jeff Waugh <jdub@bethesignal.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
conflicts with system defines
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
|
|
This commit adds support to procd for relaying stdout and stderr streams to
the system log. That is mainly useful for services not using syslog, e.g.
uhttpd.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
|
|
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
|
|
Devices with <= 32MB of ram get half of memory allocated to zram (up to 16MB).
Devices with > 32MB of ram get just 8MB of memory allocated to zram.
Increase memory allocated to devices with > 32MB ram to 16MB.
Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>
|
|
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
|
|
On an Alix APU board with 4GB of available ram, the total memory is reported
as "-179417088" bytes. Increase the ubus field sizes to 64bit integers in
order to avoid overflows.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
|
|
Fallback to /proc/device-tree/model if /tmp/sysinfo/model is not available.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
|
|
Skip entries like "Processor: 0" which are common on x86, otherwise
an "ubus call system board" will just return "system: 0".
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
|
|
Signed-off-by: Steven Barth <steven@midlink.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|
If kernel is compiled with cgroup support it should be mounted. This change
does not effect kernels without cgroup support.
Signed-off-by: Luka Perkov <luka@openwrt.org>
|
|
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
|
this fixes a bug where pgrp was not set up properly leading to a trail of carnage;
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
on systms with slow flash the watchdog will trigger when a lot of modules are
included in the image.
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
also fix writing of 0-byte to buffer
Signed-off-by: Steven Barth <steven@midlink.org>
|
|
Consider:
::askconsole:/bin/ash --login
askconsole( ) checks for the existance of the tty, but if none is
specified it will skip the remainder of the function. This means
fork_worker( ) is never called and no process is spawned. This
would leave routers without an initial console.
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
The problem was caused by procd not opening /dev/tty* (whichever was
specified for the ID field /etc/inittab), causing /proc/PID/fd to
point to /dev/console instead.
This is a rework of e63051d9, which did not initialise the console
pointer and did not check the tty pointer in askconsole. askfirst
was not completely fixed as it expected the console parameter on
the commandline, which is no longer necessary because procd opens
the console prior to fork()-ing.
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
This reverts commit e63051d9843ddbafb1fabfd97d60e853bdeac129.
This unbreaks the initial console on UML and possibly other platforms.
Signed-off-by: Steven Barth <cyrus@openwrt.org>
|
|
79872ea6 reduced the command line buffer breaking various platforms.
Signed-off-by: Steven Barth <steven@midlink.org>
|
|
procd has the habit of logging startup/shutdown via
rcS to syslog, which is pointless in case of a
shutdown, and unlikely to be complete on a startup
(as syslog is not running). Write to the console
instead.
Signed-off-by: Michel Stam <m.stam@fugro.nl>
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
The problem was caused by procd not opening /dev/tty* (whichever was
specified for the ID field /etc/inittab), causing /proc/PID/fd to
point to /dev/console instead.
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
The previous patch did not catch SIGINT, which is used by the
kernel to indicate to the init process that the system should
reboot.
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
procd by default writes to /dev/console. When rebooting, this means that the
terminal on which the reboot sequence was started will not see what is going
on. This patch fixes that by reopening stdin, stdout and stderr to the console
device specified on the commandline, /dev/tty0 or /dev/console upon reboot.
Also, due to (probably) pivot-root, /proc/1/fd shows 1-3 pointing to
/console. This patch also fixes that.
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
On x86, pressing the scrolllock button may effectively prevent procd from rebooting
the system. This happens because procd tries to write to /dev/console, which in that
situation is blocked, effectively blocking procd from rebooting the system.
This patch puts procd's stderr access into non-blocking, which will prevent the
boot from being stuck.
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
While executing a system halt (via the powerbutton or otherwise),
the system displays rebooting, whereas it should display that
it is going to turn off.
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
It has been observed that, very rarely, the system does not reboot
when procd enters the shutdown state. Busybox seems to have an
obscure fix in its shutdown, where the parent (procd) process
is put in an infinite loop, and a special child is executed to
execute reboot(). This may very well be the cause.
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
Procd as it currently is does not kill the running processes during shutdown.
As this might cause undesired behaviour, this should be implemented.
Implementation was taken from busybox 1.19.4
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
When keeping ctrl-alt-del pressed, or when running;
while true; do
/sbin/reboot
done
effectively the procd shutdown cycle gets into an undefined state,
Signed-off-by: Michel Stam <m.stam@fugro.nl>
|
|
https://dev.openwrt.org/ticket/17864
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|
|
Signed-off-by: John Crispin <blogic@openwrt.org>
|