fsck_ufs out of swapspace

Peter Jeremy peterjeremy at acm.org
Tue Dec 20 00:57:57 UTC 2011


On 2011-Dec-19 22:27:49 +0100, Michiel Boland <boland37 at xs4all.nl> wrote:
>Problem solved - it was indeed an endian thing.
>The problem is that fsck uses a real_dev_bsize variable that is declared long, 
>but the DIOCGSECTORSIZE ioctl takes an u_int argument.

To be accurate, this isn't an endian problem, it's a general problem
of passing a pointer to an incorrectly sized object.  The bug is
masked on amd64 & iA64 because real_dev_bsize is statically allocated
and therefore initialised to zero.  This means the failure to assign
the top 32 bits in the ioctl doesn't affect the final result.

>A PR has been submitted.

sparc64/163460 for the record.  Thank you for tracking that down.

-- 
Peter Jeremy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20111220/c2c0ea69/attachment.pgp


More information about the freebsd-stable mailing list