Commit Graph
10420 Commits
Author SHA1 Message Date
Augustin Cavalier b0570368f3 limits.h: Clean up and fix _POSIX_* values.
These aren't actual limits, but rather the minimum limit
as specified in POSIX (e.g. _POSIX_NAME_MAX is the minimum
allowed value for NAME_MAX).

Add missing values as defined in POSIX-2024, at least for
features we support, and change wrong values to be the ones
specified in POSIX.

No behavioral intended change (nothing should be using these directly.)
2026-01-06 19:57:07 -05:00
Augustin Cavalier d763a3829a semaphore.h: Add SEM_VALUE_MAX.
It's specified in POSIX, and FreeBSD puts it in this file.

Distinguish it from _POSIX_SEM_VALUE_MAX (which is really a
"minimum value this can have" as specified in POSIX.)
2026-01-06 19:40:23 -05:00
Augustin Cavalier ca5c5d531e unistd: Add _POSIX_DEVICE_CONTROL.
We have posix_devctl, so we should declare this now.
2026-01-06 19:38:49 -05:00
Augustin Cavalier 1e4c529aeb search.h: Declare posix_tnode as specified in POSIX-2024.
FreeBSD does the same.
2026-01-06 19:37:53 -05:00
Kacper Kasper d620b23279 Implement missing methods in PictureBoundingBoxPlayer
* Remove const from gradient in StrokeLineGradient.
  BoundingBoxPlayer needs to apply transform to it.
* Extend LayersTest.
* Use BStackOrHeapArray for polygons.
* Fixes #12937.

Change-Id: If0a4abec0168dbe9afe7ea92bb29017ea8c89c79
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10211
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-01-06 21:22:30 +00:00
Oscar Lesta 95225b150f fs_shell: use FSSH_B_DEV_NAME_LENGTH instead of 128.
Follow up to 9d432d1b00.

Change-Id: Ie7013573a0682058849e84aa939bc38a821f3ae6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10209
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-01-06 13:28:44 +00:00
X512 2a4448e033 PicturePlayer: Use C++ virtual interface instead of C function table
Also use C function table instead of `void*` table function casts.

Improve type safety and readability.

Change-Id: Ie5f544b5c2bb9f2333fe3353462325dbfb4453ec
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9656
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2026-01-04 22:56:43 +00:00
X512 ceaf2dd2d6 app_server: add gradient stroke support
TODO: HTML5 remote desktop client.

Change-Id: Ie2a32c4a498462578476d29a7000ea0b6f86810b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9625
Reviewed-by: waddlesplash <[email protected]>
2026-01-04 22:56:43 +00:00
beaglejoe 3f38072551 Fix platform.h for C compilation
Allow platform.h to be used by POC files

Change-Id: I809749422e12f4c4b2c616ca0994b158f3cd054c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4251
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-01-04 07:24:21 +00:00
SED4906 64f088f495 BAlert: play user-selected sound
* Alert sounds are separate from notifications

Change-Id: I9e5545084faea354ddd339154c10b54d6479b404
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8477
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-01-03 13:41:24 +00:00
Samuel Rodríguez Pérez a3f6c4d484 input: Implement click finger behaviour (enabled by default)
input touchpad settings header:
- click finger behaviour (enabled by default)
- Emulation of different button clicks depending on the
  number of fingers that are pressed at the same time on
  any location of the touchable surface of the device.
    - Clicking with 1 finger triggers a primary button click,
      usually left button click.
    - Clicking with 2 fingers triggers a secondary button click,
      usually right button click.
    - Clicking with 3 fingers triggers a terciary button click,
      usually middle button click.

  This feature is useful for clickpads that are input devices
  lacking a separated set of buttons from the touch area.

input preflet:
- Implement clickfinger

input mouse:
- Handle and provide new settings for clickfinger behaviour

input mouse mm:
- Implement clickfinger in the user space
- Enables button emulation based on the number of fingers pressing
  at the same time the touch surface.

  Userful feature for clickpads.

