Re: RFC: BSD system call revoke?

Matthew Kirkwood (weejock@ferret.lmh.ox.ac.uk)
Thu, 24 Jun 1999 12:48:51 +0100 (GMT)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

--27511946-131853556-930224931=:16011
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Thu, 24 Jun 1999, Bernd Kaindl wrote:

> One thing I miss in the patch i found is what Chris pointed out:
> > 1) It is not sufficient to just close the file descriptor. Some
> > potentially sensitive devices (and all files) may by mmap()'ed into
> > virtual memory. I think the solution was vmtruncate()
>
> Question one: Is this the last version of the revoke patch?

Not quite. I've attached something newer, which does have
(tested but unverified) code to yank away the file mapping,
and should be OK.

Things it needs:
* Someone to verify that vmtruncate(inode, 0) works and is
the right thing to do
* Investigation of how to handle the CLONE_FILES case.

I don't think that the approach for finding files to revoke
really fits in with the "lock_kernel? What's that?" approach
of 2.3, though.

Al's per-superblock inode hashes could make this a fair bit
easier, though.

Matthew.

--27511946-131853556-930224931=:16011
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="rescind-2.1.80.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.9906241248510.16011@ferret.lmh.ox.ac.uk>
Content-Description:
Content-Disposition: attachment; filename="rescind-2.1.80.diff"

