projects
/
util-vserver.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
(parent:
95a1128
)
when ioctl() returns a value <-1, assign errno manually and return -1
author
Enrico Scholz
<enrico.scholz@informatik.tu-chemnitz.de>
Thu, 22 Jan 2004 13:36:30 +0000 (13:36 +0000)
committer
Enrico Scholz
<enrico.scholz@informatik.tu-chemnitz.de>
Thu, 22 Jan 2004 13:36:30 +0000 (13:36 +0000)
git-svn-id: http://svn.linux-vserver.org/svn/util-vserver/trunk@685
94cd875c
-1c1d-0410-91d2-
eb244daf1a30
util-vserver/lib/ioctl-getext2flags.hc
patch
|
blob
|
history
util-vserver/lib/ioctl-getfilecontext.hc
patch
|
blob
|
history
util-vserver/lib/ioctl-getxflg.hc
patch
|
blob
|
history
util-vserver/lib/ioctl-setext2flags.hc
patch
|
blob
|
history
util-vserver/lib/ioctl-setfilecontext.hc
patch
|
blob
|
history
util-vserver/lib/ioctl-setxflg.hc
patch
|
blob
|
history
diff --git
a/util-vserver/lib/ioctl-getext2flags.hc
b/util-vserver/lib/ioctl-getext2flags.hc
index
4d56f90
..
adb4346
100644
(file)
--- a/
util-vserver/lib/ioctl-getext2flags.hc
+++ b/
util-vserver/lib/ioctl-getext2flags.hc
@@
-41,5
+41,10
@@
vc_X_get_ext2flags(int fd, long *flags)
rc = ioctl(fd, EXT2_IOC_GETFLAGS, flags);
*flags = EXT2FLAGS_KERNEL2USER(*flags);
+ if (rc<-1) {
+ errno = -rc;
+ rc = -1;
+ }
+
return rc;
}
diff --git
a/util-vserver/lib/ioctl-getfilecontext.hc
b/util-vserver/lib/ioctl-getfilecontext.hc
index
6426466
..
d7970f9
100644
(file)
--- a/
util-vserver/lib/ioctl-getfilecontext.hc
+++ b/
util-vserver/lib/ioctl-getfilecontext.hc
@@
-31,6
+31,11
@@
vc_X_get_filecontext(int fd)
int c;
int rc = ioctl(fd, EXT2_IOC_GETCONTEXT, &c);
+ if (rc<-1) {
+ errno = -rc;
+ rc = -1;
+ }
+
if (rc==-1) return VC_NOCTX;
else return c;
}
diff --git
a/util-vserver/lib/ioctl-getxflg.hc
b/util-vserver/lib/ioctl-getxflg.hc
index
3ea109a
..
6006f97
100644
(file)
--- a/
util-vserver/lib/ioctl-getxflg.hc
+++ b/
util-vserver/lib/ioctl-getxflg.hc
@@
-34,5
+34,10
@@
vc_X_get_xflg(int fd, long *flags)
*flags = 0;
rc = ioctl(fd, FIOC_GETXFLG, flags);
+ if (rc<-1) {
+ errno = -rc;
+ rc = -1;
+ }
+
return rc;
}
diff --git
a/util-vserver/lib/ioctl-setext2flags.hc
b/util-vserver/lib/ioctl-setext2flags.hc
index
d5d7323
..
e07d711
100644
(file)
--- a/
util-vserver/lib/ioctl-setext2flags.hc
+++ b/
util-vserver/lib/ioctl-setext2flags.hc
@@
-37,6
+37,7
@@
static inline ALWAYSINLINE int
vc_X_set_ext2flags(int fd, long set_flags, long del_flags)
{
long old_flags = 0;
+ int rc;
set_flags = EXT2FLAGS_USER2KERNEL(set_flags);
del_flags = EXT2FLAGS_USER2KERNEL(del_flags);
@@
-47,5
+48,12
@@
vc_X_set_ext2flags(int fd, long set_flags, long del_flags)
}
old_flags |= set_flags;
- return ioctl(fd, EXT2_IOC_SETFLAGS, &old_flags);
+ rc = ioctl(fd, EXT2_IOC_SETFLAGS, &old_flags);
+
+ if (rc<-1) {
+ errno = -rc;
+ rc = -1;
+ }
+
+ return rc;
}
diff --git
a/util-vserver/lib/ioctl-setfilecontext.hc
b/util-vserver/lib/ioctl-setfilecontext.hc
index
e846c12
..
c07f1ba
100644
(file)
--- a/
util-vserver/lib/ioctl-setfilecontext.hc
+++ b/
util-vserver/lib/ioctl-setfilecontext.hc
@@
-31,5
+31,10
@@
vc_X_set_filecontext(int fd, xid_t ctx)
int c = ctx;
int rc = ioctl(fd, EXT2_IOC_SETCONTEXT, &c);
+ if (rc<-1) {
+ errno = -rc;
+ rc = -1;
+ }
+
return rc;
}
diff --git
a/util-vserver/lib/ioctl-setxflg.hc
b/util-vserver/lib/ioctl-setxflg.hc
index
7224d11
..
24cee02
100644
(file)
--- a/
util-vserver/lib/ioctl-setxflg.hc
+++ b/
util-vserver/lib/ioctl-setxflg.hc
@@
-33,5
+33,10
@@
vc_X_set_xflg(int fd, long flags)
int rc;
rc = ioctl(fd, FIOC_SETXFLG, &flags);
+ if (rc<-1) {
+ errno = -rc;
+ rc = -1;
+ }
+
return rc;
}