Change-Id: Ibaa06df3887793158093cc08f6281fc080e85c3b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9923
Reviewed-by: Adrien Destugues <[email protected]>
2026-01-02 11:01:29 +00:00
Samuel Rodríguez Pérez f44235f7e5 input: Implement software button areas (disabled by default)
input touchpad settings header:
- software button areas (enabled by default)
- Emulation of buttons clicks based on which small area
  assinged by each button is pressed. For instance, a
  software button area on the bottom of the touchpad
  could be divided on 3 subareas one for each button.

This new feature is useful for clickpads that are input devices
lacking a separated set of buttons from the touch area. However,
we may prefer to make the GUI better suppot "single button" devices.
Disabled by default as we don't currently have a way to adjust the
default settings according to the presence of physical buttons,
and having this disabled yields an OK experience on all machines.
Having the soft buttons in addition to physical buttons would just
be too strange.

input preflet:
- Implement software button areas

input mouse:
- Handle and provide new settings for software button areas

input mouse mm:
- Implement software button areas in the user space
- At the moment only a bottom located software button area
  simulating 3 different buttons is enabled.
  There is a working implementation 2 buttons only but not
  enabled in the code base.
  TODO for other type of software button areas is there.

Change-Id: I255cb1a7eac0d18064c63a2a0d4b158be7370a17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9922
Reviewed-by: Adrien Destugues <[email protected]>
2026-01-02 11:01:29 +00:00
Samuel Rodríguez Pérez 696c694dbb input: Implement edge motion (enabled by default on tap drag)
input headers:
- Add edge motion constants

input touchpad settings header:
- Edge motion (enabled by default as on tap drag)
- Help moving the cursor and the primary finger transitions
  from one place of the touchpad to its edge and then stays
  on the edge for some time.
  The default matches the current hardcoded behaviour.

input preflet:
- Implement edge motion options

input mouse:
- Handle and provide new setting for edge motion

input mouse mm:
- Enable edge motion on tap drag based on settings instead of being hardcoded
- Some users who didn't have a chance to read the users' documentation could
  wrognly believe that this feature is a bug by not understanting why
  unexpected cursor movement happen at constant speed on some scenarios
  sometimes not even realising that it happens when the finger is approaching
  to the edges of the touch area by mistake.

  At least, even if this is the current default setting at the moment, this
  enables the chance to change it instead of being a obscure hardcoded feature.

input mouse mm:
- Enhance edge motion with extra behaviours
- Support for other edge motion aids apart from "on tap drag only".

Change-Id: Ice50139f9f8001494f7e2a46bb1521a1e525cade
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9921
Reviewed-by: Adrien Destugues <[email protected]>
2026-01-02 11:01:29 +00:00
Samuel Rodríguez Pérez 6d4c0985d4 input: Implement two-fingers natural scrolling (enabled by default)
input touchpad settings header:
- Implement two-fingers natural scrolling (enabled by default)
- Sets scrolling with 2 fingers on the touchpad making
  the content to move in the same direction as the finger.

input preflet:
- Implement 2 fingers natural scrolling

input mouse:
- Handle and provide new settings for 2 finger natural scrolling

input mouse mm:
- Implement two-finger natural scrolling feature
- Implement natural scrolling for two-finger scrolling completely
  separated from reverse scrolling for egde scrolling only.

Change-Id: Idf673ec34a424b20183ed90761f297340d521526
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9919
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2026-01-02 11:01:29 +00:00
John Scipione 9d432d1b00 fs_info: Use B_DEV_NAME_LENGTH instead of 128 and remove TODO.
Change-Id: I2c93aee052ac4393512d457e1e84c969e5a927f9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10131
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2026-01-01 08:36:35 +00:00
X512 457cf2a9bf app_server: remove unreferenced server protocol commands
Change-Id: I48ec8a823bfc8660975cb6647b36f809f31374d3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10164
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-28 11:54:57 +00:00
Axel Dörfler b15cb7f6d0 bfswhich/bfsinfo/recover can now run on Linux
* You can build them using the <build> prefix; their Jamfiles are below
  src/tools/ as with other host builds.

Change-Id: I9986b85ba0f758d8420f625873b5e37c3274e678
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10126
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Axel Dörfler <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-25 17:26:09 +00:00
Christof Meerwald 09115ce009 build: Fix NetBSD build issues
* Use LITTLE_ENDIAN instead of __LITTLE_ENDIAN (LITTLE_ENDIAN is what
  POSIX now specifies and everyone seems to define - NetBSD also
  defines _LITTLE_ENDIAN, but not __LITTLE_ENDIAN)

