lkml.org 
[lkml]   [2011]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[71/74] CAN: Use inode instead of kernel address for /proc file
    2.6.32-longterm review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Dan Rosenberg <drosenberg@vsecurity.com>

    commit 9f260e0efa4766e56d0ac14f1aeea6ee5eb8fe83 upstream.

    Since the socket address is just being used as a unique identifier, its
    inode number is an alternative that does not leak potentially sensitive
    information.

    CC-ing stable because MITRE has assigned CVE-2010-4565 to the issue.

    Signed-off-by: Dan Rosenberg <drosenberg@vsecurity.com>
    Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Cc: Moritz Muehlenhoff <jmm@debian.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    net/can/bcm.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    --- a/net/can/bcm.c
    +++ b/net/can/bcm.c
    @@ -124,7 +124,7 @@ struct bcm_sock {
    struct list_head tx_ops;
    unsigned long dropped_usr_msgs;
    struct proc_dir_entry *bcm_proc_read;
    - char procname [20]; /* pointer printed in ASCII with \0 */
    + char procname [32]; /* inode number in decimal with \0 */
    };

    static inline struct bcm_sock *bcm_sk(const struct sock *sk)
    @@ -1519,7 +1519,7 @@ static int bcm_connect(struct socket *so

    if (proc_dir) {
    /* unique socket address as filename */
    - sprintf(bo->procname, "%p", sock);
    + sprintf(bo->procname, "%lu", sock_i_ino(sk));
    bo->bcm_proc_read = proc_create_data(bo->procname, 0644,
    proc_dir,
    &bcm_proc_fops, sk);



    \
     
     \ /
      Last update: 2011-04-13 17:59    [W:0.021 / U:119.920 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site