Commit Graph

60703 Commits

Author SHA1 Message Date
Augustin Cavalier 7ba58efd3a Installer: Skip block, character, FIFO, and socket devices/files.
Fixes #15019.
2019-09-14 00:40:30 -04:00
Augustin Cavalier b9fc38d9a4 kernel/fs: Automatically tail syslog on "no boot partitions".
The real reason none were found is likely in the syslog.
Even if the last 15 messages do not have the real error, they
may be enough to point towards what the problem is, or at least
uniquely identify the issue.

Fixes #15348.
2019-09-14 00:26:58 -04:00
Augustin Cavalier 2b5ebfcfd5 kernel/fs: Add missing IS_USER_ADDRESS check in user_vector_io.
The iovecs themselves were checked before they were copied,
but the iov_base inside each was not, making it possible
for evil (or just broken) user applications to put kernel
addresses in here.

Part of #14961.
2019-09-13 22:11:27 -04:00
Augustin Cavalier e315daa9c1 kernel/thread: Clarify permissions checking logic.
No functional change intended; but if I missed a case,
it will now be caught by the "return false" instead of
the "return true", which is a better default.
2019-09-13 22:10:23 -04:00
Augustin Cavalier 750b43405a kernel/device_manager: Add NULL checks before function calls.
Fixes #15175.
2019-09-13 22:09:53 -04:00
Augustin Cavalier 48a00c0f66 acpi: Support namespace reads into user addresses.
Fixes #15176.
2019-09-13 22:03:10 -04:00
Augustin Cavalier cf344027f8 kernel: Add padding in mutex fields for equivalent KDEBUG/non-KDEBUG sizing.
Non-KDEBUG kernels and kernel add-ons use atomic operations to acquire
and release the locks inline, so non-KDEBUG kernels/addons are only
compatible with other non-KDEBUG kernels/addons.

Following this change, though, KDEBUG kernels/addons should be able
to run under non-KDEBUG kernels/addons, too, since they always call
into the actual kernel functions and do not inline anything of
consequence.
2019-09-13 22:02:52 -04:00
Augustin Cavalier 19e017cb13 XHCI: Clarify a comment.
No functional change.
2019-09-13 21:32:58 -04:00
Jaroslaw Pelczar b3a12553f8 arm64: Implement IRQ masking for kernel
Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I05e41f8cd28834e4bcc9f02b4694a640f460cd17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1856
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-13 23:07:02 +00:00
Simon South a041f1b49c GLUT: Fix message handling in GlutWindow
Call the superclass implementation of MessageReceived() to process messages not
handled by GlutWindow itself.

This restores mouse and keyboard functionality in OpenGL apps, including
Celestia, affected by commit 75e5739772.

Change-Id: Ic3af56ab2f78e8b2b8be576d2edc30bb7357f359
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1862
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-13 22:57:04 +00:00
Jérôme Duval 428d8bc6fc usb_hid: use user_memcpy in JoystickProtocolHandler::Control().
on success, returns B_OK instead of B_ERROR.

Change-Id: I3e415d812ddbc6dbc4d27f346bbe7ea59374b39f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1861
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2019-09-13 17:40:27 +00:00
Jérôme Duval be06cb25e9 libroot: make API version available.
Change-Id: I370d5c8e9b4f076e7f115ca6c87bc7f943d36c17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1850
Reviewed-by: Rene Gollent <rene@gollent.com>
2019-09-13 13:38:08 +00:00
Humdinger b05def659e Screen prefs: localize "Brightness" slider
Add a colon, so it fits better to the other slider labels.
Fixes #15346
2019-09-13 07:47:45 +02:00
Mikael Konradsson 9a9f4ef578 Deskbar: Made expander knobs light when menu background is dark
Change-Id: I56a2fe1d4b1ce66476077e96e64066bf2950b4b4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1846
Reviewed-by: Stephan Aßmus <superstippi@gmx.de>
2019-09-12 09:38:41 +00:00
oreo639 0fe6734183 idualwifi7260: Import iwm-3168-ucode from FreeBSD 12.
This adds the firmware for Intel Dual Band Wireless-AC 3168NGW,
which the driver itself supports, making it possible to use this
device on Haiku.

Change-Id: Id8df2f3128cefb23dd1a5c2919c38945dce7cb94
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1844
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-11 22:53:16 +00:00
Jérôme Duval afbf0848e1 ext2: add test script for ext2 filesystem.
based on a test script from FreeBSD.
this uses fsx and fstorture to exercise the fs, mkfs.ext3 to initialize,
e2fsck to check the integrity. single-threaded test is OK, multi-threaded is not.
the following blocksizes and features are tested: 1K, 2K and 4K; huge_file,
dir_nlink, extent, 64bit, metadata_csum.

Change-Id: I948672194bfae0132341183efa4f4af962e2de02
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1843
Reviewed-by: Rene Gollent <rene@gollent.com>
2019-09-11 05:43:15 +00:00
Andrew Lindesay 0c82f64bf6 HaikuDepot: Conditions on Create User
When the user chooses to create a new user they
are able to view the current usage conditions for
users.  They are also required to agree to the
conditions and they are required to confirm that
they meet the minimum age requirement.