* file descriptors greater than 2 must be explicitly passed to a child
  on NetBSD. POSIX leaves that unspecified, see
  https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#exec

* system library functions get declared with visibility "default" on
  NetBSD, so a "hidden" visibility attribute is ignored on a
  redeclaration. Work around by putting the functions in a namespace -
  as they are extern "C", they still end up in the object file without
  the namespace qualifier.

* remove the cast on the NULL pointer on the funopen call - it's not
  needed and the types are different between FreeBSD (fpos_t) and
  NetBSD/OpenBSD (off_t); also trying to change that upstream
  https://github.com/openSUSE/libsolv/pull/603

Change-Id: I6ab7f3c74d18960d7589b403a1c219cdac85a453
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10133
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-23 09:01:45 +00:00
Alexander von Gluck IV b157c2179a boot/platform/efi: Add network booting support
Similar to open firmware implementation.
This allows to load the kernel from a remote_disk_server.

IP address is recovered using LoadOptions with a syntax similar to the
Linux kernel network boot "ip" parameter. If this is not set, no network
booting is attempted, in order to not slow down normal booting by
waiting on network traffic.

Change-Id: I17738bbcde85921672965b9936a2b484f1e57c6c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3678
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-18 10:45:08 +00:00
Augustin Cavalier 1257e2ba22 Move most headers containing generic template classes out of kernel/util.
This follows on the move of BitUtils. Many of these headers were
already used in userspace.

Fixes #19849.
2025-12-09 16:11:46 -05:00
Augustin Cavalier 9f786b6af7 Rename "headers/private/utils" to "util".
This undoes some changes from cf930b7e6c.

Nearly all the other utility directories in the tree are named "util"
not "utils", so let's be consistent.
2025-12-09 16:03:02 -05:00
PulkoMandy 97675f2fc4 arm: relocate UART when remapping virtual memory
The uart virtual address changes as soon as we apply the kernel memory
map. gUART is used only after that, from serial_init() onwards. So it
should use the virtual address, and not the physical address it was
previously created with while parsing the FDT.

Change-Id: I8c8a024fe564b49d6555f8e48f5ab31652d30708
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10068
Reviewed-by: Fredrik Holmqvist <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-09 19:35:39 +00:00
PulkoMandy 172caabf4d BitUtils: fix gcc2 build
Change-Id: Ib347785c466df7df3f40c4781bb46f6fc12ef647
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10046
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-09 10:08:25 +00:00
PulkoMandy cf930b7e6c Move BitUtils.h outside of kernel directory
It is not specific to the kernel

Change-Id: I334c39b39d74f61b30215fb5489dec09e318dacd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10049
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-09 10:08:25 +00:00
PulkoMandy 9cb525a2e3 FunctionTracer: add support for "this" pointer and custom printf function
Prepare for replacement of modified version used in input_server addons.
Adapt existing callers.

The "this" argument is required, and the CALLED macro can only set it to
one single value for an entire file currently. So, in any case where at
least one standalone function or static method uses CALLED, the macro
has to use a NULL pointer for all calls.

Change-Id: I42fdcbeaf6dd039d4c4369818220ad85e0b8087e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10041
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-03 07:48:12 +00:00
PulkoMandy b939b5a9f4 debug_printf: return number of printed characters
For compatibility with other printf functions

Change-Id: I52c85d590b8480427952740cb896112bb4e71c18
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10044
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Axel Dörfler <[email protected]>
2025-12-02 09:43:45 +00:00
Kacper Kasper ccf8b1e96f BTab: decouple display label from view name.
In BeOS, the tab label was synchronized with the view name. This means
BTab::SetLabel would change the view name. This behavior is unexpected,
and also annoying, for example it prevents using localized tab labels
but fixed view names for scripting.

* Document this divergence from BeOS in the Haiku book
* Detect if we're running in a BeOS app to preserve the old behavior
  then

