<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>14162</bug_id>
          
          <creation_ts>2008-01-25 18:06:50 +0300</creation_ts>
          <short_desc>Падает с setgroups(): Operation not permitted</short_desc>
          <delta_ts>2008-09-04 19:19:01 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>fprobe-ulog</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Evgenii Terechkov">evg</reporter>
          <assigned_to name="Nobody&apos;s working on this, feel free to take it">nobody</assigned_to>
          
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>61927</commentid>
    <comment_count>0</comment_count>
    <who name="Evgenii Terechkov">evg</who>
    <bug_when>2008-01-25 18:06:50 +0300</bug_when>
    <thetext>* Воскресенье 20 января 2008 Евгений Терешков

&gt; Alexey Borovskoy пишет:
&gt; &gt; Добрый вечер.
&gt; &gt;
&gt; &gt; Понадобилось собрать netflow с компа.
&gt; &gt; Взял fprobe-ulog, а он падает вот так.
&gt;
&gt; У меня вроде работает.
&gt;
&gt; &gt; Jan 20 20:38:31 alb fprobe-ulog[9063]: [INFO]: Starting
&gt; &gt; 1.1... Jan 20 20:38:31 alb fprobe-ulog: fprobe-ulog startup
&gt; &gt; succeeded Jan 20 20:38:31 alb fprobe-ulog[9063]: [CRIT]:
&gt; &gt; setgroups(): Operation not permitted
&gt; &gt; Что крутить, как лечить.
&gt;
&gt; Посмотреть вывод rpm -V fprobe-ulog, взять изменения конфигов.
&gt;
&gt; Увеличить уровень отладки, посмотреть, может что ещё в логе
&gt; появится.
&gt;
&gt; Снять отладку с помощью strace, воспроизведя падение
&gt; (возможно, поигравшись с ключами ком-строки). Повесить багу,
&gt; указав там всю полученную информацию. Попробую почитать код,
&gt; выяснить, что где криво.
&gt;
&gt; &gt; Какие еще есть сенсоры, которые собирают данные через
&gt; &gt; iptables?
&gt;
&gt; Не знаю. ИМХО, в Сизифе больше нет.

Из переписки с vsu@

void setuser() {
        /*
        Workaround for clone()-based threads
        Try to change EUID independently of main thread
        */
        if (pw) {       
                setgroups(0, NULL);
                setregid(pw-&gt;pw_gid, pw-&gt;pw_gid);
                setreuid(pw-&gt;pw_uid, pw-&gt;pw_uid);
        }
}

);
        }
}

[23:59]&lt;Сергей Власов&gt; возможно, это стало лишним
[00:11]&lt;Сергей Власов&gt; хотя вроде бы ничего не менялось
[00:38]&lt;Сергей Власов&gt; нашёл
[00:38]&lt;Сергей Власов&gt; __libc_pthread_functions.ptr__nptl_setxid
[00:38]&lt;Сергей Власов&gt; но тогда получается, что сломалось очень 
давно
[00:38]&lt;Сергей Власов&gt; с переходом на NPTL
[00:40]&lt;Сергей Власов&gt; фигня вот в чём
[00:40]&lt;Сергей Власов&gt; когда-то давно в качестве libpthread 
использовали linuxthreads
[00:41]&lt;Сергей Власов&gt; там с seteuid() и т.п. ничего не делалось
[00:41]&lt;Сергей Власов&gt; просто напрямую сваливалось в системные 
вызовы
[00:41]&lt;Сергей Власов&gt; и эти вызовы действовали только на текущий 
поток
[00:42]&lt;Сергей Власов&gt; однако в POSIX записано, что они должны 
действовать на весь процесс
[00:42]&lt;Сергей Власов&gt; в NPTL, среди прочего, пофиксили и это
[00:42]&lt;Сергей Власов&gt; правда, каким-то очень извратным методом
[00:43]&lt;Сергей Власов&gt; если в одном потоке выполняется set*id, он 
посылает сигнал всем другим потокам, чтобы они тоже выполнили 
эту операцию
[00:43]&lt;Сергей Власов&gt; в результате тот изврат в setuser() стал 
вроде бы не нужен
[00:44]&lt;Сергей Власов&gt; и теперь, видимо, какой-то поток успевает 
выполнить setreuid() раньше главного
[00:44]&lt;Сергей Власов&gt; на самом деле просто убирать тоже 
неправильно
[00:44]&lt;Сергей Власов&gt; нужно добавлять синхронизацию
[00:44]&lt;Сергей Власов&gt; чтобы сначала главный поток сделал 
setreuid(), и только после этого остальные куда-то лезли
[00:45]&lt;Сергей Власов&gt; в принципе можно тогда сохранить там и 
повторный setreuid() без проверки - на случай сборки этого кода 
на чём-то древнем
[00:49]&lt;Сергей Власов&gt; весь этот изврат там из-за того, что 
создавать потоки нужно с рутовыми правами, чтобы использовать 
SCHED_FIFO
[00:52]&lt;Сергей Власов&gt; кривохак - usleep(100000) в setuser()
[00:54]&lt;Сергей Власов&gt; если делать правильно - либо 
pthread_barrier, либо городить изврат с pthread_cond


