41543 Commits

Author SHA1 Message Date
Stephan Aßmus
df30e677a7 Replaced mention of "SVN" with "version control system". hrev43401 2011-12-04 14:51:47 +01:00
Michael Lotz
5cbe06f482 Allow replacing the object cache with the guarded heap.
This allows to use the debug features of the guarded heap also on
allocations made through the object cache API. This is obivously
horrible for performance and uses up huge amounts of memory, so the
initial and grow sizes are adjusted accordingly.

Note that this is a rather simple hack, using the object_cache pointer
to transport the allocation size. The alignment is neglected completely.
hrev43400
2011-12-04 13:52:06 +01:00
Michael Lotz
390a6e2e02 Add support for optional inline stack traces in guarded heap. hrev43399 2011-12-04 12:56:59 +01:00
Humdinger
aabb32e118 Make the enclosure string in the mail body translatable. hrev43398 2011-12-04 09:04:35 +01:00
Yourself
068e156490 Added Dvorak (programmer's) keymap. Patch by Duggan. Fixes #8177. hrev43397 2011-12-03 21:45:52 +00:00
Michael Lotz
24a15a69a8 Fix use of a potentially freed net_buffer.
The buffer may have been freed if its data was added to the queue, but
later the buffer size was still read from the object. A spurious
acknowledge may have been sent, or one would have gone missing,
depending on what happened with the allocation after it was freed.
hrev43396
2011-12-04 02:34:35 +01:00
Michael Lotz
01762bd57f Fix possibly harmful use of stale pointer in edge case.
The call to _MakeSpace() may move the extent data from the indirect
array (kept in a heap allocation) to the direct one kept inside the
class. In that case the lastExtent pointer would become stale and
further use of it would've lead to suboptimal extents in the best case
to reading/writing at the wrong point in files and possibly corruption
of another allocation in the worst (both unlikely though).

To mitigate that we now re-initialize the pointer to the correct location
if we hit the cache limit.

Also made the use of the start variable more understandable. Instaed of
decrementing it (possibly wrapping) when an extent wasn't going to be
used and later adding the vector index again, just increment whenever
we actually move to the next extent.

For bad things to happen a few conditions needed to come together though:
1. There needed to be multiple vectors that could be combined with the
existing last extent.
2. There first needed to be more extents than the cache limit and that
number then had to decrease below the cache limit again.
3. The memory needed to stay intact after being freed up until after the
evaluation (or similar enough data had to be written to it).

At least the last one was guaranteed to not be true anymore since we
re-introduced overwritting freed memory with 0xdeadbeef in the slab,
therefore nastily hiding this. I'm not sure that the first condition is
ever met either (probably the vectors are combined beforehand so that
there never are multiple adjacent ones) at least for the normal use case
(the page writer writing back pages). I was at least unable to reproduce
an actual file corruption in my testing.

Just the out of bounds access to the stale pointer happened rather easily
though and is now at least fixed.
hrev43395
2011-12-03 23:30:16 +01:00
Michael Lotz
e62d9911ea Allocate as much as is later read, didn't do harm though.
Further in the process the flat argument size is rounded up, but the
actual allocation was done with the unaligned size causing an access
beyond the allocation when later copying the flat arguments. It didn't
do any actual harm as the block sizes of our allocator(s) use elements
that have at least such an alignment.
hrev43394
2011-12-03 23:13:52 +01:00
Michael Lotz
b39f919dbf Remove the root device from the root devices list.
The device is added to the root devices list when initializing, but was
not removed from there again when the root device was removed and freed,
causing the list to have a stale entry. Probably fixes #3305.

The list is populated once for the _fbsd_init_hardware iteration and, if
a device was found, again for _fbsd_init_drivers. The only thing I don't
understand is why it didn't just always crash, as there should have been
a stale list entry in any case when a supported device actually was found...
hrev43393
2011-12-03 23:05:30 +01:00
Michael Lotz
4495409499 Abort the request instead of crashing when out of memory. hrev43392 2011-12-03 22:54:48 +01:00
Niels Sascha Reedijk
e6f22646a3 Update userguide and welcome documentation with the latest additions and translations from i18n.haiku-os.org. hrev43391 2011-12-03 21:12:53 +01:00
Michael Lotz
1fe24d0cd0 Add heap with guard pages to detect out of bound reads/writes.
This is a very simple heap implementation that allocates memory so that
the end of each allocation always coincides with a page end and is
followed by a guard page which is marked non-present. Out of bounds
access (both read and write) therefore cause a crash (unhandled page
fault).

Note that this allocator is neither speed nor space efficient, indeed it
wastes huge amounts of pages and address space so it is quite easy to
hit limits. It is intended as a pure debug feature.
hrev43390
2011-12-03 20:09:13 +01:00
Siarzhuk Zharski
d79b659e26 Terminal:Fix printing and windows settings path.
* Fixes #7986 - behavior of Print command fixed to be consistent
  with other application, like StyledEdit. This change
  display the print job settings dialog instead of "Printing
  was cancelled" alert;
* Fixes #6998 - the path to storing windows settings changed from
  ~/config/settings/Terminal_windows to ~/c/s/Terminal/Windows;

  This patch was created during GCI 2011 by doctorkohaku.
  Thanks for the contribution!
hrev43389
2011-12-03 20:00:39 +01:00
Michael Lotz
7418dbd908 Introduce debug page wise kernel area protection functions.
This adds a pair of functions vm_prepare_kernel_area_debug_protection()
and vm_set_kernel_area_debug_protection() to set a kernel area up for
page wise protection and to actually protect individual pages
respectively.

It was already possible to read and write protect full areas via area
protection flags and not mapping any actual pages. For areas that
actually have mapped pages this doesn't work however as no fault, at
which the permissions could be checked, is generated on access.

These new functions use the debug helpers of the translation map to mark
individual pages as non-present without unmapping them. This allows them
to be "protected", i.e. causing a fault on read and write access. As they
aren't actually unmapped they can later be marked present again.

Note that these are debug helpers and have quite a few restrictions as
described in the comment above the function and is only useful for some
very specific and constrained use cases.
hrev43388
2011-12-03 19:49:18 +01:00
Michael Lotz
643cf35ee8 Add debug helper functions to mark pages present.
They can be used to mark pages as present/non-present without actually
unmapping them. Marking pages as non-present causes every access to
fault. We can use that for debugging as it allows us to "read protect"
individual kernel pages.
hrev43387
2011-12-03 19:45:31 +01:00
Humdinger
f990399943 Added Rimas and Simonas as Lithuanian translators. Thanks guys. hrev43386 2011-12-03 16:53:58 +01:00
Niels Sascha Reedijk
cf8407428a Update translations from Pootle. hrev43385 2011-12-03 15:59:54 +01:00
Alexander von Gluck IV
bdd1989348 Add lookup of encoder id -> name for debugging hrev43384 2011-12-02 20:23:13 -06:00
Alexander von Gluck IV
2944d7dab8 Bug fix in drm driver, set EncoderID properly on pll_adjust 2011-12-02 20:23:12 -06:00
Axel Dörfler
410018c3ad Made mail_encoding a proper C++ file.
* This unbreaks the GCC2 build, thanks Matt!
hrev43383
2011-12-03 02:00:22 +01:00
Axel Dörfler
4bd5da8275 Minor cleanup, no functional change. hrev43382 2011-12-03 01:10:00 +01:00
Alexander von Gluck IV
6d870a6ce7 Add 3850 PCI ID, thanks Alexandre! hrev43381 2011-12-02 16:56:08 -06:00
Alexander von Gluck IV
dad34be3e1 Improve pll calculations dealing with DisplayPort devices
* rename encoder_isexternal to encoder_is_external
* add encoder_is_dp_bridge call for special DP cases
* add initial get_dp_link_clock, hard code a guess for now
* take external DP encoders into consideration when making
  pixel clock adjustments
hrev43380
2011-12-02 16:49:20 -06:00
Scott McCreary
9bcf0b2e39 Merge branch 'master' of ssh://git.haiku-os.org/haiku hrev43379 2011-12-02 17:00:49 +00:00
Michael Lotz
44dffa86c0 Fix the etc path that was accidentally changed. hrev43378 2011-12-02 14:22:28 +01:00
Michael Lotz
15b483ebe7 Revert "Add temporary workaround for moved etc directory."
Revert the workaround in hrev43361 to be fixed by adjusting the path.
2011-12-02 14:18:50 +01:00
Michael Lotz
e791096b81 Fix unintentional change that broke input_server in safemode.
The change to this initial index for safemode was brought in with the
flat import of the package manager branch in 323b654 where presumably
more paths were used. With this value selecting either just safe mode
or disable user add-ons would lead to no input_server add-ons being
loaded at all, leading to a system without input.
hrev43377
2011-12-02 14:07:55 +01:00
Humdinger
6460ec0118 Added Croatian catkeys. hrev43376 2011-12-02 12:45:36 +01:00
Alex Wilson
182e2ee973 Add a bit more FBC stuff for the Layout API, which I missed before. 2011-12-01 22:47:46 -07:00
Alex Wilson
d56e7bd64d Make archiving hooks protected in layout classes.
Furthermore,
* remove a stray blank line in Layout.cpp
* make BLayoutItem::SetLayout() private, as it should have been
2011-12-01 20:45:50 -07:00
Alex Wilson
f98f5ca48b Fix bug in BView::RemoveSelf() that lead to a segfault.
Once again, the BObjectList removal behaviour leads to a null dereference. It's my fault of course, but there you have it. Comments have been included for future devs.
2011-12-01 19:08:56 -07:00
Scott McCreary
f8631ec46e Merge branch 'master' of ssh://git.haiku-os.org/haiku 2011-12-02 01:08:23 +00:00
Oliver Tappe
e7be020ce5 Adjust GetBuildFile() to use correct cgit-URL. hrev43375 2011-12-01 15:45:48 +01:00
Oliver Tappe
3032f55d28 Fix #8167: create compatibility symlink in /boot/home/config/be
* instead of in /boot/home/config/settings/be, the compatibility
  link has to live directly in the config folder, as otherwise
  it doesn't help compatibility-wise at all ;-)
hrev43374
2011-12-01 10:39:32 +01:00
Rene Gollent
82d09e800f Style fix, no functional change. hrev43373 2011-11-30 16:16:42 -05:00
Scott McCreary
64e63a6bb5 Updated openssh optionalpackage
* Updated sshd_keymaker.sh script to use --group instead of --app
2011-11-30 20:57:01 +00:00
Rene Gollent
3f383c8ad7 Fix DebugAnalyzer build. hrev43372 2011-11-30 11:56:36 -05:00
Alexander von Gluck IV
dda3bb3bd8 Add some notes and warnings on Nutmeg and Travis based on AMD engineer comments
* give user condolences (for now)
* no real change
hrev43371
2011-11-30 09:42:24 -06:00
François Revol
c5382e2ca4 Style fix hrev43370 2011-11-30 13:41:00 +01:00
czeidler
056207eedd Cleanup the constraint solver a bit and fix a bug when a variable is removed. hrev43369 2011-11-30 18:22:39 +13:00
czeidler
57014d1ff7 Make tabs BReferenceable. Maintain a list of tabs. 2011-11-30 17:55:36 +13:00
Alexander von Gluck IV
b394b1d2bb Add early support for external encoders
* detect and attempt setup on external encoders
* improve encoder tracing
hrev43368
2011-11-29 20:59:16 -06:00
François Revol
fc111138a9 Add an option to live in the Deskbar
* Apply reworked version of the patch from "RQ" in #8156 that adds a "live in the deskbar" menu item.
* Also added a "Remove replicant" menu item for the replicant case.
hrev43367
2011-11-30 01:52:23 +01:00
François Revol
99fc86822b Add WebWatch to the image, as it just works hrev43366 2011-11-30 01:50:27 +01:00
Alexander von Gluck IV
0fa9729668 Add support for newer Realtek RTL8105E ethernet card revision
* backport from recent FreeBSD rt driver
* tested working on my HP Pavillion g7
* aka scalpel vs chainsaw
hrev43365
2011-11-29 15:12:22 -06:00
Humdinger
d8b712244f Reverted bogus change. hrev43364 2011-11-29 19:56:02 +01:00
Humdinger
087f8961c0 Added Croatian translators Zlatko Sehanović and Ivica Koli hrev43363 2011-11-29 18:48:41 +01:00
Humdinger
3bdb3acf11 Updated Finnish catkeys. hrev43362 2011-11-29 18:12:33 +01:00
Humdinger
5fda31597b Corrected track string: first number then title. 2011-11-29 18:12:32 +01:00
Humdinger
03c2a13895 Fixed typo spotted by helix84. 2011-11-29 18:12:31 +01:00