On Jul 10, 2009, at 11:08 AM, Mark Rivers wrote:
So it fails. The seg fault happens because the I/O is being done
without first calling iopl(3). If I modify the test_io.c program to
implement the call to iopl(3) then it works if I run it as root.
So on some systems executing iopl(3) and then calling execv() allows
I/O port access in the exec'd task, but on some systems it does not.
Any ideas why?
That's very strange.
The man page that I have for iopl explicitly states:
Permissions are inherited by fork() and exec().
--
Eric Norum <[email protected]>
Advanced Photon Source
Argonne National Laboratory
(630) 252-4793
- References:
- Access to IO registers from user-space in recent Linux versions Mark Rivers
- Re: Access to IO registers from user-space in recent Linux versions Till Straumann
- RE: Access to IO registers from user-space in recent Linux versions Mark Rivers
- RE: [APS Beamline_controls] Access to IO registers from user-spacein recent Linux versions Mark Rivers
- Navigate by Date:
- Prev:
RE: [APS Beamline_controls] Access to IO registers from user-spacein recent Linux versions Mark Rivers
- Next:
Re: [APS Beamline_controls] Access to IO registers from user-spacein recent Linux versions David Kline
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: [APS Beamline_controls] Access to IO registers from user-spacein recent Linux versions Mark Rivers
- Next:
Re: [APS Beamline_controls] Access to IO registers from user-spacein recent Linux versions David Kline
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
<2009>
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|