Andreas Schwab wrote:
Maxim Kuvyrkov <maxim@xxxxxxxxxxxxxxxx> writes:
The bug is rather elegant and has been present in sources for years.
For more than 9 years, to be precise, when 32 bit uids were introduced.
The problem is that m68k uses a custom siginfo layout due to having
a 16-bit uid field for 'backward compatibility'. I.e., siginfo._kill
fields are:
I've found this interesting thread from 2000:
http://marc.info/?l=linux-kernel&m=94829131029274&w=2
The change went in 2.3.41, and undid the change made in 2.3.39. It was
reintroduced (for asm-m68k/siginfo.h only and with __kernel_* types; no
other siginfo header used them at that time) in 2.4.0-test12.
Now looking at the glibc side, m68k has always used the generic
linux/bits/siginfo.h (with a single 32bit uid field), until Richard
Sandiford introduced linux/m68k/siginfo.h in October 2006, copying the
(broken) layout from the kernel.
Given that there is no way to keep backward compatibility it might be a
good opportunity to do same cleanup here. Like going back to the
generic layout.
I can only cheer for going to the generic layout as I don't want repeat
the exercise of hunting a bug that is both in the kernel and glibc.
--
Maxim
--
To unsubscribe from this list: send the line "unsubscribe linux-m68k" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html