)]}'
{
  "commit": "a7402deb324f62106566f5a95199a54c41e200ef",
  "tree": "0eafe76a936eaa9f5391988d2a0021b3d0907dbb",
  "parents": [
    "938f97bcf1bdd1b681d5d14d1d7117a2e22d4434"
  ],
  "author": {
    "name": "Mike Waychison",
    "email": "mikew@google.com",
    "time": "Fri Aug 12 21:04:30 2011 +0000"
  },
  "committer": {
    "name": "John Stultz",
    "email": "john.stultz@linaro.org",
    "time": "Fri Aug 26 17:26:35 2011 -0700"
  },
  "message": "rtc: Initialized rtc_time-\u003etm_isdst\n\nEven though the Linux kernel does not use the tm_isdst field, it is\nexposed as part of the ABI.  This field can accidentally be left\ninitialized, which is why we currently memset buffers returned to\nuserland in rtc_read_time.\n\nThere is a case however where the field can return garbage from the\nstack though when using the RTC_ALM_READ ioctl on the rtc device.  This\nioctl invokes rtc_read_alarm, which is careful to memset the rtc_wkalrm\nbuffer that is copied to userland, but it then uses a struct copy to\nassign to alarm-\u003etime given the return value from rtc_ktime_to_tm().\n\nrtc_ktime_to_tm() is implemented by calling rtc_time_to_tm using a\nderivative seconds counds from ktime, but rtc_time_to_tm does not assign\na value to -\u003etm_isdst.  This results in garbage from rtc_ktime_to_tm()\u0027s\nframe ending up being copied out to userland as part of the returned\nrtc_wkalrm.\n\nFix this by initializing rtc_time-\u003etm_isdst to 0 in rtc_time_to_tm.\n\nSigned-off-by: Mike Waychison \u003cmikew@google.com\u003e\nSigned-off-by: John Stultz \u003cjohn.stultz@linaro.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "075f1708deae844499b8de25e2b0c523846b9299",
      "old_mode": 33188,
      "old_path": "drivers/rtc/rtc-lib.c",
      "new_id": "c4cf05731118a245cff79181ba81eac90ca92be6",
      "new_mode": 33188,
      "new_path": "drivers/rtc/rtc-lib.c"
    }
  ]
}