Actual Results:  
Crash

Expected Results:  
Work</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76837</commentid>
    <comment_count>1</comment_count>
      <attachid>2870</attachid>
    <who name="Sergey Bolshakov">sbolshakov</who>
    <bug_when>2008-09-01 20:45:09 +0400</bug_when>
    <thetext>Created attachment 2870
patch and spec

патчъ, убирающий ненужные вызовы setuser()
и спек (применить по вкусу)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77047</commentid>
    <comment_count>2</comment_count>
    <who name="Evgenii Terechkov">evg</who>
    <bug_when>2008-09-04 19:19:00 +0400</bug_when>
    <thetext>Try 1.1-alt4</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2870</attachid>
            <date>2008-09-01 20:45:09 +0400</date>
            <delta_ts>2008-09-01 20:45:09 +0400</delta_ts>
            <desc>patch and spec</desc>
            <filename>fprobe-ulog-1.1-alt3.1.nosrc.rpm</filename>
            <type>application/octet-stream</type>
            <size>4975</size>
            <attacher name="Sergey Bolshakov">sbolshakov</attacher>
            
              <data encoding="base64">7avu2wMAAAEAAWZwcm9iZS11bG9nLTEuMS1hbHQzLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAABAAUAAAAAAAAAAAAAAAAAAAAAjq3oAQAAAAAAAAAEAAAAUAAA
