From: Casey Schaufler <[EMAIL PROTECTED]>

This represents the rework required for changes to inode_getsecurity.
It is relative to smack24rc2v11, which is the version added to -mm,
but subsequently removed because of the change to inode_getsecurity

Signed-off-by: Casey Schaufler <[EMAIL PROTECTED]>

---

 security/smack/smack_lsm.c |   12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff -uprN -X linux-2.6.24-rc2-base/Documentation/dontdiff 
linux-2.6.24-rc2-smack/security/smack/smack_lsm.c 
linux-2.6.24-rc2-mm1-smack/security/smack/smack_lsm.c
--- linux-2.6.24-rc2-smack/security/smack/smack_lsm.c   2007-11-07 
21:35:41.000000000 -0800
+++ linux-2.6.24-rc2-mm1-smack/security/smack/smack_lsm.c       2007-11-12 
22:49:16.000000000 -0800
@@ -673,8 +673,8 @@ static int smack_inode_removexattr(struc
  * Returns the size of the attribute or an error code
  */
 static int smack_inode_getsecurity(const struct inode *inode,
-                                  const char *name, void *buffer,
-                                  size_t size, int err)
+                                  const char *name, void **buffer,
+                                  bool alloc)
 {
        struct socket_smack *ssp;
        struct socket *sock;
@@ -687,9 +687,7 @@ static int smack_inode_getsecurity(const
        if (strcmp(name, XATTR_SMACK_SUFFIX) == 0) {
                isp = smk_of_inode(inode);
                ilen = strlen(isp) + 1;
-               if (ilen > size)
-                       return -EINVAL;
-               strncpy(buffer, isp, ilen);
+               *buffer = isp;
                return ilen;
        }
 
@@ -714,10 +712,8 @@ static int smack_inode_getsecurity(const
                return -EOPNOTSUPP;
 
        ilen = strlen(isp) + 1;
-       if (ilen > size)
-               rc = -EINVAL;
        if (rc == 0) {
-               strncpy(buffer, isp, ilen);
+               *buffer = isp;
                rc = ilen;
        }
 




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to