319302 |
31-May-2017 |
ngie |
MFC r317311,r317312,r319019:
r317311:
Check for failures from getpagesize(3)
Return errno on failure, similar to the open(2) call above it.
CID: 1193753
r317312:
Fix type for `pagesize` to match the return type for getpagesize(3) to fix the build
Pointyhat to: ngie
r319019:
Remove getpagesize(3) error checking added in r317312
getpagesize(3) no longer fails as of r317436. |
319017 |
28-May-2017 |
ngie |
MFC r317310,r317316:
r317310:
Minor style(9) fixups
Delete trailing whitespace and sort headers.
Leave libgeom.h's placement alone, per reasoning in r317289.
r317316:
Minor style(9) fixups
Delete trailing whitespace and sort headers.
Leave libgeom.h's placement alone, per reasoning in r317289. |
319004 |
27-May-2017 |
ngie |
MFC r317288,r317289:
r317288:
libgeom(3): apply minor polish
- Use .Dv when mentioning NULL per mdoc(7). - Reword `g_device_path`, `g_open_by_ident`, and `g_providername`'s descriptions so they're less wordy. - Fix a typo in `g_device_path` (can not -> cannot).
Tested with: igor, make manlint
r317289:
libgeom(3): note that stdio.h is required when referencing gctl_dump(3)
gctl_dump(3) is only exposed when stdio.h is #include'd first, per its addition in r112510. The reasoning noted for the conditional "exposure" of the function was to "limit #include pollution".
This addresses an issue I found with the documentation when looking at bug 218809, which in turn addresses a -Wimplicit-function-declaration compiler warning in `tools/regression/geom_gpt/test.c` (it uses gctl_dump(3)). |
298107 |
16-Apr-2016 |
gjb |
Merge the projects/release-pkg branch to head.
This allows packaging the base system with pkg(8), including but not limited to providing the ability to provide upstream binary update possibilities for non-tier-1 architectures.
This merge is a requirement of the 11.0-RELEASE, and as such, thank you to everyone that has tested the project branch.
Documentation in build(7) etc. is still somewhat sparse, but updates to those parts will follow.
Sponsored by: The FreeBSD Foundation
|
234107 |
10-Apr-2012 |
jmallett |
Back out r233646. Although it fixed most libgeom consumers under 32-bit compatibility, it broke programs using devstat, under 32-bit compatibility and not.
It's very difficult to fix the identifiers used by devstat, so this change is simply being backed out. Since changes to 3rd-party code seem likely, and may be necessary to properly fix 32-bit binaries on 64-bit kernel, it would seem better to make more invasive changes to fix GEOM's problems with 32-bit compatibility in general.
The right thing to do is to replace all of the use of pointers as opaque identifiers with a fixed-size (64-bit or even 32-bit should be enough for tracking unique GEOM elments) field. That probably maintains source compatibility with most GEOM consumers, and allows xml2tree to make better assumptions about how to decode the identifiers.
Submitted by: Anton Yuzhaninov
|
233646 |
29-Mar-2012 |
jmallett |
Fix 32-bit libgeom consumers run on 64-bit kernels with COMPAT_FREEBSD32.
Kernel pointer values are used as opaque unique identifiers, which are then used to reconstruct references between various providers, classes, etc., inside libgeom from the source XML. Unfortunately, they're converted to pointer-width integers (in the form of pointers) to do this, and 32-bit userland pointers cannot hold sensible representations (however opaque) of 64-bit kernel pointers on all systems.
In the case where the leading bits are zero and 32 distinct bits of pointer can be identified, this will happen to work. On systems where the upper 32-bits of kernel pointers are non-zero and the same for all kernel pointers, this will result in double frees and all kinds of bizarre crashes and linkage between objects inside libgeom.
To mitigate this problem, treat the opaque identifiers in the XML as C strings instead, and internalize them to give unique and consistent per-object pointer values in userland for each identifier in the XML. This allows us to keep the libgeom logic the same with only minor changes to initial setup and parsing.
It might be more sensible for speed reasons to treat the identifiers as numbers of a large size (uintmax_t, say) rather than strings, but strings seem fine for now.
(As an added side-effect, this makes it slightly easier to identify unresolved references, but nothing has been added to inform the user of those.)
|
169162 |
01-May-2007 |
wkoszek |
Second call of sysctl() is used to gather a proper size of a memory chunk needed to hold the GEOM tree. At this point, pointer 'p' has an improper value (as it was used previously), and we're getting EFAULT. Fix this functionality by passing NULL instead of 'p'.
This fixes mdconfig(8) -l output with high number of md(4) devices.
Found by: kris Reviewed by: phk
|