Собственно в ядре хочу узнать program counter (точнее нужно для x86, так что просто регистр ip прочитать) режима пользователя для некоторых потоков/процессов, которые не выполняются сейчас на CPU, по-скольку они в какой-то из очередей планировщика, их регистры должны быть как-то доступны. Может кто подскажет как это примерно сделать? Желательно с учетом необходимых блокировок, чтобы потоки не перескедулились в неподходящий момент.
Суть задачи сделать то же самое, что ptrace(GETREGS) только без блокировки.
Судя по всему tip_inode_uprobes_010411:tip_inode_uprobes - это теги? Ну я вот сделал git clone основной ветки, потом этот git fetch и там таких тегов нет. Мне интересно, это я делаю что-то не так или у меня прав не хватает или еще что?
А это нормально, что после загрузки потребление памяти в 64 битном варианте убунты 300мб без учета кешей? Ровно в два раза больше, чем для 32 битной версии. Нет, я понимаю, что указатель и long стали больше, но почему ровно в 2 раза? Память таки не резиновая.
Нужно иметь сразу несколько shell на удаленном хосте (открыть старые сессии), как классически решается это задача по одной кнопке?
Знаю про ssh master mode, autossh, screen и т.д., но однокнопочное решение разве что на скриптах придумывается, неужели до сих пор ничего нет? VNC медленно для меня.
Я вот тут недавно обнаружил, что при композиции классов в java внутренний класс может вызывать вункции внешнего без всяких проблем, например кусок из андроида:
public class ManageApplications extends ... {
private class PackageIntentReceiver extends BroadcastReceiver {
void registerReceiver() {
...
ManageApplications.this.registerReceiver(this, filter);
}
public void onReceive(Context context, Intent intent) {
...
updatePackageList(actionStr, pkgName);
}
private void updatePackageList(String actionStr, String pkgName) {
...
}
А где это описано? На сколько я помню в плюсах так нельзя делать.
Есть некая задача, запретить копирование elf файлов, у которых не установлен бит выполнения. Патчить ядро не желательно. Сейчас смотрю на LSM (Lnux security modules). Проблема в том, что из хуков lsm, например inode permission или file_permission невозможно различить выполнение файла и просто чтение, потому что execve делает как минимум обычный vfs_read, чтобы самому прочитать elf заголовок. Имеется флаг MAY_EXEC и из execve некоторые хуки с ним вызываются, но не все, как уже было сказано выше. Сохранять его где-то в поле security инода, тоже не очень хорошо, инод загружается один на несколько процессов и могут возникнуть всякие неприятные race conditions. Есть мысли? Также смотрю на dazuko, возможно это будет проще.
Есть проблема с честным делением канала esfq. Структура сети довольно банальная. Есть сервер к которому подключены три локальные сети и видны на ифейсах eth0,1,2. Интернет он получает от pptpd сервера в одной из сетей, соответственно весь внешний трафик идет через ppp0. К этому серверу могут подключаться клиенты также по pptp из любой сети и получать выход как в интернет, так и в соседние сети, им соответствуют ифейсы ppp1-X. Проблема сделать честное деление канала в интернет. Последнее, на чем остановился выглядит так:
#htb нужен, чтобы esfq мог сбрасывать пакеты на виртуальном интерфейсе (как сказано в его faq), скорость канала 200kbps.
#всё, что идет с ppp0 (входящий трафик) перенаправляется на ifb0, потому что нормальный скедулер можно повесить только на корневую дисциплину (исходящий трафик)
tc qdisc add dev ifb0 root handle 1: htb default 1
tc class add dev ifb0 parent 1: classid 1:1 htb rate 200kbps
tc qdisc add dev ifb0 parent 1:1 handle 10: esfq hash ctreplsrc perturb 10
ifconfig ifb0 up
tc qdisc add dev ppp0 ingress
tc filter add dev ppp0 parent ffff: protocol ip u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb0
#политика для исходящих пакетов
tc qdisc add dev ppp0 root handle 1: htb default 1
tc class add dev ppp0 parent 1: classid 1:1 htb rate 200kbps
tc qdisc add dev ppp0 parent 1:1 handle 10: esfq hash ctorigsrc perturb 10
В dropped даже есть какое-то кол-во пакетов, но все равно, планирование абсолютно не честное, есть что посоветовать?