ZGlmZiAtcnVOIGxpbnV4LTIuMS44MC1wcmU0LWNsZWFuL01ha2VmaWxlIGxp
bnV4L01ha2VmaWxlDQotLS0gbGludXgtMi4xLjgwLXByZTQtY2xlYW4vTWFr
ZWZpbGUJU2F0IEphbiAxNyAxMzo1OTo0NCAxOTk4DQorKysgbGludXgvTWFr
ZWZpbGUJU2F0IEphbiAxNyAxNTo1NjoyMSAxOTk4DQpAQCAtMTEsNyArMTEs
NyBAQA0KICMNCiAjIE5PVEUhIFNNUCBpcyBleHBlcmltZW50YWwuIFNlZSB0
aGUgZmlsZSBEb2N1bWVudGF0aW9uL1NNUC50eHQNCiAjDQotU01QID0gMQ0K
KyMgU01QID0gMQ0KICMNCiAjIFNNUCBwcm9maWxpbmcgb3B0aW9ucw0KICMg
U01QX1BST0YgPSAxDQpkaWZmIC1ydU4gbGludXgtMi4xLjgwLXByZTQtY2xl
YW4vYXJjaC9pMzg2L2tlcm5lbC9lbnRyeS5TIGxpbnV4L2FyY2gvaTM4Ni9r
ZXJuZWwvZW50cnkuUw0KLS0tIGxpbnV4LTIuMS44MC1wcmU0LWNsZWFuL2Fy
Y2gvaTM4Ni9rZXJuZWwvZW50cnkuUwlTYXQgSmFuIDEwIDE5OjU3OjI5IDE5
OTgNCisrKyBsaW51eC9hcmNoL2kzODYva2VybmVsL2VudHJ5LlMJU2F0IEph
biAxNyAxNToyMDowNyAxOTk4DQpAQCAtNTMyLDcgKzUzMiw4IEBADQogCS5s
b25nIFNZTUJPTF9OQU1FKHN5c19ydF9zaWdzdXNwZW5kKQ0KIAkubG9uZyBT
WU1CT0xfTkFNRShzeXNfcHJlYWQpCQkvKiAxODAgKi8NCiAJLmxvbmcgU1lN
Qk9MX05BTUUoc3lzX3B3cml0ZSkNCisJLmxvbmcgU1lNQk9MX05BTUUoc3lz
X3Jlc2NpbmQpDQogCQ0KLQkucmVwdCBOUl9zeXNjYWxscy0xODENCisJLnJl
cHQgTlJfc3lzY2FsbHMtMTgyDQogCQkubG9uZyBTWU1CT0xfTkFNRShzeXNf
bmlfc3lzY2FsbCkNCiAJLmVuZHINCmRpZmYgLXJ1TiBsaW51eC0yLjEuODAt
cHJlNC1jbGVhbi9kcml2ZXJzL2NoYXIvdHR5X2lvLmMgbGludXgvZHJpdmVy
cy9jaGFyL3R0eV9pby5jDQotLS0gbGludXgtMi4xLjgwLXByZTQtY2xlYW4v
ZHJpdmVycy9jaGFyL3R0eV9pby5jCVRodSBKYW4gIDEgMDA6NDA6MDggMTk5
OA0KKysrIGxpbnV4L2RyaXZlcnMvY2hhci90dHlfaW8uYwlTYXQgSmFuIDE3
IDEzOjU2OjEyIDE5OTgNCkBAIC0xMTIxLDEwICsxMTIxLDEwIEBADQogCQkJ
cmVkaXJlY3QgPSBOVUxMOw0KIAl9DQogDQorCWZpbHAtPnByaXZhdGVfZGF0
YSA9IDA7DQogCS8qIGNoZWNrIHdoZXRoZXIgYm90aCBzaWRlcyBhcmUgY2xv
c2luZyAuLi4gKi8NCiAJaWYgKCF0dHlfY2xvc2luZyB8fCAob190dHkgJiYg
IW9fdHR5X2Nsb3NpbmcpKQ0KIAkJcmV0dXJuOw0KLQlmaWxwLT5wcml2YXRl
X2RhdGEgPSAwOw0KIAkNCiAjaWZkZWYgVFRZX0RFQlVHX0hBTkdVUA0KIAlw
cmludGsoImZyZWVpbmcgdHR5IHN0cnVjdHVyZS4uLiIpOw0KZGlmZiAtcnVO
IGxpbnV4LTIuMS44MC1wcmU0LWNsZWFuL2ZzL01ha2VmaWxlIGxpbnV4L2Zz
L01ha2VmaWxlDQotLS0gbGludXgtMi4xLjgwLXByZTQtY2xlYW4vZnMvTWFr
ZWZpbGUJU3VuIEphbiAgNCAxODo0MDoxNiAxOTk4DQorKysgbGludXgvZnMv
TWFrZWZpbGUJU2F0IEphbiAxNyAxMzo1NjoxMiAxOTk4DQpAQCAtMTMsNyAr
MTMsNyBAQA0KIE9fT0JKUyAgICA9IG9wZW4ubyByZWFkX3dyaXRlLm8gZGV2
aWNlcy5vIGZpbGVfdGFibGUubyBidWZmZXIubyBcDQogCQlzdXBlci5vICBi
bG9ja19kZXYubyBzdGF0Lm8gZXhlYy5vIHBpcGUubyBuYW1laS5vIGZjbnRs
Lm8gXA0KIAkJaW9jdGwubyByZWFkZGlyLm8gc2VsZWN0Lm8gZmlmby5vIGxv
Y2tzLm8gZmlsZXN5c3RlbXMubyBcDQotCQlpbm9kZS5vIGRjYWNoZS5vIGF0
dHIubyBiYWRfaW5vZGUubyAkKEJJTkZNVFMpIA0KKwkJaW5vZGUubyBkY2Fj
aGUubyBhdHRyLm8gYmFkX2lub2RlLm8gcmV2b2tlLm8gJChCSU5GTVRTKSAN
CiANCiBNT0RfTElTVF9OQU1FIDo9IEZTX01PRFVMRVMNCiBBTExfU1VCX0RJ
UlMgPSBjb2RhIG1pbml4IGV4dDIgZmF0IG1zZG9zIHZmYXQgcHJvYyBpc29m
cyBuZnMgdW1zZG9zIG50ZnMgXA0KZGlmZiAtcnVOIGxpbnV4LTIuMS44MC1w
cmU0LWNsZWFuL2ZzL3Jldm9rZS5jIGxpbnV4L2ZzL3Jldm9rZS5jDQotLS0g
bGludXgtMi4xLjgwLXByZTQtY2xlYW4vZnMvcmV2b2tlLmMJVGh1IEphbiAg
MSAwMTowMDowMCAxOTcwDQorKysgbGludXgvZnMvcmV2b2tlLmMJU2F0IEph
biAxNyAxNjowOTozNSAxOTk4DQpAQCAtMCwwICsxLDE1MiBAQA0KKy8qDQor
ICogIGxpbnV4L2ZzL3Jldm9rZS5jDQorICoNCisgKiAgQ29weXJpZ2h0IChD
KSAxOTk3ICBNYXR0aGV3IEtpcmt3b29kIDx3ZWVqb2NrQGZlcnJldC5sbWgu
b3guYWMudWs+DQorICogIENvcHlyaWdodCAoQykgMTk5NyAgQ2hyaXMgRXZh
bnMgPGNocmlzQGZlcnJldC5sbWgub3guYWMudWs+DQorICoNCisgKi8NCisN
CisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+DQorI2luY2x1ZGUgPGxpbnV4
L2xpbmthZ2UuaD4NCisjaW5jbHVkZSA8bGludXgvc2NoZWQuaD4NCisjaW5j
bHVkZSA8bGludXgvZXJybm8uaD4NCisjaW5jbHVkZSA8bGludXgvc21wX2xv
Y2suaD4NCisjaW5jbHVkZSA8bGludXgvZnMuaD4NCisjaW5jbHVkZSA8bGlu
dXgvbWFsbG9jLmg+DQorI2luY2x1ZGUgPGxpbnV4L21tLmg+DQorDQorI2lu
Y2x1ZGUgPGxpbnV4L3N0YXQuaD4NCisjaW5jbHVkZSA8bGludXgvcmVzY2lu
ZC5oPg0KKw0KK3N0YXRpYyBpbnQgcmV0X2ViYWRmKHZvaWQpDQorew0KKwly
ZXR1cm4gLUVCQURGOw0KK30NCisNCisvKiBCU0QgbWFuIHBhZ2UgbWFuZGF0
ZXMgcmVhZCgpIHBlcmZvcm1zIHRodXMuIFBpdHkgY2VydGFpbiBCU0RzIGRv
bid0DQorICogYWRoZXJlIHRvIHRoaXMuDQorICovDQorDQorc3RhdGljIHNz
aXplX3QgcmV0X25vX2J5dGVzKHN0cnVjdCBmaWxlKiBmaWxwLCBjaGFyKiBi
dWYsIHNpemVfdCBsZW4sIGxvZmZfdCogb2ZmKQ0KK3sNCisJcmV0dXJuIDA7
DQorfQ0KKw0KK3N0YXRpYyBpbnQgcmV2b2tlZF9yZWxlYXNlKHN0cnVjdCBp
bm9kZSAqIGlub2RlLCBzdHJ1Y3QgZmlsZSAqIGZpbHApDQorew0KKwlmaWxw
LT5mX29wID0gTlVMTDsNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBz
dHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHJldm9rZWRmX29wcyA9IHsNCisJcmV0
X2ViYWRmLAkJLyogbGxzZWVrICovDQorCXJldF9ub19ieXRlcywJCS8qIHJl
YWQgKi8NCisJcmV0X2ViYWRmLAkJLyogd3JpdGUgKi8NCisJcmV0X2ViYWRm
LAkJLyogcmVhZGRpciAqLw0KKwlyZXRfZWJhZGYsCQkvKiBwb2xsICovDQor
CXJldF9lYmFkZiwJCS8qIGlvY3RsICovDQorCXJldF9lYmFkZiwJCS8qIG1t
YXAgKi8NCisJcmV0X2ViYWRmLAkJLyogb3BlbiAqLw0KKwlyZXZva2VkX3Jl
bGVhc2UsCS8qIHJlbGVhc2UgKi8NCisJcmV0X2ViYWRmLAkJLyogZnN5bmMg
Ki8NCisJcmV0X2ViYWRmLAkJLyogZmFzeW5jICovDQorCXJldF9lYmFkZiwJ
CS8qIGNoZWNrX21lZGlhX2NoYW5nZSAqLw0KKwlyZXRfZWJhZGYsCQkvKiBy
ZXZhbGlkYXRlICovDQorCXJldF9lYmFkZiwJCS8qIGxvY2sgKi8NCit9Ow0K
Kw0KKw0KK3N0YXRpYyB2b2lkIGRvX3Jldm9rZShzdHJ1Y3QgaW5vZGUgKiBp
bm9kZSwgc3RydWN0IGZpbGUgKiBmaWxwLCBpbnQgd2hvLCBpbnQgd2hhdCkN
Cit7DQorLyogRG8gd2UgZG8gdGhpcyBvbmU/ICovDQorCWlmKChmaWxwLT5m
X293bmVyLnVpZCA9PSBpbm9kZS0+aV91aWQpIHx8IChmaWxwLT5mX293bmVy
LmV1aWQgPT0gaW5vZGUtPmlfdWlkKSkNCisJCWlmKH4od2hvICYgUkVTQ0lO
RF9XSE9fTUUpKQ0KKwkJCXJldHVybjsNCisJZWxzZQ0KKwkJaWYofih3aG8g
JiBSRVNDSU5EX1dIT19OT1RNRSkpDQorCQkJcmV0dXJuOw0KKw0KKy8qIFNv
IGRvIGl0IHRoZW4uLi4gKi8NCisJZG93bigmaW5vZGUtPmlfc2VtKTsNCisN
CisJaWYod2hhdCAmIFJFU0NJTkRfV0hBVF9GRCkgew0KKwkJaWYoZmlscC0+
Zl9vcC0+cmVsZWFzZSkNCisJCQkoKmZpbHAtPmZfb3AtPnJlbGVhc2UpKGlu
b2RlLCBmaWxwKTsJLyogQ2xvc2UgdGhlIGZpbGUgKi8NCisNCisJCWZpbHAt
PmZfb3AgPSAmcmV2b2tlZGZfb3BzOwkvKiBUaGUgZmlsZV9vcHMgdG8gZG8g
d2hhdCB3ZSB3YW50Li4uICovDQorCX0NCisNCisvKiBSaWdodC4gRGlkIHNv
bWVvbmUgbW1hcCgpIHRoZSBmZCB3aGlsZSB0aGV5IGhlbGQgaXQgb3Blbj8N
CisgKiBCZXR0ZXIgc29ydCB0aGlzIG91dC4gRG9lcyB5b3VyIE9TIGdldCBp
dCByaWdodCA6LSkNCisgKiBIaW50OiBTZWUgc29tZSBvZiB0aGUgKkJTRC4g
V2UgZGlzY292ZXJlZCBwcm9ibGVtcy4uDQorICovDQorCWlmKHdoYXQgJiBS
RVNDSU5EX1dIQVRfTU1BUCkNCisJCXZtdHJ1bmNhdGUoaW5vZGUsIDApOw0K
Kw0KKwl1cCgmaW5vZGUtPmlfc2VtKTsNCisNCisJcmV0dXJuOw0KK30NCisN
Cithc21saW5rYWdlIGludCBzeXNfcmVzY2luZChjaGFyICogcGF0aCwgaW50
IHdobywgaW50IHdoYXQsIGludCB0eXBlKQ0KK3sNCitpbnQgZXJyb3IgPSAw
Ow0KK3N0cnVjdCBkZW50cnkgKiBkZW50cnk7DQorc3RydWN0IGlub2RlICog
aW5vZGU7DQora2Rldl90IGRldjsNCit1bnNpZ25lZCBsb25nIGludW07DQor
DQorc3RydWN0IGZpbGUgKiBmaWxwOw0KKw0KKwlsb2NrX2tlcm5lbCgpOw0K
KwlkZW50cnkgPSBuYW1laShwYXRoKTsNCisNCisJZXJyb3IgPSBQVFJfRVJS
KGRlbnRyeSk7DQorCWlmKElTX0VSUihkZW50cnkpKQ0KKwkJZ290byBvdXQ7
DQorDQorCWlub2RlID0gZGVudHJ5LT5kX2lub2RlOw0KKw0KKy8qIENoZWNr
IGlmIG93bmVyIG9yIHN1cGVydXNlciAqLw0KKwlpZiggKGlub2RlLT5pX3Vp
ZCAhPSBjdXJyZW50LT5mc3VpZCkNCisJICYmIChpbm9kZS0+aV91aWQgIT0g
Y3VycmVudC0+ZXVpZCkNCisJICYmICFzdXNlcigpKSB7DQorCQllcnJvciA9
IC1FUEVSTTsNCisJCWdvdG8gZHB1dF9vdXQ7DQorCX0NCisNCisvKiBTZWUg
aWYgd2Ugd2FudCB0byBkbyB0aGlzLi4uICovDQorCWlmKChpbm9kZS0+aV9t
b2RlICYgKFNfSUZCTEsgfCBTX0lGQ0hSKSkgJiYgKH4odHlwZSAmIFJFU0NJ
TkRfVFlQRV9ERVYpKSkNCisJCXJldHVybiAtRUlOVkFMOw0KKw0KKwlpZigo
aW5vZGUtPmlfbW9kZSAmIFNfSUZSRUcpICYmICh+KHR5cGUgJiBSRVNDSU5E
X1RZUEVfRklMRSkpKQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQorDQorLyoNCisg
KiBOb3csIHRyYXdsIHRoZSBmaWxlIHRhYmxlIGFuZCBzZWUgaWYgd2UgY2Fu
IHJldm9rZSBhbnl0aGluZy4NCisgKg0KKyAqIFNob3VsZCBJIGNhbm9uaWZ5
IHRoZSBuYW1lLCBvciBpcyBpdCBPSyB0byByZWx5IG9uIHRoZSBkZXYNCisg
KiBhbmQgaW5vZGUgdmFsdWVzPw0KKyAqLw0KKwlkZXYgPSBpbm9kZS0+aV9k
ZXY7DQorCWludW0gPSBpbm9kZS0+aV9pbm87DQorDQorCWZpbHAgPSBpbnVz
ZV9maWxwczsNCisJd2hpbGUoZmlscCkgew0KKwkJaWYoIWZpbHAtPmZfZGVu
dHJ5KQ0KKwkJCWNvbnRpbnVlOw0KKw0KKwkJaW5vZGUgPSBmaWxwLT5mX2Rl
bnRyeS0+ZF9pbm9kZTsNCisJCWlmKChpbm9kZS0+aV9kZXYgPT0gZGV2KSAm
JiAoaW5vZGUtPmlfaW5vID09IGludW0pKSB7DQorCQkJZG9fcmV2b2tlKGlu
b2RlLCBmaWxwLCB3aG8sIHdoYXQpOw0KKwkJfQ0KKw0KKwkJZmlscCA9IGZp
bHAtPmZfbmV4dDsNCisJfQ0KKw0KK2RwdXRfb3V0Og0KKwlkcHV0KGRlbnRy
eSk7DQorb3V0Og0KKwl1bmxvY2tfa2VybmVsKCk7DQorCXJldHVybiBlcnJv
cjsNCit9DQpkaWZmIC1ydU4gbGludXgtMi4xLjgwLXByZTQtY2xlYW4vaW5j
bHVkZS9saW51eC9yZXNjaW5kLmggbGludXgvaW5jbHVkZS9saW51eC9yZXNj
aW5kLmgNCi0tLSBsaW51eC0yLjEuODAtcHJlNC1jbGVhbi9pbmNsdWRlL2xp
bnV4L3Jlc2NpbmQuaAlUaHUgSmFuICAxIDAxOjAwOjAwIDE5NzANCisrKyBs
aW51eC9pbmNsdWRlL2xpbnV4L3Jlc2NpbmQuaAlTYXQgSmFuIDE3IDE1OjQ1
OjIwIDE5OTgNCkBAIC0wLDAgKzEsMjAgQEANCisjaWZuZGVmIF9MSU5VWF9S
RVNDSU5EX0gNCisjZGVmaW5lIF9MSU5VWF9SRVNDSU5EX0gNCisNCisvKiBp
bnQgcmVzY2luZChjaGFyICogcGF0aCwgaW50IHdobywgaW50IHdoYXQsIGlu
dCBmbGFncyk7ICovDQorDQorI2RlZmluZQlSRVNDSU5EX1dIT19NRQkJMHgw
MDAxDQorI2RlZmluZQlSRVNDSU5EX1dIT19OT1RNRQkweDAwMDINCisjZGVm
aW5lCVJFU0NJTkRfV0hPX0FMTAkJKFJFU0NJTkRfV0hPX01FIHwgUkVTQ0lO
RF9XSE9fTk9UTUUpDQorDQorI2RlZmluZQlSRVNDSU5EX1dIQVRfRkQJCTB4
MDAwMQ0KKyNkZWZpbmUJUkVTQ0lORF9XSEFUX01NQVAJMHgwMDAyDQorI2Rl
ZmluZQlSRVNDSU5EX1dIQVRfQUxMCShSRVNDSU5EX1dIQVRfRkQgfCBSRVND
SU5EX1dIQVRfTU1BUCkNCisNCisjZGVmaW5lCVJFU0NJTkRfVFlQRV9ERVYJ
MHgwMTAwDQorI2RlZmluZQlSRVNDSU5EX1RZUEVfRklMRQkweDAyMDANCisj
ZGVmaW5lIFJFU0NJTkRfVFlQRV9BTEwJKFJFU0NJTkRfVFlQRV9ERVYgfCBS
RVNDSU5EX1RZUEVfRklMRSkNCisNCisvKiBCU0QgcmV2b2tlIGlzIHJlc2Np
bmQocGF0aCwgUkVTQ0lORF9XSE9fQUxMLCBSRVNDSU5EX1dIQVRfRkQsIFJF
U0NJTkRfVFlQRV9ERVYpICovDQorDQorI2VuZGlmIC8qIF9MSU5VWF9SRVND
SU5EX0ggKi8NCg==
--27511946-131853556-930224931=:16011--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/