Relates to 15209

Change-Id: I83cdaabe1b3da31a4cd21139b72341f4b93cab85
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1842
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2019-09-10 06:10:17 +00:00
Augustin Cavalier a310e5e52f kernel/fs: Continue even if InitialDeviceScan returns an error.
See inline comment. Should fix #15330.
2019-09-09 20:51:58 -04:00
Augustin Cavalier 598b8e19a2 kernel/disk_device_manager: Continue scanning after invalid partitions.
As the inline comment notes, just because we could not scan one
partition does not mean we won't be able to scan the following ones.
This fixes scanning for disks on certain systems following axeld's
change in 7c2135591b.

Part of #15330.
2019-09-09 20:50:54 -04:00
Augustin Cavalier 1bdffaf427 kernel/fs: Only dump devices and partitions under KDEBUG.
Avoids a lot of noise in release kernel syslogs.
2019-09-09 20:46:45 -04:00
Augustin Cavalier 4ee6978ed7 BFS: Only compile with -O1 under GCC2.
GCC7+ does not have whatever compiler bugs plague GCC2, so we can
use -O2 there as usual.
2019-09-09 20:30:47 -04:00
Alexander von Gluck IV 194a45c6b4 system/glue: Add arm64 glue
Change-Id: I578c0ac89e5d40f086d0b66d5711f2b78c6087e1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1840
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-09-09 13:13:56 +00:00
Andrew Lindesay 051ee9d8fc HaikuDepot: Improvements to User Ratings
Change to match the web user interface behaviour;
the user ratings for all architectures are shown
and the list of user ratings is restricted to the
actual repository in use.  This is important
where two repositories have the same package with
different versions.  Also the architecture
is displayed with the version in the package info
page.

Change-Id: I8c024d9ddec6b97f52233b7462c47d2a1c83af09
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1817
Reviewed-by: Andrew Lindesay <apl@lindesay.co.nz>
2019-09-09 08:15:35 +00:00
Augustin Cavalier 75d2b89f76 Terminal: Fix GCC2 build. 2019-09-07 15:11:46 -04:00
Autocomitter 1625c5e549 Update translations from Pootle 2019-09-07 15:15:37 +00:00
sushilhub 595f071522 mediaplayer: write a break statement
Change-Id: I3cb8a7c6dcd6369b18062677963947fb4a313669
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1837
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-07 15:04:55 +00:00
Jérôme Duval af0281a8c2 POSIX: add a few constants for sysconf.
Change-Id: I400efdbccc97b287844917e21d8e08e26029f2f8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1839
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-07 15:04:14 +00:00
Humdinger 8577990620 Mail: Better placement of signature menu
When clicking the "Signature" button in the toolbar, no mouse
coordinates are available. The current hack is to open the menu
in the center of the tool bar, which is normally no way near
where the user has clicked the button. Not nice.

Change that to find the button coordinates and place the menu a bit
to the left of its center (so chances are the menu pops up already
under the mouse).

Fall back to the old hack, if the signature button wasn't found for
some reason...

Change-Id: I8fb5dbe4e2d394768a685fda0dc71d3cb2c5961d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1836
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-09-07 15:03:50 +00:00
Alexander von Gluck IV 39ba92c8bb build/jam: Add arm64 HaikuPortsCross for bootstrap
Change-Id: I3676006d677811d4d4dd2e50cc9374891133d13e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1838
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-09-07 12:54:12 +00:00
Simon South 8840b3db9a Terminal: Allow use of Option as Meta key
Add a configuration setting that allows the left Option key to be used as a
Meta key, and add support for the Escape sequences that control the Meta key's
behaviour.

TermWindow now maintains a copy, shared by all its component TermViews, of the
current key map, and updates this copy automatically when notified by the Input
Server a new key map has been loaded.

