6474 Commits

Author SHA1 Message Date
Jérôme Duval
04dabcfdf3 posix_spawn(): close the pipe read fd in the parent.
* also enable close-on-exec for the eventually dupped pipe write fd in the child.
2017-11-03 23:13:49 +01:00
jua
1769813948 x86-64: handle stack fault for non-canonical address access
* With the amd64 architecture, the stack fault exception got a new
  meaning: it is raised when an instruction tries to access a
  non-canonical address, and the stack is referenced in the
  instruction (e.g. by its addressing mode).
  So unlike on x86, this is not a fatal exception and shouldn't
  trigger a KDL -- instead, it is to be treated like a general
  protection fault, terminating the team which caused it.

* Fixes #13744
2017-11-02 18:55:03 +01:00
Jérôme Duval
87e6718233 POSIX: have sysconf(_SC_OPEN_MAX) return the rlimit value.
* we use this value in posix_spawn_file_actions_adddup2() for instance, ninja then
fails with "Bad file descriptor".
2017-11-01 13:07:11 +01:00
Alexander von Gluck IV
403baf656d u-boot: mmc single case volume label
* Makes parsing slightly easier in tools like rune-image.
* Mixed case introduces some extra encoding the WIP Rust
  FAT driver doesn't support (yet)
2017-10-18 11:43:54 -05:00
Jérôme Duval
a295d3f46e wait4(): retrieve dead team entries usage information.
* This adds a parameter to the wait_for_child syscall. I extended the test case
to show the actual retrieved information.
* fix #13546
2017-10-10 17:20:46 +02:00
Augustin Cavalier
6aff37d1c7 Move SHA256 class to libroot instead of linking libshared into libroot.
Discussed with PulkoMandy and on the haiku-commits mailing list.

Thanks to @jessicah for compile-testing and fixing 2 small issues I missed.
2017-10-03 20:18:26 -04:00
Jérôme Duval
2976cf85a4 libroot.so: make first parameter of dladdr() const.
This follows up on a mail from 2011:
https://www.freelists.org/post/haiku-development/Changing-dladdr-to-take-const-void-for-first-parameter
2017-09-15 23:09:24 +02:00
Jérôme Duval
ccd42320c4 libroot: add posix_spawn(). 2017-09-12 19:42:57 +02:00
Jérôme Duval
31e6a56fb3 kernel/fs: fix warning on x86_64. 2017-08-24 18:01:12 +02:00
Jérôme Duval
26740b2889 POSIX: F_DUPFD_CLOEXEC support (POSIX.1-2008).
* fix #12187.
2017-08-24 17:54:50 +02:00
Jérôme Duval
c35666602f libroot: mktemp.c: fix gcc5 warnings. 2017-08-13 22:32:39 +02:00
Philippe Houdoin
22b7e29bc6 libroot: mktemp.c: use rand_r() and set seed only on first call
This avoid to break caller's own srand() and having the same seed
if called twice very quickly.
Thanks david.given for a better fix for #13660.
2017-08-10 10:33:41 +00:00
Philippe Houdoin
c7a3a80cc6 libroot: make mktemp() more random
... by seeding rand() with process id, user id and current time.
This fix #13660
2017-08-09 19:33:36 +00:00
Philippe Houdoin
2a081b42a9 fifo: revert broken fix 2017-08-03 16:53:17 +00:00
Philippe Houdoin
65abebfaa7 fifo: wakeup readers not checking POLLHUP/B_SELECT_DISCONNECTED
For readers waiting in select() or simply in read(),
B_SELECT_DISCONNECTED notification didn't wake them anymore.
Now, cascade notifications to be sure to wake them, either
on POLLHUP, POOLERR/B_SELECT_ERROR or, at worst, from read().

