md(4) ioctl ABI broken by r322969

From: Brooks Davis <>
Date: Wed, 14 Mar 2018 22:43:47 +0000

I just noticed that r322969 consumed part of md_pad in struct md_ioctl.
In moving the start of md_pad this broke the ABI of MDIOCLIST.

At a glance it looks like the struct was sufficiently incompetently
padded to begin with that the change of adding a char * and subtracting
an int did not change the size of the struct and break all the ioctls,
but this definitely warranted a comment in the commit.

At this point I'm not sure what the right thing to do is.  MDIOCLIST
isn't used by anything in the base system and is broken by design so
just deleting it might be acceptable.  A somewhat better approach
would be to delete it from public view and fix it up with a compatibility
shim so it works for old code.  We could put that under COMPAT11.  I
have a patch it the works that would make that easier to do.

-- Brooks

Received on Wed Mar 14 2018 - 21:43:54 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:15 UTC