Change-Id: I5b758a035fe8752cee2ea7789a30ea47a01467b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/122
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
2025-12-02 08:00:36 +00:00
PulkoMandy b1ff3e6c46 FunctionTracer: use __PRETTY_FUNCTION__
Change-Id: I49d53f4bb7b65d32c9e1e22be89add6199ccad24
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10038
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: Niels Sascha Reedijk <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-01 09:48:36 +00:00
Samuel Rodríguez Pérez 5cc2a47ef1 input headers: Fix fingerWith documentation + license update
Add and fix description of the current values for fingerWith
field and related constants along with future expectations
for the same. The latest explainted as TODO item.

Change-Id: I876a9cf03a935309159401a6c88d9047bf225f90
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9863
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-29 19:36:51 +00:00
Augustin Cavalier 39c7c29e69 net_server: Run DHCP negotiation on a separate thread to fix hangs.
Previously we ran DHCP negotiation on the looper thread. This meant
that we just blocked it for long periods of time, which stopped
configuration settings changes from working properly, and causing
the Network preferences panel to hang when net_server failed to
respond to its messages.

Now, we spawn a separate thread to do the real work on, and unlock
the looper around the recvfrom() with long timeouts. There's now a
kMsgAutoConfigureFailed that is sent when auto-configuration fails,
so that the AutoconfigLooper can fallback as before. Additionally,
the main NetServer class quits loopers for devices on any configuration
change, rather than deferring it unecessarily (and possibly wrongly, in
some cases.)

Fixes #18037. Probably fixes #17300 and may help with others.
2025-11-27 14:30:54 -05:00
Augustin Cavalier 1838903ee6 RosterPrivate: Define kMsgAppServerStarted as uint32 to appease GCC2. 2025-11-19 00:46:04 -05:00
Augustin Cavalier 49a92384f4 servers & kits: Rehabilitate app_server restart functionality.
* It's not really possible to distinguish between a first startup
   and a restart inside app_server itself. Due to the new BServer
   setup, the same port will still be used, too. So, change the
   messages sent to just "AppServerStarted".

 * Since the message is sent out much later than the port is created,
   by the time applications see it, the app_server may have already
   been started a while and applications may have connected to it.
   So, check if we really need to reconnect in BApplication before
   actually trying to do that.

 * BWindow now starts with updates disabled, so they must be
   enabled after reconnecting.

After this commit, basic app_server restart functionality works again;
it's restarted automatically by launch_daemon after dying or being killed
and applications automatically reconnect. However, some problems still
linger (e.g. Terminal doesn't always recreate its windows, colors
on the Desktop look wrong, missing desktop background image, etc.)
2025-11-18 22:26:31 -05:00
Augustin Cavalier d640e20575 BeBuild.h: Add _DEPRECATED.
Change-Id: I983e89fa5324983f3721c50904d2a1d9b2014009
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9087
Reviewed-by: Adrien Destugues <[email protected]>
Reviewed-by: X512 X512 <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-11-16 16:37:38 +00:00
Jérôme Duval 431d197b7e kernel/fd: add inc_fd_open_count
Change-Id: I28a1b99a020cefb626dddca78cb7b7913cd1286c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9864
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-15 22:30:45 +00:00
Jérôme Duval 8dcdf257f9 network/stack: Add clone_ancillary_data.
Change-Id: I98a56344ffbf0c691a797ad7ce69ba1de08bbbee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9859
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-15 22:30:45 +00:00
Jérôme Duval 5e0c933df0 Added ring_buffer_user_peek() similar to ring_buffer_peek()
Change-Id: Ife183989e0c031f648feb6a4b03f1a3ffc15503c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9858
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-11-13 14:11:35 +00:00
Jérôme Duval b739532218 POSIX: add ffsl and ffsll from musl sources.
appeared in issue 8:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/ffs.html
Change-Id: Ic382498c3e2d6138aedbeb88578882457ee875ee
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9836
Reviewed-by: waddlesplash <[email protected]>
2025-11-11 16:50:29 +00:00
Augustin Cavalier 5769051834 kernel/vm: Drop methods used only by the old guarded heap.
They're not needed anymore. The VMTranslationMap method was confusingly
named anyway, as the other Debug* methods are for use in KDL, while
this one required the regular locks and flush mechanisms.