See #7859 for details.
2017-08-03 11:48:02 +00:00
Philippe Houdoin
216574f371 fifo: fix #7859 2017-08-01 18:37:38 +00:00
Jérôme Duval
6c9e01265b pthread_rwlock: use a mutex for process-private locks.
* instead of a benaphore.
* define PTHREAD_RWLOCK_INITIALIZER.
* adjust Init(), Destroy(), StructureLock() and StructureUnlock().
2017-07-27 18:33:53 +02:00
hyche
9f9ba0bdc1 btrfs_shell: Support AVLTree 2017-07-25 09:34:46 +07:00
Axel Dörfler
a1eceb4610 rootfs: directories must not be opened writable.
* Also added support for O_DIRECTORY while at it.
* This fixes bug #13573.
2017-07-20 10:10:20 +02:00
Jérôme Duval
2d4d0f0ac1 Revert "vfs.cpp: Fix gcc6 crash."
This reverts commit 5b55f6dba9d905e26729961a146de825277c9d79.
2017-07-12 17:36:24 +02:00
Alexander von Gluck IV
0cc293cf32 raspberrypi_arm: Drop old Raspberry Pi 1 boot loader.
* We transitioned to u-boot quite some time ago
* We also are dropping < ARMv7 support
2017-07-11 14:39:13 -05:00
Murai Takashi
5b55f6dba9 vfs.cpp: Fix gcc6 crash.
Signed-off-by: Jérôme Duval <jerome.duval@gmail.com>
2017-07-11 17:24:07 +02:00
Alexander von Gluck IV
a01d0e5ae5 arm: Enable mmu tracing. (We're going to need it for a while) 2017-07-10 15:16:55 -05:00
Alexander von Gluck IV
aba7320584 u-boot/arm: Add missing floppyboot to mmc 2017-07-10 14:53:04 -05:00
Alexander von Gluck IV
f5d7446b5b u-boot: Correct loader base naming 2017-07-10 13:34:29 -05:00
Alexander von Gluck IV
1b3c81feeb u-boot: Fix mmc build without target boards 2017-07-10 09:02:56 -05:00
Alexander von Gluck IV
1e82d7bd25 kernel/arm: Work out more board_config's via fdt 2017-07-10 08:19:44 -05:00
Alexander von Gluck IV
e40cea64bd u-boot/arm: Initial steps to drop target board requirements 2017-07-09 22:51:50 -05:00
Alexander von Gluck IV
855fc5a0d3 platform/u-boot: Build all fdt's and include in u-boot mmc
* Eventually BoardSetups and target boards will go away.
* Include all known fdt's in the mmc image
* This gets us closer to target board-less arm
* Changing hardware is as simple as plugging a new fdt
  into u-boot's startup script.
* Drop my original rpi1 work.  We're targetting ARMv7
  minimum.
2017-07-09 22:19:51 -05:00
Alexander von Gluck IV
144e404b2d libroot/ppc: Add missing stack_trace 2017-07-04 19:28:13 -05:00
Alexander von Gluck IV
b3d3ee5a2f libroot/ppc: Stub out emitted GCC atomics on ppc32
* gcc will emit 64-bit (_8) atomic functions on 32-bit
  powerpc architectures. This stubs them out for now
  with a warning.
* We could do more here, but i'm just getting PPC
  bootstrapped to get the nightly builds going again.
* We could also just completely drop PPC.. but it was
  pretty close pre-pm... so I'd hate to lose that work.
2017-07-03 13:05:47 -05:00
Alexander von Gluck IV
9c8119e02c kernel/smp: Add a comment for some obsecure knowledge
* I was ready to rip this out until PulkoMandy set me stright.
* Add a comment so others understand the impact here.
2017-07-03 09:43:07 -05:00
Alexander von Gluck IV
7f47ae44c2 openfirmware: Fix build post get_boot_partitions changes
* Thanks jessicah!
2017-07-02 22:57:53 -05:00
Pedro Pinto
856da1f3ff Add missing include with Partition class definition
* Fixes a compilation error while compiling the u-boot loader for
  the ARM platform.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2017-06-23 17:30:27 -04:00
Augustin Cavalier
6ad3d25212 real_time_clock: Change _user_{get|set}_timezone argument to int32.
Both the user-mode syscalls.h and the kernel-mode one define it
as an int32, not a time_t, and as it's a timezone offset not
an actual time, there's no reason it needs to be one.
2017-06-06 17:38:17 -04:00
Augustin Cavalier
affb4e25fe runtime_loader: Remove EXEMODE hack.
This reverts commit 6af29d4f83018c47e1d2f2ff9d54fb198c0888a6.
I'll have a look at our buildbot config and see if it needs fixing.
2017-05-28 12:42:12 -04:00
Augustin Cavalier
6af29d4f83 runtime_loader: Ensure EXEMODE is set.
Stopgap solution for #12373.
2017-05-26 15:31:55 -04:00
James Woodcock
d7b12f71ea kernel/fs: Fix permissions on symlinks in root directory.
Various symbolic links (/bin, for example) in the root directory have
no read, write or execute permissions. This prevents non-privileved users
from logging in.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Fixes #13530.
2017-05-26 15:10:18 -04:00
Rahul Jain
7ce3cbfbe8 "fail-safe video mode" is confusing.
The same wording was used for two unrelated things: using the VESA
driver, and forcing a specific resolution. Relabel the menu items to
make it clear that they are not related.

fixes #8887

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2017-05-25 11:46:02 +02:00
Alexander von Gluck IV
d8219f96da bootloader/bios: Add tracing of real-mode bios interrupt calls 2017-05-24 08:18:54 -05:00
Alexander von Gluck IV
9d9f76edff bootloader/hpet: Fix tracing on x86_64 2017-05-23 21:54:10 -05:00
Jessica Hamilton
f286626cd0 pxe_ia32: add missing include for boot::Partition 2017-05-17 23:21:40 +12:00
Jessica Hamilton
e888217124 loader: fetch all potential boot partitions for boot device.
This allows the loader to skip BFS partitions that don't contain
a bootable system. Useful when you have a BFS data partition that
comes before the system partition when iterated over.

Currently, only the UEFI loader actually returns more than one
possible partition.
2017-05-17 12:51:09 +12:00
Axel Dörfler
655aae6a79 KPathTest: Fix build for GCC 5.
* Also fixed a warning in KPath.
* Sorry, again!
2017-04-30 18:17:51 +02:00
Axel Dörfler
16825fd976 VFS: Pass on NULL for NULL paths, if allowed.
* Uses the new KPath::LAZY_ALLOC feature.
* This closes ticket #9625.
2017-04-30 17:37:17 +02:00
Axel Dörfler
e9843da357 KPath: Added LAZY_ALLOC flag.
* This allows KPath to not allocate a buffer when initialized
  without path.
* Added test cases for this.
* Added test for LockBuffer().
* Enhanced tests to allow building them in debug mode.
* Moved calling vfs_normalize_path() into own private method.
* Improved error codes; B_NO_MEMORY is now only returned if the
  allocation actually failed.
* If used with LAZY_ALLOC, Path() and LockBuffer() are now allowed
  to return a NULL path.
2017-04-30 17:14:45 +02:00
Axel Dörfler
f94671c33d KPath.Adopt(): Fixed path length.
* Issue was hidden due to inappropriate test values; changed test
  to uncover it.
2017-04-30 17:13:45 +02:00
Axel Dörfler
eac83fb33e KPath: Replaced booleans with flags field.
* No functional change intended; I chose the flags in a way that it
  should still work even if I missed a reference.
2017-04-30 17:13:39 +02:00
Axel Dörfler
e1b4aed0cb KPath: Fixed Normalize() return code, changed Leaf().
* Normalize() now returns the error code that vfs_normalize_path()
  returns.
* Leaf() now returns "" instead of "/" for the root. It's not used
  outside of KPath.
* Adapted RemoveLeaf() to deal with this correctly.
* "KPath = string" no longer changes the buffer size.
* Added missing operator tests for =, ==, and !=.
2017-04-30 17:13:33 +02:00
Axel Dörfler
4be518758d KPath.Adopt() fixed incorrect path/buffer length.
* The other object was left in an inconsistent state.
* This lets the unit test for Adopt() pass.
2017-04-29 19:03:16 +02:00