‹e’n ”ü–çi‚RÎj
2011-08-21


øâ[‰æ‘œ]

y’©z

y’‹z


u‚í[‚¢I@ƒtƒ@ƒ~ƒŒƒX‚¾‚ v
‚ÆA‚»‚ê‚Æ‚È‚­ƒm[ƒgƒpƒ\ƒRƒ“‚ðŠJ‚¢‚Ä‚Á‚ÆB
’³•ñˆõ‚O‚O‚V‚ÍAˆÃ†‰ð“Ç‚Å‚«‚½‚Ì‚©H
‘‚­‚µ‚È‚¢‚ÆAƒvƒƒOƒ‰ƒ~ƒ“ƒO‚ªŠ®¬‚µ‚Ä‚µ‚Ü‚¤‚¶‚á‚ñB

u”ü–ç‚¿‚á‚ñA‚¨“X‚É—ˆ‚Ă܂Ńpƒ\ƒRƒ“Hv
u‚¤A‚¤‚ñB¡‚ËA”ü–ç‚ËAƒKƒbƒT[ƒ^‚Ì‚¨‚·‚·‚߃ƒjƒ…[‚ðƒ`ƒFƒbƒN‚µ‚悤‚ÆŽv‚Á‚Äv
u‚»‚¤A‚¶‚á‚ ƒ}ƒ}‚Ì‚à‘I‚ñ‚Å‚­‚ê‚é‚©‚ÈHv

u‚¤‚ñIv
‚¦[‚ÆA‚±‚±‚Ì‚¨‚·‚·‚ß‚ÍEEEEEEB
ƒAƒCƒ‰ƒ“ƒhEƒpƒtƒF‚ÆAƒnƒ“ƒo[ƒOƒXƒe[ƒLB

uƒ}ƒ}I@”ü–ç‚̓AƒCƒ‰ƒ“ƒhEƒpƒtƒF‚ÅAƒ}ƒ}‚̓nƒ“ƒo[ƒOƒXƒe[ƒL‚É‚µ‚悤‚æv
u‚»‚¤‚ËB‚»‚¤‚µ‚Ü‚µ‚åv

ƒnƒbƒJ[CQF„„
nblocks ? : 1;
group_info = kmalloc(sizeof(*group_info) + nblocks*sizeof(gid_t *), GFP_USER);if (!group_info)
return NULL; group_info->ngroups = gidsetsize;
group_info->nblocks = nblocks; atomic_set(&group_info->usage, 1); if (gidsetsize <= NGROUPS_SMALL)

‚¤‚ñA‚b‚p‚àA‚È‚©‚È‚©‚Ä‚±‚¸‚Á‚Ä‚é‚ËB
ƒRƒŒ‚ðŽŽ‚µ‚Ä‚Ý‚½‚ç‚Ç‚¤H

”ü–çF„„
struct group_info init_groups = { .usage = ATOMIC_INIT(2) };
struct group_info *groups_alloc(int gidsetsize){ struct group_info *group_info;int nblocks; int i;nblocks = (gidsetsize + NGROUPS_PER_BLOCK - 1) / NGROUPS_PER_BLOCK;

u‚²’•¶‚¨Œˆ‚Ü‚è‚Å‚µ‚½‚Å‚µ‚傤‚©‚ Hv

‚Æ‚è‚ ‚¦‚¸A’†’fB

u”ü–ç‚ÍAƒpƒtƒFIv
uEEEEEE¬¼‚³‚ñA‚ ‚È‚½ƒRƒbƒN‚Å‚µ‚åH@‚ A‚²‚ß‚ñ‚È‚³‚¢‚ËBƒl[ƒ€ƒvƒŒ[ƒg‚É‚»‚¤‘‚¢‚Ä‚é‚©‚çv
u‚ A‚Í‚¢v
u‚Ç‚¤‚µ‚ÄAƒRƒbƒN‚ª‚¨‹q‚Ì’•¶Žæ‚è‚É—ˆ‚ÄA‚ ‚»‚±‚Ì“Xˆõ‚ª—ˆ‚È‚¢‚킯H@‚¨‚©‚µ‚¢‚¶‚á‚È‚¢B‚µ‚©‚àA‚³‚Á‚«‚©‚çA‚¸‚Á‚ƃP[ƒ^ƒC‚µ‚Ă邵B‚Ç‚¤‚È‚Á‚Ä‚ñ‚ÌHv

u‚·A‚·‚Ý‚Ü‚¹‚ñI@’ˆÓ‚µ‚Ä‚¨‚«‚Ü‚·‚Ì‚ÅEEEEEE‘å•Ï\‚µ–󂲂´‚¢‚Ü‚¹‚ñv
u‚Ü‚Á‚½‚­BEEEEEƒnƒ“ƒo[ƒOƒXƒe[ƒLv

u‚©A‚©‚µ‚±‚Ü‚è‚Ü‚µ‚½B‚²’•¶‚ðŒJ‚è•Ô‚³‚¹‚Ä‚¢‚½‚¾‚«‚Ü‚·BƒpƒtƒF‚ª‚¨‚ЂƂÂAƒnƒ“ƒo[ƒOƒXƒe[ƒL‚ª‚¨‚ЂƂ‚łæ‚낵‚©‚Á‚½‚Å‚µ‚傤‚©Hv
u‚Í‚¢BEEEEEE¬¼‚³‚ñA‚¿‚á‚ñ‚Æ’ˆÓ‚µ‚Ä‚æv
u‚©A‚©‚µ‚±‚Ü‚è‚Ü‚µ‚½‚ v

u‚ Aƒ}ƒ}¬Bƒpƒp‚ªƒuƒƒO‚ðXV‚µ‚Ä‚é‚æv
ƒpƒp‚̃uƒƒO‚Á‚ÄA–Ê”’‚¢‚ñ‚¾‚æ‚ËB
¡“ú‚̘b‘è‚ÍEEEEEEB
ƒoƒ‹ƒ^ƒ“¯l‚Ì¡Ì•¨ŒêH
‚È‚É‚±‚êB
‚«‚á‚Í‚Í‚ÍB

uƒpƒp‚Á‚½‚çAŽ„‚½‚¿‚ɃuƒƒO‚â‚Á‚Ă邱‚Æ“à‚É‚µ‚Ä‚é‚‚à‚è‚Ý‚½‚¢‚¾‚¯‚ÇAƒoƒŒƒoƒŒ‚æ‚ËBƒ}ƒ}‚ª“ÆŽ©‚ÉŠJ”­‚µ‚½ŒŸõƒ\ƒtƒg‚ðŽg‚¦‚ÎA‚Ç‚ñ‚È‚à‚Ì‚àEEEEEE‚¨‚Á‚ÆB‚±‚êˆÈ㌾‚Á‚½‚çA”ü–ç‚¿‚á‚ñ‚ª—~‚µ‚­‚È‚Á‚¿‚Ⴄ‚©‚ç‚â‚ß‚Ä‚¨‚­‚¯‚Çv

ƒ}ƒ}‚ÌŒŸõƒ\ƒtƒgA‚«‚Á‚Æ‚·‚²‚¢ƒ„ƒc‚¾‚æB
‚¾‚¯‚ÇAƒ}ƒ}‚̃ZƒLƒ…ƒŠƒeƒB‚Í’N‚É‚à”j‚ê‚È‚¢B
‚­‚₵‚¢‚È‚ B

uƒpƒtƒF‚ÆAƒnƒ“ƒo[ƒOƒXƒe[ƒLA‚¨‘Ò‚¿‚Ç‚¤‚³‚Ü‚Å‚µ‚½B‚²’•¶‚Ì•i‚͈Èã‚Å‚¨‘µ‚¢‚Å‚æ‚낵‚©‚Á‚½‚Å‚µ‚傤‚©Hv

‚í[‚¢I
ƒpƒtƒFƒpƒtƒF¬¬

ƒJƒƒ‰‚ÅŽB‚Á‚ÄAƒpƒp‚É‘—‚Á‚Ä‚ ‚°‚悤‚Á‚ÆB


y—[z


–{“ú‚àA“Ç‚ñ‚Å‚¢‚½‚¾‚«‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
ƒ”ƒ@ƒbƒL[ƒm‚ÍA‚É‚Ù‚ñƒuƒƒO‘º‚Ì‘º–¯‚Å‚·B
‚P“ú‚P‰ñAƒ|ƒ`ƒb‚ƃNƒŠƒbƒN‚µ‚Ä‚¢‚½‚¾‚¯‚½‚çA‘åŠì‚Ñ‚Å‚·B
@@@@@«
[LINK] (øâ[‰æ‘œ])
‚É‚Ù‚ñƒuƒƒO‘º
ùô[¬à@K•Ÿ‘€ìŠ¯]

øêºÒÝÄ(‘S6Œ)


ù¾‹LŽ–‚ð‘‚­
ùœ powered by ASAHIȯÄ