Change-Id: Ic1baf3d786071562d8beaeb768d996cd1d34f9b7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9706
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-31 02:36:19 +00:00
Jérôme Duval e0ccf1d924 POSIX: add CMPLX(), CMPLXF(), CMPLXL()
appeared in issue 8:
https://pubs.opengroup.org/onlinepubs/9799919799/functions/CMPLX.html

Change-Id: I037e7368611e201df28589172f926e7a9fc52be2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9758
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-30 07:30:43 +00:00
John Scipione 17a87a2077 Tracker: Add Disks to Desktop nav menu if "Show Disks" setting is on.
Rename AddRootItemsIfNeeded() to AddVolumeItems().

Fixes #19720

Change-Id: I866b7364012b2d267809d9f49059ef531ec4a24f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9741
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: humdinger humdinger <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-27 16:28:45 +00:00
PulkoMandy f80d1b0293 kernel/util: make convertutf available to C code
No reason to make it C++-only

Change-Id: Ia9c1aff68876fd0d9a4bcf82d69f5e6ec6878ca0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9738
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-27 12:48:11 +00:00
Jérôme Duval 7c089760c6 efi: fix header guard comment
Change-Id: I5528185d0b130fa8095b62d7865e51f22a68d8b5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9692
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-10-15 06:52:57 +00:00
Jérôme Duval 6ce67a5336 smbios: support getting address from EFI
* prefer v3 over v2
* adding efi attributes in gBootVolume KMessage is a bit of a hack, but
shouldn't hurt older kernels.

Change-Id: If5ea19dafa5a845872eb8d577e77a6935539ce20
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9685
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-15 06:52:57 +00:00
Jérôme Duval 4719b3c5c3 boot_loader: rename gBootVolume to gBootParams
this will be used to hold other boot parameters, for instance smbios root pointers.

Change-Id: I004a8abe553241816c0a004225e088bad1c11b47
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9691
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-10-15 06:52:57 +00:00
Augustin Cavalier 4ccb957d6c x86_acpi_cstates: Port to the new ACPI and CPUIDLE APIs.
Tested by OscarL and confirmed to be working on at least
one machine, though on others it hangs, so leaving out
of the default builds for now.

This adds an "acpi_processor_id" field to x86 arch_cpu_info,
gleaned from the MADT, so we can match our cpu_ents to ACPI
processor objects. (FreeBSD does a similar mapping, see
their acpi_cpu_probe method.)

Change-Id: Idb5e3c1fc1efaa4256d60ea17dd1824345369687
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9637
Reviewed-by: waddlesplash <[email protected]>
2025-10-10 18:24:56 +00:00
X512 31f0983fb2 remove accidentally set executable file bit
Change-Id: I6eb500ee8dc3ad0e699c3c3ec5e07d4a75264eb5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9686
Reviewed-by: waddlesplash <[email protected]>
2025-10-10 15:31:55 +00:00
X512 47538c534f ClientMemoryAllocator: use map and reference count
- Resolve TODO about using map for server area_id lookup.

- Remove server cloned area delete request logic because it is less
  efficient and robust. Cloned area delete request messages may be
  missed if client message queue is full so it may cause cloned area
  leak.

- Implement reference counting for cloned areas instead.

Change-Id: Ie434ad36c2761ab0df00d341d55a6cea67b69830
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9667
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-10-06 15:10:48 +00:00
X512 b6f74b4905 app_server: do not pass BAffineTransform as-is over server link
BAffineTransform is not POD type and contains vtable. Reading it from
byte stream as-is will cause vtable corruption.

Change-Id: I1371444444ffa47f77a88f5f82b3fe6ea031b14c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9660
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-09-23 01:54:28 +00:00
X512 647aba7574 ServerLink: move Read*/Attach* method implementations to LinkSender/Receiver
Change-Id: Ib4dec3348b1438bbdfbaf18146d8aebb1978c39c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9631
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-09-08 16:42:25 +00:00
Augustin Cavalier bc50ada648 kernel/slab: Use FIFO instead of LIFO queueing for the object cache.
This should make use-after-frees more likely to be caught by the
standard paranoia facilities (and make them less likely to be
exploitable as memory will take longer to be reused.)
2025-09-03 15:41:58 -04:00