オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Diff of /trunk/1.8.x/ccs-patch/README.ccs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1093 by kumaneko, Tue Apr 8 05:48:22 2008 UTC revision 1286 by kumaneko, Thu Jun 12 01:38:25 2008 UTC
# Line 1146  Fix 2008/01/15 Line 1146  Fix 2008/01/15
1146    
1147  Fix 2008/02/05  Fix 2008/02/05
1148    
1149      @ Use find_task_by_vpid() instead of find_task_pid().      @ Use find_task_by_vpid() instead of find_task_by_pid().
1150    
1151        Kernel 2.6.24 introduced PID namespace.        Kernel 2.6.24 introduced PID namespace.
1152        To search PID given from userland, the kernel needs to use        To search PID given from userland, the kernel needs to use
1153        find_task_by_vpid() instead of find_task_pid().        find_task_by_vpid() instead of find_task_by_pid().
1154    
1155  Fix 2008/02/14  Fix 2008/02/14
1156    
# Line 1360  Fix 2008/03/28 Line 1360  Fix 2008/03/28
1360    
1361  Version 1.6.0 2008/04/01   Feature enhancement release.  Version 1.6.0 2008/04/01   Feature enhancement release.
1362    
1363  Fix 2008/??/??  Fix 2008/04/14
1364    
1365      @ Fix "Compilation failures" and "Initialization ordering bugs"      @ Fix "Compilation failures" and "Initialization ordering bugs"
1366        with kernels before 2.4.30/2.6.11 .        with kernels before 2.4.30/2.6.11 .
# Line 1369  Fix 2008/??/?? Line 1369  Fix 2008/??/??
1369        resulting compilation error at #include <linux/hardirq.h> .        resulting compilation error at #include <linux/hardirq.h> .
1370        I added #elif condition.        I added #elif condition.
1371    
1372        2.6 kernels before 2.6.11 calls do_execve() before initialization of        CentOS 4.6's 2.6.9 kernel calls do_execve() before initialization of
1373        ccs_alloc(), resulting NULL pointer dereference.        ccs_alloc(), resulting NULL pointer dereference.
1374        I changed __initcall to fs_initcall.        I changed __initcall to core_initcall.
1375    
1376        Some distributions with 2.6.9 kernels backported kzalloc() from 2.6.14 ,        CentOS 4.6's 2.6.9 kernel backported kzalloc() from 2.6.14 ,
1377        resulting compilation error at kzalloc().        resulting compilation error at kzalloc().
1378        I modified prototype of kzalloc().        I modified prototype of kzalloc().
1379    
1380    Fix 2008/04/20
1381    
1382        @ Fix "Compilation failures" with kernels before 2.4.30/2.6.11 .
1383    
1384          Turbolinux 10 Server's 2.6.8 kernel backported kzalloc() as an inlined
1385          function, resulting compilation error at kzalloc().
1386          I converted kzalloc() from an inlined function into a macro.
1387    
1388    Fix 2008/04/21
1389    
1390        @ Add workaround for gcc 3.2.2's inline bug.
1391    
1392          RedHat Linux 9's gcc 3.2.2 generated a bad code
1393             if ((var_of_u8 & 0x000000BF) & 0x80000000) { }
1394          where the expected code is
1395             if ((var_of_u8 & 0xBF) & 0x80) { }
1396          when embedding ccs_acl_type2() into print_entry(),
1397          resulting runtime BUG().
1398          I added the expected code explicitly as a workaround.
1399    
1400    Fix 2008/05/06
1401    
1402        @ Add memory quota.
1403    
1404          1.5.x returns -ENOMEM when FindNextDomain() failed to create a new
1405          domain, but I forgot to return -ENOMEM when find_next_domain() failed to
1406          create a new domain.
1407    
1408          A domain is automatically created by find_next_domain() only if
1409          the domain for the requested program doesn't exist.
1410          This behavior is for the administrator's convenience.
1411          The administrator needn't to know how many domains are needed for running
1412          the whole programs in the system beforehand when developing the policy.
1413          But the administrator does not want the kernel to reject execution of the
1414          requested program when developing the policy.
1415    
1416          So, I think it is better to grant execution of programs even if
1417          find_next_domain() failed to create a new domain than reject execution.
1418          Thus, I decided not to return -ENOMEM when find_next_domain() failed to
1419          create a new domain. This exception breaks the domain transition rules,
1420          so I print "transition_failed" warning in /proc/ccs/domain_policy
1421          when this exception happened.
1422    
1423          Also, to prevent the system from being halted by unexpectedly allocating
1424          all kernel memory for the policy, I added memory quota.
1425          This quota is configurable via /proc/ccs/meminfo like
1426    
1427            echo Shared:  1048576 > /proc/ccs/meminfo
1428            echo Private: 1048576 > /proc/ccs/meminfo
1429    
1430    Version 1.6.1 2008/05/10   Bug fix release.
1431    
1432    Fix 2008/06/04
1433    
1434        @ Check open mode of /proc/ccs/ interface.
1435    
1436          It turned out that I can avoid allocating memory for reading if
1437          FMODE_READ is not set and memory for writing if FMODE_WRITE is not set.
1438    
1439        @ Wait for completion of /sbin/ccs-init .
1440    
1441          Since 2.4 kernel's call_usermodehelper() can't wait for termination of
1442          the executed program, I was using the close() request of
1443          /proc/ccs/meminfo to indicate that loading policy has finished.
1444          But since /proc/ccs/meminfo could be accessed for setting memory quota
1445          by /etc/ccs/ccs-post-init , I stopped using the close() request.
1446          The policy loader no longer need to access /proc/ccs/meminfo to notify
1447          the kernel that loading policy has finished.
1448    
1449    Fix 2008/06/05
1450    
1451        @ Fix realpath for pipes and sockets.
1452    
1453          Kernel 2.6.22 and later use different method for calculating d_path().
1454          Since fs/realpath.c didn't notice the change, the realpath of pipes
1455          appeared as "pipe:" rather than "pipe:[\$]" when they are opened via
1456          /proc/PID/fd/ directory.
1457    
1458        @ Add process's information into /proc/ccs/query .
1459    
1460          While /proc/ccs/grant_log and /proc/ccs/reject_log contain process's
1461          information, /proc/ccs/query doesn't contain it.
1462          To be able to utilize ccs-queryd and ccs-notifyd more, I added it into
1463          /proc/ccs/query .
1464    
1465    Fix 2008/06/10
1466    
1467        @ Allow using patterns for globally readable files.
1468    
1469          To allow users specify locale specific files to globally readable files,
1470          I relaxed checking in update_globally_readable_entry().
1471    
1472        @ Move ALLOW_ENFORCE_GRACE=enabled checking to write_answer().
1473    
1474          To allow users use ccs-notifyd without turning ALLOW_ENFORCE_GRACE on,
1475          I moved it from ccs_check_supervisor() to write_answer().
1476    
1477    Fix 2008/06/11
1478    
1479        @ Remove ALLOW_ENFORCE_GRACE parameter.
1480    
1481          Since unexpected requests caused by doing software updates can happen
1482          in all profiles, users likely have to write ALLOW_ENFORCE_GRACE=enabled
1483          to all profiles. And it makes meaningless to allow users to selectively
1484          enable specific profile's ALLOW_ENFORCE_GRACE parameter.
1485          So, I removed ALLOW_ENFORCE_GRACE parameter.
1486          Now, the system behaves as if ALLOW_ENFORCE_GRACE=enabled is specified.
1487          The behavior of "delayed enforcing" mode is defined in the following
1488          order.
1489    
1490          (1) The requests are rejected immediately if nobody is opening
1491              /proc/ccs/query interface.
1492          (2) The requests will be rejected in 10 seconds if somebody other than
1493              ccs-queryd (such as less(1)) is opening /proc/ccs/query interface,
1494              for such process doesn't write dummy decisions.
1495    
1496    Version 1.6.2 2008/??/??   Usability enhancement release.

Legend:
Removed from v.1093  
changed lines
  Added in v.1286

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26