patch-2.4.26 linux-2.4.26/fs/xfs/xfs_attr_leaf.c
Next file: linux-2.4.26/fs/xfs/xfs_buf_item.c
Previous file: linux-2.4.26/fs/xfs/xfs_attr.h
Back to the patch index
Back to the overall index
- Lines: 70
- Date:
2004-04-14 06:05:40.000000000 -0700
- Orig file:
linux-2.4.25/fs/xfs/xfs_attr_leaf.c
- Orig date:
2004-02-18 05:36:32.000000000 -0800
diff -urN linux-2.4.25/fs/xfs/xfs_attr_leaf.c linux-2.4.26/fs/xfs/xfs_attr_leaf.c
@@ -460,9 +460,15 @@
i < INT_GET(sf->hdr.count, ARCH_CONVERT); i++) {
attrnames_t *namesp;
+ if (((context->flags & ATTR_SECURE) != 0) !=
+ ((sfe->flags & XFS_ATTR_SECURE) != 0) &&
+ !(context->flags & ATTR_KERNORMALS)) {
+ sfe = XFS_ATTR_SF_NEXTENTRY(sfe);
+ continue;
+ }
if (((context->flags & ATTR_ROOT) != 0) !=
((sfe->flags & XFS_ATTR_ROOT) != 0) &&
- !(context->flags & ATTR_KERNFULLS)) {
+ !(context->flags & ATTR_KERNROOTLS)) {
sfe = XFS_ATTR_SF_NEXTENTRY(sfe);
continue;
}
@@ -511,9 +517,15 @@
kmem_free(sbuf, sbsize);
return XFS_ERROR(EFSCORRUPTED);
}
+ if (((context->flags & ATTR_SECURE) != 0) !=
+ ((sfe->flags & XFS_ATTR_SECURE) != 0) &&
+ !(context->flags & ATTR_KERNORMALS)) {
+ sfe = XFS_ATTR_SF_NEXTENTRY(sfe);
+ continue;
+ }
if (((context->flags & ATTR_ROOT) != 0) !=
((sfe->flags & XFS_ATTR_ROOT) != 0) &&
- !(context->flags & ATTR_KERNFULLS)) {
+ !(context->flags & ATTR_KERNROOTLS)) {
sfe = XFS_ATTR_SF_NEXTENTRY(sfe);
continue;
}
@@ -563,8 +575,8 @@
for ( ; i < nsbuf; i++, sbp++) {
attrnames_t *namesp;
- namesp = (sfe->flags & XFS_ATTR_SECURE) ? &attr_secure :
- ((sfe->flags & XFS_ATTR_ROOT) ? &attr_trusted :
+ namesp = (sbp->flags & XFS_ATTR_SECURE) ? &attr_secure :
+ ((sbp->flags & XFS_ATTR_ROOT) ? &attr_trusted :
&attr_user);
if (cursor->hashval != INT_GET(sbp->hash, ARCH_CONVERT)) {
@@ -575,8 +587,7 @@
ASSERT(context->flags & ATTR_KERNAMELS);
context->count += namesp->attr_namelen +
sbp->namelen + 1;
- }
- else {
+ } else {
if (xfs_attr_put_listent(context, namesp,
sbp->name, sbp->namelen,
INT_GET(sbp->valuelen, ARCH_CONVERT)))
@@ -2309,9 +2320,13 @@
if (entry->flags & XFS_ATTR_INCOMPLETE)
continue; /* skip incomplete entries */
+ if (((context->flags & ATTR_SECURE) != 0) !=
+ ((entry->flags & XFS_ATTR_SECURE) != 0) &&
+ !(context->flags & ATTR_KERNORMALS))
+ continue; /* skip non-matching entries */
if (((context->flags & ATTR_ROOT) != 0) !=
((entry->flags & XFS_ATTR_ROOT) != 0) &&
- !(context->flags & ATTR_KERNFULLS))
+ !(context->flags & ATTR_KERNROOTLS))
continue; /* skip non-matching entries */
namesp = (entry->flags & XFS_ATTR_SECURE) ? &attr_secure :
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)