AD4AAAAHAAAAQAAAABAAAAENAAAABgAAAAAAAAABAAAD6AAAAAQAAAAsAAAAAQAAA+wAAAAHAAAA
MAAAABBhMDA1OWZhZWRkODg1OGE2YzFlMTQzYWMxOWM4NzM3MDM1OWQ4ZjhjAAAAAAAAEm/sMGL6
EwzOdXzEXS6/8WrvAAAAPgAAAAf////AAAAAEI6t6AEAAAAAAAAAMQAACCEAAAA/AAAABwAACBEA
AAAQAAAAZAAAAAgAAAAAAAAAAQAAA+gAAAAGAAAAAgAAAAEAAAPpAAAABgAAAA4AAAABAAAD6gAA
AAYAAAASAAAAAQAAA+wAAAAJAAAAGQAAAAEAAAPtAAAACQAAADYAAAABAAAD7gAAAAQAAAGAAAAA
AQAAA+8AAAAGAAABhAAAAAEAAAPxAAAABAAAAaAAAAABAAAD8gAAAAYAAAGkAAAAAQAAA/MAAAAG
AAABrgAAAAEAAAP2AAAABgAAAb0AAAABAAAD9wAAAAYAAAHBAAAAAQAAA/gAAAAJAAAB5QAAAAEA
AAP6AAAACAAAAfAAAAADAAAD+wAAAAgAAAIvAAAAAQAAA/wAAAAGAAACXwAAAAEAAAP9AAAABgAA
An0AAAABAAAD/gAAAAYAAAKDAAAAAQAABAQAAAAEAAACjAAAAAUAAAQGAAAAAwAAAqAAAAAFAAAE
CQAAAAMAAAKqAAAABQAABAoAAAAEAAACtAAAAAUAAAQLAAAACAAAAsgAAAAFAAAEDAAAAAgAAANt
AAAABQAABA0AAAAEAAADdAAAAAUAAAQPAAAACAAAA4gAAAAFAAAEEAAAAAgAAAOXAAAABQAABBUA
AAAEAAADqAAAAAUAAAQWAAAABAAAA7wAAAABAAAEGAAAAAQAAAPAAAAAAgAABBkAAAAIAAADyAAA
AAIAAAQaAAAACAAAA/oAAAACAAAEGwAAAAQAAAQMAAAAAwAABCgAAAAGAAAEGAAAAAEAAAQ4AAAA
BAAABCAAAAAFAAAEOQAAAAgAAAQ0AAAABQAABDoAAAAIAAAFHQAAAAUAAARGAAAABgAABxkAAAAB
AAAERwAAAAQAAAdAAAAABQAABEgAAAAEAAAHVAAAAAUAAARJAAAACAAAB2gAAAAFAAAEXAAAAAQA
AAdwAAAABQAABF0AAAAIAAAHhAAAAAUAAAReAAAACAAACAQAAAABAAAEZAAAAAYAAAgFAAAAAQAA
BGUAAAAGAAAICgAAAAEAAARmAAAABgAACA8AAAABQwBmcHJvYmUtdWxvZwAxLjEAYWx0My4xAGZw
cm9iZS11bG9nOiBhIE5ldEZsb3cgcHJvYmUAZnByb2JlLXVsb2cgLSBsaWJpcHVsb2ctYmFzZWQg
dG9vbCB0aGF0IGNvbGxlY3QgbmV0d29yayB0cmFmZmljIGRhdGEKYW5kIGVtaXQgaXQgYXMgTmV0
RmxvdyBmbG93cyB0b3dhcmRzIHRoZSBzcGVjaWZpZWQgY29sbGVjdG9yLgoKVGhpcyBkYWVtb24g
d2lsbCBiZSBydW4gaW4gY2hyb290KCktZWQgZW52aXJvbm1lbnQgYXMgbm9uLXByaXZpbGVnZWQK
X2Zwcm9iZSB1c2VyLgoKQWxzbyBub3RlIHRoYXQgcGFja2FnZSBidWlsZGVkIHdpdGggc2VjdXJp
dHkgb3B0aW1pc2F0aW9uCigtLXdpdGgtaGFzaD1jcmMxNikuIFNlZSBpbmNsdWRlZCBSRUFETUUg
Zm9yIGRldGFpbHMuAAAASLwY82xpb2thLmhhc2hlci5hbHRsaW51eC5vcmcAAAAAAA3oQUxUIExp
bnV4AEFMVCBMaW51eCBUZWFtAEdQTABFdmdlbmlpIFRlcmVjaGtvdiA8ZXZnQGFsdGxpbnV4LnJ1
PgBNb25pdG9yaW5nAGZwcm9iZS11bG9nLnN5c2NvbmZpZwBmcHJvYmUtdWxvZy5pbml0AGZwcm9i
ZS11bG9nLTEuMS50YXIuYnoyAGZwcm9iZS11bG9nLTEuMS1hbHQtb21pdC1vYnNvbGV0ZS1zZXR1
c2VyLnBhdGNoAGh0dHA6Ly9mcHJvYmUuc291cmNlZm9yZ2UubmV0AGxpbnV4AHBlbnRpdW00AAAA
BKsAAZDsAAALPAAACT0AABRigaSBpIHtgaSBpAAAAAAAAAAAAABIvBbsR1DvK0dQ7ytIvBh/R1Dv
K2NiYzNhMDAwMmE1OTJmN2ZmNDhhNGIxNzRmZmVjYjk3AGZmZmE1OWE3OTQ5Mjc2OTkyY2VmMDc0
ODljMDc1OTIyADFhZjcxM2I0NzY5NTZlZmYyMWY0MjRkZGYzZTU2MDFhADQwMDgxYzYxODA1NTJk
YWU1N2Q1NGZkMDdmNWU5YzkzADY1ZTcyZDA2ZDYzZGI4YTk3MTliNjk4NmVkZTdlOGEwAAAAAAAA
AAAAAAAAAAAAQAAAAEAAAAAgAAAAQG1lAG1lAG1lAG1lAG1lAG1lAG1lAG1lAG1lAG1lAAAA////
/////9j////Y/////////9gAAA+IAQAASgEAAEpycG1saWIoQ29tcHJlc3NlZEZpbGVOYW1lcykA
cnBtbGliKFBheWxvYWRJc0x6bWEpADMuMC40LTEANC40LjItMQAAAAAAAAIAAAABAAAAADIuMi4w
AAAAR1D4YEcIdeBGbjZgRRTNYETpS+BUZXJlY2hrb3YgRXZnZW5paSA8ZXZnQGFsdGxpbnV4LnJ1
PiAxLjEtYWx0My4xAFRlcmVjaGtvdiBFdmdlbmlpIDxldmdAYWx0bGludXgucnU+IDEuMS1hbHQz
AFRlcmVjaGtvdiBFdmdlbmlpIDxldmdAYWx0bGludXgucnU+IDEuMS1hbHQyAFRlcmVjaGtvdiBF
dmdlbmlpIDxldmdAYWx0bGludXgucnU+IDEuMS1hbHQxAFRlcmVjaGtvdiBFdmdlbmlpIDxldmdA
YWx0bGludXgucnU+IDEuMS1hbHQwLkMzMC4xAC0gRGlyIHBlcm1pc3Npb24gZml4ZWQgYWNjb3Jk
aW5nIHBvbGljeSAoc2VlIGh0dHA6Ly9kb2NzLmFsdGxpbnV4LnJ1L2FsdC9kZXZlbC9jaDAxczAz
Lmh0bWwjaWQyODg0MjkwKQAtIFJlcGFja2VkIHdpdGggc2VjdXJpdHkgb3B0aW1pc2F0aW9uICgt
LXdpdGgtaGFzaD1jcmMxNikgYW5kIGRlYnVnIG91dHB1dCBvZiBub24tZmF0YWwgcnVudGltZSBl
cnJvcnMKLSBJbml0IHNjcmlwdCAoU291cmNlMSkgdXBkYXRlZCB0byB3b3JrYXJvdW5kIHN0YWxl
IHBpZGZpbGUgcHJvYmxlbQotIE1pbm9yIHNwZWMgY2hhbmdlcyBhbmQgY2xlYW51cHMALSBTdGFy
dHVwIHJhY2Ugd2l0aCBmbG93LWNhcHR1cmUgZml4ZWQALSBCdWlsZCBmb3IgU2lzeXBodXMKLSBj
aHJvb3QtcmVsYXRlZCBhc3BlY3RzIGltcHJvdmVkLiBOb3cgd2lsbCBOT1QgcnVuIG5vdC1jaHJv
b3RlZCB3aXRob3V0IGhhY2tpbmcuCi0gcHNldWRvdXNlciBhZGRlZCBpbnN0ZWFkIG5vYm9keQAt
IEluaXRpYWwgYnVpbGQgZm9yIEMzMABsaW9rYS5oYXNoZXIuYWx0bGludXgub3JnIDEyMjAyODY3
MDcAAAAAAAMEAAADBAAAAwQAAAMEAAADBAAggA4AIIAJACCACgAcATIAIIALAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAGZwcm9iZS11bG9nLTEuMS1hbHQtb21pdC1vYnNvbGV0ZS1zZXR1c2Vy
LnBhdGNoAGZwcm9iZS11bG9nLTEuMS50YXIuYnoyAGZwcm9iZS11bG9nLmluaXQAZnByb2JlLXVs
b2cuc3BlYwBmcHJvYmUtdWxvZy5zeXNjb25maWcAAGNwaW8AbHptYQAyAAAAAD8AAAAH///88AAA
ABBdAAAQAP//////////ABgN3QRiMhTSepYpTod5F7+aHE7DuHV63BNevJtKIYNYk+oVPP4l4YQj
ZS777gZT2rd7uxSZa6cTv+89SvCaI+8og5+Yf0LeycAs9U+GvazyQALXpStJFOiZt8J1tct2o8TM
e9rR6Vp3YkWwkm+W4nlh/hVc0zGLlAyKkSOqYVLP6yNPjJlAM5FGueJPiTWqw7n7d9IXmyVAQv8q
Vi4OLIwRhhS1kmxzqNPfICVt2q8ypmaebPC8FPBEoWl4Dah73fokPBVan1ZfEL8iCuQTQHEfiEgm
9yVpqLtVhQk6FIY+T907yYzAInCsbRfHYdTCjDdQt5XIzaOvvYk/T+sIgFx+Tag1xJgiBA5r89LT
oHciCVCGyg0lHOnIcQ8K9UsW3830oc6rzBz7Ph2s7I8KZZrtGIj8Lu6KTU5xCS1L+nxHUmZMDBQl
J/fUWca7i4jOUT8QiYZwrDAssfWsz+HGrmFF4LLtsIFt0KJ82jqWM9dG2NdBD1wJRbrADZuDXD0X
D8eAbrVAit79n+VrcNU1/ZSNWPK3csfiI569knSNeCq0QKoSi8f1MORQosejG92W3vpKIZ+kEHqV
H6fqDI+Xh23jASEP8dyBT86sbGQy0sqikWhY4FTznojsVNwpBAv9yVEwEzEELQtIpHnTKk3P/6pz
428wJxBjAmAl4tmHegYkdlCjopsZayeOYF2U+BI/UXAJAIo/EBI6GSVnlSp34MhCFRJBQBAVw8mp
wqI8W1Vux/FSleKwsHQP+o2HH9CoVu/NdT072EnXw1UCwIFJolaUIJESEnD2owvwFGABRXWnEV3g
7tnwXtXguuyUlywDCT793oh2wJxmcIs2D3JoS3sqbbgpxJU53w4nebb2yOUWyZx/AdzckZKg/XDO
kKNFGL4bA6Gkik+GsQlDXJfZdphN5SY6cYgDJBiKLWVXbMp1N8QDQ//RpsMNfj4Z7IyDwBZXQw7a
nUV6Omq9MTXvesn+sLY7bRuj2QUf5yBwN01cJarv5/eKCZJgmL0KwZZbKqQrvkMd2Sj9Z8IMWk/j
QWqXz9nzii0o12IKyoT5uXI1pQCzDiK3M9vBQPxGz+OjMaON/UsSOM9dHoTyP1ABRJHEuFKbrvgR
O8wVnZCgCxAE3WzrP/l66n1d4E+qyTDX3vKZOxekPWwCGopEmuJA9sumZp1LE5B7qBM4CYyQi7QK
tLvZa7lsiBQYsA/CABqqWv9JpWlWPCi3vgUh3bLkNko2KJUgnXsPIdeW8RYST5noUmzYbC7sluVq
t7sweaYx7WeJyqWLTUIxhpDN2VPYnQLXn+jj7OTmnjIIHcR5fxRzd0Wb3KS5YUXba7T4biIHM0iJ
tES2gf67gKakwmVZ8RF+bTl7JsojGhhttbhxW9yLg0lFX9kK9qa0yKXl6u5ozrnC/fBwm31cT0Sm
jDTHVAITtvHlKq7r6XMk6XvgcyRk0PI1zZl1rMSxFGlCs0ectFCXQS+XlyqsCr9KoJVQeX8SJ6yp
zDwheKX1j7J5RjjuD+reQDN79JlehBZ2/DqDl+8u1yXoHfLsiFNRFJdJTnWghne2BlKyde9JCDW4
4iIef4yTXX7KXi1BCtnBDXRq6TMKxdzvkKVwHkOWkjSDCSPncc0/dvveiTE2orcfTnJFXtkdthgO
3CQKbqciFYhO741WkCN9zfgd+tT2h/d2IIwuOyLGgdr4lsXzo+1KgcIZ3d95SN07dDDa90ZsKqpN
sLiWJUNDpgUcxBiGLZ2TdLbVS9FoLEP7qe9OH9N94slq9d54hV5n664aeNb7KqtPNI+oQd2T04Ql
Q1IDROYcYgHBdfstCDA+iGjG0LOrGjRFbgdxMRyM9QWVL1dtoeaV2Rr7T2djeoxxhFsfxfWbqsev
yW6Bve5llwtfgrCqQt8+ISw4K8n10Wj88/+CsnZ+sULWCZSa1RXrwgC82uC1hByjKOFweXQVOaxk
HKPGjCf1HtYB9jhmABK+Lvg7d64BXdPG5nuNi6zcKxkv0I20iELkXJa7O5uMSfJR0UFxyNacEYBz
12G98IlmpS7TYjv0CSBF9zBASvJS+OtIJLAdGnTA52fQLDhbixufg4QFU2/FbQzB7qH1QZyD1GpJ
PZpK0xJ7UAhSsNdUIXsxmZAQccylAK8HMKDYmJ9iHy6aGxI+ZIZrnjauUR336/3cP6XU4aYe7ZcK
WZC3Fsl30v0Znmi4zwYB87wecSdboSpp0riC6SbV5cLzptcRV5kGB+nNV+MEVuk9KLF+kL6fUoeC
0kkAJ5vH6J7BKAZJRNHrrBQlqhPV641DN02SUXlsw1ILigGNswWi29rBJpp4EJdgXLTUhcbq4LTM
mNwM6UCAfFn/HMay5thnHb24G7v+vV7Ue4BNmEJNAbK63o997GP6atsrxkQLU2BEgFKUp+JxYyn3
rlHSy7vFtKTodav/2mxgQA==
</data>

          </attachment>
      

    </bug>

</bugzilla>