The Meta key was an extra modifier key present on early UNIX workstations that
provided access to the "extended" portion of the ASCII character set. Although
it has vanished from modern keyboards certain UNIX software still relies on the
key, most notably GNU Emacs and the GNU readline library, the latter of which
is used by bash and a wide variety of other software that reads input from a
terminal. (Python's interactive mode uses readline, for instance.)

With this patch applied and the new setting enabled, the left Option key can be
used to access additional editing and navigation features at the command line.
It also makes usable the port of GNU Emacs currently available from HaikuDepot.

Fixes #15294.

Change-Id: I150b640b7b18384d56ab2fb017bf16ce8bdbdd78
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1727
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-06 22:32:07 +00:00
Humdinger f36398cd4f Mail: fix translations in "Queries" menu 2019-09-06 19:58:33 +02:00
Augustin Cavalier 3a3d6c4ae2 kernel/x86: Check the frame address really is a user address before copying.
On x86_64, it is possible for a frame address to be in non-canonical
form (i.e. have bits 48-63 not all zero) if one writes hand-generated
assembly which does not use registers for their intended purpose, as
there is no processor requirement about the contents of those registers
or stack portions except when using "ret" or similar such instructions.

As it turns out, OpenSSL's libcrypto has such hand-generated assembly
for cryptography routines; so on 64-bit this caused a GPE when running
the profiler on applications that used OpenSSL.

Fixes #14530.
2019-09-02 22:06:22 -04:00
Augustin Cavalier a785ea4b3a kernel: Fix logic inversion in FileDevice.
Apparently nobody ever got here in SMAP mode; otherwise this would
have caused a KDL...
2019-09-02 22:00:57 -04:00
Augustin Cavalier 81b9fd211f mount_server: Remove the scary warning for BFS partitions.
Even if we are still not so sure about the veracity of other
filesystem drivers, the BFS driver has had no reported corruption
bugs for quite some time (almost 2 years I think). In fact the
only real corruption issues heard of recently are from KDLs,
which are also a vanishing issue.

So, disabling the warning entirely for BFS partitions probably makes
sense at this point.
2019-09-02 20:59:07 -04:00
Augustin Cavalier 13249ba056 ramfs: Fix dereference before NULL check in _DoCacheIO.
Should fix a KDL extrowerk ran into.
2019-09-02 15:09:40 -04:00
Jaroslaw Pelczar 412e096a06 trans_double_path: Fix member initialization order
Silence GCC -Wreorder warning

Signed-off-by: Jaroslaw Pelczar <jarek@jpelczar.com>
Change-Id: I14a9e314805f5a39faf6d8a9beb6e6bc24a71eec
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1820
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-02 17:14:29 +00:00
Augustin Cavalier 8e8897315f ramfs: Return the number of free pages, not available ones. 2019-09-02 13:14:07 -04:00
Augustin Cavalier 0f7252ab76 ramfs: Remove unused SLList.h. 2019-09-02 12:49:26 -04:00
Humdinger ea0042d5f4 Update translation credits
Added Fabio Tomat for the Friulian localization. Thanks!

Uncomment Catalan credits, as it's quite far along and its
catkeys are in trunk. Thanks, Paco Rivière!

Fixes #15323
2019-09-02 17:11:57 +02:00
Michael Lotz 66d6afec5a virtio_scsi: Abort requests on timeout.
Previously the CCB would never complete when a timeout occured, leading
to all further IO stopping.

Abort the request by setting the CCB status to aborted and handing the
CCB back to the SCSI layer. That one will then handle the error (and
possibly retrying). This is similar to how such errors are handled in
AHCI and the ATA stack.

Since it is now possible that we receive a completion interrupt for an
already aborted request, we need to keep track of what request the
interrupts belong to and only notify when the current one completes. As
there currently can't be multiple requests in flight, a simple counter
is used.

Change-Id: Ib80e146605efd2f81123803f424cc7f66f52a6c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1815
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-02 14:30:29 +00:00
Michael Lotz 9a2911ca8c virtio: Rework queue_dequeue to return a boolean.
It previously returned the cookie directly, which made it impossible
to distinguish between a NULL cookie and the function not having
anything to dequeue. This lead to some code setting a cookie that was
not actually used.

Return the dequeue status as a boolean and provide the cookie with an
optionally handed in pointer instead and adjust all users.

Change-Id: Iaac1726ac4bc7ae42bb96b8f0915852b6def5822
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1814
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2019-09-02 14:30:29 +00:00
Michael Lotz 26c0b5e701 virtio_scsi: Fix theoretical use of possibly modified fCCB.
As soon as the lock is released, fCCB may change due to a new Start().
With the current use of the request class this could not happen, so
this is purely theoretical.

Change-Id: I6caee7f904f1864621aeef088e2bd611eb3b0a1f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1813
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2019-09-02 14:30:29 +00:00
Michael Lotz 85fbdab0a6 virtio_scsi: Remove unused fExpectsInterrupt and its spinlock.
The value is never actually checked. The use of a condition variable
makes it redundant since it will already either have a waiting entry,
or not.

Change-Id: Iafaecb7f9e56a2cf8932e05b82aad2b350fbce1f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1812
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2019-09-02 14:30:29 +00:00
Michael Lotz d2fecacd0f virtio_scsi: Whitespace and line length cleanup only.
Change-Id: I12efb32c9222b9397bc44be927f37700e030e89a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1811
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2019-09-02 14:30:29 +00:00
Niels Sascha Reedijk 03b52202d1 API Docs: various AppKit improvements 2019-09-02 06:59:51 +01:00
Niels Sascha Reedijk 5b2a8e3aef API Docs: Add new methods to BMessage 2019-09-02 06:59:50 +01:00
Niels Sascha Reedijk a72f3582be API Docs: Add placeholder for Key.h, KeyStore.h and Notification.h 2019-09-02 06:59:50 +01:00
Autocomitter 0cacf937a0 Update translations from Pootle 2019-09-01 09:06:54 +00:00
Niels Sascha Reedijk 55fdd59f65 i18n: fix minor issues in English strings
Thanks for the reports via Pootle (i18n.haiku-os.org)
2019-09-01 07:11:35 +01:00
Augustin Cavalier 763047bfb1 NTFS: Merge changes to the utils from upstream. 2019-09-01 00:17:10 -04:00