Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Dec 2008 17:01:14 -0800
From:      "Maksim Yevmenkin" <maksim.yevmenkin@gmail.com>
To:        "current@freebsd.org" <current@freebsd.org>
Subject:   RFC: small syscons and kbd patch
Message-ID:  <bb4a86c70812021701i621fdcfjb6a58a7f5cf781d5@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
------=_Part_103561_30556547.1228266074197
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Dear Hackers,

can someone please review the attached small patch for syscons and
kbd? it should be a no-op mostly. the patch basically does

1) removes bogus layering in syscons, i.e. basically removes sccngetch();
2) implements advisory lock for kbd (based on atomic(9));
3) implements new POLLED flag for kbd;

this is a part of a plan to fix keyboard access races in syscons.

thanks,
max

------=_Part_103561_30556547.1228266074197
Content-Type: text/plain; name=syscons.kbd.patch.txt
Content-Transfer-Encoding: base64
X-Attachment-Id: f_fo99mbnb0
Content-Disposition: attachment; filename=syscons.kbd.patch.txt

SW5kZXg6IHN5cy9kZXYvc3lzY29ucy9zeXNjb25zLmMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gc3lzL2Rldi9z
eXNjb25zL3N5c2NvbnMuYwkocmV2aXNpb24gMTg1MzE5KQorKysgc3lzL2Rldi9zeXNjb25zL3N5
c2NvbnMuYwkod29ya2luZyBjb3B5KQpAQCAtMTc5LDcgKzE3OSw2IEBACiBzdGF0aWMgdV9pbnQg
c2NnZXRjKHNjX3NvZnRjX3QgKnNjLCB1X2ludCBmbGFncyk7CiAjZGVmaW5lIFNDR0VUQ19DTgkx
CiAjZGVmaW5lIFNDR0VUQ19OT05CTE9DSwkyCi1zdGF0aWMgaW50IHNjY25nZXRjaChpbnQgZmxh
Z3MpOwogc3RhdGljIHZvaWQgc2NjbnVwZGF0ZShzY3Jfc3RhdCAqc2NwKTsKIHN0YXRpYyBzY3Jf
c3RhdCAqYWxsb2Nfc2NwKHNjX3NvZnRjX3QgKnNjLCBpbnQgdnR5KTsKIHN0YXRpYyB2b2lkIGlu
aXRfc2NwKHNjX3NvZnRjX3QgKnNjLCBpbnQgdnR5LCBzY3Jfc3RhdCAqc2NwKTsKQEAgLTE1NTgs
MTIgKzE1NTcsNiBAQAogc3RhdGljIGludAogc2NfY25nZXRjKHN0cnVjdCBjb25zZGV2ICpjZCkK
IHsKLSAgICByZXR1cm4gc2NjbmdldGNoKFNDR0VUQ19OT05CTE9DSyk7Ci19Ci0KLXN0YXRpYyBp
bnQKLXNjY25nZXRjaChpbnQgZmxhZ3MpCi17CiAgICAgc3RhdGljIHN0cnVjdCBma2V5dGFiIGZr
ZXk7CiAgICAgc3RhdGljIGludCBma2V5Y3A7CiAgICAgc2NyX3N0YXQgKnNjcDsKQEAgLTE2MDQs
NyArMTU5Nyw3IEBACiAgICAga2JkZF9pb2N0bChzY3AtPnNjLT5rYmQsIEtEU0tCTU9ERSwgKGNh
ZGRyX3QpJnNjcC0+a2JkX21vZGUpOwogCiAgICAga2JkZF9wb2xsKHNjcC0+c2MtPmtiZCwgVFJV
RSk7Ci0gICAgYyA9IHNjZ2V0YyhzY3AtPnNjLCBTQ0dFVENfQ04gfCBmbGFncyk7CisgICAgYyA9
IHNjZ2V0YyhzY3AtPnNjLCBTQ0dFVENfQ04gfCBTQ0dFVENfTk9OQkxPQ0spOwogICAgIGtiZGRf
cG9sbChzY3AtPnNjLT5rYmQsIEZBTFNFKTsKIAogICAgIHNjcC0+a2JkX21vZGUgPSBjdXJfbW9k
ZTsKSW5kZXg6IHN5cy9kZXYva2JkL2tiZC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9kZXYva2JkL2ti
ZC5jCShyZXZpc2lvbiAxODUzMTkpCisrKyBzeXMvZGV2L2tiZC9rYmQuYwkod29ya2luZyBjb3B5
KQpAQCAtMTEwMiw2ICsxMTAyLDEyIEBACiAJfQogfQogCitpbnQKK2dlbmtiZF9sb2NrKGtleWJv
YXJkX3QgKmtiZCwgaW50IG9uKQoreworCXJldHVybiAoYXRvbWljX2NtcHNldF9hY3FfaW50KCZr
YmQtPmtiX2xvY2tlZCwgISEhb24sICEhb24pKTsKK30KKwogI2RlZmluZSBzZXRfbG9ja2tleV9z
dGF0ZShrLCBzLCBsKQkJCQlcCiAJaWYgKCEoKHMpICYgbCAjIyBET1dOKSkgewkJCQlcCiAJCWlu
dCBpOwkJCQkJCVwKSW5kZXg6IHN5cy9kZXYva2JkL2tiZHJlZy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5
cy9kZXYva2JkL2tiZHJlZy5oCShyZXZpc2lvbiAxODUzMTkpCisrKyBzeXMvZGV2L2tiZC9rYmRy
ZWcuaAkod29ya2luZyBjb3B5KQpAQCAtNjAsNyArNjAsOSBAQAogI2RlZmluZSBLQl9JTklUSUFM
SVpFRAkoMSA8PCAxOSkJLyogZGV2aWNlIGluaXRpYWxpemVkICovCiAjZGVmaW5lIEtCX1JFR0lT
VEVSRUQJKDEgPDwgMjApCS8qIGRldmljZSByZWdpc3RlcmVkIHRvIGtiZGlvICovCiAjZGVmaW5l
IEtCX0JVU1kJCSgxIDw8IDIxKQkvKiBkZXZpY2UgdXNlZCBieSBhIGNsaWVudCAqLworI2RlZmlu
ZSBLQl9QT0xMRUQJKDEgPDwgMjIpCS8qIGRldmljZSBpcyBpbiBwb2xsZWQgbW9kZSAqLwogCWlu
dAkJa2JfYWN0aXZlOwkvKiAwOiBpbmFjdGl2ZSAqLworCWludAkJa2JfbG9ja2VkOwkvKiAwOiB1
bmxvY2tlZCAqLwogCXZvaWQJCSprYl90b2tlbjsJLyogaWQgb2YgdGhlIGN1cnJlbnQgY2xpZW50
ICovCiAJa2V5Ym9hcmRfY2FsbGJhY2tfdCBrYl9jYWxsYmFjazsvKiBjYWxsYmFjayBmdW5jdGlv
biAqLwogCkBAIC0xMDcsNiArMTA5LDkgQEAKICNkZWZpbmUgS0JEX0lTX0JVU1koaykJCSgoaykt
PmtiX2ZsYWdzICYgS0JfQlVTWSkKICNkZWZpbmUgS0JEX0JVU1koaykJCSgoayktPmtiX2ZsYWdz
IHw9IEtCX0JVU1kpCiAjZGVmaW5lIEtCRF9VTkJVU1koaykJCSgoayktPmtiX2ZsYWdzICY9IH5L
Ql9CVVNZKQorI2RlZmluZSBLQkRfSVNfUE9MTEVEKGspCSgoayktPmtiX2ZsYWdzICYgS0JfUE9M
TEVEKQorI2RlZmluZSBLQkRfUE9MTEVEKGspCQkoKGspLT5rYl9mbGFncyB8PSBLQl9QT0xMRUQp
CisjZGVmaW5lIEtCRF9VTlBPTExFRChrKQkJKChrKS0+a2JfZmxhZ3MgJj0gfktCX1BPTExFRCkK
ICNkZWZpbmUgS0JEX0lTX0FDVElWRShrKQkoKGspLT5rYl9hY3RpdmUpCiAjZGVmaW5lIEtCRF9B
Q1RJVkFURShrKQkJKCsrKGspLT5rYl9hY3RpdmUpCiAjZGVmaW5lIEtCRF9ERUFDVElWQVRFKGsp
CSgtLShrKS0+a2JfYWN0aXZlKQpAQCAtMTcwLDcgKzE3NSw3IEBACiAJKCprYmRzd1soa2JkKS0+
a2JfaW5kZXhdLT5pbnRyKSgoa2JkKSwgKGFyZykpCiAjZGVmaW5lIGtiZGRfdGVzdF9pZihrYmQp
CQkJCQkJXAogCSgqa2Jkc3dbKGtiZCktPmtiX2luZGV4XS0+dGVzdF9pZikoKGtiZCkpCi0jZGVm
aW5lIGtiZGRfZW5hYmxlKGtiZCkJCQkJCQkJXAorI2RlZmluZSBrYmRkX2VuYWJsZShrYmQpCQkJ
CQkJXAogCSgqa2Jkc3dbKGtiZCktPmtiX2luZGV4XS0+ZW5hYmxlKSgoa2JkKSkKICNkZWZpbmUg
a2JkZF9kaXNhYmxlKGtiZCkJCQkJCQlcCiAJKCprYmRzd1soa2JkKS0+a2JfaW5kZXhdLT5kaXNh
YmxlKSgoa2JkKSkKQEAgLTE5NCw3ICsxOTksNyBAQAogCSgqa2Jkc3dbKGtiZCktPmtiX2luZGV4
XS0+Z2V0X3N0YXRlKSgoa2JkKSwgKGJ1ZiksIChsZW4pKQogI2RlZmluZSBrYmRkX3NldF9zdGF0
ZShrYmQsIGJ1ZiwgbGVuKQkJCQkJXAogCSgqa2Jkc3dbKGtiZCktPmtiX2luZGV4XS0+c2V0X3N0
YXRlKSgoa2JkKSwgKGJ1ZiksIChsZW4pKQotI2RlZmluZSBrYmRkX2dldF9ma2V5c3RyKGtiZCwg
ZmtleSwgbGVuKQkJCQkJXAorI2RlZmluZSBrYmRkX2dldF9ma2V5c3RyKGtiZCwgZmtleSwgbGVu
KQkJCQlcCiAJKCprYmRzd1soa2JkKS0+a2JfaW5kZXhdLT5nZXRfZmtleXN0cikoKGtiZCksIChm
a2V5KSwgKGxlbikpCiAjZGVmaW5lIGtiZGRfcG9sbChrYmQsIG9uKQkJCQkJCVwKIAkoKmtiZHN3
WyhrYmQpLT5rYl9pbmRleF0tPnBvbGwpKChrYmQpLCAob24pKQpAQCAtMjkzLDYgKzI5OCw3IEBA
CiAKIGtiZF9nZXRfZmtleXN0cl90CWdlbmtiZF9nZXRfZmtleXN0cjsKIGtiZF9kaWFnX3QJCWdl
bmtiZF9kaWFnOwora2JkX2xvY2tfdAkJZ2Vua2JkX2xvY2s7CiAKIGludCAJZ2Vua2JkX2NvbW1v
bmlvY3RsKGtleWJvYXJkX3QgKmtiZCwgdV9sb25nIGNtZCwgY2FkZHJfdCBhcmcpOwogaW50IAln
ZW5rYmRfa2V5YWN0aW9uKGtleWJvYXJkX3QgKmtiZCwgaW50IGtleWNvZGUsIGludCB1cCwK
------=_Part_103561_30556547.1228266074197--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bb4a86c70812021701i621fdcfjb6a58a7f5cf781d5>